[發明專利]程序執行方法、裝置、設備和存儲介質在審
| 申請號: | 201811015357.1 | 申請日: | 2018-08-31 |
| 公開(公告)號: | CN110874259A | 公開(公告)日: | 2020-03-10 |
| 發明(設計)人: | 靳國杰 | 申請(專利權)人: | 龍芯中科技術有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F8/41 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100095 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 執行 方法 裝置 設備 存儲 介質 | ||
本發明實施例提供了一種程序執行方法和裝置,所述方法包括:檢測虛擬機上運行的程序的目標基本塊,確定與目標基本塊功能相同的預置的目標指令序列,采用目標指令序列替代目標基本塊,執行程序,由于目標指令序列是由物理機上可執行的目標函數代碼編譯得到,目標函數代碼是針對物理機編寫的,且與虛擬機上的目標基本塊功能相同,直接對目標函數代碼進行編譯得到目標指令序列,使得其指令數量遠低于二進制翻譯得到的指令序列,避免了二進制翻譯技術的指令膨脹問題,降低虛擬機對應物理機上執行的指令的數量,提高虛擬機運行效率。
技術領域
本發明涉及應用程序技術領域,特別是涉及一種程序執行方法、一種程序執行裝置、一種電子設備和一種可讀存儲介質。
背景技術
虛擬機(VM,Virtual Machine)主要通過軟件(或者輔以少量硬件支持)的方法來虛擬出一臺計算機,并且這臺虛擬的計算機通常還支持一套對應的指令集,稱為虛擬機指令集。這樣的虛擬機也稱為客戶機(Guest Machine),。虛擬機依托于本地的物理機(HostMachine),通過其執行引擎對給定的虛擬機指令序列(目標程序)在本地機器上模擬執行。
虛擬機通常用于在不同的CPU之間實現軟件的兼容。例如,基于RISC(ReducedInstruction Set Computer,精簡指令集計算機)指令集的PC機和基于X86指令集的PC機是不兼容的,基于兩種指令集的PC機的軟件無法相互兼容,即基于X86指令集的PC機上運行的程序無法直接在基于RISC指令集的PC機上運行,同理,基于RISC指令集的PC機上運行的程序無法直接在基于X86指令集的PC機上運行。如此,需要采用虛擬機來實現程序軟件在不同指令集PC機上的兼容運行。
圖1是傳統虛擬機的結構的示意圖。其中,底層的是真實的物理機器,稱為“Host”。虛擬機及其上的機器稱為“Guest”。Host機器首先啟動一個本地的操作系統(Host OS),然后再啟動虛擬機,最后才能啟動Guest OS。這種結構把虛擬機作為本地操作系統中的一個應用程序,其優點是開發和調試都很方便。因此現在的虛擬機都屬于這種結構。
如果Host與Guest是不同的CPU指令集,那么Guest的軟件無法直接在Host上運行,必須采用一種稱為“二進制翻譯”的技術,將Guest的機器指令轉換成能夠在Host上運行的、在功能上等價的機器指令。
二進制翻譯(Dynamic Binary Translation,DBT)基于動態編譯(DynamicCompilation)技術,在客戶機程序執行時,二進制翻譯器動態地解析并翻譯即將被執行的代碼。代碼翻譯和翻譯后代碼的運行是穿插進行的。
以基于MIPS(Microprocessor without interlocked piped stages,無內部互鎖流水級的微處理器)指令的PC上運行X86虛擬機為例,圖2是二進制翻譯技術的基本流程的示意圖。在虛擬機上執行一個X86應用程序時,X86應用程序由大量基本塊組成,每一個基本塊包含一定數量的機器指令(Machine Instruction)。這個X86機器指令要經過翻譯模塊,轉換成同等功能的MIPS指令(即“本地指令”),保存到內存中的一個代碼cache(寄存器)區域中,本地MIPS指令可以在真實的CPU上運行。
但是指令的翻譯過程一般會導致指令數量“膨脹”,即翻譯后的本地指令的數量大于翻譯之前的X86指令。這是二進制翻譯技術的一個固有特性。
表1:
表1為二進制翻譯導致指令膨脹的一個例子,可見1條X86的add指令,要翻譯成4條MIPS指令。所以可想而知,采用二進制翻譯的技術的虛擬機系統,效率一般要低于真實的X86機器。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于龍芯中科技術有限公司,未經龍芯中科技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811015357.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:全角度讀取條碼的方法和裝置
- 下一篇:一種深度神經網絡模型壓縮方法及裝置





