[發明專利]代碼執行的靈活加速有效
| 申請號: | 201380044841.6 | 申請日: | 2013-09-26 |
| 公開(公告)號: | CN104541242B | 公開(公告)日: | 2019-09-24 |
| 發明(設計)人: | C.王;Y.吳 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F9/06 | 分類號: | G06F9/06;G06F9/30 |
| 代理公司: | 中國專利代理(香港)有限公司 72001 | 代理人: | 徐予紅;湯春龍 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 執行 靈活 加速 | ||
1.一種用于執行靈活代碼加速的計算裝置,所述計算裝置包括:
其中存儲有多個指令的物理存儲器;
處理器,用于執行所述多個指令以建立加速器虛擬裝置、加速器虛擬裝置操作系統驅動器和虛擬機,其中:
所述虛擬機將使用所述加速器虛擬裝置操作系統驅動器(i)初始化所述加速器虛擬裝置以便于軟件代碼的所述加速并且(ii)將所述物理存儲器的一部分分配為存儲器映射的輸入/輸出以用于訪問所述加速器虛擬裝置;以及
所述加速器虛擬裝置將確定要加速的軟件代碼的字節碼是否是操作系統相關的字節碼;
其中所述加速器虛擬裝置將響應于確定所述字節碼不是操作系統相關的字節碼而使用所述存儲器映射的輸入/輸出來執行所述字節碼的硬件加速;以及
其中響應于確定要加速的所述軟件代碼的所述字節碼是操作系統相關的字節碼而在所述計算裝置上執行所述字節碼的軟件加速。
2.如權利要求1所述的計算裝置,其中所述虛擬機還將為要加速的所述軟件代碼分配加速器虛擬裝置上下文。
3.如權利要求2所述的計算裝置,其中所述虛擬機還將通過將保留的物理存儲器映射到與要加速的所述軟件代碼的實例相關聯的虛擬存儲器來分配所述加速器虛擬裝置上下文。
4.如權利要求1所述的計算裝置,其中所述虛擬機將直接分支到保留的物理存儲器內的地址以經由所述存儲器映射的輸入/輸出來觸發所述硬件加速。
5.如權利要求4所述的計算裝置,還包括內部動態二進制轉換模塊以截取對所述保留的物理存儲器的讀和寫調用并且執行所述硬件加速,其中所述保留的物理存儲器內的每個地址只存儲返回指令。
6.如權利要求1所述的計算裝置,其中所述加速器虛擬裝置包括內部動態二進制轉換模塊以執行所述字節碼的硬件加速。
7.如權利要求6所述的計算裝置,其中所述處理器包括所述內部動態二進制轉換模塊。
8.一種用于在計算裝置上執行靈活代碼加速的方法,所述方法包括:
在所述計算裝置上初始化加速器虛擬裝置以便于軟件代碼的加速;
將所述計算裝置的物理存儲器的一部分分配為存儲器映射的輸入/輸出以用于訪問所述加速器虛擬裝置;
在所述計算裝置上確定要加速的所述軟件代碼的字節碼是否是操作系統相關的字節碼;
響應于確定所述字節碼不是操作系統相關的字節碼而使用所述存儲器映射的輸入/輸出來執行所述字節碼的硬件加速;以及
響應于確定所述字節碼是操作系統相關的字節碼而在所述計算裝置上執行所述字節碼的軟件加速。
9.如權利要求8所述的方法,還包括通過將所述物理存儲器映射到與要執行的所述軟件代碼的實例相關聯的虛擬存儲器來在所述計算裝置上為要加速的所述軟件代碼分配加速器虛擬裝置上下文。
10.如權利要求9所述的方法,其中分配所述加速器虛擬裝置上下文包括為不同加速器虛擬裝置上下文保留所述物理存儲器的每個地址。
11.如權利要求8所述的方法,其中執行所述字節碼的所述硬件加速包括直接分支到所述存儲器映射的輸入/輸出地址以觸發所述硬件加速。
12.一種用于執行靈活代碼加速的計算裝置,所述計算裝置包括:
用于初始化加速器虛擬裝置以便于軟件代碼的加速的部件;
用于將所述計算裝置的物理存儲器的一部分分配為存儲器映射的輸入/輸出以用于訪問所述加速器虛擬裝置的部件;
用于確定要加速的所述軟件代碼的字節碼是否是操作系統相關的字節碼的部件;
用于響應于確定所述字節碼不是操作系統相關的字節碼而使用所述存儲器映射的輸入/輸出來執行所述字節碼的硬件加速的部件;以及
用于響應于確定所述字節碼是操作系統相關的字節碼而在所述計算裝置上執行所述字節碼的軟件加速的部件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380044841.6/1.html,轉載請聲明來源鉆瓜專利網。





