文档介绍:计算机组织与结构
第九章控制器
重庆邮电大学
控制器的功能
每个指令周期包括取值、间址、执行和中断等子周期;
每个子周期可分为更小的步骤(微操作)。
所有的微操作可按如下分类:
在寄存器之间传送数据;
将数据由寄存器传送到外部接口;
将数据由外部接口传送到寄存器;
以寄存器作为输入、输出,完成算术或逻辑运算。
控制器的两项基本任务:
排序:根据被执行程序的指令逻辑,产生引起微操作的控制信号,引导处理器以正确的次序来执行微操作;
执行:控制器产生的控制信号引起逻辑门的打开和关闭,从而正确的建立数据通道和控制ALU和各个部件的协同操作。
控制器的组成
微操作控制部件、指令控制部件、地址形成部件和时序控制信号形成部件等。
微操作控制部件
指令译码器:对指令进行解释。
微操作命令发生器:根据指令操作码和时序控制信号,产生各种操作控制信号,以便正确的建立数据通道,从而完成取指和执行指令的控制。
指令控制部件
程序计数器:程序计数器存放即将要执行的下一条指令的地址。
指令寄存器:存放指令内容(操作码与操作数地址)。
地址形成部件
正确计算出指令地址和操作数地址。
时序控制信号形成部件
按当前正在执行指令的需要,产生相应的时序控制信号。
1、取指子周期
执行过程如下(指令存放的内存地址为X):
①PC的内容X装入MAR。
②PC的内容加I,为取下一条指令做好准备。
③取出内存X单元的内容,传送到MBR中。
④MBR的内容传送到IR,指令译码器对指令进行译码。
取指操作流程( 在3个时间周期内完成)
T1:MAR(PC)
T2:MBRM(MAR)
PC(PC)+I
T3:IR(MBR)
MBR
CU
MAR
PC
IR
存储器
CPU
地址总线
数据总线
控制总线
IR
+I
①
②
③
④
微操作的分组执行必须根据以下原则:
1)操作顺序必须是合理的。例如不能使存储器的读操作发生在PC把地址传送到MAR之前。
2)避免在同一时序内的两个操作在CPU资源的使用上形成冲突。例如同时去读、写同一个寄存器。
3)不同的微操作,若能在一个节拍内执行,应尽可能安排在同一个节拍内,以节省时间。
2、间址子周期
(假定IR中指令地址字段为X,而存储器中X处存放的数据为Y)
①IR中的指令的地址字段X传送到MAR;
②取出存放在X单元处的内容Y;
③修改IR的地址字段,使其现在容纳的是操作数的直接地址Y而不再是间接地址X。
直接地址
间址子周期
T1:MAR(IR(地址))
T2:MBRM(MAR)
T3:(IR(地址))(MBR)
CU
MAR
CPU
地址总线
数据总线
控制总线
PC
IR
存储器
地址
MBR
MBR
①
②
③
3、中断子周期
①PC的内容传送到MBR。
②将待存放PC(断点地址)的内存位置的地址装入MAR。
③保存中断返回地址(断点地址)到内存。
④中断处理子程序的起始地址装入PC。