国庆期间,我造了台计算机( 八 )


国庆期间,我造了台计算机文章插图
2-1 选择器是切换计数器的地址输入或者是计算得出的输入 , 通过三个 8 位锁存器来分别代表代码 , 地址高位和低位 , 上图来看可能有点绕 , 不理解细节也没有关系 , 大致的流程还是简单的 。
至此我们其实已经组装了一台计算机了 , 之所以能叫计算机而不是计算器 , 是因为它可以根据你写入存储器的指令自动取指执行 , 并且可以进行条件跳转和循环执行自动停止 。
计算机的处理器就是我们上面的累加器 , 可以称之为算数逻辑单元 , 即 ALU 。
那个计数器就是我们的程序计数器PC 。
存储器就是内存了 , 输入就是控制面板 , 输出就是控制面板上的灯 。
计算机几个核心模块就都有了 。
至于前面我们定义的操作码其实就是机器语言 , 而人类为了好记就会搞一些助记符来标识 , 发展到后来就是汇编语言 , 而汇编语言又太麻烦了 , 因此又抽象搞了高级语言 , 比如 C、Java 等等 。
最后这篇文章最终所描述的计算机其实是相当简陋的 , 真正的计算机也肯定不会这样造的 , 比如不会用继电器 , 线路也会用各种总线啥的搭建起来各种集成电路等等 , ALU 也不会如此简单 , 会有各种并行计算等等 。
主要是想借此大致地说下计算机基本的运行原理和构成 , 因为本质上的道理是一样的 。 如果要我把很多细节都说出来我也不会 , 我也就懂一点点点点皮毛 , 我也不是搞硬件的 , 啥模电的课我也没上过 , 我就会装装机的水准 。
参考书籍:
【国庆期间,我造了台计算机】《编码的奥义》 , 本文大量借助了书中的例子 , 对书中一些章节进行了梳理和总结 。


推荐阅读