[发明专利]一种利用DMA控制器实现二维数据搬运的方法无效
申请号: | 200610066665.8 | 申请日: | 2006-04-17 |
公开(公告)号: | CN101059785A | 公开(公告)日: | 2007-10-24 |
发明(设计)人: | 汪坚;林晓涛;陈家锦 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 王漪;王继长 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 dma 控制器 实现 二维 数据 搬运 方法 | ||
技术领域
本发明涉及一种计算机技术的DMA控制器方法,尤其涉及的是一种利用DMA控制器实现二维数据搬运的方法。
背景技术
现有技术的DMA控制器的基本架构如图1所示,它主要由四个模块组成:
AHB从器件接口模块:该模块的主要功能是用来配置DMA控制器。外部程序可以对DMA控制器的寄存器组模块进行设置。
AHB主器件接口模块:该模块可以完成向AHB总线发送地址、数据和控制信号,实现从源地址读取数据放入目标地址中。
寄存器组模块:该模块包括源地址寄存器、目标地址寄存器、控制寄存器以及其它一些相关的寄存器。源地址寄存器的初值为要访问的源存储器空间的起始地址,在搬运过程中,DMA控制器把下一个要访问的源地址保存在该寄存器中;目标地址寄存器的初值为要访问的目标存储器空间的起始地址,在搬运过程中,DMA控制器把下一个要访问的目标地址保存在该寄存器中;控制寄存器用来设定DMA通道使能或者不使能,是否自动加载起始地址等等。
通道优先级模块:该模块用于实现DMA控制器内多个逻辑通道的优先级判断。在接到DMA申请时,该模块要判断通道的优先级,以确定在当前情况下由哪个通道发起传送。
在AMBA协议的AHB总线上,DMA控制器作为与ARM处理器并列的主器件出现,在大多数情况下,DMA控制器可以替代ARM处理器进行数据搬运工作(包括存储器到存储器、存储器到外围设备、外围设备到存储器以及外围设备之间的数据搬运),从而保证ARM处理器在执行指令期间不介入到具体的数据搬运工作中,从而提高ARM处理器的工作效率。
目前AHB总线上广泛应用的DMA控制器一般都是进行一维数据的搬运,即DMA控制器的源地址空间或者目标地址空间是一段连续的存储器空间,这种DMA控制器的寄存器组模块中只有源地址寄存器、目标地址寄存器以及控制寄存器这些主要的寄存器,在数据搬运的过程中,只需要对源地址寄存器或者目标地址寄存器中的地址值递增,就可以获得下一个要访问的存储器地址。
然而在实际的操作过程中,往往会出现数据存放的存储器空间是一个不连续的地址空间,比如需要搬运的数据存放在多个存储器空间,每个存储器空间内部地址是连续的,但是存储器空间之间的地址是不连续的,如图2中的灰色部分所示。很显然,只支持一维数据搬运的DMA控制器无法对这种存储在多个存储器空间中的数据进行连续搬运。
因此,现有技术还有待于改进和发展。
发明内容
本发明所要解决的技术问题在于提供一种利用DMA控制器进行二维数据搬运的方法,用以克服一维数据搬运DMA控制器只能搬运连续地址空间数据的缺点。
本发明的技术方案包括:
一种利用DMA控制器实现二维数据搬运的方法,其在DMA控制器中增加设置链表项地址寄存器,所述方法包括步骤:
A、给各寄存器赋值,将源地址、目标地址、链表项地址依次设置到相应的寄存器中;
B、按照链表项的地址将每块需要搬运的存储器空间所对应的源地址寄存器、目标地址寄存器、链表项地址寄存器以及控制寄存器的值存放入存储器中;
C、所述DMA控制器从源地址寄存器中取出源地址,获取该地址所保存的数据,并地址递增搬运下一个数据,直到当前存储器空间的数据搬运完毕;
D、所述DMA控制器通过链表项地址寄存器中的值去获取表征下一块存储器空间的源地址寄存器、目标地址寄存器、链表项地址寄存器以及控制寄存器的值;
反复搬运,直到当前的链表项地址寄存器的值为0。
所述的方法,其中,所述链表项地址寄存器中的一个链表项都包括4个word,以下列方式进行排列:
a、源地址寄存器的值,用于记录下一个源存储器空间的起始地址;
b、目标地址寄存器的值,用于记录下一个目标存储空间的起始地址;
c、链表项地址寄存器的值,用于记录下一个链表项地址;
d、控制寄存器的值,用于记录进行下一次数据搬运时的控制寄存器的值。
所述的方法,其中,所述DMA控制器通过DMA通道中的链表项地址寄存器中提供的地址到存储器空间中去访问这4个word,并且这4个word在存储器空间连续排放。
本发明所提供的一种利用DMA控制器实现二维数据搬运的方法,由于采用Scatter/Gather链表项的方法,使DMA控制器支持二维数据搬运。
附图说明
图1是现有技术的DMA控制器的基本架构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610066665.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:排油烟机油杯的隐藏结构
- 下一篇:金属液综合性能在线智能检测系统