I/O控制方式 设备管理的主要任务之一就是控制花少北和内存或处理机之间的数据传送。外围设备和内存之间的输入/输出控制方式有四种: 1、 程序直接控制方式 计算机从外部设备读取数据到存储器,每次读一个字的数据。对读入的每个字,CPU需要对外设状态进行循环检查,直到确定该字已经在IP控制的数据寄存器中。在程序直接控制方式中,由于CPU的高速性和IO设备的低速性,致使CPU的绝大部分时间都处于等待IO设备完成数据IO的循环测试中,造成了CPU资源的极大浪费。在该方式汇总,CPU之所以要不断地测试IO设备的状态,就是因为在CPU中没有采用中断结构,使IO设备无法向CPU报告它已经完成了一个字符的输入操作。 程序直接控制方式虽然简单易于实现,但是其缺点也是显而易见,由于CPU和IO设备只能串行工作,导致CPU的利用率相当低。
2、 中断驱动方式 中断驱动方式的思想是,允许I/O设备主动打断CPU的运行并请求服务,从而“解放”CPU,使得其向I/O控制器发送命令后可以继续做其他有用的工作。如下所示
3、 DMA方式 在中断驱动汇总,I/O设备与内存之间的数据交换必须要经过CPU中的寄存器,所以速度还是受限。而DMA(直接存储器存储)方式基本思想是在IO设备和内存之间开辟直接的数据交换通路,彻底“解放”CPU。DMA方式的特点是: (1) 基本单位是数据块 (2) 所传送的数据,是从设备直接送入内存的,或者相反 (3) 仅在传送一个或多个数据块的开始和结束时,才需要CPU干预,整块数据的传送是在DMA控制器的控制下完成的。
DMA控制器的组成如下:
4、 通道控制方式 I/O通道是方式的发展,指专门负责输入/输出的处理机。I/O通道方式是DMA方式的发展,它可以进一步减少CPU的干扰,即把一对数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可以实现CPU\通道和IO设备三者的并行操作,从而更有效地提高整个系统的资源利用率。