[发明专利]执行DMA块移动的方法、DMA设备和数据处理系统有效

专利信息
申请号: 200810001767.0 申请日: 2008-01-08
公开(公告)号: CN101221543A 公开(公告)日: 2008-07-16
发明(设计)人: R·尼古拉斯;B·C·德雷鲁普;J·古普塔;G·比朗;L·E·德拉托雷 申请(专利权)人: 国际商业机器公司
主分类号: G06F13/28 分类号: G06F13/28
代理公司: 北京市中咨律师事务所 代理人: 于静;杨晓光
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 执行 dma 移动 方法 设备 数据处理系统
【说明书】:

技术领域

发明一般涉及改进的数据处理系统和方法。更具体地,本发明涉及支持高等待时间设备的直接存储器存取控制器。

背景技术

许多单片系统(system-on-a-chip,SOC)设计包含被称为直接存储器存取(DMA)控制器的设备。DMA的目的是从存储器中的一个位置向另一个高效移动数据块。DMA控制器通常用于在系统存储器和输入/输出(I/O)设备之间移动数据,但也用于在系统存储器中的一个区域和另一个之间移动数据。DMA控制器被称为“直接”,因为处理器未涉及移动数据。

在没有DMA控制器的情况下,可以通过令处理器在软件控制下从一个存储器空间向另一个逐片地拷贝数据来移动数据块。这对于较大数据块通常是不理想的。当处理器逐片地拷贝大数据块时,速度十分缓慢,因为处理器不具有大型存储器缓冲器,并且必须每次以低效的小尺寸(诸如32比特)移动数据。而且,当处理器正进行拷贝时,其无法进行其它工作。因此,处理器直到移动完成之前都被占用。将这些数据块的移动减载到DMA控制器是更加高效的,DMA控制器可以更快速地以及与其它工作并行地进行数据块的移动。

DMA控制器通常具有多个“信道”。如这里所用的,“信道”是将由DMA控制器移动的独立数据流。因此,DMA控制器可以被编程在不同信道上同时执行若干次块移动,这允许DMA设备同时向或从若干I/O设备传输数据。

DMA控制器的另一典型特征是散布/收集操作。散布/收集操作是下述的一种操作,其中DMA控制器不需要被处理器进行编程用于将每个数据块从某个源移动到某个目的地。而是,处理器在系统存储器中建立一个描述符表或描述符链接列表。描述符表或链接列表是一组描述符。每个描述符描述一次数据块移动,包括源地址、目的地地址以及所传输的字节数。经由DMA寄存器直接进行编程的非散布/收集块移动被称为“单编程”DMA块移动。

DMA控制器的链接列表体系结构比表体系结构更灵活和动态。在链接列表体系结构中,处理器将DMA信道之一引用到链中的第一描述符,并且链接列表中的每个描述符包含指向存储器中的下一描述符的指针。描述符可以位于系统存储器中的任意地方,并且处理器可以在传输发生时将其动态添加到列表上。DMA控制器自动遍历表或列表,并执行由每个描述符所描述的数据块移动,直到到达所述表或列表的末尾为止。

DMA设备可以被构建为具有适当数量的缓冲器,以及处理适当数量的并发的未完成事务,从而到数据的高等待时间路径将不会导致数据传输中的显著延误(stall)。典型的DMA编程模型是将数据传输链接在一起作为如上所述的散布/收集描述符列表。这些描述符必须从存储器中读取。在此环境中,如果对于描述符存储器的等待时间与对于数据的等待时间一样长,则可能遇到问题。如将在下面讨论的,甚至可能存在低等待时间描述符读取与高等待时间数据块读取的问题。

典型的DMA体系结构将描述符中读取的信息直接馈送到通过“单编程”DMA块数据移动所加载的相同的配置寄存器中。一旦DMA设备开始针对当前描述符的最终事务的写操作,即开始对下一描述符的请求。DMA设备必须等待,直到此最终写操作开始,因为在此时,运行数据块移动的配置寄存器再次可用于被加载。此重叠可以减少(但不可避免)数据总线延误,因为DMA设备在低等待时间环境中从描述符到描述符进行转换。不过,此方案在高等待时间环境中可能是灾难。

发明内容

说明性实施例识别出现有技术的缺陷,并提供了一种DMA设备,其将描述符预取到描述符预取缓冲器中。描述符预取缓冲器的大小针对给定等待时间环境保有适当数量的描述符。为了支持描述符链接列表,DMA引擎基于描述符在存储器中为顺序的假设来预取描述符,并且将被发现违反该假设的任意描述符丢弃。DMA引擎试图在任何可能的时候通过对于每次事务请求多个描述符而保持描述符预取缓冲器为满的。总线引擎从系统存储器中读取这些描述符,并将它们写到预取缓冲器中。DMA引擎还可以使用积极预取,其中总线引擎无论何时当描述符预取缓冲器中存在任意空间时请求缓冲器将支持的最大数量的描述符。DMA设备丢弃无法被存储的任意其余描述符。

在一个说明性实施例中,提供了一种用于在直接存储器存取设备中通过描述符预取来执行直接存储器存取块移动的方法。所述方法包括:响应于空间在所述直接存储器存取设备中的描述符预取缓冲器中可用,将在物理存储器中顺序存储的多个直接存储器存取描述符读取到所述描述符预取缓冲器中。所述方法进一步包括:处理来自所述描述符预取缓冲器中的描述符,以根据所述描述符执行直接存储器存取块移动。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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