《编码》- 读书笔记

简介:

这本书从最基础的编码、电路、组合学来展开计算机的发展史,各内容之间的连接非常自然,只需有高中基础就可以理解书中内容。另外如果你对「为什么计算机采用二进制编码?」「内存和存储器之间的区别?」「为什么访问寄存器比访问内存快?」这些问题存在疑问,或许这本书会帮到你理解其本质。
这篇文章尝试以 QA 的方式进行总结,这些问题都是在读书时产生的一些疑问,以下是尝试进行的回答,不正确之处欢迎指出更正。

QA:

1. 为什么计算机采取二进制?

人有十根手指,可以方便表示十种状态,所以人类可以方便进行十进制的交流。而电路只有「断开/闭合」两种状态,所以等于计算机二进制会更方便交流。不管是十进制还是二进制,通过组合都可以表现出更多的状态,即任何信息。

2. 电路对计算机的影响?

主要是因为电路实现了计算机最重要的三个方面:信息、运算和存储。
1)通过电路的断开/闭合表示二进制的 0/1 使信息的传递成为可能。
2)电路「与门」「或门」「异与门」「异或门」相互组合,可以实现二进制低位相加和进位相加的所有可能性(即二进制的加法表),使加法器的构造成为可能。
3)触发器电路的 feedback(反馈)使电路可以记住之前的状态,在此基础上实现的锁存器实现数据在电路中的存储。
所以计算机是一个综合性的学科,涉及到编码学/电路/组合学等知识。

3. 内存/寄存器/磁盘的区别?

1)内存即 RAM(随记存储器)通常包括「地址/数据输入/数据输出/写操作端」部分,处理器如果需要访问数据需要先知道内存地址,经过地址解析返回对应的数据值。另外因为锁存器需要有电流才能工作,所以断电后数据就会丢失。
只要能存储信息的设备都被称为存储器,包括:内存,寄存器,磁盘等。
2)寄存器和累加器很相似,也是一种锁存器,可直接存储数据,直接被访问,不需要进行地址解析,而处理器访问寄存器的路径也比主存的路径更短。(具体可以参考微处理器的实现)
3)磁盘通过磁介质材料可以将信息永久性的被记录下来。

4. 控制面板的作用?

假如 RAM 存在 8 位的「数据输入和数据输出」,为了更方便对存储器进行操作,需要通过控制面板控制写操作端,8 个开关来表示数据的输入,同时需要 8 个灯泡来表示数据的输出。而这些控制都是通过控制面板完成,使电路更有序。

5. 计算机系统各个部件之间如何传递消息?

各电路板通过总线(bus)来通信,总线种类分为:
地址总线:CPU 用来指定在 RAM 的数据地址。
数据总线:在 CPU 和 RAM 之前传输需要被处理和被存储的数据。
控制总线:用来传输一些控制信号。控制信号中有些是 CPU 传输给存储器或 IO 接口的,比如:读写信号、中断响应信号。有些是其他设备反馈给 CPU 的,比如:中断申请信号、设备就绪信号等。
其他..

6. Jump 指令的意义?

通过 Jump If Zero(零转移)/Jump If Not Zero(非零转移)等 Jump 指令实现指令循环。
而乘法就是循环了多次的加法运算,因此 a · b 的乘法运算可以简化为:计算机首先执行加法操作 A + a(A 表示累加器),完成后跳转到加法操作的最初指令处再次执行,直到循环了 b 次,得出结果。
能否控制重复操作或者循环是计算机(Computer)与计算器(Calculator)的区别。循环使更复杂的运算和程序执行成为可能。

7. 4 位/8 位/16 位微处理器的区别?

不同位数的处理器主要区别在于锁存器和加法器的存储和计算能力。即 4 位处理器需要锁存器支持 4 位 Bit 数据的存储,加法器支持 4 位 Bit 数据的运算。8 位处理器需要锁存器支持 8 位 Bit 数据的存储,加法器支持 8 位 Bit 数据的运算。

8. 程序中的堆栈存在的意义?

没有堆栈之前,指令按顺序存储到对应的地址中,然后计算机取出指令执行。而如果有些指令的优先级比较低希望等后面几个指令执行完自己再执行,那么就需要有一个地方来存储这些指令。堆栈具有「先进后出/后进先出」的特性,下面存储优先级低的指令,上面存储优先级高的指令,需要执行时不断从上面取出指令执行即可。
堆栈支持 Call/Return,可以在程序中使用子程序。当调用 Call 时,程序计数器会加载一个新地址,处理器会把原来的地址保存在堆栈中。子程序执行完之后,Return 指令从堆栈中取出数据(原来的地址)并加载到 PC 中,继续执行原来的程序。

9. 为什么会有摩尔定律,是什么使摩尔定律成为可能?

计算机唯一的信息就是 0/1,最初通过继电器开关「断开/闭合」来表示 0/1 两种状态,因为继电器是机械性的,所以频繁工作会导致其断裂。
随后通过真空管 放大电信号 的特性来实现同样的功能,但真空管存在体积大、耗电量大的问题。
晶体管通过采用半导体(硅片)的导电性强弱的特性,同样可以实现放大电信号的功能。因为晶体管采用固态的半导体材料,使计算机更加可靠,体积更小,耗电量也更小。
同一块芯片上可以集成的晶体管数目每年翻一番,使摩尔定律成为可能。

总结:

计算机是一个综合学科,通过电路组合实现简单的加法器,通过循环使计算机可以处理复杂运算成为可能。
然后通过把数据记录在磁盘,DMA 技术直接传输数据至内存,处理器通过总线从内存中直接取出数据,完成读操作(写操作类似),处理器开始进行计算,完成程序指令。
这就是计算机的基本原理!

编码(豆瓣)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,029评论 8 114
  • 总线 计算机的各个功能部件通过总线连接在一起构成完整的计算机系统,总线是多个系统功能部件之间进行数据传送的公共通路...
    罗蓁蓁阅读 4,697评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo阅读 3,670评论 1 20
  • 叮铃铃,清脆的下课铃响起来了。 昨晚的语文作业我也批改完了,站起来,伸个懒腰,活动活动脖子,走两步,再走两步,像角...
    素馨若霞阅读 835评论 0 9