[發明專利]一種解釋器中間接跳轉預測方法及系統有效
| 申請號: | 201310052296.7 | 申請日: | 2013-02-18 |
| 公開(公告)號: | CN103294518A | 公開(公告)日: | 2013-09-11 |
| 發明(設計)人: | 程旭;黃明凱;劉先華 | 申請(專利權)人: | 北京北大眾志微系統科技有限責任公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 栗若木;曲鵬 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 解釋 間接 跳轉 預測 方法 系統 | ||
1.一種解釋器中間接跳轉預測方法,所述方法包括:
在解釋器中插入引導指令,將字節碼指針包含在所述引導指令中;
轉移預測器識別所述引導指令,并將所需的字節碼指針保存至轉移預測器中;
當間接跳轉指令運行時,轉移預測器識別所述間接跳轉指令,使用所述間接跳轉指令的指針和所保存的所述字節碼指針進行散列運算,并以所述散列運算得到的索引值訪問轉移目標緩沖,獲得預測的轉移目標地址。
2.如權利要求1所述的方法,其中:
所述在解釋器中插入引導指令,將字節碼指針包含在所述引導指令中,包括:
分析所述解釋器的源代碼,找到實現字節碼功能的指令模板;
根據所述指令模板的尾部包含的使用字節碼指針讀取字節碼的操作碼的代碼,得出字節碼指針所在的寄存器號;
尋找所述指令模板的公共頭部;
在所述指令模板的公共頭部插入引導指令,在所述引導指令中指明保存字節碼指針的寄存器號;
編譯經過修改的解釋器源代碼,得到包含有所述引導指令的解釋器。
3.如權利要求1所述的方法,其中:
所述轉移預測器識別所述引導指令,并將所需的字節碼指針保存至轉移預測器中,包括:
轉移預測器根據引導指令的編碼識別引導指令;
轉移預測器讀取引導指令中標明的字節碼指針所在的寄存器號;
根據該寄存器號訪問寄存器堆,讀取字節碼指針;
將讀取的字節碼指針保存在轉移預測器中。
4.如權利要求1所述的方法,其中:
所述轉移預測器以所述散列運算得到的索引值訪問轉移目標緩沖,獲得預測的轉移目標地址后,所述方法還包括:
所述轉移預測器從預測的轉移目標地址處開始下一條轉移指令的取值;
該轉移指令執行完成之后,比較實際目標和預測的目標,判斷預測是否正確,決定是否需要清除推測式執行的指令;
根據預測結果更新轉移目標緩沖。
5.如權利要求1或2所述的方法,其中:
在所述指令模板的公共頭部插入引導指令時,在所述指令模板的最后一條間接跳轉指令之前、離所述間接跳轉指令盡量遠的地方插入所述引導指令。
6.一種解釋器中間接跳轉預測系統,所述系統包括:解釋器和轉移預測器,
所述解釋器,用于插入引導指令,并將字節碼指針包含在所述引導指令中;
所述轉移預測器,用于識別所述引導指令,并將所需的字節碼指針保存至轉移預測器中;以及,當間接跳轉指令運行時,轉移預測器識別所述間接跳轉指令,使用所述間接跳轉指令的指針和所保存的所述字節碼指針進行散列運算,并以所述散列運算得到的索引值訪問轉移目標緩沖,獲得預測的轉移目標地址。
7.如權利要求6所述的系統,其中:
所述解釋器配置為按照如下方式在所述在解釋器中插入引導指令,將字節碼指針包含在所述引導指令中:
分析所述解釋器的源代碼,找到實現字節碼功能的指令模板;
根據所述指令模板的尾部包含的使用字節碼指針讀取字節碼的操作碼的代碼,得出字節碼指針所在的寄存器號;
尋找所述指令模板的公共頭部;
在所述指令模板的公共頭部插入引導指令,在所述引導指令中指明保存字節碼指針的寄存器號;
編譯經過修改的解釋器源代碼,得到包含有所述引導指令的解釋器。
8.如權利要求6所述的系統,其中:
所述轉移預測器,采用如下方式識別所述引導指令,并將所需的字節碼指針保存至轉移預測器中:
轉移預測器根據引導指令的編碼識別引導指令;
轉移預測器讀取引導指令中標明的字節碼指針所在的寄存器號;
根據該寄存器號訪問寄存器堆,讀取字節碼指針;
將讀取的字節碼指針保存在轉移預測器中。
9.如權利要求6所述的系統,其中:
所述轉移預測器以所述散列運算得到的索引值訪問轉移目標緩沖,獲得預測的轉移目標地址后,還用于:
所述轉移預測器從預測的轉移目標地址處開始下一條轉移指令的取值;
該轉移指令執行完成之后,比較實際目標和預測的目標,判斷預測是否正確,決定是否需要清除推測式執行的指令;
根據預測結果更新轉移目標緩沖。
10.如權利要求6或7所述的系統,其中:
所述解釋器在所述指令模板的公共頭部插入引導指令時,在所述指令模板的最后一條間接跳轉指令之前、離所述間接跳轉指令盡量遠的地方插入所述引導指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京北大眾志微系統科技有限責任公司,未經北京北大眾志微系統科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310052296.7/1.html,轉載請聲明來源鉆瓜專利網。





