控制单元与控制系统、微程序

发布于 2020-01-19  58 次阅读


计算机的工作过程

  1. 加电
  2. 产生reset信号
  3. 执行程序
  4. 停机
  5. 停电

产生reset信号的任务

  1. 使计算机处于初始状态
  2. 从pc中取出指令地址

控制器的作用是协调并控制计算机各部件执行程序的指令序列

控制器的组成

  1. 控制器的功能
    1. 取指令:发出指令地址,取出指令的内容
    2. 分析指令
      1. 对操作码译码产生操作对应的部件的控制信号
      2. 根据寻址方式形成操作数地址
    3. 执行指令
      1. 根据分析指令后产生控制信号,操作数地址信号序列
        通过CPU及输入输出设备的指令实现每条指令的功能
      2. 结果回送存储器
      3. 形成下条指令的地址
    4. 控制程序和数据的输入和结果的输出
    5. 对异常情况和某些请求的处理
      1. 异常情况的处理:算术运算的溢出、数据传送奇偶错误
      2. 某些请求的处理
        1. 中断请求的信号
        2. DMA请求信号
  2. 组成
    1. 程序计数器(PC)
    2. 指令寄存器(IR)
    3. 指令译码器
    4. 操作码译码器
    5. 脉冲源以及启停线路
    6. 时序控制信号形成部件
      1. 当程序启动之后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生对应的时序控制信号,并根据被控制功能部件的反馈信号调整时序控制信号。
        1. 控制存储器
        2. 微指令寄存器:控制字段+下址
    7. 周期概念
      1. 指令周期:完成一条指令所需的时间
      2. 机器周期:也称CPU周期,是CPU从内存中读取一个指令的时间,通常等于取指周期。
      3. 时钟周期:称为节拍脉冲或T周期,是基准脉冲信号
    8. 三条假设
      1. 程序是存放在主存中的,当执行完一条指令之后才从主存中取下一条指令(非流水线)
      2. 指令的长度是固定的,并且限制了寻址方式的多样化
      3. 在程序运行之前,程序和数据都已经存在主存中
    9. 指令执行过程(运算器和控制器的配合)
      1. 组成控制器的基本电路
        1. 具有记忆功能的触发器以及由它组成的寄存器、计数器和存储单元
        2. 没有记忆功能的门电路以及由它组成的加法器、算术逻辑运算单元(ALU)和各种逻辑电路
      2. 举例
        1. 加法:取指令->计算操作数地址->取地址数->执行结果并运算送回结果
        2. 条件转移指令:取指令->计算地址
      3. 控制器的功能就是按照每一条指令的要求产生所需的控制信号
      4. 产生控制信号的方法
        1. 微程序控制
        2. 硬布线控制

微程序计算机的基本工作原理

基本概念

微指令

在微程序控制的计算机中,由同时发出的控制信号所执行的一组微操作

微命令

将指令分为若干条微指令,按次序执行这些微指令,组成微指令的操作就是微命令。

微程序

计算机的程序由指令序列组成,而计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就是微程序。

控制存储器

微程序一般是存放在专门的存储器中的,主要存放控制命令/信号与下一条执行的微指令地址

存储芯片:ROM

停电与停机的区别

  • 停电
    • 电压:消失
    • 存放内容:RAM的内容消失
    • 重启PC内容:第一条指令地址
  • 停机
    • 电压:稳定
    • 存放内容:保持
    • 重启PC内容:断点指令位置

微程序设计技术

  • 如何缩短微指令字长
    • 直接控制法(容量太小)
      • 编译方法:每一位代表一个控制信号,直接送往相应的控制点
      • 优点:控制简单
      • 缺点:微指令字长过大
    • 字段直接编译法
      • 选出互斥的微指令
      • 每个字段都要流出一个代码,表示本段不发出任何指令
      • 优点:节省了微指令的字长
      • 缺点:增加了额外的硬件开销
    • 字段间接编译法
      • 指令之间互相联系的情况
      • 举例:A为0-7,B为0-3,直接编译则为3+2=5,如果间接编译就是3+1=4
      • 编码方法:在字段直接编译法中。译码输出端要兼由零一字段中的某些微指令配合解释
      • 优点:减少了微指令的长度
      • 缺点:可能削弱微指令的并行控制能力,同时增加了硬件开销
    • 常熟源字段E
  • 如何减少微指令长度
    • 现行微指令/微地址
      • 现行微指令:当前正在执行的指令
      • 现行微地址:存放现行微指令的控制器存储单元
    • 后继微指令/微地址
      • 后继微指令:下一条要执行的微指令
      • 后继微地址:存放后继微指令的控制器存储单元
    • 增量与下址字段结合产生后继指令
      • 下址字段:控制转移字段BCF和转移地址字段BAF
        • BCF:控制微程序的转移情况
        • BAF:转移后的微指令所在地址
          • 与uPC的位数相等:转移灵活,但是增加了微指令长度
          • 比uPC短:转移地址受到限制但是可以缩短微指令长度
      • 优点:微指令的下址字段很短,仅用于选择输入uPC计数器的某条线路有效
      • 缺点:微程序转移不够灵活,使得微程序在控存中的物理空间分配有限
    • 多路转移的方法:一条微指令存在多个转移分支的情况称为多路转移
  • 如何提高微程序的执行速度
  • 微指令格式
    • 水平型微指令:直接控制、字段编译
      • 特点:在一条微指令中定义并并行执行多个微命令
    • 垂直型微指令:采用微操作码编译法,由操作码规定微指令的功能
      • 特点:不强调实现微指令的并行控制功能
  • 微程序控制存储器
    • 一般采用ROM存储器
    • 也可以采用RAM,为了防止断电后内容消失,则必须开机后将外存中存放的微程序调入控存RAM,然后再执行程序
    • 当前为了能不断扩展指令系统,通常采用ROM+RAM
  • 动态微程序设计
    • 串行方式
    • 并行方式:比串行多了微指令寄存器
      • 微周期:MAX(取微指令时间,执行微指令时间)
      • 由于取微指令、执行微指令同时进行
        故对于某些后继微地址产生根据处理结果而定的微指令,则需要延迟一个微周期再取微指令

硬布线控制的计算机RISC

特点:速度快!

  • 操作控制信号的产生
    • 取值周期cy1所产生的信号对所有指令都是相同的
      即与当前执行的指令无关,逻辑式得到了最简单的形式
    • 通常,同一个控制信号在若干条指令的某些周期中都被需要,
      为此需要把他们组合起来
    • 同种类型的指令所需要的控制信号大部分是相同的
    • 在确定指令的操作码时(即对具体指令赋予二进制操作码),为了便于逻辑表达式的花间以减少逻辑电路的数量,往往会给予特别关注
  • 设计组合逻辑电路从而产生需要的控制信号的步骤
    1. 实际逻辑问题确定
    2. 列出真值表
    3. 公式化简
    4. 逻辑电路图
  • 设计目标:使用最少的电路元件以达到最高的操作速度

流水线工作原理

  • 几点结论
    • 每条指令的执行时间不变
    • 每条指令处理结果的时间得到缩短
    • 流水线处理效率最高就是流水线处于满载的稳定状态的时候
    • 流水线处理效率最低就是流水线未满载
    • 为了满足在重叠时间段不同指令的机器周期能够完成指定的操作
      时间段=操作完成的最长时间
    • 为了保证一个周期内流水线的输入信号不变,相邻时间段之间必须设置锁存器或寄存器
    • 除了指令执行流水线,还有运算操作流水线

 

喜欢这篇文章吗,不妨分享给朋友们吧!

科学是第一生产力