设备管理的数据传输控制方式
设备管理的一个主要任务就是控制设备和内存(或CPU)之间的数据传送
数据传输控制方式
1、程序直接控制方式
优点:工作过程简单,不需要更多的硬件支持
缺点: (1)CPU和外围设备只能串行工作
(2)CPU在一段时间内只能和一台外围设备交换数据信息,不能实现设备之间并行工作
(3)程序直接控制方式只适用于那些CPU执行速度较慢,而且外围设备较少的系统
2、中断控制方式
2.1、在I/O中断方式下,数据的输入按如下步骤操作:
(1)需要数据的进程通过CPU发出启动外设输入数据的指令,该指令同时置状态寄存器的中断允许位
(2)在进程发出指令启动设备之后,该进程放弃处理机,等待输入完成。这时,进程调度程序可以调度其他就绪进程占据处理机
(3)当输入工作完成时,I/O控制器通过中断请求线向CPU发出中断信号。CPU在接收到中断信号之后,转去执行设备中断处理程序。设备中断处理程序把输入数据寄存器中的数据传送到相应的进程使用。同时把等待输入完成的那个进程唤醒,再返回到被中断的进程继续执行
(4)在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存单元中取出数据做进一步处理
2.2、中断控制方式的优缺点
优点:与程序直接控制方式相比,中断方式使CPU的利用率大幅度提高了。
缺点:设备每输入/输出一个数据都要求中断CPU,这样在一次数据传送过程,中断发生次数较多,耗去大量CPU处理时间
3、直接存储器存取方式
DMA方式的数据输入过程如下:
(1)当进程要求设备输入一批数据时,CPU将准备存放输入数据的内存起始地址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器,准备开始进行数据输入并且允许中断
(2)发出数据要求的进程进入等待状态,进程调度程序调度其它进程占据CPU
(3)输入设备不断的挪用CPU工作周期,将数据寄存器中的数据源源不断的写入内存,直到所要求的字节全部传送完毕
(4)DMA控制器在完成数据传送后通过中断请求线发出中断信号,CPU收到中断信号后转到中断处理程序,唤醒等待输入完成的进程,并返回被中断程序
(5)中断处理结束后,CPU返回被中断的进程或去运行重新被调度的进程
DMA方式与中断方式的主要区别
1、前者在全部数据传送结束时才中断CPU,后者每传送一个数据中断一次CPU
2、中断方式的数据传送在中断处理时由CPU控制完成,而DMA方式则是在DMA控制器的控制下完成
4、通道控制方式
通道是专门用来输入和输出的处理机,它控制内存和设备直接进行数据交换
按信息交换方式,可以把通道分为: (1)字节多路通道 (2)选择通道 (3)数组多路通道
通道指令一般包含有数据在内存中的地址、传送方向、数据块长度以及I/O设备的地址信息、特征信息(是磁带还是磁盘设备)等
通道控制方式的数据输入过程如下:
(1)当进程要求输入数据时,CPU发出启动指令指明I/O操作、设备号和对应通道
(2)对应通道接收到CPU发来的启动指令之后,把通道指令程序读出,并执行通道程序
(3)如果数据传送结束,就向CPU发出中断请求。CPU收到中断信号后转向中断处理程序,唤醒等待输入完成的进程,并返回被中断程序
(4)在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存起始地址取出数据,做进一步处理