10.1 直接存储器存取工作原理

更新于 2026年10月10日 版权声明
10.1 直接存储器存取工作原理

CPU与外设之间的数据传输方式有程序方式、中断方式和直接存储器存取(DMA)方式,前面已经介绍了前两种方式,本章介绍最后一种方式。DMA是计算机系统中一种高速的数据传输方式,这种方式允许计算机的外设和内存之间直接进行数据读写操作,不需要CPU干预。整个数据传输操作在DMA控制器的控制下进行。CPU除在数据传输开始和结束时参与处理外,其他时间则不需要干预。在传输过程中,CPU同DMA并行工作,这样一来,就使整个计算机系统的效率大大提高。

DMA方式由以下3个要素组成。

(1)传输源:要传输的数据源头,DMA控制器从传输源读出数据,如存储器。

(2)传输目标:要传输的数据目标,DMA控制器将数据传输到传输目标,如串口。

(3)触发信号:用于触发一次数据传输的动作,执行一个单位的传输源至传输目标的数据传输,可以用来控制传输的时机。(https://www.daowen.com)

DMA控制器的工作原理如图10.1所示。DMA控制器可直接控制总线,在内存与外设之间建立一条数据传输通路。在数据传输开始前,DMA控制器请求CPU把总线控制权转交给它,然后它在数据源地址和数据传输的目标地址之间建立通路,开始数据传输。数据传输完成后,DMA控制器再把总线控制权交还给CPU,完成一次数据传输。

图示

图10.1 DMA控制器的工作原理

一次完整的DMA包括DMA请求、DMA响应、DMA传输、DMA结束4个步骤。

DMA数据传输的主要优点是速度快。由于CPU不参加传输,就省去了CPU取指令、取数、送数等操作。在数据传输过程中,没有保存现场、恢复现场之类的工作。内存地址修改、传输字节个数的计数等,也不是由软件实现,而是由硬件线路直接实现的,所以DMA数据传输能满足高速I/O的要求,也有利于提高CPU效率。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)