14-控制单元的设计
14-控制单元的设计
一、组合逻辑设计
1.组合逻辑控制单元框图
1) CU外特性
2.微操作的节拍安排
采用同步控制方式
一个机器周期内有3个节拍(时钟周期)
1)安排微操作时序的原则
原则1 微操作的先后顺序不得随意更改
原则2 被控对象不同的微操作 尽量安排在一个节拍内完成
原则3 占用时间较短的微操作 尽量安排在一个节拍内完成 并允许有先后顺序,比如一个安排在节拍的上升沿,一个安排在节拍的下降沿
2)取指周期微操作的节拍安排
T_0 原则二
PC-> MAR
1->R
T_1 原则二
M(MAR)->MDR
(PC)+1->PC
T_2 原则三
MDR->IR
OP(IR)->ID
-
间址周期微操作的节拍安排
T_0
Ad(IR)->MAR
1->R
T_1
M(MAR)->MDR
T_2
MDR->Ad(IR) -
执行周期微操作的节拍安排
a) CLA ACC清零
T_0
T_1
T_2 0->AC
b)COM ACC取反
T_0
T_1
T_2 AC取反->AC
c)SHR 算术右移
T_0
T_1
T_2 L(AC)->R(AC) AC_0->AC_0
d)CSL 向左循环移位
T_0
T_1
T_2 R(AC)->L(AC) AC_0->AC_n
e)STP 停机
T_0
T_1
T_2 0->G
f)ADD x 加法操作
T_0 Ad(IR)->MAR 1->R
T_1 M(MAR)->MDR
T_2 (AC)+(MDR)->AC
g)STA x 存数操作
T_0 Ad(IR)->MAR 1->W
T_1 AC ->MDR
T_2 MDR->M(MAR)
h)LDA x 加载内存数据
T_0 Ad(IR)->MAR 1->R
T_1 M(MAR)->MDR
T_2 MDR->AC
i)JMP X 跳转指令
T_0
T_1
T_2 Ad(IR)->PC
j)BAN X
T_0
T_1
T_2 A_0Ad(IR)+A_0取反PC->PC -
中断周期微操作的节拍安排
T_0 0->MAR 1->W 硬件关中断
T_1 PC->MDR
T_2 MDR->M(MAR) 向量地址->PC
中断隐指令完成
- 组合逻辑设计步骤
特点
思路清晰,简单明了
庞杂,调试困难,修改困难
速度快(RISC)
二、微程序设计
二、微程序设计
组合方式进行控制器的设计结构清晰,简单明了,但是电路庞杂,每一个控制信号都需要设计单独的电路来完成控制信号的生成,修改起来十分困难,因此产生了这种设计容易,修改容易的控制器设计方法
1.微程序设计思想
一条机器指令对应一个微程序,一个微程序包含多个微指令,一个微指令包含一条或多条微操作命令,微指令具有先后顺序,所有的微指令存储在ROM(制度存储器中)
2.微程序控制单元的基本框图及工作原理
原理分析:
1)取指阶段
M->CMAR
CM(CMAR)->CMDR
由CMDR发命令
形成下条微指令地址 M+1
Ad(CMDR)->CMAR
CM(CMAR)->CMDR
由CMDR发命令
形成下条微指令地址 M+2
Ad(CMDR)->CMAR
由CMDR发命令
2)执行阶段 执行LDA微程序
OP(IR)->微地址形成部件->CMAR
CM(CMAR)->CMDR
由CMDR发命令
Ad(CMDR)->CMAR
CM(CMAR)->CMDR
由CMDR发命令
Ad(CMDR)->CMAR
CM(CMAR)->CMDR
由CMDR发命令
Ad(CMDR)->CMAR 最后跳转回M地址,即取指阶段的首地址
3)取指阶段 与1)相同
全部微指令存在CM中,程序执行过程中只需读出
关键:
微指令的操作控制字段如何形成微操作命令
后续的地址如何形成
3.微指令的编码方式(控制方式)
直接编码方式(直接控制)
在微操作的操作控制字段中,每一位代表一个微操作命令,某位为1表示改控制信号有效
这种方式速度最快,但是微指令的操作控制字段会很长
字段直接编码方式
将微指令的控制字段分成若干段
每段经移码后发出控制信号
每个字段中的命令是互斥的,缩短了微指令字长,增加了译码时间
显式编码,微程序执行速度较慢
字段间接编码方式
控制信号的输出不仅和该段的译码结果相关,还与其他段的译码结果相关,叫做隐式编码
混合编码
直接编码和字段编码(直接和间接)混合使用
其他
4.微指令序列地址的形成
微指令的下地址字段指出
根据机器指令的操作码形成
增量计数器 (CMAR)+1->CMAR
分支转移
微指令组成: 操作控制地段|转移方式|转移地址
转移方式 指明判别条件
转移地址 指明转移成功后的去向
通过测试网络,测试上调指令的下一条指令是否是通的
由硬件产生微程序入口地址
第一条微指令地址 由专门硬件产生
中断周期 由硬件产生中断周期微程序首地址
后续微指令地址形成方式原理图
5. 微指令的格式
水平型微指令
一次能定义并执行多个并行操作
如:直接编码、字段直接编码、字段间接编码、直接和字段混合编码
2.垂直型微指令
类似机器指令操作码的方式,用于控制硬件操作,操作比较复杂
由微操作码字段规定微指令的功能
3.两种微指令格式的比较
1)水平型微指令比垂直型微指令并行操作能力强,灵活性强
2)水平型微指令执行一条机器指令所要的伪指令数目少,速度快
3)水平型微指令用较短的微程序结构换取较长的微指令结构
4)水平型微指令与机器指令差别大
-
静态微指令设计和动态微指令设计
静态 微程序无需改变,采用ROm
动态 通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM -
毫微程序设计
1)毫微程序设计的基本概念
微程序设计用微程序解释机器指令
毫微程序用毫微程序解释微指令
毫微指令与微指令的关系好比微指令与机器指令的关系
2)毫微程序设计的基本组成
-
串行微程序控制和并行微程序控制
-
确定微指令格式
1) 微指令的编码方式
采用直接控制
2)后续微指令的地址形成方式
由机器指令的操作码通过微地址形成部件形成
由微指令的下地址字段直接给出
3)微指令字长
由20个微操作
确定操作控制字段 最少20位
由38条微指令
确定微指令的下地址字段为6位
微指令字长可取20+6=26位
4)微指令字长的确定
38条微指令有19条是关于后续微指令地址->CMAR
其中 1条 OP(IR)->微指令形成部件->CMAR
18条 Ad(CMAR)->CMAR
若Ad(CMDR)直接送控制存储地址线
则省去了输送至CMAR的时间,省去了CMAR
同理 OP(IR)->位地址形成部件->控存地址线
可省去19条微指令,2个微操作
38-19=19 20-2=18
下地址字段最少取5位 控制字段最少取18位
5)省去了CMAR的控制存储器
考虑有一定的余量
取操作控制字段 18位->24位
下地址字段 5位->6位
一共30位
6)定义微指令操作控制字段每一位的操作 -
编写微指令码点