5.4.1 控制器的结构和功能
控制器的主要功能有:
(1)从主存中取出一条指令,并指出下一条指令在主存中的位置。取指令
(2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。分析指令
(3)指挥并控制CPU、主存、I/O设备之间数据流动方向产生控制信号(执行指令)
5.4.2 硬布线控制器
硬布线设计步骤及原则原则一:微操作的先后顺序不得随意更改原则二:被控制对象不同的微操作尽量安排在一个节拍内完成(能并行就并行)原则三:占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序
注:此处关于无条件转移指令和条件转移指令进一步说明
转移指令就是转到目标地址所指示的指令执行否则继续执行下一条指令
无条件和有条件的差别就是一个不需要条件,另一个必须在特定条件下才能发生转移BAN 负则转取指结束后,PC存的是下一条指令的地址,此时PC第一次修改执行指令的时候,PC的值应改为跳转指令的目的地址,此时进行第二次修改
对于无条件跳转指令JMP X在执行阶段不需要访问主存,其指令周期只包含取指周期和执行周期
5.4.3 微程序控制器
1.微程序控制器的基本概念
微程序控制器采用存储逻辑实现,也就是把微操作信号代码化,使每条机器指令转化为一段微程序并簇内一个专门的存储器==(存储控制器)==中,微操作控制信号由微指令产生。机器指令、微程序、微指令、微命令、微操作1、微命令与微操作
微命令MemR,MARout,MDRin和微操作M(MAR)->MDR一一对应2、微指令与微周期微指令是若干微命令的集合微周期是从控制存储器中读取一条微指令并执行相应微操作所需要的时间
读者应注意区分以下寄存器主存(存放程序和数据,在CPU外部,用RAM实现)----控制存储器(控制存储器CM存放微程序,在CPU内部用ROM实现)MAR----CMARIR----CMDR
2.微程序控制器的组成和工作过程
由机器指令的操作码字段指出各个微程序的入口地址
注意:若指令系统中具有n种机器指令,则控制存储器中的微程序至少是n+1种(1为公共的取指微程序)
3.微指令的编码方式
4.微指令的地址形成方式
5.微指令的格式
1):水平型微指令
从编码方式看,直接编码、字段直接编码、字段间接编码、混合编码都属于水平型微指令。一条水平型微指令定义并执行几种并行的基本操作
2):垂直型微指令一条垂直型微指令只能定义并执行一种基本操作3):混合型微指令
在垂直型微指令基础上增加一些不太复杂的并行操作。微指令较短,仍便于编写;微程序也不长,执行速度加快。
6.微程序控制单元的设计步骤(了解即可)
微程序控制单元在取指阶段发出的微操作命令及节拍安排如下:
考虑到要形成后继微指令地址,上述分析的取指操作共需6条微指令完成:
7.动态和豪微程序设计
动态程序设计根据用户要求改变微程序;采用EPROM
豪微程序设计第二级控制存储器是豪微存储器,直接控制硬件是豪微微指令
8.硬布线和微程序控制器的特点
例题
tips:取指的地址是根据上一条指令的下地址给出,而不是上一条指令主动发出的取指动作,取指动作是自发的