新的打卡方式
打卡
I/O控制方式
I/O控制指的是设备和主机之间的数据传输
流程->cpu干预频率->数据传送的单位->数据的流向->优缺点
1.程序直接控制方式
流程
cpu向I/O控制器发送一条I/O指令,先假如是读操作,控制器就启动外设,外设开始向数据寄存器综合功能传入数据,并且此时状态寄存器为1,表示数据还没有输送完,此时,cpu不断检查状态寄存器是否置0,这个过程叫做轮询,等输送完就将状态寄存器置为0,表示设备已就绪,cpu就将数据寄存器中的数据传入内存中。
cpu干预频率
频繁
数据传送单位
每次读/写一个字
数据的流向
读操作(数据输入):I/O设备->cpu->内存
写操作(数据输出):内存->cpu->I/O设备
优点:实现简单
缺点:cpu和I/O设备只能串行工作,因为它要一直检查状态寄存器
2.中断驱动方式
流程
cpu发送I/O命令后,就把不断地判断状态寄存器这个进程给阻塞,等到I/O完成后,控制器会向cpu发送一个中断信号,然后cpu在处理中断信号,进行后续相关操作(要么等忙完再执行,要么立马有空,立即执行)
cpu干预频率
低
数据传送单位
每次读/写一个字
数据的流向
读操作(数据输入):I/O设备->cpu->内存
写操作(数据输出):内存->cpu->I/O设备
优点:与上一种方法相比,cpu不需要不停地轮询,cpu和I/O设备并行工作,cpu利用率提升
缺点:频繁的中断处理会消耗较多的cpu时间
3.DMA方式
(Direct Memory Access)直接存储器存取,主要用于块设备地I/O控制
cpu干预率
仅需传送数据块开始和结束才需要cpu干预
数据传送单位
块
数据流向:直接从设备放入内存或从内存放入设备
优点:干预率降低,cpu和I/O设备地并行性得到提升
缺点:cpu每发出一条I/O指令,只能读/写一个或多个连续的数据块
4.通道控制方式
通道:一种硬件,阉割版的cpu,通道可以识别并执行一系列通道指令
流程
cpu给通道发出指令,然后通道监控I/O设备,完成后给cpu发送中断信号,cpu处理中断信号后再执行后续操作
cpu干预率
极低
数据传送单位
每次读写一组数据块
数据的流向
读操作:I/O设备->内存
写操作:内存->I/O设备
优点:cpu、通道、I/O设备可并行工作,资源利用率高
缺点:实现复杂,需要专门的硬件