Nand2tetris - 触发器,寄存器,RAM

本文是 nand2tetris 课程的读书笔记,不会列举过多细节,仅精炼出有意思的概念,供日后查阅。


存储的意思是,维持曾经有的状态。
一旦有了“曾经”,我们的系统就有了时间概念。
时钟信号为系统带来时间,触发器使系统能看一眼“曾经”。

\(out(t) = in(t - 1)\)

如果将输出端接回输入端,我们可以让 \(out(t)\) 保持无限长的时间:

\(out(t) = out(t-1)\)

如果给这个函数加上一个控制位,我们就得到了 1-bit 寄存器:

\(out(t)=\begin{equation}
\begin{cases}
out(t-1)& load = 0\\
in& load = 1\\
\end{cases}
\end{equation}\)

如果将它与加法器连在一起,我们就得到了计数器:

\(out(t) = out(t-1) + 1\)

基于触发器与反馈回路的结合,我们可以构造任意复杂的,具有状态的系统。

屏幕快照 2019-01-10 下午11.10.58


用 1-bit 寄存器并联,我们得到了 n-bit register。
用 k 个 n-bit register 并联,加上寻址逻辑电路,我们得到了 RAM 的基本架构。
由简单到复杂演变,全依赖组件间的抽象架构。register 提供单个字的存储 服务,RAM 调用了这一服务,并对更上层模块提供了随机存储 服务

计算机技术日新月异,程序员很容易跟不上时代,这是真的吗?:)