[發明專利]一種使用陷阱指令優化條件轉移代碼性能的方法及其系統有效
| 申請號: | 201010292061.1 | 申請日: | 2010-09-26 |
| 公開(公告)號: | CN101944041A | 公開(公告)日: | 2011-01-12 |
| 發明(設計)人: | 周舒暢;黃磊;呂方 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 祁建國;梁揮 |
| 地址: | 100080 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 使用 陷阱 指令 優化 條件 轉移 代碼 性能 方法 及其 系統 | ||
1.一種使用陷阱指令優化條件轉移代碼性能的方法,其特征在于,包括:
步驟1,收集程序的輪廓信息,根據所述輪廓信息獲取符合條件的分支指令;
步驟2,將所述符合條件的分支指令轉換成陷阱指令,并將所述陷阱指令的地址及其陷入地址記錄在陷阱轉移表中;
步驟3,生成記錄有所述陷阱指令和所述陷阱轉移表的匯編文件,并根據所述匯編文件生成程序可執行文件;
步驟4,解析所述程序可執行文件,獲取所述陷阱指令的地址與其陷入地址之間的偏移值,并將所述偏移值記入所述程序可執行文件中的所述陷阱指令的偏移域中;
步驟5,運行偏移值記入后的所述程序可執行文件,當所述陷阱指令發生陷入時,根據所述偏移值或所述陷阱轉移表對陷入進行響應。
2.根據權利要求1所述的使用陷阱指令優化條件轉移代碼性能的方法,其特征在于,
所述步驟1中,
所述輪廓信息包括所述程序的基本塊代碼的執行頻度和所述分支指令對其兩個轉移目標的轉移概率。
3.根據權利要求2所述的使用陷阱指令優化條件轉移代碼性能的方法,其特征在于,
所述步驟1中,包括:
判斷分支指令的一個轉移目標的轉移概率是否低于設定的閾值,當該分支指令的一個轉移目標的轉移概率低于該設定的閾值時,將該分支指令作為符合條件的分支指令。
4.根據權利要求1、2或3所述的使用陷阱指令優化條件轉移代碼性能的方法,其特征在于,
所述步驟2中,包括:
根據所述符合條件的分支指令極少轉移到的轉移目標地址,將所述符合條件的分支指令轉換成陷阱指令。
5.根據權利要求1、2或3所述的使用陷阱指令優化條件轉移代碼性能的方法,其特征在于,
所述步驟2中,包括:
在分支指令轉換成陷阱指令后,對需要分支延遲槽指令的體系結構,調整延遲槽指令,并將調整結果記入所述匯編文件中。
6.根據權利要求1、2或3所述的使用陷阱指令優化條件轉移代碼性能的方法,其特征在于,
所述步驟4中,包括:
判斷所述偏移值是否超出陷阱指令格式偏移量的表示范圍,當所述偏移值未超出所述表示范圍時,將所述偏移值記入所述偏移域中。
7.根據權利要求1、2或3所述的使用陷阱指令優化條件轉移代碼性能的方法,其特征在于,
所述步驟5中,包括:
當所述偏移值不為零時,將所述陷阱指令的地址與所述偏移值相加獲得陷入時的陷入地址;或
當所述偏移值為零時,按照所述陷阱指令的地址查詢所述陷阱轉移表,當找到時,獲得陷入地址;或當未找到時,按照原有的陷阱處理程序處理。
8.一種使用陷阱指令優化條件轉移代碼性能的系統,其特征在于,包括:
分支指令獲取模塊,用于收集到程序的輪廓信息,根據輪廓信息獲取符合條件的分支指令;
分支指令轉換模塊,連接所述分支指令獲取模塊,用于將該符合條件的分支指令轉換成陷阱指令;
地址記入模塊,連接所述分支指令轉換模塊,用于將陷阱指令的地址及其對應的陷入地址記入陷阱轉移表中;
可執行文件生成模塊,連接所述分支指令轉換模塊、所述地址記入模塊,用于根據記入有所述陷阱指令、所述陷阱轉移表的匯編文件生成程序可執行文件;
偏移值記入模塊,連接所述可執行文件生成模塊,用于解析所述程序可執行文件,獲取所述陷阱指令的地址與其陷入地址之間的偏移值,并將所述偏移值記入所述程序可執行文件中的所述陷阱指令的偏移域中;
內核模塊,連接所述可執行文件生成模塊,用于運行所述偏移值記入后的所述程序可執行文件,當所述陷阱指令發生陷入時,根據所述偏移值或所述陷阱轉移表對陷入進行響應。
9.根據權利要求8所述的使用陷阱指令優化條件轉移代碼性能的系統,其特征在于,
所述輪廓信息包括所述程序的基本塊代碼的執行頻度和所述分支指令對兩個轉移目標的轉移概率。
10.根據權利要求9所述的使用陷阱指令優化條件轉移代碼性能的系統,其特征在于,
所述分支指令獲取模塊,還用于判斷分支指令的一個轉移目標的轉移概率是否低于設定的閾值,當該分支指令的一個轉移目標的轉移概率低于該設定的閾值時,將該分支指令作為符合條件的分支指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010292061.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種電腦安全防護方法和系統
- 下一篇:一種音頻視頻采集方法





