I/O 数据传送的控制方式

0 I/O数据传送控制方式

  1. 无条件传送方式
  2. 程序查询方式
  3. 中断传送方式
  4. 直接存器存取方式(DMA)
  5. I/O 通道方式
  6. I/O 处理机方式

本章只介绍,前四种

1 程序控制方式

1.1 无条件传送方式

  1. 工作过程
    1. 输入时输入设备数据准备好
    2. 输出时输出设备空闲
  2. 所带来的问题:不知道外设状态,可能造成传送错误

1.2 条件传送方式(程序查询方式)

  1. 工作过程
    1. CPU传送数据前,主动查询是否就绪
    2. 没有就绪,继续查询
  2. 是一种 同步 方式
  3. 所带来的问题:每传送一个数据,CPU 花费大量时间等待,所以 CPU 利用率低

1.3 中断传送方式

  1. 工作过程: 外设准备就绪,主动向 CPU 发送请求中断
  2. 是一种 异步 方式
  3. 所带来的的问题:保护断点,恢复现场,消耗大量资源

2 直接存器存取方式(DMA)

2.1 介绍

  1. DMA 控制器实现内存与外设间的直接快速传送
  2. 适合传送大批量数据
  3. DMA 传送期间,CPU 让出总线控制权(同一时刻,系统总线只能接受一个部件控制)
  4. DMA 传送包括
    1. DMA 读传送:存储器 -> I/O 设备
    2. DMA 写传送:I/O 设备 -> 存储器
    3. 存储单元传送:存储器 -> 存储器

2.2 工作过程

  1. I/O 设备向 DMC 控制器发送请求
  2. DMA 控制器向 CPU 发送请求,请求接管系统总线控制
  3. CPU 执行完当前指令的当前指令周期后,向 DMA 控制器发出响应信号
  4. DMA 控制器接管控制权,CPU 处于等待状态,监视 DMA 总线请求信号
  5. DMA 控制器向 I/O 设备发出响应
  6. 当传输完毕后,DMA 控制器将 DMA 总线请求信号置为无效
  7. CPU 检测到无效后,恢复对系统总线控制,恢复到 DMA 控制器中断前的现场

2.3 控制器的工作状态

  1. 主动态:DMA 控制器获得总线控制权之后,取代 CPU 成为系统的主控者
  2. 被动态:DMA 控制器获得总线控制权之前,受到CPU的控制

2.4 缓存一致性问题

  1. 缓存一致性问题的发生
    1. DMA 是直接对外设(外存也是外设)进行控制,若此时外存存储的值已经在CPU缓存中更新,却还没来得及写入外存
    2. DMA 外设直接写入外存,但此时 CPU 内部缓存没有及时更新
  2. 解决方案
    1. 缓存同调系统(硬件方式):通过硬件,当发生更新时,发送一个信号告诉 CPU 及时更新
    2. 非缓存同调系统(软件方式):当使用缓存时,操作系统禁止 DMA 发生

你可能感兴趣的:(计算机硬件)