控制单元CU功能
CPU结构如下所示,主要由ALU,CU,寄存器和中断系统组成
其中控制单元CU主要负责发出各种微操作命令序列来控制完成各种指令
1.微操作命令分析
完成一条指令分为四个步骤:取指,间址,执行和中断,分析各个阶段具体的微操作
1.1取指周期
完成取指令,分析指令功能
1.现行指令地址PC发送给MAR,继而送至地址线
2.向主存发送读命令
3.将MAR所指主存单元指令将数据总线送到MDR中
4.将MDR中指令送到指令寄存器IR中
5.指令操作码送至CU中译码
6.形成下一条指令地址,PC+1
1.2间址周期
完成取操作数有效地址功能
1.将指令中形式地址部分送至MAR
2.向主存发送读命令
3.将MAR所指主存单元内容(有效地址)经数据总线送至MDR中
4.将有效地址送至指令寄存器地址字段
1.3执行周期
不同的指令微操作不同
非访存指令
主要有累加器清零,累加器取反,算数右移,循环右移以及停机指令,G为运行标志触发器,G=0时表示停机。
访存指令
主要有加法指令,存数指令和取数指令
加法指令实现将指令中地址码部分所指主存数据取出与ACC中数据相加
存数指令实现将ACC中数据存放到指令地址码所指的主存单元中
取数指令实现将指令地址码所指主存单元数据送入到ACC中
转移类指令
主要包括无条件转移和条件转移
无条件转移实现将指令中地址部分送入PC中
条件转移BAN,判断结果是否为负,如果为负则发生跳转。结果为负时累加器最高位A0=1,即当A0=1时,跳转到指令中地址位置,否则继续顺序执行
因此不同指令完成的操作是不同的
1.4中断周期
执行周期结束后,CPU发出中断查询信号,如果有则进入中断周期,在中断周期由中断隐指令自动完成程序断点保护,寻找中断服务程序入口地址以及硬件关中断等操作。其中程序断点可以保存在特殊单元地址0或者程序断点入栈保存
2.控制单元功能
2.1外特性
对于控制单元
输入信号主要包括
时钟信号
指令寄存器 指令操作码字段
标志 依赖CPU当前状态
来自系统总线控制信号 中断请求 DMA请求
输出信号主要包括
CPU内控制信号 用于CPU内寄存器之间传送和控制ALU实现不同操作
送至系统总线信号 命令主存或IO读写 中断响应等
2.2控制信号
间址寻址加法指令 Add @X为例;
不采用CPU内部总线
对于取指周期来说
C0有效 PC--MAR
C1有效 MAR--地址总线
通过控制总线向主存发读命令
C2有效,主存数据送入MDR
C3有效,MDR数据送入IR
C4有效,将指令操作码送至CU
PC加一
对于间址周期来说
C5有效,指令形式地址送至MAR
C1有效,形式地址送至地址总线
通过控制总线向主存发读命令
C2有效,数据送入MDR
C3有效,有效地址送到IR中地址码部分
对于执行周期来说
C5有效,有效地址送至MAR
C1有效,有效地址送至地址总线
通过控制总线向主存发读命令
C2有效,操作数送入MDR
C6,C7有效,两操作数送至ALU
向ALU发出加法指令,完成ACC和MDR中数据相加
C8有效,求和结果送入ACC中
采用CPU内部总线
各部件通过CPU内部总线连接,不直接连接。
取指周期
间址周期
执行周期
2.3多级时序系统
机器周期:指令执行过程中一个基准时间
分析机器指令执行步骤和每一步骤所需时间
以访问一次存储器时间作为基准时间;以完成最复杂指令时间为准
时钟周期:控制计算机操作最小单位
将一个机器周期分为若干时间相对的时间段,时钟周期或者节拍
机器周期,时钟周期组成多级时序系统
一个指令周期有多个机器周期,一个机器周期有多个时钟周期
2.4控制方式
执行一条指令实质是依次执行一个确定的微操作序列过程
不同指令对应微操作复杂程度不同
如何形成控制不同微操作序列所采用的时序控制方式称为CU控制方式
主要由同步控制,异步控制,联合控制和人工控制
同步控制方式
任何微操作都有统一基准时标时序信号控制
采用定长机器周期
以最长微操作序列最繁微操作作为标准
采用不定长机器周期
各个机器周期可以包含不同节拍数,对于复杂微操作延长机器周期来实现
采用中央控制和局部控制相结合
大部分指令安排在统一的较短机器周期内完成 中央控制
复杂操作指令采用局部控制来实现
异步控制方式
应答方式
联合控制方式
同步和异步相结合
人工控制方式
复位键
连续和单条指令执行转换开关
符合停机开关
参考资料:计算机组成原理--哈工大--刘宏伟