create by db on 2021-1-15 20:32:30
Recently revised in 2021-1-15 22:10:24闲时要有吃紧的心思,忙时要有悠闲的趣味
前言
我并非科班出身的程序员,我没系统的学习过计算机各学科。虽然这并不影响日常搬砖,但对计算机的一些底层原理总有些心向往之。
对于《计算机原理》那种大部头的经典书籍书,我并没有信心能啃下去。正好看《软技能》的时候,作者推荐了《code:the hidden language of computer hardware and software》,就是这本《编码》,于是就买回了家。
这本书的书名是编码,但是书里实际讲述的不是狭义的ASCII、Unicode之类的字符编码,这其实是一本讲述计算机的底层工作原理的书。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,手把手教我们从逻辑门构建起一个最初级的计算机系统。
主观评价
这是一本写于20多年前的书,堪称经典。
一本非常棒的计算机原理书籍,定位介于科普与专业书籍之间。
这本书的内容,除了对于二级制、字节、十六进制、ASCII编码、定点浮点数之类的理论之外,基本上就是从零开始,用灯泡、导线、继电器,经过巧妙的组装,构建出一台电子计算机。听起来很令人诧异,但这就是人类计算机发展的历程。
总的来说,这本书让我第一次知道计算机是如何构建起来的,非常值得一读。
优点
-
从基础电路出发,带你构建一台计算机
-
画了详细的电路图,图文并茂
缺点
唯一要吐槽的是——书上的电路图,既然电流流向没有颜色的区分(黑白印刷,并非彩印),画虚线不更好吗?
适合人群:
如果你对神奇的计算机世界充满兴趣,如果你厌恶各式各样充满说教和格式化的计算机教科书。那么你可以开始读这本书了,尽管IT技术日新月异,但是这本经典不会过时。
当然,读本书之前最好具有一些数字电路的基础及对进制转换(二进制、十进制、十六进制)的了解。这样才能更好的理解。
推荐指数:★★★★★
内容笔记
本书结构
这本书从如何用手电筒的亮光编码信息开始讲起,花了不少时间引出二进制,中间又穿插着一些初中物理课内容。这点对于初学者比较友好。
本书亮点在于第 11~17 章,这里从逻辑门开始不断延拓上一章的内容直到一台真正的计算机诞生。先把电路变形一下,将电源拆成电压输入和接地线,所有的接地线都实质上连在一起,这样继电器就只有输入端了。将一个继电器和一个上面有开关的导线封装在一起,就形成了一个带有一个输入端一个输出端的黑箱。利用这个黑箱可以构造各种逻辑门电路(我们认为只要有电压就是 1,没有电压是 0),这之后的推演就不再依赖继电器,只要有逻辑门就够了(一旦逻辑门被构造出来,其实现便无关紧要了)。
18~25 章的内容是进一步的优化。先通过晶体管来压缩体积提高速度,再引入总线、操作系统、编程语言技术,于是这台原始的继电器计算机慢慢演化成了现代计算机。
个人心得
本书一定程度上弥补了我计算机基础原理上的一些短板,让我对底层逻辑有个更深刻的认识。
他告诉我们,计算机并不神秘,计它如同电灯、电话一样,都是由基本电路一步步组合而成。
作者带着我们重新从头回顾了计算机发展史,让我们一方面惊叹于前人的智慧,能够从如此简单的部件开始,一点一点构建出更为复杂的组件,最终组成一台电子计算机;另一方面,作者在叙述过程中的由浅入深、抽象泛化能力也让人惊叹,在叙述的过程中不断将已经讨论过的部件抽象出来,让我们在思考的过程中能够不囿于繁杂的连线。或许计算机的发展就是在这样不断的抽象当中进行的,不断抽象屏蔽底层的细节,让我们在思考上层的结构的时候能够专注问题,无论硬件软件,皆是如此!
总结
路漫漫其修远兮,与诸君共勉。
后记:Hello 小伙伴们,如果觉得本文还不错,记得点个赞或者给个 star,你们的赞和 star 是我编写更多更丰富文章的动力!GitHub 地址
文档协议
db 的文档库 由 db 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。
基于github.com/danygitgit上的作品创作。
本许可协议授权之外的使用权限可以从 creativecommons.org/licenses/by… 处获得。