7.0 用于+, ×算术运算的电路

7.0 用于+, ×算术运算的电路 #

7.1 #

对于设备 (尤其是针对CA部分),数字实际是由二进制序列组成的。 我们在5.3中看到,使用27位二进制数的标准对应于有正负符号的8位有效十进制数(译注:27位其中1位符号位,2的26次方是67,108,864),这对解决许多问题都足够了。 我们还不准备就这一点做出最后决定 (参见 {12.2}),但我们暂时假设标准数字有大约30位。

当对这些数字执行算术运算时,它们必须以某种形式存在于设备中,尤其是在CA中。 每个 (二进制) 数字显然可以由设备中某个时间点的刺激表示,或者更准确地说,该数字的1值可以由存在刺激表示,而0值可以由不存在该刺激表示。 现在问题来了,一个实际的30位(二进制)数字如何表示在一起。 它们可以由ca中30个不同位置的30个 (可能的) 刺激同时表示,或者一个数字的所有30位可以由在同一点的 (可能的) 刺激表示,发生在30个连续的时间 τ 期间。

遵循5.6的原则 — 将多个事件放在时间上连续,而不是(同时)空间并置 — 我们选择时间上连续处理的方式。(译注:现代计算机似乎使用是的同时并置策略) 因此,数字排成一行,这一行在30个连续周期 τ 中发出与其30个 (二进制) 数字相对应的刺激。

7.2 #

在下面的讨论中,我们将绘制各种E元件的网络,以执行各种功能。 这些附图也将用于定义块符号。 也就是说,在展示了特定网络的结构之后,某个块符号将被分配给它,该块符号将在它的所有进一步应用中代表它 — 包括它作为更高阶网络的组成部分。 块符号显示其网络的所有输入和输出线,但不显示其内部连接。 下图中输入线标记为 ⊃−− ,输出线标记为−−·。 块符号带有其网络 (或其功能) 的缩写名称,以及其中的E元件数量作为该名称的索引。 例如参见下面的图3。

figure3

7.3 #

我们继续描述一个加法器网络: 图3。(译注:此处的加法器是时序的,每次从两个输入端输入当前位1/0二级制值,以及上一个时序的进位,所以是进行3个0/1的运算) 两个加数进入输入线a’,a’’,并且2τ延迟后,在输出线s上发出相加的结果。 (虚线的额外输入线c用于特殊目的,将在8.2章节说明) 进位由②形成。(译注:此处②表示同时收到2个激发才对外发出激发,即收到两个1才发出1,否则发出0) 两个加数的相应数字与前面的进位数字 (延迟 τ!) 一起激发 ○ (左),②,③ 中的每一个E元件,并且仅在激发 ○ 而不激发 ② 时才输出激发 (即和结果数字为1), 或者当③也激发的时候 — 也就是当前3个数字中的1的数量是奇数时。 要得到进位刺激 (即进位数字1) 的结果,如上所述,当②被激发时(即当前3个数中至少有2个1时)会出现。 所有这一切显然构成了一个正确的二进制加法过程。(译注:该加法器把3个1/0相加,s输出当前位,c输出进位)

在上文中,我们没有为处理数字的符号,也没有为其二进制点 (小数点的模拟) 的定位做出任何规定。 这些概念将在{8.0}中介绍,但在考虑它们之前,我们将对乘法器和除法器进行初步讨论。

7.4 #

乘法器网络在以下一些方面上与加法器有所不同: 加法中每个加数的每一位只使用一次,在乘法中,被乘数的每一位都被多次使用,因为乘法器中有数字。 因此,5.6原则 (参见7.1结尾) 要求乘法器网络在 (相对) 相当长的时间内记住这两个因数: 由于每个数字都有30位,所以乘法的持续时间需要记住至少30^2=900个周期τ。 换句话说: 不再可能像在加法器中那样,在两个输入线上馈入两个因数,并在连续操作中提取输出线上的乘积 — 乘法器需要存储器(参见:2.4(a))。

在讨论此存储器时,我们不需要引入M - 这是在CA中立即使用所需的相对较小的内存容量,最好在CA中考虑。

figure4

7.5 #

E元件还可用作存储设备: 一种自我刺激的元件, inline-1,将永久的固定刺激。 其具有用于接收和清除(忘记)该刺激的两条输入线rs、cs,以及用于(在记住该刺激的时间间隔期间)用信号通知该刺激的存在的输出线os,它成为图4的网络。

应该注意的是,这 \(\boxed{m1}\) 对应于5.1开头提到的实际真空管触发电路。 值得一提的是, \(\boxed{m1}\) 包含一个E元件,而最简单的触发电路包含一个或两个真空管 (参见loc. cit。),与6.5的估计一致。

figure5

另一种观察是, \(\boxed{m1}\) 只记得一个刺激,那就是一个二进制数字。 如果需要k倍的内存容量,则需要k个数据块 \(\boxed{m_1}\) 是必需的,或者k个E元件的循环排列: inline-2。 该循环可以以各种方式提供输入和输出, 它可以被安排成每当收到一个新的刺激 (或者更确切地说,刺激存在或不存在,即一个二进制数字) 并记住该状态 — 比方说,在循环的左端 — 应该取代其位置来自循环右端的旧刺激 — 被自动清除。 与其深入这些细节, 我们更愿意让循环保持开放:−−◯→−◯→−…→−◯→−,并根据每个特定情况为其提供终端设备(在两端,视情况连接它们)。 在图5中再次显示了这条简单的线。 终端设备,它通常会将输出os循环到 \(\boxed{l_k}\) 的右端回到左端输入, 但是在s处的刺激之后,抑制(清除)输出OS的这种返回,并且相反地将输入与线路rs连接,如图6所示。

figure6

7.6 #

图6中 \(\boxed{l_k}\) 终端设备,是一个完美的记忆器件,但是没有它,在图5的形式中,它只是一个延迟器件。 事实上,它的唯一功能是将任何刺激保留k个周期t,然后重新释放它,并且能够在连续的刺激中做到这一点,而它们之间没有任何干扰。

因此,请记住每个E元件代表 (一个或两个) 真空管, 使用k-2k真空管来实现延迟kt似乎是一种浪费。 存在可以更简单地做到这一点的延迟设备 (在我们目前的情况下,t大约是一微秒,k大约是30)。 我们在这里不讨论它们,而只是观察到有几种可能的安排(参见12.5)。 因此,我们替换了块 \(\boxed{l_k}\) 图5的一个新块 \(\boxed{dl(k)}\) , 代表这样的设备。 它不包含E元件,它本身将被视为一个新元件。

我们观察到,如果是一个线性延迟电路,刺激物可以通过它回溯(参见6.4年底)。 为了防止这种情况,只需通过电子元件来保护其目的, 即通过−−◯→−来实现第一个和最后一个T延迟或者以如图6所示的某种组合来使用它, 其中关联网络的E元件提供这种保护。

7.7 #

我们现在可以描述一个乘法器网络。 二进制乘法由以下组成: 对于乘数中的每个数字位置 (从左到右),被乘数向右移动一个位置, 然后,根据考虑的乘数位是1还是0,将它加到已经形成的部分乘积的和上。

figure7

因此,乘法器必须包含一个辅助网络,根据所讨论的乘法器数字是1还是0,该辅助网络将或不将该乘法器传递到加法器中。 这可以通过两个步骤实现: 首先,需要一个网络,该网络将在一定的 τ 周期间隔内 (需要被乘数的间隔) 发出刺激, 前提是某个输入(连接到包含乘法器的器件)在某个较早的时刻(当发出适当的乘数数字时)被刺激。 这样的网络将被称为 鉴别器。 其次,需要一个阀门,只有在它拥有的第二个输入端也受到刺激时,它才会通过刺激。 这两个块一起解决了我们的问题: 鉴别器必须得到适当的控制,其输出连接到阀的第二个输入端,被乘数通过阀进入加法器。 阀门非常简单: 图7。 主刺激从1传递到0,第二个输入在s进入。

figure8

鉴别器如图8所示。 输入t处的激励定义了必须在输入处接收激励的时刻,该时刻确定是否应该发生后来的发射(在os处)。 如果这两个刺激重合,则左 ② 被激发。 考虑到它的反馈,它将保持兴奋,直到它成功地刺激了中间的②。 中间的 ② 与 ⓧ连接的方式是,只有在刺激 ⓧ的时刻,它才能被左边的 ② 激发, 但在其前身Ⓧis没有被刺激–也就是在Ⓧis的一系列刺激的开始。 中间的 ② 然后将左的 ② 解除,并与 Ⓧis一起激发右的 ②。 中间的②现在变为抑制态并保持,直到Ⓧ处的这一刺激序列结束,并且超过该序列,直到下一序列的开始。 因此,左 ② 与另外两个 ② 分离,从而准备为下一个 Ⓧis序列注册s,t刺激。 另一方面,右②的反馈使得它将在该Ⓧ序列的持续时间内保持兴奋,并在os处发出刺激。 在Ⓧ处的输入和Ⓧis处的输出之间存在明显的延迟2t。

现在可以将乘法器网络放在一起: 图9。被乘数循环通过 \(\boxed{dl Ⅰ}\) , 乘数通过 \(\boxed{dl Ⅱ}\) 和部分乘积的总和(从值0开始,逐渐累积到完整的乘积) 通过 \(\boxed{dl Ⅲ}\) 。 两个输入t、t‘接收鉴别器所需的定时激励(它们对应于图8中的t)。

figure9

7.8 #

对7.7的分析回避了乘数的以下基本特征: (a) 控制输入t、t‘并在适当时刻激励它们的定时网络。 它显然必须包含, \(\boxed{dl}\) 和部分乘积之和(以类值元件开始(参见{})。 (b) k (延迟长度) \(\boxed{dl Ⅰ}\) \(\boxed{dl Ⅲ}\) 。 这些也有一定的同步功能: 每次当加法器运行(即在每个间隔 it-f t)被乘数和部分乘积求和时 (即 \(\boxed{dl Ⅰ}\) \(\boxed{dl Ⅲ}\) 的输出) 必须以与前一次相遇相比,前者相对于后者前进t (向右移动一个位置) 的方式合并在一起。

此外,如果这两个因数各有30位,则乘积有60位。 因此 \(\boxed{dl Ⅲ}\) 应该有大约两倍的k \(\boxed{dl Ⅰ}\) \(\boxed{dl Ⅱ}\) ,而前者中的一个周期必须对应于后者中的大约两个周期。 (对t的定时刺激将最好与 \(\boxed{dl Ⅱ}\) 对齐。) 另一方面,建议将积舍入到标准位数, 从而保持了 \(\boxed{dl Ⅲ}\) 被乘数和乘数的k接近30。 (c) 获得被乘数和乘数所需的网络 \(\boxed{dl Ⅰ}\) \(\boxed{dl Ⅱ}\) (从设备的其他部分),并将积从 \(\boxed{dl Ⅲ}\) 取出。 (d) 处理因数的符号和二进制位置所需的网络。 它们显然取决于算术处理这些属性的方式 (参见7.3和 {} 的结尾)。

所有这些问题都将在随后处理。 与 (d) 相关的问题 - 符号位和二进制小数点的算术处理 - 必须要首先处理,因为前者是减法所必需的,因此也是除法所必需的,而后者对于乘法和除法都很重要。