[发明专利]一种软硬件协同预取的方法及装置有效

专利信息
申请号: 201380064939.8 申请日: 2013-12-27
公开(公告)号: CN104854560B 公开(公告)日: 2018-10-19
发明(设计)人: 叶寒栋;胡子昂 申请(专利权)人: 华为技术有限公司
主分类号: G06F12/0862 分类号: G06F12/0862;G06F9/30;G06F9/345;G06F9/38
代理公司: 北京中博世达专利商标代理有限公司 11274 代理人: 申健
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 软硬件 协同
【说明书】:

发明包括一种装置,所述装置包括一种处理器,用于识别程序中的代码段;分析所述代码段以确定内存访问模式;如果所述内存访问模式是规则的,那么通过在所述代码段前设置控制寄存器为所述代码段开启硬件预取;以及通过在所述代码段后重置所述控制寄存器关闭所述硬件预取。本发明还包括一种方法,所述方法包括识别程序中的代码段;分析所述代码段以确定内存访问模式;如果所述内存访问模式是规则的,那么通过在所述代码段前设置控制寄存器为所述代码段开启硬件预取;以及通过在所述代码段后重置所述控制寄存器关闭所述硬件预取。

技术领域

本发明涉及通信网络,具体涉及一,涉及软硬件协同预取。

背景技术

处理器性能的提升速度一直比内存系统性能的提升更快。因此,现代处理器(例如,微处理器)的速度通常比内存系统的更快,这意味着从内存系统中读/写数据和/或指令的速度不足以使处理器保持繁忙。高速缓冲存储器(缓存)是一种在距离处理器较近的地方存储相对少量的数据和/或指令的性价比较高的方式,因为缓存的存取速度与处理器的处理速度相当。处理器执行程序时首先检查缓存中是否存储有相关的信息(例如,数据或指令)。在缓存未命中(cache mi ss)的情况下缓存未命中(即,否定的检查结果),处理器需要从内存系统中获取相关信息。

预取是一种在程序实际需要信息之前提前将信息存入缓存中来避免缓存未命中缓存未命中的技术。通常存在硬件预取和软件预取两种技术。硬件预取使用缺失历史表(MHT)存储程序的缓存未命中(或未命中的内存访问请求)。处理器基于MHT的条目预测程序随后所需的内存地址。例如,处理器中基于硬件的预测逻辑分析MHT中最近(连续的)3次未命中的内存地址以预测程序需要访问的下一内存地址。随后,下一内存地址中存储的数据在被程序需要之前从内存系统中预取。数据可存储在处理器中的备用预取缓冲器中。通常,数据在内存和缓存之间以固定大小块(例如,64或128字节)的形式传输,该固定大小块也称为缓存行。当缓存行从内存复制到缓存中时,创建了缓存条目。缓存条目包括复制的数据和所请求的内存地址或位置。

由于硬件缓存基于对(从MHT获取的)先前内存访问的了解,所以硬件缓存能够更好地预取有规律的内存访问,比如流媒体数据等。然而,硬件预取需要额外的硬件资源来实施MHT、预取缓冲区以及基于硬件的预测逻辑。此外,由于预测逻辑不了解程序(例如,循环结构、代码段),所以经常会预取无用或错误的数据或指令,从而降低了硬件预取的准确性。准确性降低增加了带宽要求并提高了缓存污染的可能性。例如,在一些控制流程序中,硬件预取降低了处理器的性能。此外,一直开启硬件预取会产生功耗问题。

另一方面,软件预取依赖编译器在需要数据前插入预取指令。由于编译器了解程序中的逻辑,所以编译器可以预测程序所需的内存访问模式。因此,软件预取的准确性高于硬件预取。然而,软件预取需要额外的指令/寄存器来计算内存地址,这样会产生大量的代码。例如,编译器需要为程序的循环结构中的每个迭代插入预取指令。此外,由于预取反复迭代进行,所以有时及早调度预取事件来消除或最大程度地减少内存时延可能很困难。另外,有时可配置编译器提前进行代码转换(例如,指令调度和循环展开)以充分利用软件预取。代码转换有时会对处理器的性能带来不可预测的影响。

发明内容

在一个实施例中,本发明实施例包括一种处理器,所述处理器包括:编译器和预取控制寄存器;其中,所述编译器用于识别程序中的代码段;分析所述代码段以确定内存访问模式;如果所述内存访问模式是规则的,通过在所述代码段前设置所述预取控制寄存器为所述代码段开启硬件预取,以及通过在所述代码段后重置所述预取控制寄存器关闭所述硬件预取。

在另一个实施例中,本发明实施例包括一种预取方法,所述方法包括:识别程序中的代码段;分析所述代码段以确定内存访问模式;如果所述内存访问模式是规则的,通过在所述代码段前设置预取控制寄存器为所述代码段开启硬件预取,以及通过在所述代码段后重置所述预取控制寄存器关闭所述硬件预取。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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