通常,如果外部设备要与存储器进行数据交换,则必须通过CPU执行输入输出指令以及存储器读写指令来完成的。一般而言,CPU管理外围设备的输入输出控制方式有5种:程序查询方式、中断方式、DMA方式(直接内存存取)、通道方式、外围处理机方式,前两种方式由软件实现,后三种方式由硬件实现。
一,程序实现
1.
程序查询方式
程序查询方式是要CPU不断使用指令检测方法来获取外设工作状态。CPU与外围设备的数据交换完全依赖于计算机的程序控制,在进行信息交换之前,CPU要设置传输参数,长度等,然后启动外设工作;外设则进行数据传输的准备工作,在外设准备数据时间里,CPU除了循环检测外设是否已准备好之外,不能处理其他业务,只能一直等待;直到外设完成数据准备工作,CPU才能开始进行信息交换。造成CPU的运行效率极低。
特点:
(1)CPU的操作和外围设备的操作能够完全同步,硬件结构也比较简单。
(2)造成CPU的运行效率极低。
在当前的实际应用中,除了单片机之外,已经很少使用程序查询方式了。
2.
中断方式
中断是主机在执行程序过程中,遇到突发事件而中断正在执行的程序,转而对突发事件进行处理,待处理完后继续原程序的执行。
严格来说,当一个中断发生时,外设发出“中断请求”,CPU暂停其现行程序,保护程序断点地址,把中断处理程序入口地址送入寄存器中进行了中断响应,转而执行中断处理程序,完成数据I/O工作,也就是中断处理;当中断处理完毕后,CPU又返回到原来的任务,并从暂停处继续执行程序。也就是把中断响应保存起来的断点地址重新送回指令指针寄存器,进行了中断返回操作。
特点:
(1)节省了CPU时间,是管理I/O操作的一个比较有效的方法。
(2)与程序查询方式相比,程序中断方式的硬件结构相对复杂一些,服务成本较大。
中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即执行。
3. DMA方式
DMA方式就是直接存储器存取(Direct Memory Access)方式,是一种完全由硬件执行I/O交换的工作方式。
特点:
(1)DMA控制器从CPU完全接管对总线的控制权,数据交换不经过CPU而直接在主存和外围设备之间进行,以便高速传送数据。
(2)数据传送速度很高,传送速率仅受限于主存的访问时间。
(3)与程序中断方式相比,这种方式需要更多的硬件,适用于主存和高速外围设备之间大批量数据交换的场合。
二,硬件实现方式
1.
通道方式(IOP)
通道是一个具有特殊功能的处理器,又称为输入输出处理器(IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。
特点:
(1)DMA方式的出现减轻了CPU对I/O操作的控制,使得CPU的效率显著提高,而通道的出现则进一步提高了CPU的效率。
(2)这种效率的提高是以增加更多的硬件为代价的。
2.
外围处理机方式(PPU)
外围处理机(PeripheralProcessor Unit,PPU)方式是通道方式的进一步发展。基本上独立于主机工作,它的结构更接近于一般的处理机,甚至就是微小型计算机。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务,从某种意义上说,这种系统已经变成了分布式多机系统。
特点:
(1)外围处理机基本上独立于主机,使得计算机系统结构有了质的飞跃,由功能集中式发展为功能分散的分布式系统。
(2)能分析处理较复杂的工作。
综上所述,程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和外围处理机方式则适用于数据传输率比较高的外围设备。