一、来看看新发明的电路

新发明了一个“新电路”

如上图,把原先的开关,换成了4个输入。

在上一节课中,做加法的过程中,我们可以发现规律:

首先要执行一个“装载”动作,后面都是清一色的“相加”。

所以我们用两个开关来决定做哪一件事情

  1. 闭合“K装载”, 断开“K相加”, 就是要装载一个数到寄存器RA中
  2. 断开“K装载”, 闭合“K相加”, 就表明我们要开始做加法了

装载和相加这两个开关都是铡刀开关,断开和闭合需要分别动一次手。

一旦“K装载”和“K相加”被扳到合适的状态,就意味着他们要做哪一件事情,剩下的事情就是分步骤来完成这个目标。

而逻辑电路只有在改变输入的时候,它才会有相应的输出,而K0和K1就是这个作用。

注意:与“K装载”和“K相加”不同,“K0”和“K1”是按键开关,按下去之后,一松手,它就会自动弹开。

二、怎样使用这个机器

装载:

  1. K装载闭合,K相加断开
  2. 按一下K0,IGA = IRA = 1
    此时传输门GA打开,寄存器RA执行锁存操作,保存从左边那排开关过来的数据

相加:

  1. K装载断开,K相加闭合
  2. 按一下K0, IGA = ITR = 1
    此时数据通过GA进入加法器,与寄存器RA中的数相加之后,锁进临时寄存器TR。
  3. 按一下K1, IGB = IRA= 1
    此时数据离开临时寄存器TR,穿过传输门GB,到达寄存器RA后被锁存。
注意:开关K0或者K1的时候,RA必须要等GA或者GB数据传输到RA后,稳定数据后,RA才能做锁存动作,否则数据还没到,直接锁存,就没有意义了。

三、这就是传说中的“控制器”

在使用前面“新电路”的机器的时候,我们主要就是做两件事情,“装载”和“相加”

其实在“装载”一次后,断开“K装载”,闭合“K相加”,
我们就不要再理会“K装载”和“K相加”了,让他们维持现状,毕竟后面全是在做加法,
后面的操作就是重复操作 输入 -> K0 -> K1 就可以了。

现在我们有还要继续优化电路:

  1. 解决RA在GA或者GB数据到达RA稳定后,才能动作把数据锁存的问题
  2. K0和K1一个为0,另一个则为1的状态,我们可以使用“循环移位寄存器”改造这两个开关

为了取代K0和K1,我们用了两个“上升沿D触发器”来制造一个“循环移位寄存器(RR)”,并把它加进我们的电路中。

RR他有两个输出t0和t1, 就是这两个家伙取代了原先的开关K0和K1。

在这个新方案中,IRA’ 和 ITR’ 其实就是以前的IRA和ITR。
我们重新定义了IRA和ITR,他们分别来自两个与门的输出。

他们是如何运行的?

  1. 设置RR初始状态,t0=1, t1=0
  2. 闭合K装载,断开K相加
  3. 输入数据
    此时由于RR的输出t0=1,相当于之前K0=1,所以此时 IGA = IRA’ = 1, 但是IRA在与门上,IRA=0
  4. 按一下K, 按下没放开的时候K=1,传输到IRA与门的输入端,此时IRA=1,RA锁存数据
    当按下的K,手放开的瞬间,RR输入端从0变到1,是上升沿,此时t0=0, t1=1
  5. 在按一下K,使GA=1
  6. 断开K装载,闭合K相加,准备开始做相加动作
  7. 输入数据,数据到达RA寄存器和加法器输入端
  8. 按一下K,数据锁存到TR临时寄存器
  9. 数据从临时寄存器TR出来,到达RA寄存器,并锁存,完成一次相加
    后面只要不断重复 输入-> 按一下K -> 按一下K 就可以做连续的加法运算了