设计步骤:
1.分析每个阶段的微操作序列(取值、间址、执行、中断四个阶段)
确定哪些指令在什么阶段、在什么条件下会使用到的微操作
2.选择CPU的控制方式
采用定长机器周期还是不定长机器周期?每个机器周期安排几个节拍?
3.安排微操作时序
如何用3个节拍完成整个机器周期内的所有微操作?
4.电路设计
确定每个微操作命令的逻辑表达式,并用电路实现
原则一:微操作的 先后顺序不得 随意 更改
原则二:被控对象不同 的微操作
尽量安排在 一个节拍 内完成
原则三:占用 时间较短 的微操作
尽量 安排在 一个节拍 内完成
并 允许有先后顺序
取指周期
M(MAR)->MDR 从主存取数据,用时较长,因此必须一个时钟周期才能保证微操作的完成
MDR->IR 是CPU内部寄存器的数据传送,速度很快,因此在一个时钟周期内可以紧接着完成OP(IR)->ID。也就是可以一次同时发出两个微命令
间指周期
执行周期
设计步骤:
1.列出操作时间表
列出在取指、间址、执行、中断周期,T0、T1、T2节拍内有可能用到的所有微操作
2.写出微操作命令的最简表达式
3.画出逻辑图
微操作信号综合
画出逻辑图
硬布线控制器:微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序,即时产生
微程序控制器的设计思路
采用“存储程序”的思想,CPU出厂前将所有指令的“微程序”存入“控制器存储器”中
微程序控制器的基本结构
微命令与微操作一一对应,一个微命令对应一根输出线
有的微命令可以并行执行,因此一条微指令可以包含多个微命令
相容性微命令:可以并行完成的微命令
互斥性微命令:不允许并行完成的微命令
一条微指令能定义多个可并行的微指令
优点:微程序短,执行速度快
缺点:微指令长,编写微程序较麻烦
一条微指令只能定义一个微命令,由微操作码字段规定具体功能
优点:微指令短、简单、规整,便于编写微程序
缺点:微程序长,执行速度慢,工作效率低
在垂直型的基础上增加一些不太复杂的并行操作
微指令较短,仍便于编写,微程序也不长,执行速度加快
微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。编码的目标是在保证速度的情况下,尽量缩短微指令字长。
优点:简单、直观,执行速度快,操作并行性好
缺点:微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控存容量极大
将微指令的控制字段分成若干“段”,每段经译码后发出控制信号
微命令字段分段的原则:
优点:可以缩短微指令字长
缺点:要通过译码电路后再发出微命令,因此比直接编码方式慢
一个字段的某些微命令需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称隐式编码
优点:可进一步缩短微指令字长
缺点:削弱了微指令的并行控制能力,故通常作为字段直接编码方式的一种辅助手段
微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址,这种方式又称为断定方式
当机器指令取指令寄存器后,微指令的地址由操作码经微地址形成部件形成
第一条微指令地址 由专门硬件产生(用专门的硬件记录取指周期微程序首地址)
中断周期 由 硬件 产生 中断周期微程序首地址(用专门的硬件记录)
设计步骤: