控制单元设计:
组合逻辑设计:
-
组合逻辑控制单元框图
- CU外特性
CLK送入节拍发生器,输出节拍信号,用来控制某一指令的执行的先后顺序,IR中的操作码经过译码,将信号送入CU中,因为有些指令执行需要用到flag寄存器,标志位连接外来标记,通过译码电路的输入,CU输入各种的控制信号,同一节拍下可以有多个控制信号,表示这两个动作可以同时进行。 - 节拍信号
表示一个机器周期有四个时钟周期组成,例如访存周期有四个时钟周期等等
- CU外特性
-
微操作的节拍安排:
- 安排微操作的原则:
- 微操作的先后顺序不能改
- 被控对象不同的微操作尽量安排在同一个节拍内完成
- 占用时间短的微操作,尽量安排在一个节拍内,并允许先后顺序。
- 取指周期微操作的安排:
- T0:PC->MAR 1->R 属于不同被控制对象
- T1:M(MAR)->MDR (PC)+1->PC 属于不同被控制对象
- T2:MDR->IR OP(IR)->ID 微操作时间短,安排在一个节拍执行
- 间址周期微操作安排:
- T0:AD(IR)->MAR 1->R
- T1:M(MAR)->MDR
- T2:MDR->AD(IR)
- 执行周期微操作安排:
- CLA 将累加器清零
- T0:
- T1:
- T2:0->AC
- SHR 算数右移操作:
- T0:
- T1:
- T2:L(AC)->®AC AC0->AC0
- CLA 将累加器清零
- 中断周期的微操作:
- 安排微操作的原则:
-
组合逻辑设计步骤:
将取指周期分为3个时钟周期,每一个时钟周期对应不同的微操作命令,通过译码的结果判断是否需要间址周期
-
微操作的最简表达式:
这个表达式的意思是:当取指周期或间址的第一个时钟周期,指令是ADD,STA,LDA,JMP,BAN 或者 当位于执行周期的第一个时钟周期,指令是ADD,LDA需要执行M(MAR)->MDR操作
-
画逻辑图
表示的是只需要有在这些情况下,需要进行M(MAR)->MDR操作
组合逻辑设计电路庞杂
微程序设计
我们在CPU的内部的控制存储器存放微程序指令,通过OP来获得执行的是什么操作。
关键:微指令的操作控制字段如何形成微操作命令
分支转移指令,下地址,需要知名指明判别条件,例如某个flag寄存器,当指明了判别条件,还需要给出当指令转移成功了需要指令的微指令的地址
微程序入口也就是第一条微指令,可以通过硬件方式给出,