可暂停且可重新开始的DMA引擎制造技术

技术编号:7141793 阅读:282 留言:0更新日期:2012-04-11 18:40
本发明专利技术描述一种用于操作DMA引擎的方法。起始复制以将第一数目个字节从第一源存储器位置转移到第一目的地存储器位置。接着,在复制所述第一数目个字节之前发出暂停指令。在停止复制之后,确立第二数目个字节,其囊括剩余的待复制的那些字节。在暂停所述转移之后,识别所述第二数目个字节的数量。接着产生且存储数量信息。识别第二源存储器位置以指示存储所述第二数目个字节的地方。接着产生且存储第二源存储器位置信息。接着识别第二目的地存储器位置以指示待将所述第二数目个字节转移到的地方。接着产生且存储第二目的地存储器位置信息。

【技术实现步骤摘要】
【国外来华专利技术】
此专利技术涉及直接存储器存取(“DMA”)引擎。更特定来说,本专利技术关于一种为处理 器的过程状态的部分的架构DMA。
技术介绍
传统上,一直将DMA当作外围装置。作为外围装置,DMA未被视为或当作处理器 (例如,个人计算机、个人数据助理(“PDA”)、蜂窝电话或基于处理器且通常将包括一个或 一个以上DMA的其它装置)的架构状态的一部分。由于传统上将DMA从处理器的架构状态中排除,因此在多编程环境中,DMA引擎不 被视为过程状态的一部分。相应地,可能在操作系统中必须经由监视器来存取DMA。与包括于架构状态中的其它组件分开存取DMA增加存取DMA的等待时间。所属领 域的技术人员应了解,装置(像DMA)的等待时间的增加使得DMA在一过程中使用不切实 际,尤其是当所述过程并入有小移动或操作时。简单来说,对于小操作,与传统DMA架构相 关联的等待时间可如此大地增加操作的总体处理时间而使得对DMA的依赖不切实际。所属领域的技术人员应了解,计算机处理技术中一直存在增加处理效率的需要。
技术实现思路
本专利技术提供至少一种增加处理效率的方法。具体来说,本专利技术提供一种为过程状态的部分的架构DMA。可停止及重新开始所述 DMA,从而准许暂停及恢复复制操作,而对所述DMA无显著有害处理作用。本专利技术提供一种操作直接存储器存取引擎的方法。在所述方法中,针对第一数目 个字节起始复制。所述第一数目个字节待从第一源存储器位置复制到第一目的地存储器位 置。在起始所述复制之后,在复制所述第一数目个字节之前发出暂停指令。响应于所述暂 停指令,停止所述复制。因此,确立第二数目个字节。所述第二数目个字节为从所述第一数 目个字节剩余的待复制的那些字节。在暂停所述转移之后,识别所述第二数目个字节的数 量。接着产生且存储提供所述第二数目个字节的数量的数量信息。还识别第二源存储器位 置。所述第二源存储器位置识别存储所述第二数目个字节的地方。接着产生且存储第二源 存储器位置信息。接着识别第二目的地存储器位置。所述第二目的地存储器位置识别待将 所述第二数目个字节转移到的地方。接着产生且存储第二目的地存储器位置信息。在此方法的一个所涵盖变化形式中,从直接存储器存取引擎中的至少一个寄存器 检索所述数量信息、所述第二源存储器位置信息及所述第二目的地存储器位置信息。可使 用一个寄存器或数个寄存器。在存在数个寄存器的情况下,一个寄存器可为源寄存器,另一个寄存器可为目的地寄存器。第三寄存器可为数量寄存器。所述方法还可包括通过使用所述数量信息、所述第二源存储器位置信息及所述第 二目的地存储器位置信息起始将所述第二数目个字节从所述第二源存储器位置复制到第 二目的地存储器位置来恢复已暂停的转移。相对于此方法,存在用于在发出所述暂停指令之后重新起始所述复制操作的若干 所涵盖变化形式。在一个所涵盖实施例中,所述方法提供依据所述第二源存储器位置信息确定待读 取的下一地址且依据所述第二目的地存储器位置信息确定待写入的下一地址。接着,所述 方法冲洗所有即将来临的读取及写入。所述方法通过从所述待读取的下一地址及所述待写 入的下一地址确定递减值来继续进行。所述递减值识别所述待读取的下一地址比所述待写 入的下一地址提前的字节数目。接着所述方法将所述待读取的下一地址递减所述递减值以 产生经递减的读取地址。将所述第二数目个字节从所述第二存储器位置复制到所述第二存 储器目的地接着至少基于所述经递减的读取地址、所述待写入的下一地址及所述数量信息 来继续进行。在第二所涵盖变化形式中,所述方法包括依据所述第二源存储器位置信息确定待 读取的下一地址且依据所述第二目的地存储器位置信息确定待写入的下一地址。所述方法 追踪所述待读取的下一地址比所述待写入的下一地址提前的字节数目且确立运行超前值。 存储所述运行超前值以便可通过所述运行超前值调整所述待读取的下一地址。此准许产生 经调整的待读取的下一地址。复制接着至少基于所述经调整的待读取的下一地址、所述待 写入的下一地址及所述数量信息来继续进行。在第三所涵盖变化形式中,所述方法涵盖依据所述第二源存储器位置信息确定待 读取的下一地址且依据所述第二目的地存储器位置信息确定待写入的下一地址。将所述第 二数目个字节从所述第二存储器位置复制到所述第二存储器目的地使用所述待读取的下 一地址、所述待写入的下一地址及所述数量信息来继续进行。在所述方法的第四所涵盖变化形式中,保持所述第一源存储器位置的识别、所述 第一目的地存储器位置的识别及所述第一数目个字节的计数。在检索所述数量信息之后, 至少基于所述第一源存储器位置的所述识别、所述第一数目个字节的所述计数及所述数量 信息确立待读取的下一地址。接着,至少基于所述第一目的地存储器位置的所述识别、所述 第一数目个字节的所述计数及所述数量信息确立待写入的下一地址。将所述第二数目个字 节从所述第二存储器位置复制到所述第二存储器目的地至少依赖于所述待读取的下一地 址、所述待写入的下一地址、所述第一数目个字节的所述计数及所述数量信息。在第五所涵盖变化形式中,保持所述待写入的下一地址的指示。在发出所述暂停 指令之后,停止从所述第一源存储器位置读取所述第一数目个字节。另外,写入针对从在停 止所述读取之前读取的字节剩余的字节中的任一者继续。接着,确定来自所述第二源存储 器位置信息的待读取的下一地址及来自所述第二目的地存储器位置信息的待写入的下一 地址。将所述第二数目个字节从所述第二存储器位置复制到所述第二存储器目的地至少依 赖于所述待读取的下一地址、所述待写入的下一地址及所述数量信息。根据以下论述及其附图将明了本专利技术的其它方面。附图说明结合图解说明一个或一个以上方面的图式来描述本专利技术,图式中图1是图解说明本专利技术所涵盖的方法的一个实施例的流程图的第一部分;图2是图解说明在图1中开始的方法的流程图的第二部分,此图为图1中所图解 说明的方法的所述部分的继续;图3是图解说明在图1中开始的方法的流程图的第三部分,此图为图2中所图解 说明的方法的所述部分的继续;图4是可包括于图1到图3中所图解说明的方法中的额外操作的流程图;图5是图解说明图1到图3中所图解说明的方法的第一所涵盖变化形式的流程 图;图6是图解说明图1到图3中所图解说明的方法的第二所涵盖变化形式的流程 图;图7是图解说明图1到图3中所图解说明的方法的第三所涵盖变化形式的流程 图;图8是图解说明图1到图3中所图解说明的方法的第四所涵盖变化形式的流程 图;及图9是图解说明图1到图3中所图解说明的方法的第五所涵盖变化形式的流程 图。具体实施例方式结合下文详细说明的具体实施例及实例来描述本专利技术。然而,并不打算将本专利技术 完全限制于所论述的实施例及实例。相反,打算由所述实施例及实例界定本专利技术的宽广范 围。所属领域的技术人员应了解,所述实施例及实例存在众多等效形式及变化形式,而此不 背离本专利技术的范围。打算由本专利技术囊括那些实施例及变化形式。作为序言,且所属领域的技术人员应了解,DMA引擎用于将值从存储器中的一个位 置复制到另一位置。其最简单形式为DMA引擎将值从存储器的某邻接块复制到某其它块。 DMA引擎的此基本复制功能的一个实例由以下码段#1提供。码段#1for(i = 0 ;i < CNT ;i+本文档来自技高网...

【技术保护点】
1.一种操作直接存储器存取引擎的方法,其包含:起始将第一数目个字节从第一源存储器位置复制到第一目的地存储器位置;在起始所述复制之后,在将所述第一数目个字节从所述第一源存储器位置复制到所述第一目的地存储器位置之前发出暂停指令;响应于发出所述暂停指令,暂停所述复制,从而确立第二数目个字节,其包含从所述第一数目个字节剩余的待复制的那些字节;识别所述第二数目个字节的数量;产生关于所述第二数目个字节的所述数量的数量信息;存储所述数量信息;识别其中存储所述第二数目个字节的第二源存储器位置;产生囊括其中存储所述第二数目个字节的所述第二源存储器位置的第二源存储器位置信息;存储所述第二存储器源位置信息;识别待将所述第二数目个字节转移到其中的第二目的地存储器位置;产生囊括待将所述第二数目个字节存储到其中的所述第二目的地存储器位置的第二目的地存储器位置信息;及存储所述第二目的地存储器位置信息。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:马杨·穆德吉尔
申请(专利权)人:阿斯奔收购公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1