• 组成原理(十七):微程序设计


    目录


    学习资料

    哈工大《计算机组成原理》

    控制单元CU设计:

    • 组合逻辑设计
    • 微程序设计

    1.微程序设计基本思路

    组合逻辑设计不便于扩展,增加一个指令需要改变电路

    微程序设计示意图:

    理解:

    • 将可并行的微操作合并,用一个微指令替代
    • 执行该微指令,相当于并行执行多个微操作命令
    • 微指令代码某一位均代表某个微操作,0代表不执行,1代表执行
    • 如果该指令中有多个1,表示一个节拍中有多个微操作并行
    • 微指令可以自由编程,实现微操作的多种组合
    • 进而可以在不改变逻辑电路的情况下添加新指令

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

    2.1 机器指令对应的微程序

    • 每个指令取值是一样的,间址和中断可预测,各指令可以共用微程序
    • 执行阶段操作不同,需要为每个指令编写单独的微程序
    • 控制存储器中微程序个数=机器指令数+3

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

    • CMAR:控制存储器地址寄存器
    • CMDR:控制存储器数据寄存器(存放微指令)
    • 顺序逻辑:控制形成吓一跳微指令地址
    • 地址译码:和主存的译码驱动相同

    2.3 工作原理

    1)取指阶段:(三个时钟周期/节拍)

    2)执行阶段

    LDA指令微程序:(三个时钟周期)

    3)若无间址周期和中断周期:

    • 循环执行取指微操作和执行微操作
    • 全部微操作指令存在CM中,执行过程中只需要读出

    3.微指令编码方式(控制方式)

    3.1 直接编码

    • 操作控制的每一位代表一个微操作命令
    • 某位为1表示该控制信号有效

    3.2 字段直接编码

    • 将控制字段分为若干段,每段经过译码后发出控制信号
    • 每个字段中命令互斥,缩短了微指令字长,增加了译码时间

    3.3 字段间接编码

    3.4 混合编码

    直接编码和字段编码(间接和直接)混合使用

    • 常用:直接编码
    • 不常用:字段编码

    3.5 其他方式

    如设置常数字段


    4.微操作序列地址形成

    1)微指令的下地址字段给出

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

    3)增量计数器:

    • 取指,中断,执行等周期,下地址都为M+1这种递增形式
    • 可以采用增量计数器来代替

    4)分支转移:

    5)测试网络:

    6)硬件产生:

    • 第一条微指令地址,由专门硬件产生
    • 中断周期,由硬件产生中断周期微程序首地址

    7)后继微指令地址形成方式原理图


    5.微指令格式

    1. 水平微指令:一次能定义并行多个并行操作
    2. 垂直微指令
      • 类似机器指令操作码的方式
      • 由微操作码字段规定微指令的功能
      • 基本已经淘汰了
    3. 两种微指令格式比较:
      • 水平微指令比垂直微指令并行操作能力强,灵活性强
      • 水平微指令执行一条机器指令所要的微指令数目少,速度快
      • 水平微指令用较短的微程序结构换取较长的微指令结构
      • 水平微指令与机器指令差别大

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

    静态:微程序无需改变,采用ROM

    动态:通过改变微指令和微操作改变机器指令,有利于仿真,采用EPROM


    7.毫微程序设计

    微程序设计:微程序解释机器指令

    毫微程序设计:毫微程序解释微指令

    毫微程序控制器基本组成


    8.微程序执行方式

    串行微程序控制:串行方式
    并行微程序控制:流水方式


  • 相关阅读:
    调试某狐木马驱动被杀后系统卡死开机
    情景剧:C/C++中的未定义行为(undefined behavior)
    汇编概念辨析(Intel/AT&T syntax、GAS、NASM)
    软考准考证打印设置(IE1909)
    基于redis的分布式锁 RedissonLock解锁异常解决
    深入理解synchronized
    单利模式
    归并排序
    旧电脑硬盘回收
    萤石、乐橙、3D
  • 原文地址:https://www.cnblogs.com/kenshine/p/14517237.html
Copyright © 2020-2023  润新知