欢迎光临散文网 会员登陆 & 注册

一个继电器就能计算?设计最最简单的计算机(上)

2021-10-30 13:20 作者:上局桌段  | 我要投稿


这个文章将会详细探讨“仅使用一个继电器来做数据处理实现计算机功能”的可能性与实现。同时,本文所探讨的计算机是从最基础的技术出发的,以便理解推理。另外,本文所探讨的计算机不以实用为目的,而是作为实验研究。


一切从一个开关开始。


本文的所有理论和结果都可以概括为一句话:将处理计算工作的实现简化为一个开关的状态。在此处采用转换式开关,可以把它看作有一个输入,两个输出。每个输入输出端只能容纳一位二进制数,即通电状态表示“1”,无电流状态表示“0”。

左端为输入

两个输出端中至多有一个输出端会是“1”状态。至于会不会有这个“1”,还是两个输出都是“0”,由输入端是否为“1”决定。


但是,对于哪个输出为“1”,哪个为“0”(也就是开关的状态)的主动控制,一个简单的转换开关是无法满足的。因此,我们需要一个可以实现自己主动控制开关状态的元件:电磁继电器。在此处使用继电器比三极管等元件更便于非电子专业者理解。

当然,由于转换开关的需要,此处继电器是五脚转换型电磁继电器。

五脚转换电磁继电器在转换开关的基础上增加了一个可以控制开关转换状态的线圈,线圈通电后成为电磁铁,可以通过磁铁吸附改变开关的通路。

线圈的通电与否我们也用“1”和“0”表示。如下图所示,

五脚转换型电磁继电器,B为常闭端

当A输入“1”,线圈输入“0”时,开关通向B端,B端输出“1”,C端输出“0”。

当A输入“1”,线圈输入“1”时,开关通向C端,B端输出“0”,C端输出“1”。

……

以上就是一个开关做计算的核心所在。它能够结合储存器,做出所有的逻辑门操作。这就好比我们算多位数加减法,我们人在算的时候,会使用草稿纸将多位数据一位一位地处理,每次把得出的结果记在纸上,最后再把每一位得出的结果拼起来,就是多位数的结果。这一思想与图灵机的思想相同。这样一位一位数据处理虽然目前看来是绝对的龟速,但是它能够以最简单的结构来实现复杂的计算。

好,我们现在已经可以实现计算机的核心:处理数据了。

不过,这样慢慢算数学总要一张草稿纸吧?

我们的草稿纸,也就是储存器将会采用最最基础古老的方法……

八音盒

不错,我们的储存器就像八音盒的滚筒,有两种状态:“凸起”和“不凸起”(分别对应“1”和“0”)。但是,由于处理数据的需要,我们的储存器还要能在两种状态之间随意转换。最终方案如下图所示:

截面图

一个长形的木条,规律地钻孔,每个孔内一个横着放的圆柱形,这个圆柱形就是数据信息的载体,可以在孔内自由伸缩,在规定的一面凸起为“1”,另一面凸起则为“0”,只能有一边凸起。

这种储存器我们可以随时改变它的每一个二进制数的状态,从而达到了随时读写的效果。计算机也能在程序控制下进行数据读写。

在此处请注意,我们将要设计制作的计算机没有内存,只有上述“硬盘”,我们也不追求多高的运算速度,只是为了做出最简单的计算机。


硬件简化了,软件很重要

刘禹锡说过“斯是陋室,惟吾德馨。”我们的硬件已经简单到可怜,为保证能够应付计算的功能,我们必须有强大的程序。程序是如此简单的计算机的关键。

我们的计算机程序控制的不是对应硬件模块的动作,而是对应电路的通断。有点像接水管,通过开关水管通道的阀门来引导水流流到需要的地方。我们的计算机程序控制的是电路中每个通道的通断,来控制电流(信息)流入需要的地方。

举个例子:如果我需要ABC两个灯中的A灯亮:程序会进行这一操作:“打开电源通往A灯的开关”,而不是“打开A灯”。这样的程序模式赋予了硬件更多的灵活性。但也带来了一个弊端:程序往往会因此更长。

程序需要有一个可靠的载体。我们的程序由于会很长不能写在滚筒上,而是打孔纸带。我们不需要在程序上有计算机的自主修改,所以我们可以采用这一方式读取预先写好的程序。

读取后的程序会控制相应的开关开闭。

第一个设计图方案

数据储存器左右红色方块表示控制储存器左右移位的开程序控制的开关

判断输入是否为“1”的简单示例:

输入端一次只能输入一位二进制数,输出端一次也只能输出一位二进制数。(虽然效率低,但可以实现多位计算功能)输入端输入值如果为“1”,程序控制开关通往线圈,线圈通电,继电器开关转换至下方触点,此时程序控制最左侧VCC(电源,即程序可以自己产生“1”)开关与下方触点输出开关闭合,判断结果即可在程序控制下写入储存器,储存器右移一位,闭合输出开关,输出“1”,即可判断输入值是“1”为真。

如果输入值不是“1”,线圈不通电,开关不转换,自主产生的“1”值无法通入写入头,写入头最终写入“0”……输出结果“0”,即可判断输入值是“1”为假……


但计算机仍然存在一些重要问题,在下一文中将会详细探讨。


一个继电器就能计算?设计最最简单的计算机(上)的评论 (共 条)

分享到微博请遵守国家法律