第九章 控制单元的功能
9.1 微操作命令的分析
控制单元发出一系列的微操作命令,这些作为控制信号控制计算机执行程序
9.1.1 取指周期
Ad(IR)→MAR
1→R
M(MAR)→MDR
MDR→IR
OP(IR)→PC
PC+1→PC
9.1.2 间址周期
Ad(IR)→MAR
1→R
M(MAR)→MDR
MDR→Ad(IR)
9.1.3 执行周期
1、非访存指令
2、访存指令
(1)加法 ADD X
Ad(IR)→MAR
1→R
M(MAR)→MDR
(MDR)+(ACC)→ACC
(2)存数 STA X
Ad(IR)→MAR
1→W
ACC→MDR
(MDR)→M(MAR)
(3)取数 LDA X
Ad(IR)→MAR
1→R
M(MAR)→MDR
MDR→ACC
3、转移指令
(1)无条件转移指令 JMP X
Ad(IR)→PC
(2)条件转移 BAN X(负则转)
看书:一个表达式
9.1.4 中断周期
中断隐指令:
保存断点、寻找中断服务程序的入口地址、关中断
0→MAR
1→W
PC→MDR
MDR→M(MAR)
向量地址→PC
0→EINT
9.2 控制单元的功能
9.2.1 控制单元CU的外特性
1、输入信号
(1)时钟
(2)标志
(3)指令寄存器
(4)控制信号(来自系统总线)
2、输出信号
(1)CPU内的控制信号
(2)送至系统总线的信号
9.2.2 控制信号举例
1、不采用CPU内部总线的方式
(1)取指周期
(2)间址周期
(3)执行周期
(4)中断周期
2、采用CPU内部总线的方式
9.2.3 多级时序系统
1、机器周期
定长机器周期、不定长机器周期
一个指令周期可以含有多个机器周期,而一个机器周期又可以含有多个时钟周期;
且他们所含的数量都可以不一样。
2、时钟周期(节拍、状态)
3、多级时序系统
9.2.3 控制方式
1、同步控制方式
(1)定长的机器周期
(2)不定长的机器周期
(3)中央控制和局部控制相结合的方法
2、异步控制方式
3、联合控制方式
4、人工控制方式
(1)reset复位
(2)连续或单条执行转换开关
(3)符合停机开关
9.2.5 多级时序系统实例分析(做了简单的阅读)
第十章 控制单元的设计
10.1 组合逻辑设计(硬布线)
10.1.1 组合逻辑控制单元框图
10.1.2 微操作的节拍安排
安排原则:①注意微操作节拍的次序
②对于不同的控制对象,如果可以在一个节拍内执行,尽量安排在同一个节拍内
③对于占用时间比较短的微操作,尽量安排在一个节拍内,并允许他们有先后次序
1、取指周期
2、间址周期
3、执行周期
(1)非访存指令
(2)访存指令
(3)转移类指令
4、中断周期
10.1.3 组合逻辑设计步骤
1、列出微操作命令的操作时间表
2、写出微操作命令的最简逻辑表达式
3、画出微操作命令的逻辑图
10.2 微程序设计
10.2.1 微程序设计思想的产生
10.2.2 微程序控制单元框图及工作原理
(1)取指阶段
(2)执行阶段
10.2.3 微指令的编码方式
1、直接编码
每一位代表一个微操作命令
含义清晰、执行速度快;但微指令操作控制字段位数很长,控存容量大
2、字段直接编码(显示编码)
将微指令的操作控制字段分成若干段,将一组互斥的为操作命令放在一个字段内,对字段译码来形成对应的微命令
缩短了微指令的长度;但增加了译码电路,微程序的执行速度稍微减慢
3、字段间接编码(隐式译码)
一个字段中的某些微命令还需由另一个字段中的某些微命令来解释
进一步缩短了指令字长,但削弱了微指令的并行控制能力
4、混合编码
5、其他
10.2.4 微指令序列地址的形成
1、直接由微指令的下地址字段指出
2、根据机器指令的操作码形成
3、增量计数器法
(CMAR)+1→CMAR
4、分支转移
转移方式字段
5、通过测试网络形成
6、由硬件产生微程序入口地址
10.2.5 微指令格式
1、水平型微指令
直接编码、字段直接编码、字段间接编码、混合编码都是水平型微指令
2、垂直型微指令
类似机器指令操作码的方式,设置操作码字段
3、水平型微指令和垂直型微指令格式的比较
(1)水平型微指令并行操作性强,效率高、灵活性强
(2)水平型微指令执行一条机器指令所需要的微指令数目少,嘟嘟比垂直型微指令的速度快
(3)水平型微指令用较短的微程序结构换取较长的微指令结构,而垂直型正相反,它以较长的位程序结构换取较短的微指令结构
(4)水平型微指令与机器指令差别较大,垂直型微指令与机器指令相似
10.2.6 静态微程序设计和动态微程序设计
静态是微指令系统不变,控存用ROM实现
动态是微指令系统可变,控存用EPROM实现,可以在一台机器上实现不同的微指令系统,便于进行仿真
10.2.7 毫微程序设计
微程序是用来解释机器指令的,毫微程序是用来解释微程序的,毫微程序的毫微指令是用来解释微指令的。
毫微程序设计采用两级的微程序设计方法,第一级微程序为垂直型微指令,第二级为水平型微指令
10.2.8 串行微程序控制和并行微程序控制
并行微程序控制方式很像指令流水
10.2.9 微程序设计举例
1、写出对应机器指令的微操作和节拍安排
2、确定微指令的格式
(1)微指令编码方式
(2)后续微指令地址的形成方式
①微指令的下地址字段直接指出 ②机器指令的操作码形成 ③增量计数器法
④通过测试网络形成 ⑤分支转移 ⑥硬件直接形成
(3)微指令字长