用于改进的DMAC翻译机制的系统和方法技术方案

技术编号:2824439 阅读:204 留言:0更新日期:2012-04-11 18:40
提供了一种用于改进的DMAC翻译机制的系统和方法。DMA命令基于该DMA命令的传输大小和计算机系统一次传输的数据量而被“调出”。对于第一个DMA请求,DMA队列请求存储器管理单元执行地址翻译。DMA队列从MMU接收实际页号,在后面的调出请求时,DMA队列将实际页号提供给总线接口单元而不访问MMU,直到传输跨入下一页。调出逻辑在每个DMA请求后使DMA命令的传输大小递减,确定是否已到达了新的页,确定是否已完成DMA命令,并且发送写回信息到DMA队列用于后面的DMA请求。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于改进的DMA控制器翻译机制的系统和方法。更具体地,本专利技术涉及用于将实际页号存储在DMA命令字段中,以便在DMA命令调出期间使用实际页号的系统和方法。
技术介绍
计算机系统应用一般指定一个有效地址或间接地址来存储和取回数据。为了完成数据存储或取出请求,计算机系统将有效地址翻译成与存储器中的物理位置相对应的实际地址或物理地址。计算机系统一般包括用于提供有效地址到实际地址翻译的存储器管理单元(MMU)。在一种配置中,由于所有的加载和存储指令需要地址翻译,所以DMA队列一直在访问MMU,这增加了延时并消耗了更多的功率。另一种配置使用有效地址到实际地址翻译器(ERAT)加上第二级MMU。ERAT包括用于存储以前的地址翻译的查找表。当DMA队列向ERAT发送DMA请求(包括有效地址)时,ERAT查看自己的查找表以寻找有效地址匹配。如果存在匹配,则ERAT提供相应的实际地址,而避免了MMU访问。然而,如果ERAT没有找到与DMA请求的有效地址相对应的条目,则ERAT向MMU发送“未命中”,MMU接着执行在前面第一种配置中讨论的相同步骤。当MMU识别出对应的实际页号时,MMU将该实际页号发送到ERAT,由ERAT将其加载到自己的表中。使用这种配置,由于在ERAT发现与有效地址之间的匹配时不需要访问MMU,所以ERAT提供了电路性能改进。然而,面临的挑战是:为了使ERAT获得良好的“命中率”,ERAT的查找表必须包括大量条目,这可能消耗大量的功率和-->物理面积。此外,面临的另一项挑战是:ERAT仍然为每一个DMA请求执行查找,这也增加了延时。因此,需要一种用于改进的有效地址到实际地址翻译机制的系统和方法。
技术实现思路
已经发现,使用用于将实际页号存储在DMA命令字段中,以便在DMA命令调出期间使用这些实际页号的系统和方法,就能解决上述挑战。DMA队列从存储器管理单元接收实际页号并将这些实际页号存储在相应的DMA命令字段中用于后续的DMA请求。这样,DMA队列就不那么频繁地访问MMU以进行地址翻译,而这通过更低的延时和功耗又提高了系统性能。DMA队列包括具有相应的DMA命令字段的DMA命令,所述DMA命令字段包括:1)队列条目有效位,2)有效地址字段,3)实际地址有效位,4)实际页号字段,5)传输类型字段,和6)传输大小字段。队列条目有效位标识相应的DMA命令是否有效。有效地址字段包含相应的DMA命令的有效地址。实际地址有效位标识在实际页号字段中的实际页号是否有效。传输类型字段标识DMA命令的类型,例如加载或存储。另外,传输大小字段包括剩余还未传输的数据量。DMA队列识别准备好发出的DMA命令(例如,无依赖性)。在命令从DMA队列分派出去后,下游逻辑检查DMA命令的相应的实际地址有效位,以便确定是否访问MMU以进行地址翻译。如果DMA命令的实际地址有效位被置位,则包括在实际页号字段中的实际页号通过复用器被发送到总线接口单元,所述复用器被配置为从DMA队列接收实际页号。此外,DMA队列将DMA请求(包括有效地址)和命令参数(包括传输大小)发送到调出逻辑。调出逻辑使传输大小递减,确定DMA队列是否可以使用现有的实际页号用于后面的调出DMA请求,并向DMA队列发送“写回信息”。接着,DMA队列将该写回信息存储到DMA命令的命令字段中。这样,当DMA队列“调出”-->相同的DMA命令并执行另一个DMA请求时,下游逻辑检查实际地址有效位,如果它被置位,则从DMA命令的实际页号输出中提取实际页号,并将它发送到总线接口单元。结果,MMU不被频繁地访问,这改进了总体系统性能。在一种实施方式中,无论实际地址有效位的值是什么,由于硬件约束,DMA请求都被自动发送到MMU。在该实施方式中,DMA逻辑使用实际地址有效位加上其它参数来确定是否需要翻译请求。翻译请求或者有效地址有效请求是从DMA逻辑发送到MMU的。如果该请求被断言(assert),那么MMU寻找相应的实际页号并通过复用器将新的实际页号发送到总线接口单元,所述复用器选择该新的实际页号输出。此外,MMU将该新的实际页号发送到DMA队列,在DMA队列中,该新的实际页号被写回到相应的实际页号字段中,用于后面的DMA请求。当MMU执行地址翻译时,调出逻辑还接收DMA请求以及命令参数。接着,调出逻辑使传输大小递减,确定MMU是否完成了成功的地址翻译,并发送写回信息到DMA队列,由DMA队列将其存储在DMA命令的相应的命令字段中,用于后面的DMA请求。以上就是对
技术实现思路
的概述,因而在必要的情况下包含了细节的简化、概括和省略;因此,本领域的技术人员将会理解:该
技术实现思路
部分只是示意性的,而绝非限制性的。在以下阐述的非限制性的详细描述中将会清楚仅由权利要求限定的本专利技术的其它方面、创新特征和优点。附图说明参照附图,可以更好地理解本专利技术,使本领域的技术人员清楚它的多个目的,特征和优点。图1是示出将有效地址翻译成实际页号的存储器管理单元(MMU)的图;图2是示出正在执行地址翻译的有效地址到实际地址翻译器-->(ERAT)和存储器管理单元(MMU)的图;图3是示出从MMU接收实际页号并将该实际页号存储在相应的DMA命令字段中以在后面的DMA请求中使用的DMA队列的图;图4是示出多个DMA请求以及如何基于三种不同的配置进行地址翻译的表;图5是示出具有DMA命令以及相应的命令字段的DMA队列的图;图6是示出在发送出去或发出DMA命令时采用的步骤的高级流程图;图7是示出在调出处理,例如使DMA命令传输大小递减以及提供写回信息到DMA队列时采用的步骤的流程图;图8是示出在存储器管理单元接收翻译请求以及向总线接口单元和DMA队列提供实际页号时采用的步骤的流程图;以及图9图示了一个信息处理系统,它是能够执行这里描述的运算操作的计算机系统的一个简化例子。具体实施方式下面想要给出对本专利技术的一个例子的详细描述,但不应被拿来限制专利技术本身。相反,任意数量的变型可以落入本专利技术的范围内,这在说明书所附的权利要求书中限定。图1是示出将有效地址翻译成实际页号的存储器管理单元(MMU)的图。图1显示现有技术中用来处理DMA命令(例如,存储器加载和存储操作)的地址翻译配置。根据DMA命令的传输大小以及计算机系统一本文档来自技高网
...

【技术保护点】
一种计算机实施的方法,包括:    在DMA队列处选择DMA命令,该DMA命令包括多个DMA命令字段;    确定包括在所述DMA命令字段之一中的实际页号是否有效;以及    响应于确定所述实际页号有效,从所述DMA队列提供所述实际页号以处理所述DMA命令。

【技术特征摘要】
【国外来华专利技术】US 2005-10-7 11/246,5851. 一种计算机实施的方法,包括:
在DMA队列处选择DMA命令,该DMA命令包括多个DMA命
令字段;
确定包括在所述DMA命令字段之一中的实际页号是否有效;以及
响应于确定所述实际页号有效,从所述DMA队列提供所述实际页
号以处理所述DMA命令。
2. 根据权利要求1所述的方法,还包括:
检查包括在所述多个DMA命令字段之一中的实际地址有效位,该
实际地址有效位表明所述实际页号是否有效;
响应于确定所述实际页号不是有效的,向存储器管理单元发送翻译
请求;以及
从所述存储器管理单元提供新的实际页号以处理所述DMA命令。
3. 根据权利要求2所述的方法,还包括:
配置复用器在所述实际页号有效的情况下选择所述实际页号,在所
述实际页号不是有效的情况下选择所述新的实际页号。
4. 根据权利要求2所述的方法,还包括:
确定所述存储器管理单元是否找到了与所述翻译请求相对应的新
的实际页号;
响应于确定所述存储器管理单元找到了该新的实际页号,将该新的
实际页号存储在所述多个DMA命令字段之一中;以及
响应于确定所述存储器管理单元找到了该新的实际页号,置位所述
实际地址有效位。
5. 根据权利要求1所述的方法,还包括:
接收写回信息,该写回信息包括递减后的传输大小和实际页号;以

将该写回信息存储在所述多个DMA命令字段中。
6. 根据权利要求5所述的方法,还包括:
识别被包括在所述多个DMA命令字段之一中的传输大小;
检测与对于相应的DMA命令要传输的数据量相对应的最大传输大
小允许值;以及
从所述传输大小减去所述最大传输大小允许值,该减法操作产生递
减后的传输大小。
7. 根据权利要求6所述的方法,还包括:
基于所述递减后的传输大小,识别不需要其它对应于所述DMA命
令的DMA请求;以及
响应于识别出不需要其它对应于所述DMA命令的DMA请求,复
位包括在所述多个DMA命令字段之一中的队列条目有效位。
8. 根据权利要求6所述的方法,还包括:
在所述减法操作后,使对应于所述DMA命令的有效地址递增;
基于递增后的有效地址确定是否到达了页的末端;以及
响应于确定到达了页的末端,复位包括在所述多个DMA命令字段
之一中的实际地址有效位。
9. 根据权利要求1所述的方法,其中,所述多个DMA命令字段
中的至少一个是从队列条目有效位字段、实际地址有效位字段和实际
页号字段中选出的。
10. 根据权利要求1所述的方法,还包括:
其中,使用宽带处理器体系结构来执行该方法,该宽带处理器体系
结构包括多个异构处理器、公共存储器和公共总线;以及
其中,所述多个异构处理器使用不同的指令集并且共享所述公共存
储器和所述公共总线。
11. 根据权利要求10所述的方法,其中,所述宽带处理器体系结
构是片上系统。
12. 一种信息处理系统,包括:
一个或多个处理器;
可由所述处理器访问的存储器;
可由所述处理器访问的一个或多个非易失存储装置;和
用于处理DMA命令的DMA命令工具,该DMA命令工具用于:
在包括在所述存储器中的DMA队列处选择DMA命令,该
DMA命令包括多个DMA命令字段;
确定包括在所述DMA命令字段之一中的实际页号是否有效;
以及
响应于确定所述实际页号有效,从所述DMA队列提供所述实
际页号以处理所述DMA命令。
13. 根据权利要求12所述的信息处理系统,其中,所述DMA命
令工具还用于:
检查包括在所述存储器中的实际地址有效位,该实际地址有效位表
明所述实际页号是否有效;
响应于确定所述实际页号不是有效的,向存...

【专利技术属性】
技术研发人员:ME金培军P刘D穆伊齐洁明
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利