你管这破玩意叫计算机?

作者: 闪客

来源: 低并发编程

发布日期: 2021-02-04 13:13:05

本文通过描述一对早恋青年的创新聊天方式,引出编码的概念,并逐步介绍门电路、加法器、时钟、RAM、程序指令等计算机基础概念,最终构建了一个简单的计算机模型。

我和小宇早恋了,我们家住隔壁。晚上父母会把手机没收,但我们还想继续聊天,又不敢发出声音,于是我们想到了这个办法。我们把所有的中文都用灯泡的亮灭组合来表示,同时约定好每隔一秒读取一次灯泡的状态并记录下来,这是我们的暗号。这样,我们虽然没有了手机,依然可以日以继日地聊天,虽然效率很低,但依然很快乐。我和小宇就这样在不经意间,将语言转换成为了灯泡的亮灭组合,这个过程叫做编码。

我和小宇就这样一直秘密保持着通话,直到上了大学,父母再也管不了我们用手机了。但这么多年的小灯泡通话,使我们总觉得事情没那么简单,于是我们开始了一些新的探索。我们增加了一个开关。此时当两个开关同时闭合时,灯泡才会亮。这样两个开关与灯泡之间,不再是之前简单的对应关系了,而是有了逻辑。

慢慢地,我们发现了越来越多的玩法。十进制数可以转换成二进制数,而二进制数又可以对应到门电路的输入端与输出端。

于是我和小宇有了一个大胆的想法,能不能设计一个计算加法的电路呢?经过不懈努力,终于发现这个电路可以由异或门和与门两个门电路组成。这个装置实现了二进制的一位加法,但它并不完美,因为只考虑了这两个数的进位输出,但没有考虑上一位的进位,所以只能叫半加器。如果将前一个进位考虑进来,只需再多一个半加器,并且拼接一个或门即可。此时我们已经建立好了一个完美的一位加法器,并自豪地称之为全加器。

有了可读写的内存,我们就可以事先把几个数字存储内存中了,接下来,我们能否让算术逻辑单元 ALU 自动地读取这个数字,进行加法运算呢?我们先引入一个新的组件,10 位计数器,这里的 Clk 就接入我们在第四部分讲的时钟信号,Clr 是清零端,具体效果下面动图一目了然。计数器的输出就是 0,1,2,3,4,5,可以当作内存中的地址。

我们将累加求和这个过程自动化了!之后如果想计算累加和,只需要用控制面板事先在内存里存好数据就可以了!是不是很方便?我们还想要更多的自动化!现在这个装置,只能无脑地将 RAM 中的数据从头到尾一直累加下去,无法选择加哪个不加哪个,也无法选择什么时候停止。我们可以再增加一个 RAM,这个 RAM 里存放的数据,表示指令的含义!

UUID: 53d25d58-06e5-42e6-9e5a-36cf925e6eba

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/中科院物理所公众号-pdf2txt/2021/中科院物理所_2021-02-04_「转」你管这破玩意叫计算机?.txt

是否为广告: 否

处理费用: 0.0056 元