本章值得一提的是組織計算機的結構。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)
。
多位
對多位數字處理的套路是把數字分成高位和低位兩段,這樣一個高位的問題就變成了兩個低位的問題。