本章值得一提的是组织计算机的结构。Hack 的指令和数据是分开存储的,因此它的 CPU 有两个 input:
IN inM[16], // M value input (M = contents of RAM[A])
instruction[16], // Instruction for execution
而一般使用冯诺依曼结构的通用计算机只有一个存储器,即它的指令和数据是混存的。这带来了一个问题后来被称为冯诺依曼瓶颈,即 CPU 无法同时操作指令和数据,而需要使用一种 “取指令-执行指令” 的循环模式。在 CPU 越来越快以后,这种模式带来了显著的时间成本开销。
总结
记忆
实现记忆功能的是时序芯片,其最底层的实现是数据触发器(DFF),相当于逻辑芯片的 NAND。DFF 的实现原理是反馈回路,这一部分书里没有细说,从接口上讲则是 DFF(t) = DFF(t-1)
。
多位
对多位数字处理的套路是把数字分成高位和低位两段,这样一个高位的问题就变成了两个低位的问题。