[发明专利]用于动态优化的程序阶段检测有效
申请号: | 200580009418.8 | 申请日: | 2005-03-30 |
公开(公告)号: | CN101124550A | 公开(公告)日: | 2008-02-13 |
发明(设计)人: | A·V·内费安;A·-R·阿德尔-塔巴塔拜 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 杨凯;王勇 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 动态 优化 程序 阶段 检测 | ||
1.一种方法,包括:
选择阶段阈值,
接收多个经过排序的缓冲区,
确定在至少两个连续直方图区间的中心之间的距离,
将所述距离与所述选择的阈值进行比较,以及
根据所述比较来确定可执行进程的主执行阶段。
2.如权利要求1所述的方法,所述多个经过排序的缓冲区包括多个样本,所述样本包含在某一采样时间取得的多个分支的地址。
3.如权利要求1所述的方法,还包括:
确定代表分支跟踪缓冲区的多个分支地址,
确定代表所述分支跟踪缓冲区的多个连续分支地址,
为所述多个连续分支地址确定稳定阶段直方图,以及
为所有可能的分支地址确定多个间隔相等且非重叠的直方图区间。
4.如权利要求1所述的方法,其中所述确定主执行阶段的结果发信号要求动态编译可执行代码,以便优化所述可执行代码。
5.如权利要求1所述的方法,还包括:
确定所述至少两个连续直方图区间是否处于相同的阶段。
6.如权利要求5所述的方法,如果所述距离比等于和小于所述选择的阶段阈值其中之一要小,则所述至少两个连续直方图处于相同阶段。
7.一种包括机器可读介质的设备,所述机器可读介质包含指令,当机器执行所述指令时,使得所述机器执行以下操作:
选择阶段阈值,
接收多个经过排序的缓冲区,
确定代表分支跟踪缓冲区的多个分支地址,
确定在至少两个连续直方图区间的中心之间的距离,其中所述至少两个直方图区间是非重叠的,以及
将所述距离与所述选择的阈值进行比较。
8.如权利要求7所述的设备,还包括指令,当机器执行所述指令时,使得所述机器执行以下操作:
确定代表所述分支跟踪缓冲区的多个连续分支地址,
为所述多个连续分支地址确定稳定阶段直方图,
为所有可能的分支地址确定多个间隔相等且非重叠的直方图区间,以及
根据所述比较确定可执行进程的主执行阶段。
9.如权利要求8所述的设备,其中所述确定主执行阶段以预定的周期速度动态变化。
10.如权利要求8所述的设备,其中所述确定主执行阶段是以人工方式开始的。
11.如权利要求7所述的设备,所述多个经过排序的缓冲区包括多个样本,所述样本包含在某一采样时间取得的多个分支的地址。
12.如权利要求7所述的设备,其中所述确定主执行阶段的指令的结果发信号要求动态编译可执行代码,以便优化所述可执行代码。
13.如权利要求7所述的设备,还包括指令,当机器执行所述指令时,使得所述机器执行以下操作:
确定所述至少两个连续直方图区间是否处于相同的阶段。
14.如权利要求13所述的设备,如果所述距离比等于和小于所述选择的阶段阈值的其中之一小,则所述至少两个连续直方图处于相同阶段。
15.一种系统,包括:
耦合到主存储器和高速缓冲存储器其中之一的处理器,
与所述存储器通信的至少一个进程,以及
确定所述至少一个进程的主执行阶段的阶段检测器。
16.如权利要求15所述的系统,所述确定的主执行阶段用于确定何时重新优化所述进程。
17.如权利要求15所述的系统,所述阶段检测器包括用于接收多个经过排序的缓冲区的接收器,
其中所述阶段检测器用于确定代表分支跟踪缓冲区的多个分支地址,
确定在至少两个连续直方图区间的中心之间的距离,其中所述至少两个直方图区间是非重叠的,以及
将所述距离与预定的阈值进行比较。
18.如权利要求17所述的系统,所述阶段检测器具有逻辑电路,用来:
确定代表所述分支跟踪缓冲区的多个连续分支地址,
为所述多个连续分支地址确定稳定阶段直方图,以及
为所有可能的分支地址确定多个间隔相等且非重叠的直方图区间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580009418.8/1.html,转载请声明来源钻瓜专利网。