dma基本原理结构与应用(上)

dma基本原理结构与应用(上)

ID:27707574

大小:251.11 KB

页数:7页

时间:2018-12-05

dma基本原理结构与应用(上)_第1页
dma基本原理结构与应用(上)_第2页
dma基本原理结构与应用(上)_第3页
dma基本原理结构与应用(上)_第4页
dma基本原理结构与应用(上)_第5页
资源描述:

《dma基本原理结构与应用(上)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、直接存储器存取一基本原理、结构与应用(上)直接存储器存取(DMA)控制器是•种权系统rt部转移数据的独特外没,可以将其视为-•种能够通过-组专用总线将内部和外部存储器与每个其有DMA能力的外设连接起來的控制器。它之所以诚于外设,是因为它是在处理器的编程控制下来执行传输的。值得注意的是,通常只宥数据流呈较大(kBps或者更高)的外设才需要支持DMA能力,这些应用方而典型的例子包拈视频、音频和网络接口。•般而言,DMA控制器包括一条地址总线、一条数据总线和控制寄存器。K效率的DMA控制器将具宥访问其所需

2、耍的任意资源的能力,而无须处理器木身的介入,它必须能产生中断。最后,它必须能在控制器内部计算出地址。一个处理器可以包含多个DMA抟制器。每个抟制器宥多个DMA通道,以及多条H接与存储器站(memorybank)和外设连接的总线,如阁1所示。在很多高性能处理器屮集成了两种类型的DMA控制器。第一类通常称力“系统DMA控制器”,可以实现对任何资源(外设和存储器)的访问,对于这种类型的控制器來说,信号周期数是以系统时钟(SCLK)来计数的,以ADT的Blackfin处理器为例,频率最高可达133MH%第二

3、类称为内部存储器DMA控制器(TMDMA),专门用于内部存储器所处位置之间的相互存取操作。因为存取都发生在内部(L1一LI、L1-L2,或齐L2—L2),周期数的计数则以内核时钟(CCLK)为基准来进行,该时钟的速度可以超过600MHz。每个DMA控制器冇一组FIFO,起到DMA子系统和外设或存储器之间的缓冲器的作川。对丁•MemDMA(MemoryDMA)来说,传输的源端和目标端都有-•组FIFO存在。当资源紧张而不能完成数据传输的话,则I4F0可以提供数据的暂存区,从而提髙性能。W为你通常会在代

4、码初始化过程中对DMA控制器进行配i,内核就只需要在数据传输完成后对中断做出响应即可。你可以对DMA控制进行编程,让其与内核并行地移动数据,而同吋让内核执行其祕本的处理任务一那些应该让它专注完成的工作,阎h系统和存储器DMA架构。广告插播信息维库最新热卖芯片:TIA31AIDRPC829TPS65010RGZRNDT452APCL450-P160SAH-C164SL-6RMMAX814LESAAM27S43DCIR21365ST062在一个优化的应用中,内核永远不用参与任何数据的移动,而仅仅对L1存

5、储器中的数据进行读写。于是,内核不需耍等待数据的到來,因为DMA引擎会在内核准备读取数据之前将数据准备好。图2给ih了处理器和DMA控制器间的交互关系。由处理器完成的操作步骤包括:建立传输,肩用中断,生成中断吋执行代码。返回到处理器的中断输入可以用來指示“数据己经准备好,可进行处理”。图2:DMA控制器。数据除了往来外设之外,还需要从一个存储器空间转移到另一个空间中。例如,视频源可以从一个视频端口直接流入L3存储器,因力工作缓冲区规模太人,无法放入到存储器中。我们并不希望让处理器在每次需要执行计算时

6、都从外部存储读取像素信息,W此为了提高存取的效率,可以用一个存储器到存储器的D.MA(MemDMA)来将像素转移到L1或者L2丫/储器中。到目前为之,我们还仪专注丁•数据的移动,但足DMA的传送能力并不总是用来移动数据、我们可以川代码覆齑的办法来提髙性能,将DMA的控制器配置为在执行前把代码送入L1指令存储器。代码往往存储于较大的外部存储器中,而根据需耍有选择性的送入L1。DMA控制器的编程让我们考察一下在定义DMA活动的过程中可以有哪些选项。我们将从最简单的模型开始,并在此褪础上过渡到更为灵活的模

7、型,这反过来增加了设置的复杂度。对于任何类型的DMA传输,我们都需要规定数据的起始源和0标地址。对于外没DMA的情况来说,外设的FTFO可以作为数据源或者M秘端。当外设作为源端吋,某个存储器的位置(内部或外部)则成为H鉍端地址。当外设作为H标端,存储的位置(I々部或者外部)则成为源端地址。即DMA不能进行外设和外设的传输!在最简单的MemDMA情况巾,我们需耍吿诉DMA控制器源端地址、目标端地址和待传送的字的个数。采用外没DMA的情况下,我们规定数据的源端或者目标端,具体则取决于传输的方向。每次传输

8、的字的人小可以是8、16或者32位。这种类型的事务代农了简单的1维(“1D”)统一“跨度”(unitystride)的传输。作为这一传输机制的一部分,DWA抟制器连续跟踪不断增加的源端和H标端地址。采用这种传输方式时,8位的传输产生1字节的地址增S,而16位传输产生的增最为2字节,32位传输则产生4字节的增ft。上面的参数是基本的IDDMA传输的设.胃.参数。我们只需要改变数据传输每次的数据大小,就可以简单地增加一维DMA的灵活性。例如,采川非单一人小的传输方式吋,我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。