当前位置:课程学习>>第六章>>知识讲解>>视频课堂>>知识点三
1. 程序控制方式
采用程序控制方式时,状态和数据的传输由CPU执行一系列指令完成。数据传送过程中,或者由CPU查询外设状态,或者由外设向CPU发出请求。这种方式又可分为无条件传输方式和程序查询方式。
(1)无条件传输方式
CPU不需要了解外设状态,直接与外设传输数据,适用于按钮开关、发光二极管等简单外设与CPU的数据传送过程。这种传输方式的特点是硬件电路和程序设计都比较简单,一般用于能够确信外设已经准备就绪的场合。
(2) 程序查询方式
也称为条件传输方式,常用于慢速设备与CPU交换数据。
CPU与外设传输数据之前,先检查外设状态,如果外设处于“准备好”状态(输入设备)或“空闲”状态(输出设备),才可以传输数据。为此,接口电路中除了数据端口外,还必须有状态端口。
程序查询方式的一般过程为:
CPU从接口中读取状态字;
CPU检测状态字的相应位,是否满足“就绪”条件,如不满足,则转1);
如状态位表明外设已处于“就绪”条件,则传输数据。
2.中断方式
不由CPU主动去查询外设的状态,而是让外设在数据准备好之后再通知CPU。这样,CPU在没接到外设通知前只管做自己的事情,只有接到通知时才执行与外设的数据传输工作,从而大大提高CPU的利用率。
在主程序的执行过程中(或较低优先级别的中断服务子程序执行的过程中),由中断申请信号触发跳转到中断服务子程序,当(较高优先级别的)中断服务子程序执行完毕后,转跳回刚才主程序(或较低优先级中断服务子程序)的位置继续执行。
中断方式详见教材第9章(本课程第7章)。
3. 直接存储器存取(DMA)方式
DMA方式就是在系统中建立一种机制,将外设与内存间建立起直接的通道,CPU不再直接参加外设与内存间的数据传输,而是在系统需要进行DMA传输时,将CPU对地址总线、数据总线及控制总线的管理权交由DMA控制器进行控制。当完成一次 DMA数据传输后,再将这个控制权还给CPU。
DMA方式由硬件自动实现的,并不需要程序进行控制。
DMAC(称为DMA控制器)芯片来完成相关工作,如内存地址的修改、字节长度的控制。当CPU放弃数据总线、地址总线及控制总线的控制权时,由DMAC实现外设和内存间的数据交换,同时也包括与CPU之间必要的连接。
4. 通道控制方式
在大、中型计算机系统中,配置的I/O设备很多,输入输出操作十分频繁,如果仅用DMA控制器,则需要CPU不断地对各个DMA控制器进行设置,影响CPU的正常工作。
将DMA控制器的功能增强,使其能够按CPU的意图自行设置操作方式,控制数据传送。于是,DMA控制器发展成了通道控制器。
(1)I/O通道
早期的“通道”是由一些简单的、主要用于数据输入输出的CPU构成,可配置简单的输入输出程序。
主CPU只需使用简单的通道命令启动通道,二者即可并行工作。输入输出程序可以在主存中,也可以在通道的局部存储器中。主CPU一旦启动通道工作,通道控制器即从主存或通道存储器中取出相应的程序,控制数据的输入输出。
(2)I/O处理器
通道控制器发展成I/O处理器(I/O Processor),也称为I/O处理机。
主要由一个进行I/O操作的CPU、内部寄存器、局部存储器和设备控制器组成。在一个通道处理器中可有多个通道,分别与多个设备控制器连接;而一个设备控制器可控制多台外设工作。在实际使用中,I/O处理器与主CPU构成多处理器(或称多处理机)系统,相互并行工作。
(3)外围处理机
I/O处理器的功能不断增强,又出现了外围处理机PPU(Peripheral Processor Unit)。
除了完成I/O通道所要完成的I/O控制之外,还增强了路由选择、数码转换、格式处理、数据块检错/纠错等功能。它的算术逻辑处理功能增强,缓冲寄存器增多,基本上独立于主机完成所有的输入输出操作。