- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内存直接存取——基本原理、结构及应用(四篇系列文章之一)
内存直接存取——基本原理、结构与应用(四篇系列文章之一)
By David Katz and Rick Gentile, Analog Devices, Inc.
嵌入式的 处理器核在单个周期内可以执行多项操作,包括计算、数据读取、数据存储和指针增/减。此外,此种内核可以通过对寄存器文件进行数据读写操作来协调控制内部、外部存储空间之间的数据传递。
所有这些听上去很棒,但在现实中,只有当数据的移动过程无需烦扰内核来执行传输操作时,你的应用才能保证最佳的性能。
这样的应用正是内存直接存取(direct memory access,DMA)控制器能一展身手的地方。处理器需要具备DMA功能,以便让内核从内部/外部存储和外设间或者内存空间之间的数据转移(后者也称为内存DMA,或者“MemDMA”)中解脱出来。
目前有两类主要的DMA控制器。“周期盗用”型DMA利用空余的(空闲)的内核周期来执行数据传输。对于处理负担沉重的系统(如处理多媒体流的系统)来说,这并非是一个可行的解决方案。相反,一个工作独立于内核的DMA控制器所能实现的效率要高得多。
这为何显得如此重要?好吧,不妨设想一个处理器的视频端口有一个FIFO,每当数据采样出现时就必须对该FIFO进行读取操作。在这种情况下,内核在每秒内必须中断上千万次。仿佛被干扰得还不够似的,内核还必须执行等量的、针对内存的某个目的区的写入操作。完成该任务时每占用一个处理周期,在处理循环中就会损失一个相应的周期。
DMA在理论上听上去很棒,但是基于PC的软件设计者在转向嵌入式技术领域时却对依靠DMA控制器转移数据的方法的采用迟疑不决。这种犹豫往往源自他们的一种印象:在考虑采用DMA时,编程模式的复杂性将会呈指数形式的增长。然而,我们的目标是让你的精神松缓下来,然后向你展示DMA是你真正的朋友。在这一系列文章中,我们将专注于DMA控制器本身,并为你展示如何利用DMA来优化性能,并最终就如何能对作为总体框架的一部分的DMA实施最佳的管理给出我们的理念。
让我们先偏离我们的主题,快速讨论一下内存空间方面的术语。嵌入式处理器采用分级式的内存架构,该架构努力保持内存空间在层次、大小和性能水平等方面的平衡。最接近内核处理器的内存(被称为“1级”或者“L1”内存)以全部的内核时钟频率工作。“最接近”一词只是字面上的表达,主要是因为L1内存在物理位置上最接近集成电路芯片上的内存处理器,这一安排是为了实现最高的可访问性和工作速度。L1内存常常被划分为
当然,L1内存在规模上必然是有限的。对于代码规模更大的系统来说,需要提供另外的片上和片外的内存——延迟也相应上升。片上规模更大的内存被称为2级(“L2”)内存,我们将片外的内存称为3级(“L3”)内存。L1内存的容量往往有几十kByte之多,而片上的L2内存
好了——回到当前正在讨论的话题。DMA控制器是一种用于在系统内部各处间转移数据的独特的外设。可以将其视为一种能够通过一组专用总线将内部和外部存储与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。值得注意的是,只有数据流量较大(kByte/s或者更高)的外设才必须具备DMA能力。这些应用方面典型的例子包括视频、音频和网络接口。带宽较低的外设也可以具备DMA能力,至少对内核所造成的负担,即必须插手来帮助这些接口实现数据的转移,可以得以减少。
一般而言,DMA控制器将包括一条地址总线、一条数据总线和控制寄存器。高效率的DMA控制器将具有要求访问其需要的任意资源区而无需让处理器本身介入的能力。它必须有能力生成中断。最后,它必须能在控制器内部计算出地址。
一个处理器可以包含多个DMA控制器。每个控制器有多个DMA通道,以及多条直接与内存站(memory bank)和外设的总线,正如图1所示的那样。在多种高性能的处理器集成了两种类型的DMA控制器。第一类往往被称为“系统DMA控制器”,可以实现对任何资源区(外设和内存)的访问。对于这种类型的控制器来说,信号周期数是以系统时钟(SCLKs)来计数的,频率最高可达133MHz(以ADI的Blackfin处理器为例)。第二类被称为内部存储DMA控制器(IMDMA),专门用于内部存储所处位置之间的相互存取操作。因为存取都发生在内部(L1-L1,L1-L2,或者L2-L2),周期数的计数则以内核时钟(CCLK)为基准来进行,该时钟的速度可以超过600MHz。
图1 系统和内存DMA架构
图中:Memory——内存,DMA System Bus——DMA系统总线。DMA Controller——DMA控制器,DMA Access Bus——DMA存取总线,peripheral——外设,Processor——处理器,DMA Exter
您可能关注的文档
最近下载
- 分子技术的临床应用题库及答案-2025年华医网继续教育.docx VIP
- 采矿工程毕业设计(论文)-平顶山矿1.2Mta新井设计(全套图纸).doc VIP
- Zebra斑马ZQ630 用户手册.pdf
- 2025年高中语文复习讲义选择性必修下册(一) 单篇梳理2 项脊轩志.docx VIP
- 风电机组叶片防雷相似性对比研究.pptx VIP
- 2026年中国长城资产管理股份有限公司校园招聘笔试模拟试题及答案解析.docx VIP
- 国开2024年秋《经济法学》计分作业1-4答案形考任务.docx
- 2014年q12 impact提升计划管理表(结构).xls VIP
- 党政办公室工作人员业务培训教学演示课件.ppt VIP
- 山梨酸钾MSDS化学物质技术说明书.pdf VIP
原创力文档


文档评论(0)