2、总线主和总线控制 在计算机运行过程中,微处理器不断从内存中取出指令、执行指令,完成编制的程序,控制数据在存储器和外设之间传送,微处理器是系统的主控设备,称之为总线主。如果系统中具有DMA控制器,DMA是另外一个总线主。然而,在微处理器控制总线的期间内,DMA处在从属状态或空闲状态,DMA在编程周期为从属设备。在DMA需要控制传送的时候便向CPU请求使用总线,DMA一旦获得总线的控制权,就成了总线的主设备,而CPU则进入空闲状态。每个周期之内,系统中只能有一个总线主设备。 图3-13是DMA请求与响应过程的示意图。DMA一般是由外设激活的,外部设备发出DMA传送请求,DMA检测到外设的请求以后,通过总线请求信号向CPU发出总线请求。和对中断请求信号的检测不同, CPU在总线周期的每个T状态都要检测总线请求信号。在检测到总线请求以后,微处理器执行完当前指令,便将正在执行的程序挂起,并将他的地址、数据和控制总线置为浮空(高阻)状态。与此同时,CPU发出总线响应信号给DMA,通知DMA,CPU即将交出总线权。DMA控制总线后,立即通知外设,发出DMA应答信号,并成对地驱动存储器读和I/O写信号或存储器写和I/O读信号,开始控制数据的传送。在DMA控制总线进行数据传输的周期,DMA为系统的总线主设备。 |