8.1.1外围设备的速度分级
输入/输出设备同CPU交换数据的过程。如果是输入过程,包括下述三个步骤:
(1) CPU把一个地址值放在地址总线上,这一步将选择某一输入设备;
(2) CPU等候输入设备的数据成为有效;
(3) CPU从数据总线读入数据,并放在一个相应的寄存器中。
如果是输出过程,则至少需要以下三个步骤:
(1) CPU把一个地址值放在地址总线上,选择一个输出设备;
(2) CPU把数据放在数据总线上;
(3)输出设备认为数据有效,从而把数据取走。
8.1.2信息交换方式
在计算机系统中,CPU管理外围设备也有几种类似的方式。
1.程序查询方式
程序查询方式是一种最简单的输入输出方式,数据在CPU和外围设备之间的传送完全靠计算机程序控制。这种方式的优点是CPU的操作和外围设备的操作能够同步,而且硬件结构比较简单。除单片机和数字信号处理机DSP外,大型机中不使用程序查询方式。
2.程序中断方式
中断是外围设备用来“主动”通知CPU,准备送出输入数据或接收输出数据的一种方法。通常,当一个中断发生时,CPU暂停它的现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到它原来的任务,并从它停止的地方开始执行程序。
3.直接内存访问(DMA)方式
直接内存访问(DMA)方式是一种完全由硬件执行I/0交换的工作方式。这种方式既考虑到中断响应,同时又要节约中断开销。此时,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行,以高速传送数据。
4.通道方式
DMA方式的出现已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高,而通道的出现则进一步提高了CPU的效率。这是因为,CPU将部分权力下放给通道。通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(IOP),它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。
程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式适用于数据传输率比较高的设备。目前,程序中断方式和DMA方式多用于微型机中。通道方式用在大型计算机中。
综上所述,外围设备的输入/输出方式可用图表示。


