实现控制单元(CU)的方式有两类:
1)组合逻辑控制(硬布线逻辑控制):由基本的门电路组合实现。这种方式实现的控制器的处理速度快,但电路庞杂,制造周期长,不灵活,可维护性差。
2)微程序控制:仿照程序设计的方法编制的每个机器指令对应的微程序,每个微程序由若干条微指令构成,各微指令包含若干条微命令。所有指令对应的微程序放在只读存储器中。当执行到某条指令时,取出对应微程序中的各条微指令,译码产生对应的微命令,送到机器相应的地方,控制其动作。这个只读存储器称为控制存储器(CS)。微程序控制方式下,控制单元的设计简单,指令添加容易(灵活),可维护性好,但速度较慢。
1.组合逻辑设计
(1)硬布线控制器单元
CU的输入信号来源主要有以下三种:
1)经指令译码器译码产生的指令信息,一般为指令的操作码字段进行译码后的输入信号
2)时序系统产生的机器周期信号和节拍信号。
3)来自执行单元的反馈信息即标志。例如BAN指令,控制单元要根据上条指令的结果是否为负而产生不同的控制信号。
(2)硬布线控制器的微操作
控制单元具有发出各种微操作命令(控制信号)序列的功能。这些命令与指令有关,必须按一定次序发出。
1)取值周期的微操作命令。
PC->MAR //先行指令地址->MAR
1->R //命令存储器读
M(MAR)->MDR //现行指令从存储器中读至MDR
MDR->IR //现行指令->IR
OP(IR)->CU //指令的操作码->CU译码
(PC)+1->PC //形成下一条指令的地址
2)间址周期的微操作命令。间址周期完成取操作数有效地址的任务。
Ad(IR)->MAR
1->R
M(MAR)->MDR
3)执行周期的微操作命令。执行周期的微操作命令视不同指令而定。
a.非访存指令
CLA 清ACC 0->ACC
COM 取反 ->ACC
SHR 算术右移 L(ACC)->R(ACC),ACC0->ACC0
CSL 循环左移 R(ACC)->L (ACC),ACC0->ACCn
STP 停机指令 0->G
b.访存指令
ADD X 加法指令