计组原理知识点整理之CPU


计算机组成原理

CPU

基本功能

  • 自动完成取出指令和执行指令的任务

结构图

  • 虚线框为CPU

基本部件

  • 运算器

    • 算术逻辑运算单元ALU

      • 执行运算 两个数一个来自缓存寄存器DR 一个来自累加器AC 运算结果暂时存放到累加器中
    • 状态条件寄存器PSW

      • 0标志位 溢出标志位 等
    • 数据缓冲寄存器DR

      • 信息进出CPU都有在这蹲点,不论是指令还是数据进CPU都要先进缓存寄存器
    • 通用寄存器R

  • 控制器

    • 程序计数器PC

      • 下一条将要执行指令的地址
    • 指令寄存器IR

      • 当前正在执行的指令,这里的指令中包含操作码和地址码
    • 指令译码器ID

      • 指令译码器把翻译结果告诉操作控制器和时序产生器,他们再按照时间顺序向计算机的执行部件发出执行命令
    • 操作控制器

      • 功能

        • 建立数据通路
      • 分类

        • 硬布线控制器
        • 微程序控制器
    • 时序产生器

  • cache

    • 地址寄存器AR

      • 存放CPU正在访问的内存的地址,一般和地址总线直接相连

指令周期

  • 基本概念

    • 指令周期

      • 取指令并执行指令的周期
    • CPU周期/机器周期

      • 从主存中读一条指令的最短周期
    • 时钟周期/节拍脉冲

      • 完成一次微操作
  • 流程

    • 取指令

      • PC中的指令地址被放到指令地址总线上
      • 从指存中根据地址读取指令
      • 指令通过指令总线装入IR中
      • 从IR中取指令
      • PC+1
      • 对指令译码
    • 执行指令

      • 具体分析
  • 指令控制同步

    • 定长指令周期

      • CPU周期固定,节拍数固定,按CPU周期同步

      • 单周期

        • 在一个CPU周期中完成取指令和执行指令操作
    • 变长指令周期

      • CPU周期可变,节拍数可变,按时钟周期数同步
      • 多周期
  • 典型指令的指令周期

    • MOV R0,R1

      • 传送指令:(R0)->R1
    • LAD R1,6

      • 取数指令:从数存6号单元取数到R1中
    • ADD R1,R2

      • 加法指令:(R1)+(R2)->(R2)
    • STO R2,(R3)

      • 存数指令:将R2中的值写入R3中地址的位置
    • JMP 101

      • 转移指令:改变程序执行顺序到101号单元
    • AND R1,R3

      • 逻辑乘:(R1)*(R3)->R3
  • 方框语言表示指令周期

时序信号

  • 硬布线控制器

    • 主状态周期
    • 节拍电位
    • 节拍脉冲
  • 微程序控制器

    • 节拍电位
    • 节拍脉冲

微程序控制器

  • 概述

    • 把操作控制信号编写成微指令,放到只读存储器中(控制存储器),当机器运行时 一条一条取出这些微指令,从而产生各种操作控制信号,使相应的部件执行所规定的操作。
  • 概念

    • 微命令

      • 控制部件通过控制线向执行部件发出的各种控制命令
    • 微操作

      • 执行部件接受微命令后所进行的操作

      • 分类

        • 相容性微操作

          • 同时或在同一个CPU周期内可以并行执行的微操作
        • 互斥性微操作

    • 控制部件

    • 执行部件

    • 微指令

      • 在机器的一个CPU周期中,一组实现一点操作功能的微命令的组合
    • 微程序

      • 实现一条机器指令功能的许多条微指令组成的序列
      • 1条机器指令=1个微程序
  • 控制原理

  • 微程序设计

    • 目标

      • 缩短微指令字长度

        • 减小控制存储器的容量
      • 提高微程序执行速度

      • 便于修改微指令

        • 提高设计灵活性
    • 微命令编码

      • 直接表示

        • 微指令字较长
      • 编码表示法

        • 分段二次译码

          • 速度稍稍减慢
          • 较为普遍
      • 混合表示法

        • 把直接表示法和字段编码法混合使用,以便能综合考虑指令字长、灵活性、执行微程序素的等方面的要求
    • 微地址形成方法

      • 计数器
      • 多路转移
    • 微指令

      • 字段

        • 操作字段

        • 顺序字段

          • 决定、产生下一条指令地址
      • 格式

        • 水平型微指令

          • 一次能定义并执行多个并行操作微命令的微指令
          • 控制字段|判别测试字段|下地址字段
        • 垂直型微指令

          • 微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能

流水CPU

  • 过程

  • 时间

  • 影响因素

    • 资源相关

      • 两条指令同时争用一个功能部件发生冲突

      • 解决

        • 前一指令访存时,后一指令暂停一个时钟周期
        • 增设存储器
    • 数据相关

      • 前一条指令执行完毕以后才能执行下一条指令

      • 解决

        • 在流水CPU的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为向前或定向传送技术。
        • 将遇到数据相关的指令及其后续指令都暂停一个至几个时钟周期,直到数据相关问题消失
        • 通过编译器对数据相关的指令编译优化,调整指令顺序。
    • 控制相关

      • 跳转指令

      • 解决

        • 延迟转移
        • 转移预测
  • 性能指标

    • 吞吐率

      • 单位时间内流水线所完成的任务数量TP=n/Tk n是任务数 Tk是处理完成n个任务所用的时间
    • 加速比

      • 不使用流水线和使用流水线所用时间之比S=T0/Tk T0不使用流水线的执行时间 Tk使用流水线的执行时间 S最大可取到k (流水线的段数)
    • 效率

      • E=n个任务占用k时空区有效面积/n个任务所用的时间 与k个流水段所围成的时空区总面积 最高为1

相关