[发明专利]用于实现页级自动二进制转换的硬件剖析机制在审
申请号: | 201810665696.8 | 申请日: | 2012-03-30 |
公开(公告)号: | CN109032609A | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | P·卡普瑞奥利;M·C·梅尔腾;M·M·艾尔-奥图姆;O·M·沙克;A·S·卡尼尔;S·斯里尼瓦斯;K·山田;V·萨卡;P·奥斯蔡克 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F8/52 | 分类号: | G06F8/52;G06F9/455 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 高见;黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计数器 二进制转换 分支目标 指令 二进制转换器 标识存储器 计数器递增 剖析 分支指令 机制实现 硬件检测 硬件请求 硬件实现 存储器 运行时 集合 递增 关联 监视 重复 分配 优化 | ||
1.一种装置,包括:
一个或多个处理器核,所述处理器核中的每一个包括性能监视硬件;以及
高速缓存单元,耦合至所述一个或多个核,
其中所述性能监视硬件包括逻辑,所述逻辑用于:
标识存储器中包含潜在能被优化的指令的代码页;
请求在所述存储器中分配与所述代码页相关联的新页,其中所述新页包含计数器的集合,并且所述计数器中的每一个对应于所述代码页中的指令中的一个;
检测具有在所述代码页内的分支目标的分支指令;
使在所述新页中具有与所述代码页中的所述分支目标相同的位置的计数器之一递增;
重复所述代码页的执行,并在分支目标落在所述代码页之内时使所述计数器递增;以及
将所述新页中的所述计数器的值提供给二进制转换器以用于二进制转换。
2.如权利要求1所述的装置,其特征在于,所述新页被所述二进制转换器用于保持从所述代码页转换的代码,由此替换所述计数器的值。
3.如权利要求2所述的装置,其特征在于,从所述代码页转换的代码能在多个线程之间共享。
4.如权利要求1所述的装置,其特征在于,所述性能监视硬件还适于:
在标识所述代码页之后,将标识所述代码页的物理地址传递给所述二进制转换器,由此允许所述二进制转换器确定所述代码页之前是否已被转换;以及
响应于确定所述代码页之前已被转换,获得经转换的代码页的物理地址并执行所述经转换的代码页,而不请求分配所述新页。
5.如权利要求1所述的装置,其特征在于,每个计数器的尺寸不大于所述代码页中的指令的粒度。
6.如权利要求1所述的装置,其特征在于,所述计数器中的每一个在最大值处饱和,并且不会返回到零。
7.如权利要求1所述的装置,其特征在于,所述代码页被转换成位置无关代码。
8.一种方法,包括:
通过性能监视硬件在运行时期间标识存储器中包含潜在能被优化的指令的代码页;
请求在所述存储器中分配与所述代码页相关联的新页,其中所述新页包含计数器的集合,并且所述计数器中的每一个对应于所述代码页中的指令中的一个;
检测具有在所述代码页内的分支目标的分支指令;
使在所述新页中具有与所述代码页中的所述分支目标相同的位置的计数器之一递增;
重复所述代码页的执行,并在分支目标落在所述代码页之内时使所述计数器递增;以及
将所述新页中的所述计数器的值提供给二进制转换器以用于二进制转换。
9.如权利要求8所述的方法,其特征在于,所述新页被所述二进制转换器用于保持从所述代码页转换的代码,由此替换所述计数器的值。
10.一种系统,包括:
存储器,用于存储多个代码页;
耦合至所述存储器的处理器,所述处理器包括性能监视硬件,所述性能监视硬件包括逻辑,所述逻辑用于:
在运行时期间标识所述代码页中包含潜在能被优化的指令的一个代码页;
请求在所述存储器中分配与所标识的代码页相关联的新页,其中所述新页包含计数器的集合,并且所述计数器中的每一个对应于所标识的代码页中的指令中的一个;
检测具有在所标识的代码页内的分支目标的分支指令;
使在所述新页中具有与所标识的代码页中的所述分支目标相同的位置的计数器之一递增;
重复所标识的代码页的执行,并在分支目标落在所标识的代码页之内时使所述计数器递增;以及
将所述新页中的所述计数器的值提供给二进制转换器以用于二进制转换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810665696.8/1.html,转载请声明来源钻瓜专利网。