首页 理论教育 直接存储器访问(DMA)简介

直接存储器访问(DMA)简介

时间:2023-07-02 理论教育 版权反馈
【摘要】:1)数据的读传输:DMA控制器从源地址中读出数据。2)后台操作:DMA控制器可以独立于CPU工作。4)辅助通道:该通道允许主机接口向CPU的存储器空间进行请求。这种双向数据传输,相当于两个DMA通道。DMA访问包括片内存储器、片内外设及外部存储器。

直接存储器访问(DMA)简介

1.DMA术语

为了便于对DMA进行说明,首先介绍一些和DMA相关的术语及其含义。

1)数据的读传输(Read Transfer):DMA控制器从源地址中读出数据。源地址可以位于存储器外设器件,也可以位于程序、数据或者I/O空间。

2)数据的写传输(Write Transfer):DMA控制器将读出的数据写入目的地址中。目标地址可以位于存储器或者外设器件,也可以位于程序、数据或者I/O空间。

3)数据单元传输(Element Transfer):数据的读传输和写传输的结合。

4)帧传输(Frame Transfer):每个DMA通道传输的每个帧所包含的单元数都是独立可编程序的。在帧的传输完成时,DMA将移动一帧的所有数据单元。

5)块传输(Block Transfer):每个DMA通道传输的每个块所包含的帧数量都是独立可编程序的。在块传输完成时,DMA将移动定义在块中的所有帧。

6)发送数据单元的传输(Transmit Element Transfer):在通道分割模式下,数据单元从源地址中读出并写入分割目的地址。

7)接收数据单元的传输(Receive Element Transfer):在通道分割模式下,数据单元从分割源地址中读出并写入目的地址。

2.DMA控制器的主要特点

DMA控制器的主要特点如下。

1)高吞吐率:可以以CPU时钟的速度进行数据吞吐。

2)后台操作:DMA控制器可以独立于CPU工作。(www.xing528.com)

3)4个通道:DMA控制器可以控制4个独立通道的传输。

4)辅助通道:该通道允许主机接口向CPU的存储器空间进行请求。辅助通道与其他通道之间的优先级可以设置。

5)单通道分割(即Split-channel)操作:利用单个通道就可以与一个外设间同时进行数据的读取和写入。这种双向数据传输,相当于两个DMA通道。

6)多帧(Multiframe)传输:每个块传输可以包括多个大小不等的可编程序帧。

7)优先级可编程序:每一个通道对于CPU的优先级可以独立地编程配置。

8)可编程序的地址产生方式:每个通道的源地址寄存器和目标地址寄存器对于每次读和写传输都是可配置的。地址可以是常量、递增、递减,或是按照可编程序的值进行调整。这些可编程序的数值允许帧的后一个传输与前一个传输的地址相差一个偏移量,这可以用于数据的排序操作。

9)全地址范围:DMA可以访问系统的整个扩展地址范围。DMA访问包括片内存储器、片内外设及外部存储器(可选器件)。访问存储器映射的某个区域要受到器件的限制。

10)可编程序的数据传输宽度:每个通道可以独立地配置为单字传输模式(16位)或者双字传输模式(32位)。

11)自动初始化:每传送完一块数据,DMA通道能够为下次块传输自动重新初始化。

12)事件同步:读、写和帧操作等每个数据的传输都可由指定的事件触发。

13)中断反馈:当一帧或一块数据传送完毕,或是出现错误情况时,每一个通道都可以发送中断给CPU。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈