- 结合指令周期的四个阶段:取指周期,(间址周期),执行周期,(中断周期)
来分析控制单元CU为了完成不同类型的指令,所发出的各种微操作命令
9.1 微操作命令的分析
- 控制单元CU的功能:发出计算机全部指令的微操作命令序列
9.1.1 取指周期
- 取指周期其实包括三部分
取指令
分析指令
PC + + - 取指周期流程
1、PC —> MAR
2、1 —> R
3、M ( MAR ) —> MDR
4、MDR —> IR
5、OP ( IR ) —> CU
6、PC + 1 —> PC
其中
1 到 4 是 取指令
5 是 分析指令
6 是 PC + +
可见取指令操作是 hw 自动进行的
9.1.2 间址周期
- 任务:取到操作数的有效地址EA,
有些机器将 EA 取到 MDR,就进入下一指令周期
有些机器将 EA 取到 AD( IR ),进入下一周期 - 间址周期流程
1、AD(IR)—> MAR
2、 1 —> R
3、 M (MAR) —> MDR
( 4、MDR —> AD (IR) )
9.1.3 执行周期
-
讨论三种类型周期的执行周期微操作
1、非访存指令
2、访存指令
3、转移指令 -
a、非访存类指令
执行周期不访存
-
b、访存指令
这里只考虑直接寻址- 加法指令 ADD X
在这里ACC是累加器,也是寄存器
可以从 AD (IR) ,也可以是 MDR 将 EA 送到 MAR
AD(IR)—> MAR
1 —> R
M(MAR)—> MDR
(ACC) + (MDR) —> ACC - 存数指令 STA X
AD(IR)—> MAR
1 —> W
ACC —> MDR
MDR —> M(MAR) - 取数指令 LDA X
AD (IR) —> MAR
1 --> R
M (MAR) —> MDR
MDR —> ACC
- 加法指令 ADD X
-
转移类指令
此类指令在执行阶段也不需要访存- 无条件转移指令 JMP X
直接将操作数 X 送到 PC
AD (IR) —> PC - 条件转移指令 BAN X
负则转 最高位 A0 = 1
A0 * AD (IR)+ ~ A0 * PC —> PC
- 无条件转移指令 JMP X
9.1.4 中断周期
- 响应后执行一条中断隐指令,完成三个内容
保护断点
寻找入口地址(hw向量法,sw中断查询法 via CPU 执行中断识别程序)
关中断(和关中断指令是两码事,这里是hw 来关中断) - 流程
1、0 —> MAR
2、 1 —> W
3、 PC —> MDR
4、 MDR —> M (MAR)
5、hw 形成的向量地址 —> PC
6、 0 —> EINT (hw 来完成)
9.2 控制单元的功能
9.2.1 控制单元的外特性
-
输入信号
- 时钟
时钟信号由机器主振电路(如晶体振荡器)发出的脉冲信号后经整形/倍频/分频产生
控制单元由时钟驱动。
时钟周期是计算机的最小时间单位
每一个时钟脉冲使控制单元发出一个操作命令 或者 一组需要同时执行的操作命令 - 指令寄存器
需要IR的操作码部分来译码
然后发出对应的后续微操作控制信号序列 - 标志位
CU 发出控制信号有时需要依赖CPU当前所处的状态,如条件转移指令 - 来自 系统 / 控制总线的控制信号
如中断请求、DMA请求
- 时钟
-
输出信号
- CPU内的控制信号
CPU 内部 R 之间的数据传送
控制 ALU 实现不同的操作(ALU是组合逻辑电路,运算过程中必须保持两个输入端不变) - 送至 系统 / 控制总线的信号
控制主存、IO、中断响应
- CPU内的控制信号
9.2.3 多级时序系统
-
机器周期,时钟周期,节拍的关系
一个指令周期可分成若干个机器周期
一个机器周期可分成若干个时钟周期在一个机器周期里可以完成若干个微操作
在一个时钟周期 / 节拍 可完成一个或几个需同时进行的微操作。 -
影响机器运行速度的因素
主频(时钟频率)
每个指令周期所含的机器周期数
每个机器周期所含的指令周期数
主存速度
总线速度
硬盘速度
是否有Cache
是否有缓存 -
控制方式
CU控制一条指令执行的过程,实质就是
依次执行一个确定的微操作序列的过程-
控制方式有同步控制、异步控制、联合控制、人工控制
-
同步控制方式
机器周期定长 ------> 可能会造成时钟周期/节拍浪费
机器周期不定长 ------> 把大部分微操作安排在一个较短的机器周期完成,复杂的微操作采用延长机器周期或者增加节拍的方法来解决
中央控制与局部控制相结合的方法:大部分指令安排在统一的、较短的机器周期内完成是中央控制;将少数操作复杂的指令中的某些操作(乘 / 除 / 浮点运算);局部控制的节拍要与中央控制的节拍一致,局部控制作为中央控制的延续,插入到中央控制的执行周期内,保证两种控制的同步
-
- 异步控制方式
不存在基准时标,微操作的时序由专门的应答信号控制,如IO操作,采用异步控制。 - 联合控制方式
同步控制和异步控制相结合的方法,如对每条指令中的取指令操作,都采用同步控制的方式;对时间难以确定的微操作,如IO操作,采用异步控制。 - 人工控制方式
为了调机和软件开发的需要,在机器面板或者内部设置一些开关或者按键,来达到人工控制的目的。
Reset键
连续或单挑执行转换开关
符合停机开关:这组开关指示存储器的位置,当程序运行到与开关指示的地址相符时 ,机器便停止运行,称为符合停机。
补充
- 中断周期的隐指令关中断 和 关中断指令 是两码事
- 总线复用的CPU中,地址和数据共用一条总线,采用分时控制方法,先给地址信号,并用地址锁存信号将其保存。
- 组合逻辑单路和时序逻辑电路的区别