对I/O设备的控制方式

在I/O控制方式的整个发展中,始终贯穿的宗旨是:尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解放出来,以便更多地完成数据处理任务

  1. 采用轮训的可编程方式
    在程序I/O方式中,CPU的绝大部分处理时间都处于等待I/O设备完成数据I/O的循环测试,对CPU造成了极大的浪费,在该方式中,CPU要不停地测试I/O设备的状态,因为CPU中无中断结构,使I/O设备无法向CPU报告已完成了一个字符的输入操作
  2. 采用中断的可编程方式
    当前,对I/O设备控制,广泛采用可中断的I/O编程方式。
    当某进程要启动某个设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回执行原来的任务。设备控制器于是按照命令的要求去控制指定的I/O设备。此时,CPU与I/O并行操作。
    在输入时,设备控制器接收从CPU发来的读命令,便去控制相应的设备读数据。一旦数据传入数据寄存器,控制器便通过控制总线向CPU发送中断信号,由CPU检查输入过程是否出错,若无措,便向控制器发送取走数据的信号,再通过控制器及数据线,将数据写入指定单元。
    在I/O设备输入每个数据的过程中,可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做中断处理
  3. 直接存储器访问方式
    虽然中断驱动I/O比程序I/O方式更有效,但它仍然以字节为传输单位进行I/O的,每当完成一个字节的I/O时,控制器便向CPU请求一次中断。
    如果将这种方式运用于块设备的I/O,效率极低。例如:为了从磁盘中读出1KB的数据块,需要中断CPU1K次。
    直接存储器访问方式:
    数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次至少传输一个数据块。
    所传送的数据,都是从设备直接送入内存的,或者相反。
    仅在传送一个或多个数据块的开始和结束,才需要CPU的干预,数据块的传送是在控制器的干预下完成的
    所以DMA方式较中断方式,又进一步提高了CPU与I/O设备的并行速度
  4. I/O通道控制方式
    虽然DMA方式比起中断方式,已经减少了CPU的干预(以字节为单位的干预减少到了以数据块为单位的干预),但CPU每发出一条I/O指令,也只能去读或写一组连续的数据块。
    当我们需要一次去读多个数据块且它们分别位于不同的内存区,则需要由CPU分别发出多条I/O指令及中断处理才能完成。
    I/O通道方式是DMA方式的发展,把对一个数据块的读或写为单位的干预,减少为对一组数据块的读或写以及有关的控制和管理为单位的干预。
    可实现CPU、通道、I/O设备三者的并行操作
    例如:CPU要完成一组相关的读或写操作及有关控制,只需要向I/O通道发一条I/O指令
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

饼干饼干圆又圆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值