从MOS管、逻辑电路(运算&存储)、微结构(CPU内)、指令集(将微结构串联起来)、程序语言、算法到最顶层的问题。自底向上层层搭建非常清晰的一本书。
譬如存储电路和运算电路本质都是小小的AND、NOT、OR门构成的,存储电路主要是有个环路使得数据能够保留。而运算电路以及提取或输入存储的本质是译码器(输入的选择)和OR门(输出的选择)的组合。
CPU很有意思,原来控制单元相当于能决定你的每行代码是翻译成什么运算、以什么样的规则(如何用你的代码计算出来源和目标地址)加载或存储到什么地方,代码怎么跳转到下一行或者其他行的代码上(顺序&选择&循环);而运算单元仅仅就是运算罢了(加一点暂时保存的功能:寄存器)。
而指令集其实就是控制单元的操作手册。
再往上的程序语言是把指令集不断的抽象到更高层次。到算法就是解决问题的计算机能理解的思想。而问题则是我们的生活需求。
除此之外有些有意思的概念点,譬如调试的本质是通过赋值、执行和查看来检测程序的顺序和结果是否与预期的不同。而异步是由于CPU速度比输入输出快,意思是CPU已经算好了一堆东西,输入还没进来呢,与其让CPU干等着不如先做别的事,输入需要CPU了叫一声(即中断),有权限且优先级够就处理你咯。而TRAP其实就是调动一些写好的程序,由于这个程序是能直接操纵硬件比较基础(称为系统服务),所以专门给它搞了个命令的名字叫TRAP。CPU被输入中断然后处理输入其实也是一种调用。为了方便每次调用完回去,就搞了个栈协议:其实就是把程序代码的地址做了安排,以确定代码的处理顺序。
我之所以看这本书的理由是因为jvm虚拟机看不懂——对计算机有了成体系的理解,串联起来的感觉很爽。后半本暂时先不看,日后有需要再回头。