从零开始打造一台可运行的简易计算机专题系列结合一个免费开源的 线上数字电路模拟器(仿真器), 从最基本的继电器(晶体管)功能讲起, 到最终完成一个可以批量执行指令的简易计算机.
跟随文中的步骤, 即可亲手在线上打造一台可运行的简易的计算机, 在此过程中, 将获得对计算机底层工作原理的一个深刻理解.
这些问题包括:
- 计算机是怎么表示数的?
- 计算机是怎么进行转码, 译码的?
- 计算机是怎么做输入, 输出的?
- 计算机是怎么做加法, 减法的?
- 计算机是怎么存储数据的?
- 计算机是怎么计数的?
- 计算机是怎么进行比较与选择的?
- 计算机是怎么在时钟信号的驱动下连续工作的?
- 计算机是怎么批量处理数据的?
- 计算机是怎么进行停机的?
- 计算机是怎么进行指令译码的?
- 计算机是怎么把数据和指令存储在一起并批量执行的?
- 计算机是怎么共用公共的地址及数据总线的?
- …等等
当你能够亲手打造一台简易计算机后, 这些问题对你来说不再是一个"黑盒子", 你将清晰地明白它们的工作原理, 并能够讲述给别人听.
当然, 由于篇幅等关系, 这个计算机依然是非常简陋的, 不过它已经足以为你揭示那些最基础, 最核心同时也是最重要的原理.
本系列的定位是科普性质的介绍, 不求面面俱到, 也不像那些体系化的教科书, 而是追求尽可能的简单易理解, 层层递进去讲述, 不会有突然的难以理解的跳跃, 用户不需要有任何计算机方面的基础, 一个初中生都能理解这里讲述的所有内容.
此外, 所有的示例, 用户均可以跟随文中的步骤, 在线上的模拟器(仿真器)上创建可交互的实例.
比如一个最简易的加法器:
primary::简易加法器在线可互动操作示例
https://cc.xiaogd.net/?startCircuitLink=https://spcp.xiaogd.net/assets/circuit/simple-adder/more-simple-half-adder-by-relay-and-led-display-v3.txt
又比如计数器(涉及到存储及在时钟脉冲的作用下持续工作):
后续还会添加更多原型示例.
你不需要了解特别多的电路的知识, 比如上面的加法器的示例, 只是一些电源, 开关, 灯泡或是数码管之类的; 稍微复杂一点的器件是继电器和二极管, 但它们的特性也很容易理解.
在接下来的篇章中, 我将首先带你深入分析这个简易加法器的电路, 了解它的每一个部分的工作原理, 从这里出发, 先获得对计算机底层部分工作原理的一个最直观的认识.