1.1 程序直接控制方式
如图(a)所示,CPU给设备控制器发出数据存取命令,设备控制器控制设备进行存取操作,此时CPU轮询设备状态寄存器的忙状态,直到设备状态寄存器指示设备不忙且设备数据寄存器中有数据,CPU将设备数据寄存器中的数据写入存储器中。
1.2 中断驱动方式
如图(b)所示,中断驱动方式允许CPU在等待设备存取操作的同时处理其他事务,设备存取完成后通过控制总线给CPU发出中断信号,CPU在指令周期结束时检查中断,保存当前进程上下文,执行中断处理程序,将数据从设备数据寄存器写入存储器中。
1.3 直接存储器访问方式
如图(c)所示,不同于程序直接控制方式和中断驱动方式,直接存储器访问方式(DMA)在设备和存储器之间开辟直接的数据交换通道。直接存储器访问方式的主要特点:
1. 设备与存储器直接进行数据交互,无需CPU干预。
2. 数据交换的基本单位是块(程序直接控制方式和中断驱动方式以字为基本单位)。
3. CPU在数据交换开始时设置数据块大小和数据存取的存储器位置等控制信息,设备数据存取完成时通过控制总线发送中断信号通知CPU。
1.4 通道控制方式
通道控制方式是直接存储器访问方式的扩展,通过引入I/O专用处理机,根据CPU的命令执行通道程序进一步减少CPU对数据交换过程中控制信息(如数据块大小和数据存取的存储器位置)的干预。
通道控制方式与直接存储器访问方式的的主要区别:
1. 通道控制方式的数据交换基本单位为一组数据块。
2. 直接存储器访问方式需要CPU设置数据交换过程中的控制信息,而通道控制方式依赖通道程序进行控制。
3. 直接存储器访问方式中一个控制器仅能控制一台设备与存储器之间的数据交换,而通道控制方式中一条通道可以同时控制多台设备与存储器的数据交换。
1.5 扩展知识
[1] I/O控制方式
[2] 设备管理 | I/O控制方式
原文地址:https://www.cnblogs.com/loop0day/p/11762101.html