【笔记】第10章 控制单元的设计

一、组合逻辑设计

1. 组合逻辑控制单元框图

  1. CU外特性
    · CU发出控制信号的时序由节拍发生器控制,在每个节拍信号的起始端CU发出操作命令
    在这里插入图片描述
  2. 节拍信号
    · 节拍信号是在时钟的控制下产生的
    · 节拍信号的宽度或高电频的长度就是一个时钟周期

2. 微操作的节拍安排

假设条件:
· 采用同步控制方式
· 一个周期内有三个节拍(时钟周期)
· CPU内部采用非总线方式
在这里插入图片描述

  1. 安排微操作时序的原则
    · 微操作的先后顺序不得随意更改
    · 被控对象不同的微操作,尽量安排在一个节拍内完成(即,并行的不占用统一控件的微操作尽量安排在一个节拍内完成)
    · 占用时间较短的薇操作,尽量安排在一个节拍内完成,并允许有先后顺序
  2. 取值周期(FE)微操作的节拍安排
    · T0(原则二):PC → MAR,1 → R
    · T1(原则二):M(MAR) → MDR,(PC) + 1 → PC
    · T2(原则三):MDR → IR,OP(IR) → ID
  3. 间址周期(IND)微操作的节拍安排
    · T0:Ad(IR) → MAR,1 → R
    · T1:M(MAR) → MDR
    · T2:MDR → Ad(IR)
  4. 执行周期(EX)微操作的节拍安排
    · 对累加器清零CLA: T0/1/2:0 → AC
    · 取反COM: T0/1/2:AC(非) → AC
    · 算术右移SHR:T0/1/2:L(AC) → R(AC) ,A0 → A0
    · 循环左移CSL:T0/1/2:R(AC) → L(AC) ,AC0 → ACn
    ` 停机指令STP:T0/1/2:0 → G
    · 加法操作ADD X
    · 存数操作STA X
    · 取数指令LDA X
    在这里插入图片描述
    · 跳转指令JMP X:T0/1/2:Ad(IR) → PC
    · 分支指令(条件转移)BAN X:T0/1/2:A0·Ad(IR) + A0(非)·PC → PC
  5. 中断周期微操作的节拍安排(中断隐指令)
    · T0:0 → MAR,1 → W,硬件关中断
    · T1:PC → MDR
    ·T2:MDR → M(MAR),向量地址 → PC
    · 中断隐指令不是一条指令,而是硬件中中断周期所做的所有操作

3. 组合逻辑设计步骤

  1. 列出操作时间表:工作周期标记、节拍、状态条件、微操作命令信号
    在这里插入图片描述
  2. 写出微操作命令的最简表达式
    在这里插入图片描述
  3. 画出逻辑图
    · 思路清晰,简单明了
    · 庞杂,调试、修改困难
    · 采用硬件连接,速度快(RISC)
    在这里插入图片描述

二、微程序设计

1. 微程序设计思想的产生

  1. 1951年剑桥大学教师wilkes
  2. 存储逻辑方式,存储在ROM中
  3. 一条机器指令对应一个微程序,一个微程序当中包含若干微指令,每一个微指令包含了一个或多个微操作的控制信号。

2. 微程序控制单元框图及工作原理

机器指令对应的微程序

1 取值周期微程序:M
2. 间址周期微程序
3. 中断周期微程序
4. 对应LDA操作的微程序:P
5. 对应STA操作的微程序:K

微程序控制单元的基本框图

  1. 核心:控制存储器
  2. 微指令地址:控制存储器CMAR(只读)
  3. 微指令基本格式:操作控制 + 顺序控制
    在这里插入图片描述

工作原理

  1. 取值阶段:执行取值微程序
    在这里插入图片描述
  2. 执行阶段:执行LDA微程序
    在这里插入图片描述
  3. 取值阶段:执行取值微程序
    · 全部微指令存在CM中,程序执行过程中只需读出
    · 微指令的关键:操作控制字段如何形成操作命令?后续地址如何形成?
    在这里插入图片描述

3. 微程序的编码方式(控制方式)

  1. 直接编码(直接控制方式)
    · 在微指令的操作控制字段中,每一位代表一个微操作命令
    · 某位为“1”表示该控制信号有效,速度快
    在这里插入图片描述
  2. 字段直接编码方式
    · 将微指令的控制字段分成若干“段”,每段经译码后发出控制信号。
    · 显示编码:分到一组的微操作是互斥的,不同组发出的微操作命令可能是互斥的
    · 缩短了微指令字长,增加了译码时间,微程序执行慢
    在这里插入图片描述
  3. 字段间接编码方式(隐式编码)
    · 不仅与每段的译码结果有关,还与其他端的译码结果有关
    在这里插入图片描述
  4. 混合编码:直接编码和字段编码(直接和间接)混合使用
  5. 其他

4. 微指令序列地址的形成

  1. 微指令的下地址字段
    在这里插入图片描述

  2. 根据机器指令的操作码形成

  3. 增量计数器:(CMAR) + 1 → CMAR

  4. 分支转移:操作控制字段 + 转移方式(指明判别条件) + 转移地址(指明转移成功后的去向)

  5. 通过网络测试(小范围)
    在这里插入图片描述

  6. 由硬件产生微程序入口地址
    · 第一条微指令地址:由专门的硬件产生
    · 中断、间址周期:由硬件产生该周期微程序首地址

  7. 后续微指令地址形成方式原理图
    在这里插入图片描述

5. 微指令格式

  1. 水平型微指令
    · 一次能定义并执行多个并行操作
    · eg. 直接编码、字段直接(间接)编码、直接和字段混合编码
  2. 垂直型微指令
    · 一次只能定义一个操作,操作复杂,类似机器指令操作码的方式
    · 由操作码字段规定微指令的功能
  3. 两种微指令格式的比较
    · 水平型微指令比垂直型微指令并行操作能力强,灵活性强
    · 水平型微指令执行一条机器指令所要的微指令数目少、速度快
    · 水平型微指令用较短的微程序结构换区较长的微指令结构
    · 水平型微指令与机器指令差别大

6. 静态微程序设计和动态微程序设计

  1. 静态:微程序无须改变,采用ROM
  2. 动态:通过改变微指令和微程序 改变机器指令,有利于仿真,采用EPROM

7. 毫微程序设计

  1. 毫微程序设计的基本概念
    · 微指令当中的操作复杂,且内部的毫微操作内部也有一定的时间顺序,则可用毫微程序解释该微指令
    · 微程序设计用微程序解释机器指令
    · 毫微程序设计用毫微程序解释微指令
  2. 毫微程序控制存储器的基本组成
    在这里插入图片描述

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

在这里插入图片描述

9. 微程序设计举例

机器指令的微操作及节拍安排

  1. 假设CPU结构与组合逻辑相同
  2. 取值阶段微操作及节拍安排
    在这里插入图片描述
  3. 访存指令与非访存指令需要的微操作指令:Ad(CMDR) → CMAR

确定微指令格式

  1. 微指令的编码方式:采用直接控制
  2. 后续微指令的地址形成方式
    · 由机器指令的操作码通过微地址形成部件构成
    · 由微指令的下地址字段直接给出
  3. 微指令字长
    · 由20个微操作(确定操作控制字段最少20位) 及 38条微指令(确定微指令的下地址字段为6为)组成
    · 微指令字长可取 20+6=26位
  4. 微指令字长的确定
    · 38条微指令中19条是关于后续微指令地址 → CMAR
    · 其中,1条:OP(IR) → 微地址形成部件 → CMAR,18条Ad(CMDR) → CMAR。若用Ad(CMDR)直接送控存地址线,则省去了输至CMAR的时间,省去了CMAR,同理OP(IR) → 微地址形成部件 → 控存地址线
    · 则可省去19条微指令,2个微操作
  5. 省去了CMAR的控制存储器
    在这里插入图片描述

编写微指令码点

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊有礼貌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值