当前位置:文档之家› 控制单元设计举例

控制单元设计举例

模型机指令系统极其简单,仅有15条指令,其中非访存指令9条、访存指令2条、控制指令4条,且转移目标和存储访问均为直接寻址。

假设模型机采用定长机器周期同步控制,且每个机器周期含有三个节拍T1→T2→T3。

对于模型机指令系统,由于寻址方式中没有设置间址寻址,所以不存在间址周期。

每个机器周期包含许多微操作及其控制信号,还需要根据机器周期的节拍和微操作的次序做出规定。

微操作及其控制信号的节拍安排需要遵循三个原则:①有些微操作的次序是不能改变的,在规定微操作的节拍时,必须满足微操作的先后次序;②操作对象不同的微操作,能在一个节拍内执行,则规定在同一个节拍内,以节省时间;③当有些微操作的时间短时,允许它们在一个节拍内执行且可保证先后次序。

由此,各种机器周期的微操作及其控制信号的节拍安排如下:
(1)取指周期。

T1 (PC)→MAR:PC out、MAR in;且MAR→ABUS为硬微操作,根据原则③也安排在T1节拍内。

T2 DBUS→MDR、(PC)+1→PC:Read、MDR in、(PC)+1;其中ABUS→M和M→DBUS由Read 控制。

T3 (MDR)→IR:MDRP out、IR in;且IR(OP)→ID→CU和ID译码、CU产生控制信号序列等微操作为硬微操作,根据原则③也安排在T3节拍内。

(2)取数周期。

T1 IR(Add)→MAR:IR(Add)out、MAR in;且MAR→ABUS为硬微操作,根据原则③也安排在T1节拍内。

T2 DBUS→MDR:Read、MDR in;其中ABUS→M和M→DBUS由Read控制。

T3 (MDR)→AC:MDRP out、AC in。

(3)实施周期。

●累加器清0指令CLA
T1
T2
T3 AC清0:CLA
●累加器非指令COM
T1 (AC)→ALUR:AC out、ALUR in;且ALUR→ALU为硬微操作,根据原则③也安排在T1节拍内。

T2
T3 (ALUR)→AC:非、JPCL out、AC in;且ALU→JPCL为硬微操作,根据原则③也安排在T3节拍内。

●累加器加1指令INC
T1
T2
T3 (AC)加1:(AC)+1
●累加器算术右移指令SHR
T1
T2
T3 AC算术右移:SHR
●累加器循环左移指令CSL
T1
T2
T3 AC循环左移:CSL
●停机指令STP
T1
T2
T3 G清0:R
●加法指令ADD GR i,EA
T1 AC→ALUX:AC out、ALUR in。

T2 GR i→PUS:GRi out。

T3 (ALUR)+(PUS)→AC:+、JPCL out、AC in,且ALUR→ALU和ALU→JPCL为硬微操作,根据原则③也安排在T3节拍内。

●减法指令SUB GR i,EA
T1 AC→ALUX:AC out、ALUR in。

T2 GR i→PUS:GRi out。

T3 (ALUR)-(PUS)→AC:-、JPCL out、AC in,且ALUR→ALU和ALU→JPCL为硬微操作,根据原则③也安排在T3节拍内。

●与指令AND GR i
T1 AC→ALUX:AC out、ALUR in。

T2 GR i→PUS:GRi out。

T3 (ALUR)∧(PUS)→AC:AND、JPCL out、AC in,且ALUR→ALU和ALU→JPCL为硬微操作,根据原则③也安排在T3节拍内。

●或指令AND GR i
T1 AC→ALUX:AC out、ALUR in。

T2 GR i→PUS:GRi out。

T3 (ALUR)∨(PUS)→AC:OR、JPCL out、AC in,且ALUR→ALU和ALU→JPCL为硬微操作,根据原则③也安排在T3节拍内。

●无条件转移指令JMP EA
T1
T2
T3 IR(Add)→PC:IR(Add)out、PC in。

●零转移指令JZ EA
T1
T2
T3 Z=1时IR(Add)→PC:IR(Add)out(Z=1)、PC in(Z=1),Z为结果为零标志位。

●进位转移指令JC EA
T1
T2
T3 C=1时IR(Add)→PC:IR(Add)out(C=1)、PC in(C=1),C为结果为零标志位。

(4)存数周期。

T1 IR(Add)→MAR:IR(Add)out、MAR in(直接寻址存在该微操作,间址寻址不存在);且MAR→ABUS为硬微操作,根据原则③也安排在T1节拍内。

T2 (AC)→MDR:Write、AC out、MDR in;其中ABUS→M由Write 控制。

T3 (MDR)→DBUS:MDR out;其中DBUS→M由Write 控制。

6.6.4 组合逻辑控制信号序列发生器设计
微操作控制信号的时序
PC out=FT·T1
MAR in=FT·T1+ST·T1·(ADD+SUB+LDA)+DT·T1·STA
Read=FT·T2+ST·T2·(ADD+SUB+LDA)
IR(Add)out=ST·T1·(ADD+SUB+LDA)+ET·T3·(JMP+JZ·Z+JC·C)+DT·T1·STA SS= FT·T1·(ADD+SUB+LDA)
6.6.4 存储逻辑控制信号序列发生器设计
第0~25位为微操作控制信号,第26和27位为标志位。

END I为一条机器指令结束标志,END I=1表示机器指令处理结束;ZUB为微指令转移标志,ZUB=0表示转取指微程序入口地址(入口地址为0)或机器指令执行阶段微程序入口地址(由操作码生成),ZUB=1表示顺序生成微地址。

本例由操作码生成机器指令执行阶段微程序入口地址的规则为:①执行阶段为1~2条微指令的微程序入口地址是“操作码高位补二个0+11”;②执行阶段为3条微指令的微程序入口地址是“操作码高位补二个0+低三位×100”;③执行阶段为3条微指令的微程序入口地址是“操作码高位补二个0+低三位×101”。

相关主题