[发明专利]一种基于sgl链表的DMA传输方法在审
申请号: | 201810025217.6 | 申请日: | 2018-01-11 |
公开(公告)号: | CN108228497A | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 郑文霞;彭鹏;姜黎 | 申请(专利权)人: | 湖南国科微电子股份有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 410100 湖南省长*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 链表 寄存 数据传输效率 传输数据 存储地址 单一操作 地址连续 物理地址 寄存器 指向 传输 配置 应用 | ||
本发明提供了一种基于sgl链表的DMA传输方法,应用于CPU中。配置至少一个sgl entry的sgl entry链表,每个sgl entry对应一个index,每个index指向一个寄存地址,寄存地址连续。确定当前DMA传输对应起始sgl entry index在的寄存地址。发起DMA传输命令至DMA控制器,使得DMA控制器根据起始sgl entry index,从SGL MEN中找到相应的起始sgl entry后,开始按照sgl entry中的存储地址传输数据至第二寄存器DATA MEN中。借助sgl链表,传输离散物理地址的数据成为单一操作。提高了数据传输效率。
技术领域
本发明属于数据处理技术领域,具体涉及一种基于sgl链表的DMA传输方法。
背景技术
DMA(Direct Memory Access,直接内存存取)传输是将数据从一个地址空间复制到另外一个地址空间的传输方式。CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA传输方式对于高效能嵌入式系统算法和网络是很重要的。
在传统DMA方式传输数据的过程中,要求源物理地址和目标物理地址必须是连续的。但在有的体系中,连续的存储器地址不一定是连续的,则采用DMA方式传输数据要分成多次完成,CPU需要多次向DMA发起命令。例如,传输完一块物理地址连续的数据后,CPU向DMA发起一次中断命令,然后,CPU再向DMA发起针对进行下一块物理地址连续的数据的传输命令,直至完成所有的数据,发起CPU再向DMA发起中断命令。其中第一块物理地址连续的数据中的第一个地址为源物理地址,第二个地址为此一块物理地址连续的数据中的第一个地址的目标物理地址。例如,当我们要建立一个从内存到磁盘的DMA数据传输,数据存储在物理地址不连续的缓存区中。那么CPU通常会为这些不连续的缓存区中的每一个缓存区做一次传输,即每次传输时均重新发起一次DMA命令。或者把这些不连续的缓存区里的数据全都移动到另一个很大的物理地址连续的缓存区里边,然后再发起DMA命令,开始传输。当我们要建立一个从磁盘向内存的数DMA据传输,也是需要通过中间的块移动,将数据块分散到内存中不联续的物理地址中。
可见,现有的DMA数据传输方法,数据传输效率较低。
发明内容
本发明提供一种基于sgl链表的DMA传输方法,以解决现有的DMA数据传输方法,数据传输效率较低的问题。
一种基于sgl链表的DMA传输方法,应用于CPU中,包括以下步骤:
获取被传输数据,确定所述被传输数据的大小和所有存储地址;
配置sgl entry链表,用第一寄存器SGL MEN来存储所述sgl entry链表,所述sglentry链表包括至少一个sgl entry,每个sgl entry携带一块存储地址连续的被传输数据的数据大小信息、所述被传输数据的存储地址信息以及下一个sgl entry对应的被传输数据的存储地址信息,其中,每个sgl entry对应一个index,每个index指向一个第一寄存器中的寄存地址,所述寄存地址连续;
确定当前DMA传输对应的sgl entry链表的起始sgl entry对应的index在第一寄存器SGL MEN中的寄存地址;
发起DMA传输命令,将所述DMA传输命令发送至DMA控制器,使得所述DMA控制器根据所述起始sgl entry对应的index,从所述SGL MEN中找到相应的起始sgl entry后,开始按照所述sgl entry中的存储地址传输数据至第二寄存器DATA MEN中。
优选的,在上述一种基于sgl链表的DMA传输方法中,所述sgl entry链表最大支持2048个sgl entry。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南国科微电子股份有限公司,未经湖南国科微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810025217.6/2.html,转载请声明来源钻瓜专利网。