[发明专利]用于X86中动态二进制优化的两阶段提交区域有效
申请号: | 201010615584.5 | 申请日: | 2010-12-16 |
公开(公告)号: | CN102103485A | 公开(公告)日: | 2011-06-22 |
发明(设计)人: | C·王;Y·吴 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 柯广华;王洪斌 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 x86 动态 二进制 优化 阶段 提交 区域 | ||
1.一种方法,包括:
加载源二进制代码供计算机系统执行,所述计算机系统包括存储器和处理单元,所述处理单元包括多个寄存器和至少一个存储缓冲器;
在所述源二进制代码的运行时间期间,识别所述源二进制代码中的多个频繁执行的存储器指令,所述频繁执行的存储器指令包括多个存储指令和多个加载指令;
定义包括所述频繁执行的存储器指令的两阶段提交(TSC)区域,并且对所述TSC区域中的所述多个存储器指令执行二进制优化操作;
定义所述两阶段提交(TSC)区域的第一阶段,其中,当由所述处理单元执行时,所述多个加载指令在所述第一阶段中以原子方式提交,并且所述多个存储指令在所述第一阶段中退出;
定义用于频繁执行的代码块的所述TSC区域的第二阶段,其中,所述多个存储指令在所述第二阶段中以原子方式提交;以及
允许来自所述TSC区域外部的至少一个附加的加载或存储存储器指令在所述TSC区域的所述第二阶段中退出。
2.如权利要求1所述的方法,其中,所述二进制优化操作包括在所述多个频繁执行的指令中的加载和存储指令的重排序。
3.如权利要求1所述的方法,还包括:
识别所述多个频繁执行的指令中的防护指令,并且其中所述二进制优化操作还包括限制加载指令和/或存储指令跨过所述防护指令的重排序。
4.如权利要求1所述的方法,还包括:
生成入口标记器代码,并且将所述入口标记器代码插入所述TSC区域的开始处,所述入口标记器代码使所述处理单元开始在TSC模式中的处理;以及
生成结束标记器代码,并且将所述结束标记器代码插入所述TSC区域的结束处,所述结束标记器代码使所述处理单元停止在TSC模式中的处理。
5.如权利要求1所述的方法,还包括:
由所述处理单元来执行所述TSC区域,并且如果中止在所述TSC区域的执行期间发生,则所述方法还包括返回到原始的源二进制代码。
6.如权利要求1所述的方法,其中,所述处理单元还包括多个核心,并且所述方法还包括对于所述TSC区域的所述第一阶段期间的所述加载指令中的至少一个,确定正在由所述加载指令访问的存储器位置是否正在由所述核心中的不止一个核心在执行期间访问。
7.如权利要求1所述的方法,其中,所述处理单元还包括多个核心,并且所述方法还包括对于所述TSC区域的所述第二阶段期间的所述存储指令中的至少一个,确定正在由所述存储指令访问的存储器位置是否正在由所述核心中的不止一个核心在执行期间访问。
8.如权利要求1所述的方法,还包括:
为所述加载和存储指令建立执行阈值;
在运行时间期间监测所述加载和存储指令,并且对其执行次数进行计数,并且其中,所述频繁执行的加载和存储指令是超过所述执行阈值的指令。
9.如权利要求1所述的方法,其中,当与所述加载指令关联的数据从存储器位置移入一个或多个寄存器时,所述多个加载指令在所述第一阶段中以原子方式提交;其中,当与所述存储指令关联的数据从一个或多个寄存器移到所述存储缓冲器中的一个或多个位置时,所述多个存储指令在所述第一阶段中退出;以及其中,当与所述存储指令关联的数据从所述存储缓冲器移到存储器时,所述多个存储指令在所述第二阶段中以原子方式提交。
10.一种包括上面存储了指令的有形存储介质的产品,所述指令在由处理器执行时引起下列操作,其中包括:
加载源二进制代码以供执行;
在所述源二进制代码的运行时间期间,识别所述源二进制代码中的多个频繁执行的存储器指令,所述频繁执行的存储器指令包括多个存储指令和多个加载指令;
定义包括所述频繁执行的存储器指令的两阶段提交区域,并且对所述区域中的所述多个存储器指令执行二进制优化操作;
定义用于频繁执行的代码块的两阶段提交(TSC)区域的第一阶段,其中,所述多个加载指令在所述第一阶段中以原子方式提交,并且所述多个存储指令在所述第一阶段中退出;
定义用于所述频繁执行的代码块的所述TSC区域的第二阶段,其中,所述多个存储指令在所述第二阶段中以原子方式提交;以及
允许来自所述TSC区域外部的至少一个附加的存储器指令在所述第二阶段中退出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010615584.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:避雷设备
- 下一篇:嵌入VoIP的交互式网络语音应答系统及其实现方法