[發明專利]動態二進制翻譯中代碼Cache管理方法有效
| 申請號: | 201310048645.8 | 申請日: | 2013-02-07 |
| 公開(公告)號: | CN103150196A | 公開(公告)日: | 2013-06-12 |
| 發明(設計)人: | 李瑩;羅艷;尹建偉;吳健;鄧水光;吳朝暉 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45;G06F12/08 |
| 代理公司: | 杭州裕陽專利事務所(普通合伙) 33221 | 代理人: | 應圣義 |
| 地址: | 310027 浙江省杭州市浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 動態 二進制 翻譯 代碼 cache 管理 方法 | ||
1.一種動態二進制翻譯中代碼Cache管理方法,其特征在于,所述代碼Cache包括非跳轉目標Cache和跳轉目標Cache,所述代碼Cache采用FIFO策略,包括以下具體步驟:
1)確定帶翻譯基本塊的類型,所述類型包括跳轉目標基本塊、非跳轉目標基本塊,所述跳轉目標基本塊存儲在跳轉目標Cache中,所述非跳轉目標基本塊存儲在非跳轉目標Cache中,其中,所述跳轉目標基本塊為由跳轉指令跳轉執行的基本塊,所述非跳轉目標基本塊為由非跳轉指令順序執行的基本塊;
2)所述基本塊為非跳轉目標基本塊時,執行非跳轉目標基本塊處理流程:
2-1)根據所述基本塊的地址在所述非跳轉目標Cache中查找所述基本塊,如果找到所述基本塊則跳轉執行步驟2-4;
2-2)根據所述基本塊的地址在所述跳轉目標Cache中查找所述基本塊,如果找到所述基本塊則跳轉執行步驟2-4;
2-3)翻譯所述基本塊,并將翻譯后所得代碼塊緩存至所述非跳轉目標Cache;
2-4)執行所述基本塊;
3)所述基本塊為跳轉目標基本塊時,執行跳轉目標基本塊處理流程:
3-1)根據所述基本塊的地址在所述跳轉目標Cache中查找所述基本塊,如果找到所述基本塊則跳轉執行步驟3-5;
3-2)根據所述基本塊的地址在所述非跳轉目標Cache中查找所述基本塊,如果找到所述基本塊則跳轉執行步驟3-4;
3-3)翻譯所述基本塊,并將翻譯后所得代碼塊緩存至所述跳轉目標Cache,跳轉執行步驟3-5;
3-4)將所述基本塊從所述非跳轉目標Cache中轉移至所述跳轉目標Cache;
3-5)執行所述基本塊;
4)循環執行所述步驟1至3直至所有基本塊執行完畢。
2.根據權利要求1所述的動態二進制翻譯中代碼Cache管理方法,其特征在于,所述步驟1還包括:
1-1)初始化第一個基本塊為非跳轉目標基本塊;
1-2)翻譯所述基本塊直至所述基本塊的結束指令,根據所述結束指令的類型標志標記下一個基本塊的類型;
1-3)執行所述步驟1-2翻譯后所得代碼塊。
3.根據權利要求1所述的動態二進制翻譯中代碼Cache管理方法,其特征在于,用全局變量標識flag對所述基本塊的類型進行標識。
4.根據權利要求2所述的動態二進制翻譯中代碼Cache管理方法,其特征在于,使用哈希表查找所述代碼Cache中的基本塊,用PC+flag計算所述非跳轉目標基本塊的哈希值,用PC+~flag計算所述跳轉目標基本塊的值,其中,PC表示所述基本塊的地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310048645.8/1.html,轉載請聲明來源鉆瓜專利網。





