第九章 控制单元的功能

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)微指令字长

3、编写微指令码点