DMA是I/0设备与主存储器之间由硬件组成的直接数据通路,用于高速I/0设备与主存之间的成组数据传送。数据传送是在DMA控制器控制下进行的。
DMA的3种工作方式如下:
(1)CPU暂停方式主机响应DMA请求后,让出存储总线,直到一组数据传送完毕
后,DMA控制器才把总线控制权交还给CPU,采用这种工作方式的I/0设备,在其接口中 一般设置有存取速度较快的小容量存储器,I/0设备与小容量存储器交换数据,小容量存储
器与主机交换数据,这样可减少DMA传送占用存储总线的时间,也即减少CPU暂停工作时间。(传送的是数据块)
(2)CPU周期窃取方式。DMA控制器与主存储器之间传送一个数据,占用(窃取)一个CPU周期,即CPU暂停工作一个周期,然后继续执行程序。
(3)直接存储器访问工作方式。这是标准的DMA工作方式。如果传送数据时CPU 正好不占用存储总线,则对CPU不产生任何影响。如果DMA和CPU同时需要访问存储
总线,则DMA的优先级高于CPU。
在DMA传送数据过程中,不能占用或破坏CPU硬件资源或工作状态,否则将影响
CPU的程序执行。
直接存储器存取(DMA)有哪3种工作方式?
于 2023-02-28 20:55:01 首次发布