[发明专利]DMA控制器及直接内存存取控制方法有效

专利信息
申请号: 201310155789.3 申请日: 2013-04-27
公开(公告)号: CN103207847A 公开(公告)日: 2013-07-17
发明(设计)人: 赵光焕;胡红旗;刘君敏;胡志卷 申请(专利权)人: 杭州士兰微电子股份有限公司
主分类号: G06F13/28 分类号: G06F13/28
代理公司: 上海专利商标事务所有限公司 31100 代理人: 陆嘉
地址: 310012*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: dma 控制器 直接 内存 存取 控制 方法
【说明书】:

技术领域

发明涉及DMA技术,尤其涉及一种DMA控制器及直接内存存取控制方法。

背景技术

直接内存存取(Direct Memory Access,DMA)是现代计算机的重要技术特色,其允许不同速度的硬件装置相互通信,而并不会造成CPU的大量负载。DMA操作将数据从一个地址空间复制到另外一个地址空间,当CPU初始化该传输动作后,传输动作本身是由DMA控制器来实行和完成的,典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。这样的操作并没有让处理器工作拖延,CPU反而可以被重新安排去处理其他的工作。DMA传输对于高效能嵌入式系统、算法和网络系统都是很重要的。

现有技术中常规的DMA控制器只是能完成简单的从一个地址到另一个地址指定长度的数据搬运工作。但是,在一些特殊应用场合,常规的DMA控制器很难实现例如数据块拆分、数据块重组、数据结构重排等功能,由CPU来完成这些工作的话会大量浪费CPU资源。

发明内容

本发明要解决的技术问题是提供一种DMA控制器及直接内存存取控制方法,能够扩展DMA控制器的灵活性和应用范围,降低在搬运负载数据结构时CPU的负担。

为解决上述技术问题,本发明提供了一种DMA控制器,包括:

换行间隔设定模块,用于确定存储在源存储器内的数据块的每一行包含的字节数,作为换行间隔;

行内操作单元数量设定模块,用于确定该数据块的每一行包含的操作单元个数,作为行内操作单元数量,所述操作单元包括一个或多个连续的字节;

行内起始位置设定模块,用于确定该数据块的每一行中首个操作单元的起始位置,作为行内起始位置;

操作单元总数设定模块,用于确定该数据块内包含的操作单元的总数,作为操作单元总数;

操作单元突发长度设定模块,用于确定所述操作单元包含的字节数,作为操作单元突发长度;

操作单元间隔步长设定模块,用于确定同一行内相邻操作单元的起始位置之间的间隔,作为操作单元间隔步长;

数据读写模块,以所述换行间隔、行内操作单元数量、行内起始位置、操作单元总数、操作单元突发长度和操作单元间隔步长为读写参数,读取该源存储器内的数据块包含的多个操作单元并将其写入至DMA写通道。

根据本发明的一个实施例,该DMA控制器还包括:操作单元重用次数设定模块,用于确定该数据块内每一操作单元在读写时的重用次数,作为操作单元重用次数,所述数据读写模块采用的读写参数包括该操作单元重用次数,所述数据读写模块根据该操作单元重用次数的指示,将读取的每一操作单元重复写入至所述DMA写通道。

根据本发明的一个实施例,该DMA控制器还包括:操作单元有效性设定模块,用于维持操作单元有效性分布图,该操作单元有效性分布图指示该数据块中每一操作单元是否有效,所述数据读写模块仅对有效的操作单元进行读取和写入。

根据本发明的一个实施例,该DMA控制器还包括:连续数据抽样模块,控制所述操作单元突发长度设定模块和操作单元间隔步长设定模块将所述操作单元突发长度和操作单元间隔步长设置为相等,以实现连续数据抽样。

根据本发明的一个实施例,该DMA控制器还包括:不连续数据抽样模块,控制所述操作单元突发长度设定模块和操作单元间隔步长设定模块将所述操作单元间隔步长设置为大于所述操作单元突发长度,以实现不连续数据抽样。

根据本发明的一个实施例,该DMA控制器还包括:交叠数据抽样模块,控制所述操作单元突发长度设定模块和操作单元间隔步长设定模块将所述操作单元间隔步长设置为小于所述操作单元突发长度,以实现交叠数据抽样。

本发明还提供了一种直接内存存取控制方法,包括:

确定存储在源存储器内的数据块的每一行包含的字节数,作为换行间隔;

确定该数据块的每一行包含的操作单元个数,作为行内操作单元数量,所述操作单元包括一个或多个连续的字节;

确定该数据块的每一行中首个操作单元的起始位置,作为行内起始位置;

确定该数据块内包含的操作单元的总数,作为操作单元总数;

确定所述操作单元包含的字节数,作为操作单元突发长度;

确定同一行内相邻操作单元的起始位置之间的间隔,作为操作单元间隔步长;

以所述换行间隔、行内操作单元数量、行内起始位置、操作单元总数、操作单元突发长度和操作单元间隔步长为读写参数,读取该源存储器内的数据块包含的多个操作单元并将其写入至DMA写通道。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州士兰微电子股份有限公司,未经杭州士兰微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310155789.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top