四、I/O控制方式

1.程序直接控制方式

完成一次读/写的过程

CPU千预频率

每次I/O的数据传输单位

数据流向

优缺点

CPU发出I/0命令后需要不断轮询

极高

设备→CPU→内存

内存→CPU→设备

优点:实现简单。在读/写指令之后,加上实现循环检查的一系列指令即可(因此才称为“程序直接控制方式”)

缺点:CPU和I/0设备只能串行工作,CPU需要一直轮询检查长期处于“忙等”状态,CPU利用率低。

2.中断驱动方式

完成一次读/写的过程

CPU千预频率

每次I/O的数据传输单位

数据流向

优缺点

CPU发出I/0命令后可以做其他事,本次I/0完成后设备控制器发出中断信号

设备→CPU→内存

内存→CPU→设备

优点:与“程序直接控制方式”相比,在“中断驱动方式”中,/0控制器会通过中断信号主动报告I/0已完成,CPU不再需要不停地轮询。CPU和I/O设备可并行工作,CPU利用率得到明显提升。

缺点:每个字在I/0设备与内存之间的传输,都需要经过CPU。而频繁的中断处理会消耗较多的CPU时间。

3.DMA方式

完成一次读/写的过程

CPU千预频率

每次I/O的数据传输单位

数据流向

优缺点

CPU发出I/0命令后可以做其他事,本次I/0完成后DMA控制器发出中断信号

每次读/写一个或多个块(注意:每次读写的只能是连续的多个块,且这些块读入内存后在内存中也必须是连续的)

设备→内存

内存→设备

优点:数据传输以“块”为单位,CPU介入频率进一步降低。数据的传输不再需要先经过CPU再写入内存,数据传输效率进一步增加。CPU和I/O设备的并行性得到提升。

缺点:CPU每发出一条I/0指令,只能读/写一个或多个连续的数据块。

DMA控制器

DR(Data Register,数据寄存器):暂存从设备到内存,或从内存到设备的数据。

MAR(Memory Address Register,内存地址寄存器):在输入时,MAR表示数据应放到内存中的什么

位置;输出时 MAR表示要输出的数据放在内存中的什么位置。

DC(Data Counter,数据计数器):表示剩余要读/写的字节数。

CR(Command Register,命令/状态寄存器):用于存放CPU发来的I/0命令,或设备的状态信息。

4.通道控制方式

①CPU向通道发出I/0指令。指明通道程序在内存中的位置,并指明要操作的是哪个!/O设备。之后CPU就切换到其他进程执行了

②)通道执行内存中的通道程序(其中指明了要读入/写出多少数据,读/写的数据应放在内存的什么位置等信息)

③通道执行完规定的任务后,向CPU发出中断信号,之后CPU对中断进行处理

完成一次读/写的过程

CPU千预频率

每次I/O的数据传输单位

数据流向

优缺点

CPU发出I/0命令后可以做其他事。通道会执行通道程序以完成I/0,完成后通道向CPU发出中断信号

一组块

设备→内存

内存→设备

缺点:实现复杂,需要专门的通道硬件支持

优点:CPU、避道、I/0设备可并行工作,资源利用率很高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值