【操作系统】王道考研 p63 I/O控制方式:程序直接控制方式、 中断驱动方式、DMA方式、通道控制方式

本文详细介绍了I/O控制的四种方式:程序直接控制、中断驱动、DMA和通道控制,强调了它们如何逐步提高CPU利用率和数据传输效率。每种方式的优缺点被逐一剖析,重点在于数据传输单位的演变和资源的并发利用。通道控制方式被比喻为弱鸡版CPU,通过执行通道指令实现数据的高效流动。
摘要由CSDN通过智能技术生成

I/O控制方式

知识总览

IO控制方式就是用什么样的方式来控制IO设备的数据读写。
在这里插入图片描述

程序直接控制方式

  1. CPU说“我要读”。
  2. 检查控制器是否准备好
  3. 输入设备准备好后将数据传给控制器并告诉它自己准备好了
  4. 控制器收到数据后,把它放到数据寄存器,状态为改为0表示准备好了
  5. CPU知道设备们准备好了,就把数据寄存器中的数据读入CPU,再放到内存 中。
  6. 如果还要继续读,就重复第一步。

在这里插入图片描述
流程图:
在这里插入图片描述
我们要关注的点:
CPU要不停的轮询检查(即上述的第2步),长期属于忙等状态,利用率低。
每次读写一个字。
在这里插入图片描述

中断驱动方式

对程序直接控制方式的改进。由于程序直接控制方式CPU利用率低是因为“忙等”,这里CPU发出读写命令后就把该进程阻塞,这样就不会忙等。
在这里插入图片描述
我们要关注:
数据传送的单位:一个字
优点:CPU和IO设备可以并行
缺点:若是频繁中断则消耗过多CPU的时间。
在这里插入图片描述

DMA方式

数据的传送单位——
直接从设备到内存或反之,中间不再需要CPU
在这里插入图片描述
DMA控制器:
DMA控制器也是一种IO控制器
在这里插入图片描述

优缺点:
优点:
数据传送单位:一个或多个
数据流向:不需要进过CPU。
效率增加,并发性提升。
缺点:
CPU每发出一条IO指令,只能读写一个或多个连续的数据块。
如果要读写多个离散的数据块,或要将数据分别写到不同的内存中,CPU要发出多个IO指令,进行多次中断 才行。

在这里插入图片描述

通道控制方式

通道:可以理解为弱鸡版的CPU,可以识别并执行一系列的通道指令
通道像是一个功能完善,办事专业的CPU的小弟
在这里插入图片描述
优缺点:
优点:
每次读写一组数据块
数据在通道的控制下运行。
CPU、通道、IO设备可并行工作,资源利用率很高。

缺点:
需要硬件、麻烦。
在这里插入图片描述

总结

四种方式其实可以理解为慢慢==“解放CPU”==的方法。
CPU被解放了(从一直参与,到最后参与一下下,委托(弱一点的)别人帮自己做事,委托(强一点的)别人帮自己做事),就可以去做更多的别的事情。资源利用率自然就高了。

且,传输单位越来越大 (字-字-块-一组块)。

通道:弱鸡版CPU
通道程序:任务清单

(通道程序可见上上张图右下角)
在这里插入图片描述

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

karshey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值