[發明專利]一種處理敏感指令的方法、裝置以及物理機有效
| 申請號: | 201310066697.8 | 申請日: | 2013-03-01 |
| 公開(公告)號: | CN103197915A | 公開(公告)日: | 2013-07-10 |
| 發明(設計)人: | 嚴曉丹 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06F9/455 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 處理 敏感 指令 方法 裝置 以及 物理 | ||
技術領域
本發明涉及計算機虛擬化領域,尤其涉及一種處理敏感指令的方法、裝置以及物理機。
背景技術
在虛擬化領域中,虛擬化技術擴大了硬件的容量,簡化了軟件的重新配置過程,實現了在一臺物理主機上虛擬多個虛擬機,并且同時在各個虛擬機上運行一個獨立的操作系統,從而顯著提高計算機的工作效率,其中,這些獨立的操作系統稱為客戶機操作系統(Guest?Operating?System,Guest?OS)。
在現有技術中,通常采用硬件虛擬化技術訪問處理器。在Xen構架下的虛擬機系統中,Xen為虛擬機監視器,虛擬機不能處理敏感指令,如中央處理器(Central?Processing?Unit,CPU)指令中一部分指令為敏感指令。此時虛擬機陷入(Virtual?Machine?Exit,VM?Exit)Xen中,由Xen來處理敏感指令。在敏感指令處理完成之后,通過虛擬機進入(Virtual?Machine?Entry,VM?Entry)操作返回虛擬機內部繼續處理下一條指令。當下一條指令為敏感指令時,采用上述方法處理敏感指令;當下一條指令為非敏感指令時,虛擬機直接處理該非敏感指令。
然而,在現有技術中,每當虛擬機執行一條敏感指令時,就需要在一次虛擬機陷入中處理一條敏感指令。當出現連續的敏感指令訪問時,虛擬機在短期內需要執行大量敏感指令,導致大量的虛擬機陷入,使得虛擬機性能下降。
發明內容
本發明提供的一種處理敏感指令的方法、裝置以及物理機,可以實現減少虛擬機陷入的次數,提高虛擬機的性能。
第一方面,本發明提供一種處理敏感指令的方法,包括:在虛擬機處理待處理的敏感指令導致陷入之后,獲取所述待處理的敏感指令對應的內存地址當所述待處理的敏感指令對應的內存地址與保存的任意一個敏感指令集中起始指令對應的內存地址相同時,獲取與所述待處理的敏感指令對應的內存地址相同的起始指令所屬的敏感指令集,其中,所述敏感指令集包括至少兩條敏感指令,且所述敏感指令集的起始指令和結尾指令均為敏感指令;根據獲取的所述敏感指令集記錄的指令及所述指令的執行順序處理所述敏感指令集。
結合第一方面,在第一種可能的實施例中,所述敏感指令集包括至少兩條敏感指令和至少一條非敏感指令。
結合第一方面中的第一種可能的實施例,在第二種可能的實施例中,所述根據所述敏感指令集記錄的指令及所述指令的執行順序處理所述敏感指令集,包括:按照所述指令的執行順序,處理所述敏感指令集中的第一指令;在處理第一指令之后,獲取所述第一指令的長度;根據所述第一指令的長度,修改指令指針IP寄存器指向的地址為所述敏感指令集中的第二指令對應的內存地址,以便根據上述處理所述第一指令的方法處理所述第二指令。
結合第一方面中的第二種可能的實施例,在第三種可能的實施例中,所述根據所述敏感指令集記錄的指令及所述指令的執行順序處理所述敏感指令集,包括:按照所述指令的執行順序,處理所述敏感指令集;在處理所述敏感指令集之后,獲取所述敏感指令集的長度;根據所述敏感指令集的長度,修改IP寄存器指向的地址為下一條待處理指令對應的內存地址,以便處理所述待處理指令。
結合第一方面中的前述任一種可能的實施例,在第四種可能的實施例中,所述方法還包括:當所述待處理敏感指令對應的內存地址與保存的每個敏感指令集中起始指令對應的內存地址均不相同時,直接處理所述待處理的敏感指令。
第二方面,本發明提供一種處理敏感指令的裝置,包括:第一獲取模塊,用于在虛擬機處理待處理的敏感指令導致陷入之后,獲取所述待處理的敏感指令對應的內存地址,并將所述處理的敏感指令對應的內存地址發送給第二獲取模塊;所述第二獲取模塊用于接收所述第一獲取模塊發送的所述待處理的敏感指令,當所述待處理的敏感指令對應的內存地址與保存的任意一個敏感指令集中起始指令對應的內存地址相同時,獲取與所述待處理的敏感指令對應的內存地址相同的起始指令所屬的敏感指令集,并將所述敏感指令集發送給處理模塊;其中,所述敏感指令集包括至少兩條敏感指令,且所述敏感指令集的起始指令和結尾指令均為敏感指令;所述處理模塊用于根據所述第二獲取模塊獲取的所述敏感指令集記錄的指令及所述指令的執行順序處理所述敏感指令集。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310066697.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:功率集成電路器件
- 下一篇:具有改進的連接的閥門組件





