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

  1. 间址周期微操作的节拍安排
    T_0
    Ad(IR)->MAR
    1->R
    T_1
    M(MAR)->MDR
    T_2
    MDR->Ad(IR)

  2. 执行周期微操作的节拍安排
    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

  3. 中断周期微操作的节拍安排
    T_0 0->MAR 1->W 硬件关中断
    T_1 PC->MDR
    T_2 MDR->M(MAR) 向量地址->PC
    中断隐指令完成

  1. 组合逻辑设计步骤
    特点
    思路清晰,简单明了
    庞杂,调试困难,修改困难
    速度快(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)水平型微指令与机器指令差别大

  1. 静态微指令设计和动态微指令设计
    静态 微程序无需改变,采用ROm
    动态 通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM

  2. 毫微程序设计
    1)毫微程序设计的基本概念
    微程序设计用微程序解释机器指令
    毫微程序用毫微程序解释微指令
    毫微指令与微指令的关系好比微指令与机器指令的关系
    2)毫微程序设计的基本组成
    微程序设计基本组成

  3. 串行微程序控制和并行微程序控制

  4. 确定微指令格式
    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)定义微指令操作控制字段每一位的操作

  5. 编写微指令码点

posted @ 2023-06-17 14:32  Oh,mydream!  阅读(57)  评论(0编辑  收藏  举报