发明名称 |
用于有效动态二进制变换的寄存器映射技术 |
摘要 |
本发明总地提供了用于将寄存器从具有更多寄存器的系统映射到具有更少寄存器的系统的系统和方法。可以形成包括具有相对频繁寄存器访问的一个或多个代码块的区。最频繁访问的源寄存器可以被映射到目标寄存器。可以用起始程序和至少一个收尾程序来对所述区中的每一个块限界。所述起始程序可以被配置为实现寄存器映射,所述收尾程序可以被配置为管理从区中的一个块到区中的另一个块或到不在区中的块的程序流。 |
申请公布号 |
CN102298514B |
申请公布日期 |
2014.07.16 |
申请号 |
CN201110159437.6 |
申请日期 |
2011.06.14 |
申请人 |
英特尔公司 |
发明人 |
G·D·奥托尼;H·王;李炜 |
分类号 |
G06F9/30(2006.01)I;G06F9/44(2006.01)I |
主分类号 |
G06F9/30(2006.01)I |
代理机构 |
永新专利商标代理有限公司 72002 |
代理人 |
刘瑜;王英 |
主权项 |
一种用于映射寄存器的方法,包括:加载源二进制应用程序,所述源二进制应用程序包括供计算机系统执行的多个源二进制代码块,所述计算机系统包括存储器和处理单元,所述处理单元包括N<sub>t</sub>个目标寄存器,其中,所述源二进制应用程序被配置为在具有N<sub>s</sub>个源寄存器的环境中执行,其中N<sub>t</sub>小于N<sub>s</sub>;在所述源二进制应用程序的运行时期间识别所述源二进制应用程序中频繁执行的源二进制代码块;定义包括所述频繁执行的源二进制代码块和超过相似性阈值的至少一个相邻源二进制代码块的区,其中,相似性对应于所述频繁执行的源二进制代码块和所述至少一个相邻源二进制代码块在执行可能性上的相关性,所述频繁执行的源二进制代码块和所述至少一个相邻源二进制代码块均包括访问至少一个源寄存器的指令,其中,所述频繁执行的源二进制代码块和所述至少一个相邻源二进制代码块分别用分支指令限界;确定在所述区中访问的每一个源寄存器的访问频率;以及将N个在所述区中最频繁访问的源寄存器中的每一个源寄存器映射到所述N<sub>t</sub>个目标寄存器中相应的一个目标寄存器,其中N小于或等于N<sub>t</sub>。 |
地址 |
美国加利福尼亚 |