1.控制器的结构和功能
控制器的主要功能有:
- 从主存中取出一条指令,并指出下一条指令在主存中的位置。
- 对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
- 指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。
- 根据控制器产生微操作控制信号的方式不同,控制器可分为硬布线控制器和微操作控制器,两类控制器中的PC和IR是相同的,但确定和表示指令执行步骤的方法以及给出控制各部件运行所需要的控制信号的方案不同。
这里先引出一些两类控制器都包括的概念。
指令的周期可分为下面四个阶段:
- 取指周期(FE,fetch)括号中是相应的触发器,FE=1时处于取指周期。
- 间址周期(IND,in-direct)
- 执行周期(EX, execute)
- 中断周期(INT,interrupt)
下面详细分析:
①取指周期的微操作命令如下:
微操作 解释
- ①(PC)→MAR 现行指令地址→MAR
- ②1→R 命令存储器读
- ③M(MAR)→MDR 现行指令从存储器中读至MDR
- ④OP(IR)→ID 指令的操作码→ID译码(Instruction Decoder,在CU内部)
- ⑤(PC)+1→PC 形成下一条指令的地址
微命令:CU发出一个微命令,可完成对应微操作。如微命令①:使得PCout、MARin有效
微操作:如微操作①(PC)→MAR,是计算机中最基本、不可再分的操作。微命令和微操作是一一对应的。
假设取指周期有三个时钟周期,把五个微命令分配到三个时钟周期中。
操作步骤:
1.分析每个阶段的微操作序列
2.安排微操作时序的原则
微指令:每个时钟周期完成一个微指令,一个微指令可能包含若干微操作。
微程序:一个微程序包含一个指令的所有微指令,一个机器指令的功能由一段微程序实现。(有的题中会把取指、间址、执行、中断周期包括的微指令分别称为一个微程序。若无特别说明都是指令和微程序一一对应的)
2.1安排微操作时序-执行周期
2.2安排微操作时序-中断周期
3.硬布线控制单元设计步骤
- 列出操作时间表
- 写出微操作命令的最简表达式
- 画出逻辑图
1.操作时间表
有可能会进行多次间接寻址,IND=0时表明不需要再进行间接寻址了。
列出微命令对应的逻辑表达式并画出逻辑图
- 硬布线控制器的特点: 指令越多,设计和实现就越复杂,因此一般用于 RISC(精简指令集系统)(缺点)
- 如果扩充一条新的指令,则控制器的设计就需要大改,因此扩充指令较困难。(缺点)
- 由于使用纯硬件实现控制,因此执行速度很快(优点)。
- 微操作控制信号由组合逻辑电路即时产生。
4.微程序控制器
4.1基本原理
(1)微操作之与指令相对于指令作用于程序
知识点:
- 程序:由指令序列组成
- 微程序:由微指令序列组成,每一种指令对应一个微程序
- 指令是对程序执行步骤的描述
- 微指令是对指令执行步骤的描述
- 指令是对微指令功能的“封装”(如上图一个指令对应右边一大堆,所以是其封装)
- 微命令与微操作一一对应
- 微指令中可能包含多个微命令指令是对程序执行步
顺序控制:指明下一条的微指令的地址
(2)微程序控制器的基本结构
回答上面的问题:对与所有指令的取指周期、间址周期和后继微地址都是可以共享的。
(3) 微程序控制器的工作原理
对于前三个是一样的,对于后面两个是不一样的
根据指令地址码的寻址特征位判断是否要跳过间址周期?-根据中断信号判断是否进入中断周期
边边角角的知识点:
n+1是为了加上公用的取指周期(高频考点)
更好的理解:微程序段的个数至少为n+1个,微程序的个数为n个
(4)总览
4.2微指令的设计
解决如何根据一条微指令发出一条控制信号。
概念:
相容性微命令:可以并行完成的微命令。
互斥性微命令:不允许并行完成的微命令。
3混合型微指令:在垂直型的基础上增加一些不太复杂的并行操作。
微指令的编码方式
微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的操作控制字段进行编码,以形成控制信号。编码的目标是在保证速度的情况下,尽量缩短微指令字长。
高频:直接编码方式、字段直接编码方式
从而使微指令长度变得更短,下面用一个例题进行展示
字段间接编码方式:
微指令的地址形成方式
分支转移,有点类似于机器指令的
4.3微程序控制单元的设计步骤
对比硬布线最后一步不一样。
一、分析每个阶段的微操作序列,写出对应指令的微操作命令及节拍安排。:
①硬布 线控制器中OP(IR)→ID而微地址形成部件OP(IR)→微地址形成部件。②每条微指令都需要增加一个将微地址下地址字段送至CMAR的微操作,记为Ad(CMDR)→CMAR。
动态微程序设计和毫微程序设计
硬件不由微程序直接控制,而是通过存放在第二级控制存储器中的毫微程序来解释的,这个第二级控制存储器就称为毫微存储器,直接控制硬件的是毫微微指令。
硬布线控制器和微程序控制器的对比(高频考点)
红色区域为微程序的高频考点