Post

CPU的结构和功能

CPU的结构和功能

7.1 CPU的结构

CPU的寄存器

  • 用户可见的寄存器
    • 通用寄存器
    • 数据寄存器
    • 地址寄存器
    • 条件码寄存器
  • 控制和状态寄存器
    • MAR
    • MDR
    • PC
    • IR
    • PSW寄存器:存放程序状态字

控制单元CU和中断系统

  • CU产生全部指令的微操作命令序列
    • 组合逻辑设计方法(硬连线逻辑)
    • 微程序设计方法(存储逻辑)

ALU

后续补

7.2 指令周期

  • 定义:取出并执行一条指令所需的全部时间
  • = 取指周期 + (间址周期) + 执行周期 + (中断周期)

7.3 指令流水

提高机器速度

  • 提高器件性能
  • 改进系统的结构,开发系统的并行性
    • Cache、多体并行、流水……

系统的并行性

  • 并发:两个或两个以上事件在同一时间段发生
  • 同时:两个或两个以上事件在同一时刻发生
  • 并行性的等级
    • 过程级(粗粒度)
      • 软件实现
    • 指令级(细粒度)
      • 硬件实现

指令流水原理

  • 部件空闲

影响指令流水线性能的因素

  • 结构相关
    • 不同指令争用同一功能部件产生资源冲突
    • 解决方法:
      • 停顿等待
      • 指令存储器和数据存储器分开
      • 指令预取技术
  • 数据相关
    • 不同指令因重叠操作,可能改变操作数的读/写访问顺序
    • 解决方法:
      • 后推法
      • 定向技术(旁路技术)
  • 控制相关
    • 由转移指令引起

流水线性能

  • 吞吐率
    • 最大吞吐率 $T_{pmax}=\frac{1}{\Delta t}$
    • 实际吞吐率 $T_p=\frac{n}{(m+n-1)\Delta t}$
  • 加速比
    • $S_{p}=\frac{nm}{m+n-1}$
  • 效率
    • $S_{p}=\frac{n}{m+n-1}$

流水线的多发技术

  • 超标量技术
    • 每个时钟周期内可并发多条独立指令
    • 配置多个功能部件
  • 超流水线技术
    • 一个时钟周期内再分段
    • 在一个时钟周期内一个功能部件使用多次
  • 超长指令字技术

7.4 中断系统

  • 引起中断的因素
    • 人为设置的中断
    • 程序性事故
    • 硬件故障
    • I/O设备
    • 外部事件
  • 中断的分类
    • 内部异常
      • 故障(Fault)
      • 自陷(Trap)
      • 终止(Abort)
    • 外部中断
      • 不可屏蔽中断
      • 可屏蔽中断

中断请求标记和中断判优逻辑

  • 中断请求标记(INTR)
    • 中断源有请求,设置INTR为1
    • INTR可分散在各个中断源的接口电路中,也可集中在CPU的中断系统内(中断请求标记寄存器)
  • 中断判优逻辑

    任何一个中断系统,在任一时刻,只能响应一个中断源的请求

    • 硬件实现(排队器)
      • 分散在各个中断源的接口电路——>链式排队器
      • 集中在CPU内
    • 软件实现

中断服务程序入口地址的寻找

  • 硬件向量法
    • 无条件转移指令
    • 设置向量地址表
  • 软件查询法

中断响应

  • 响应条件
    • EINT = 1
  • 响应时间
    • 指令执行周期结束时刻由CPU 发查询信号
  • 中断隐指令
    • 保护程序断点
    • 寻找服务程序入口地址
      • 向量地址——>PC
      • 中断识别程序
    • 硬件关中断

保护现场和恢复现场

  • 保护现场
    • 断点:由中断隐指令完成
    • 寄存器内容:由中断服务程序完成
  • 恢复现场
    • 由中断服务程序完成

中断屏蔽技术

  • 单重中断
  • 多重中断
  • 屏蔽技术
    • 屏蔽触发器
    • 屏蔽字
  • 响应优先级
    • 不可改变
  • 处理优先级
    • 可改变(通过重新设置屏蔽字)
This post is licensed under CC BY 4.0 by the author.