• 内容介绍

一般而言,CPU管理外围设备的输入输出控制方式有5种:程序查询方式、程序中断方式、DMA方式、通道方式、外围处理机方式,前两种方式由软件实现,后三种方式由硬件实现。

1. 程序查询方式

程序查询方式是早期计算机中使用的一种方式,CPU与外围设备的数据交换完全依赖于计算机的程序控制。

在进行信息交换之前,CPU要设置传输参数、传输长度等,然后启动外设工作,与此同时,外设则进行数据传输的准备工作;相对于CPU来说,外设的速度是比较低的,因此外设准备数据的时间往往是一个漫长的过程,而在这段时间里,CPU除了循环检测外设是否已准备好之外,不能处理其他业务,只能一直等待;直到外设完成数据准备工作,CPU才能开始进行信息交换。

这种方式的优点是CPU的操作和外围设备的操作能够完全同步,硬件结构也比较简单。但是,外围设备的动作通常很慢,程序进行循环查询白白浪费了宝贵的CPU时间,数据传输效率低下。在当前的实际应用中,除了单片机之外,已经很少使用程序查询方式了。

2. 程序中断方式

中断是外围设备用来“主动”通知CPU,准备发送或接收数据的一种方式。

通常,当一个中断发生时,CPU暂停其现行程序,转而执行中断处理程序,完成数据I/O工作;当中断处理完毕后,CPU又返回到原来的任务,并从暂停处继续执行程序。

这种方式节省了CPU时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即执行。与程序查询方式相比,程序中断方式的硬件结构相对复杂一些,服务成本较大。

3. DMA方式

DMA方式就是直接存储器存取(Direct Memory Access)方式,是一种完全由硬件执行I/O交换的工作方式。

在该方式中,DMA控制器从CPU完全接管对总线的控制权,数据交换不经过CPU而直接在主存和外围设备之间进行,以便高速传送数据。

这种方式的主要优点是数据传送速度很高,传送速率仅受限于主存的访问时间。与程序中断方式相比,这种方式需要更多的硬件,适用于主存和高速外围设备之间大批量数据交换的场合。

4. 通道方式

DMA方式的出现减轻了CPU对I/O操作的控制,使得CPU的效率显著提高,而通道的出现则进一步提高了CPU的效率。

通道是一个具有特殊功能的处理器,又称为输入输出处理器(IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。

通道方式大大提高了CPU的工作效率,然而这种效率的提高是以增加更多的硬件为代价的。

5. 外围处理机方式

外围处理机(Peripheral Processor Unit,PPU)方式是通道方式的进一步发展。

PPU基本上独立于主机工作,它的结构更接近于一般的处理机,甚至就是微小型计算机。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务,从某种意义上说,这种系统已经变成了分布式多机系统。

综上所述,计算机外围设备的输入/输出方式如图7-1表示。其中,程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和外围处理机方式则适用于数据传输率比较高的外围设备。

711.gif