本文共 830 字,大约阅读时间需要 2 分钟。
根据指令操作码、目前的机器周期、节拍信号、机器状态条件,即可确定现在这个节拍下应该发出哪些“微命令”
即确定哪些指令在什么阶段、在什么条件下会使用到的微操作
即采用定长机器周期还是不定长机器周期?每个机器周期安排几个节拍?
下面例子假设采用同步控制方式(定长机器周期),一个机器周期内安排3个节拍。即如何用3个节拍完成整个机器周期内的所有微操作?
①原则一微操作的先后顺序不得随意更改
②原则二被控对象不同的微操作尽量安排在一个节拍内完成 ③原则三占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序M ( MAR ) → MDR 从主存取数据
,用时较长,因此必须一个时钟周期才能保证微操作的完成。
CPU内部寄存器的数据传送
,速度很快,因此在一个时钟周期内可以紧接着完成 OP ( IR ) → ID。也就是可以一次同时发出两个微命令。 即确定每个微操作命令的逻辑表达式,并用电路实现
M(MAR)→MDR微操作命令的逻辑表达式:
FE·T1 + IND·T1(ADD+STA+LDA+JMP+BAN) + EX·T1(ADD+LDA) =T1{FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}指令越多,设计和实现就越复杂,因此一般用于RISC(精简指令集系统)如果扩充一条新的指令,则控制器的设计就需要大改,因此扩充指令较困难。由于使用纯硬件实现控制,因此执行速度很快。微操作控制信号由组合逻辑电路即时产生。
转载地址:http://izmzi.baihongyu.com/