控制器

前面已经指出了107计算机的局部控制器是用来控制代码由一个部件串行传送到另一部件。说得更具体一点,局部控制器进行以下控制:
⑴ 由存贮器将数码按原码或反码形式传送到运算器的寄存器A中。
⑵ 寄存器A中的数码发送至存贮器某一单元内。
⑶ 数码的算术运算:加法、减法、乘法、除法、溢出不停机的加法。
⑷ 数码的逻辑操作:逻辑加法、逻辑乘法、按位加法。
⑸ 在非零转移操作中,将寄存器A中的代码送到中央操作控制器。
⑹ 在打印操作中,寄存器A中数码的左移四位。
⑺ 从存贮器中出指令至指令寄存器。
为了实现上述的控制功能,局部控制器的结构是比较复杂的。但是经过细致的分析发现其中大部分控制是可以统一的,例如数码的接收、发送、加法等操作,都是由重复作32次动作来实现的(这是由于107计算机数码是串行的32位),虽然32次动作的具体内容各不相同。再如,读出指令码至指令寄存器需要16次动作,但这正好是32的一半。当然也有特殊的控制,例如乘法及除法操作的控制,另一部分是用来执行其他操作的控制。在本讲义中只介绍后一部分的结构及其工作情况,这一部分称为局部控制器[1],(参看图4-11)。
前面已经指出,在一个工作循环中一般是要先后两次启动局部控制器:
第一次:启动局部对数码进行运算或传送,启动时间是在u_2(在图中用"启动局部门"表示)。
第二次:启动局部将指令码由存贮器送至指令寄存器,启动时间是在u_5(在图中用"启动局部2"表示)。
对第一次局部控制我们着重介绍加法及发送指令之局部控制过程,对于其他指令的局部控制很容易类似地得出,这是因为:接收,接收反码、减法、逻辑加法、逻辑乘、接位加法非零转移等指令的第一次局部控制与加法指令是相似的,只是由不同的门相应地给出不同的控制信号而已。它们有一个特点就是参与运算的数码之一是由存贮器中读出的。发送指令与加法指令不同,它是将寄存器A中数码写入存贮器内。因此对前一类指令来说,存贮器是执行读出数码的操作,而对后一种来说就是写入操作了。
加法操作时局部控制器的工作情况:
⑴ 中央控制器发生的u_1信号至局部控制器,执行下列操作:
a. 直接经门B_14使运算器的T_进位置"0"(即t_4)。
b. 由中央操作器控制将T_读置"1"态。
B. 将计数器各位同时置"1"。
⑵ 中央控制器发出的u_2信号,经过中央操作控制器至局部控制器,执行下列操作:
a.计数器+"1",这样便清除好了计数器。
b.送来"启动局部1"信号执行:
(a)经门B_3给存贮器第一次读信号,在一定时间后,存贮器将数码之最右边八位(第25位至第32位)由磁心体读出到输出及再生寄存器中。
(b) 给触发器T_0启动信号,经延迟线路3_2延迟一段时间后使T_0置"1"(延迟的目的是使存贮器读出及再生操作完成后才进行数码的加法操作)。
⑶ 由于触发器T_0处于"1"态,主脉冲经过门B_5执行:
a.触发器T_0^'置"1"。
b.计数器加"1"。
B.给运算器及存贮器以移位信号。
经延迟线路3y_4及门B_7给出加信号。
⑷ 主脉冲一次一次地经过门B_5至计数器,当计数器计至8时,经延迟线路3y_1及门B_1(此时触发器T_0^'处于"1"态)。B_1有信号输出,此信号执行三个动作:
a.将T_0置"0",关闭门B_5,使下面主脉冲不能通过。经过32延迟后,使T_0又置"1"。
b.经门B_3给贮存器第二次读信号,将数码的第17位至第24位读出。
⑸ 同⑶。
⑹ 当计数器再计满8时,类似⑷,只是将数码第9位至第16位读出。
⑺ 同⑶。
⑻ 当计数器又计满8时,类似⑷,将数码第1位至第8位读出。
⑼ 同⑶。
⑽ 计数器计满32后,立即由T_5发出信号使T_0及T_0^'置"0",此时由3y_1输出的信号不能通过B_1,因而不再执行类似⑷、⑹、⑻的操作;同时T_0^'送出"启动1"信号,表示局部控制结束,中央控制器重新被启动。
⑾ "启动1"信号经过延迟后,送出t_32^'至运算器。
⑿ T_读在u_4时被置"0"。
发送操作时局部控制器的工作情况:
⑴ 经中央操作控制器用作后,u_1、u_2清除计数器。
⑵ 在u_2时,由中央操作控制器送来"启动局部1"信号,经延迟线3y_2延迟一段时间后T_0后置"1"。
⑶u_3送来T_写置"1"信号。
⑷由于触发器T_0处于"1"态,主脉动冲经门B_2执行:
a. T_0^'置"1"。
计数器加"1"。
b.给运算器及存贮器以移位信号,此信号将运算器的寄存器A中数码从最低位开始依次用移位方式送入存贮器的输出及再生寄存器中。
⑸ 当计数器计满8时,也就是刚好数码的最低八位(第25至32位)已送入输入及再生寄存器,经延迟线路3y_1有信号输出,执行:
a.经门B_1,将T_0置"0",并经32延迟后再使触发器T_0置"1"。(此时由于T_0^'为"1"态,故门B_1是开启的)。
b.经门B_4给存贮器第一次写信号,将输出及再生寄存器中数码中数码写入磁心体内。
⑹ 同⑷,只是将数码的第17—24位送入输出及再生寄存器。
⑺ 同⑸。
⑻ 类似⑷。
⑼ 同⑸。
⑽ 类似⑷,将数码的第1—8位送入输入及再生寄存器。
⑾ 计数器计满32后,立即由T_5发出信号使T_0及T_0^'置"1",此时由3y_1输出信号只经门B_4给存贮器第四次信号,而不会再给起动T_0之信号(因为T_0^'处于"0"态,门B_1被关闭)。同时T_0^'送出"启动1"信号。
⑿ 在u_4时,T_写被置"0"。
第二次启动局部是为了取下一条指令,这对所有的指令皆是相同的,局部控制器的工作情况如下:
⑴ 中央控制器送来u_5至"启动局部2",执行:
a. u_5直接送至存贮器作为第一次读信号。
b.给触发器T_指令启动信号,经延迟线路3_3延迟一段时间使T_指令置"1"(3_3的作用与3_2的作用相同)。
⑵由于触发器T_指令处"1"态,主脉冲经门B_6执行:
a.T_指令^'置"1"。
b.计数器加"1"。
B.给存贮器及指令寄存器以移位信号。
经延迟线路3y_5给出接收指令信号。
⑶ 当计数器计满8时,经延迟线路3y_1及门B_2输出信号,执行下面操作:
a.直接给存贮器作为第二次读信号。
b.将T_指令先置"0",经延时3_3后再置"1"。
⑷ 同⑵。
⑸ 当计数器计满16次后,立即由T_4发出信号使T_指令及T_指令^'置"0",同时由T_指令^'送出"启动2"信号,中央控制重新被启动。