CPU与IO设备交互
CPU与IO设备的数据交换方式主要有程序查询方式、程序中断方式以及DMA方式三种。
程序查询方式
CPU按照IO设备的优先级按序查询IO设备是否已有数据准备就绪。
程序中断方式
当IO设置有数据准备就绪时,就向操作系统发起中断信号,然后又操作系统启动中断处理程序,来响应IO设备。
DMA方式
DMA,全称为Direct Memory Access,直接内存存取。DMA传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA 控制器来实行和完成。在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。
简单来说,有了DMA控制器,在使用DMA控制器将IO设备的数据复制到内存时,就不需要CPU去执行任何指令啦,CPU继续做其他的工作,完全交由DMA控制器来处理(相当于DMA控制器在执行指令进行数据的复制操作)。下图是程序中断方式和DMA方式的区别示意图:
学习资料参考于:
唐朔飞版《计算机组成原理》