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 控制器实现内存与外设间的直接快速传送(用前面的方式,需要从外设读入内存再读入寄存器,然后再从寄存器写入内存再输出给外设。内存与内存的数据交互并不能直接交换,而需要先写入 CPU 的寄存器)
  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 发生
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值