專利名稱:異構虛擬處理器的制作方法
異構虛擬處理器技術領域:
本發明涉及計算機,尤其涉及多種RISC架構下虛擬X86兼容的異構虛 擬處理器。背景技術:
計算機時代的到來給嵌入式的發展帶來了挑戰和機遇,不同架構的硬件 體系門類繁多,僅RISC就有ARM、 MIPS (計算機)、PowerPC、 ColdFire (微 控制器)以及國產的龍芯CPU等等。眾多的處理器架構給應用帶來了更廣闊 的選擇空間,但隨之而來的是OS (操作系統)、應用程序移植所帶來的難題。 不同架構體系間的系統軟件、應用軟件不能直接移植,需要借助兼容層技術 實現不同架構之間的通信。傳統的跨平臺技術是指在同一硬件架構下實現的軟件移植和復用。例如, IBM跨平臺信息與流程整合工具、JAVA虛擬機、豪杰公司研發的兼容層技術 (該技術可以讓WINDOWS下的開發直接登陸Linux )、金山公司的跨Linux 平臺的辦公軟件等等。以上技術可歸納為"橫向跨平臺,,技術,但是,這種橫向跨平臺無法解決異構架構(不同硬件架構)下軟件的移 植問題。
發明內容本發明的目的在于,提供一種異構虛擬處理器,解決異構架構下軟件的 移植問題。本發明所采用的技術方案為提供一種異構虛擬處理器,其特征在于, 所述異構虛擬處理器包括2X86層和VBIOS層,所述2X86層在RISC處理器 上虛擬兼容X86的軟處理器,所述VBIOS層在X86兼容的軟處理器上為操 作系統層虛擬一個PC兼容的完整平臺,從而所述異構虛擬處理器實現從RISC 處理器到X86平臺間的跨度,運行X86平臺的操作系統和應用軟件。更具體地,所述VB10S層在多種RISC架構下虛擬X86硬件平臺并直接 移植X86硬件平臺下的操作系統及應用程序。
更具體地,所述2X86層完成計算機語言的識別。 更具體地,所述2X86層包括寄存器。 更具體地,所述2X86層實現單一流水線指令運行機制。 更具體地,所述2x86層捕捉X86硬件平臺上的上電/復位信號。 更具體地,所述2x86層實現實模式向保護模式的管理和切換。 更具體地,所述2x86層支持分段式內存管理和段頁式內存管理兩種機制。 與現有技術相比,本發明的有益效果在于本發明的異構虛擬處理器通 過在RISC體系硬件平臺添加一個虛擬軟件層,實現一個虛擬而且兼容x86的 完整平臺,從而順利運行x86平臺下的所有OS、應用程序等系列軟件。
圖1是本發明的異構虛擬處理器和X86平臺、RISC處理器的組合示意圖。 圖2是本發明的2X86層的系統框圖。
具體實施方式本發明提供一種異構虛擬處理器,所述異構虛擬處理器包括2X86層 VBIOS層。所述異構虛擬處理器在RISC處理器上虛擬兼容X86平臺的軟處 理器,實現從RISC處理器到X86處理器間的2爭度及從RISC平臺到X86平臺 的完整仿真,運行X86的硬件平臺的操作系統和應用軟件。請參閱圖1,異構虛擬處理器包括2x86層和VBIOS (視頻基本輸入輸出 系統)層。所述2x86層負責實現在不同的RISC (精簡指令系統計算結構) 處理器上模擬一個Intel 80486兼容的軟處理器。所述VBIOS層,負責在2x86 層模擬的X86兼容的軟處理器上,為操作系統層虛擬一個PC兼容的完整平 臺。所述2x86層和VBIOS層有^U的結合,實現從RISC處理器到X86處理 器的J爭度、從RISC平臺到X86平臺的完整仿真。原有的操作系統及其上的 應用軟件完全不必做任何的修改,直接運行。操作系統及其上的應用軟件只 知X86,無法知道真實的硬件平臺一一RISC體系平臺。所述2X86層相當于RISC到X86體系的一個"翻譯官"。X86層實現了 在RISC的處理器上虛擬一個軟件x86處理器模型,包括其所有寄存器和運算, 取指、加載、計算、保存結果的指令流水線,同時還翻譯所有x86世界的語 言——x86 二進制機器碼。請參閱圖2,所述2X86層具體的實現有
1 )、 32位80486兼容軟處理器模型為兼容X86世界的軟件,首先必須要為其建立一個完全兼容的寄存器組。 寄存器是X86體系統中運算/傳遞速度最快的 一種存儲單元,為此實現時使用 了高速緩沖,以保證效率。同時,這些寄存器要保證在任何時候/任何模式下 軟件都能訪問得到,因此,在一些不支持高速緩沖機制,必須在普通內存中 實現的RISC處理器中,要避免出現"訪問空洞"。在X86處理器中,有些寄 存器不是單純的數據寄存器,如狀態寄存器等,直接影響指令執行機制的寄 存器,也實現了相關的寄存器讀寫所附帶的效果。2) 、指令流水線本軟件實現單一流水線指令運行機制。按照X86處理器運行機制,總是 以CS: IP (保護模式下為CS: EIP)寄存器指向的內存單元為下一條待執行 的指令。本軟件通過從軟處理器的寄存器中讀取這兩個寄存器的值,經內存 管理機制轉換為物理內存地址,從對應的內存單元讀首字節,根據首字節判 斷指令長度,繼續加載后續字節,直到整條指令加載成功,將指令進行"翻 譯",轉換成RISC處理器相對應的操作進行運算,之后再將結果存入X86軟 處理器相應的寄存器中。整個過程屏蔽外部中斷,實現X86體系處理器單指 令不可被中斷規則。3) 、上電/復位管理在2X86軟件層有一專門模塊用于捕捉平臺上的上電/復位信號,在對 RISC處理器和平臺進行必須的初始化之后,即建立X86處理器模型,并建立 對應的初始值,從而啟動指令流水線模塊,進行X86指令的加載運行。4) 、實模式/保護模式機制管理在X86體系處理器中,支持實模式和保護模式兩種模式。而在RISC體 系中處理器并沒有與此對應的模式概念。兩種模式所能訪問的寄存器組合和 內存管理機制不相同。為此跨平臺軟件兼容層軟件的2X86專門有一模塊實現 兩種機制的管理和切換。在實模式向保護模式轉換時,開放相關的寄存器, 同時進行操作權限級別的鑒定,擴大處理器可訪問的內存空間為4G,啟用段 頁式內存管理機制;在保護模式向實模式轉換時,屏蔽相關的寄存器,將內 存可訪問空間回到1M,啟用分段式內存管理機制。5) 、 SMI及系統管理模式
X86處理器有一種特殊的運行模式,稱為系統管理模式(SMM),它必須 由一外部中斷信號觸發才能進入,稱為SMI中斷(系統管理中斷)。在RISC 體系的處理器中沒有此類模式和中斷。鑒于SMI的中斷最高優先級和不可屏 蔽特點,在RISC體系的處理器中選用 一個最高先級的中斷來才莫擬SMI中斷, 相應的中斷服務程序實現系統管理模式的切換和堆棧保護。在收到SMI中斷 時,保存寄存器于堆棧中,同是通知內存管理單元,切換系統管理內存為可 訪問狀態。在系統管理模式,使用專用內存段。該段為實模式下A000和B000 段,128KB大小,內存管理單元保證,在系統管理模式下所指向的為RAM, 而不是VGA設備的顯示緩沖。6)、內存管理模塊X86處理器因為兼容早期處理器的原因,有實模式、增強模式、保護模 式、虛擬實模式和系統管理模式之分,不同的模式其內存管理機制不同,有 分段式內存管理和段頁式內存管理兩種機制。RISC處理器大都是平鋪時內存 管理,含MMU的處理器可支持虛擬內存。本內存管理模塊就是在RISC處理 器實現兩種內存管理機制,由兩個子模塊組成。實模式下的分段是管理由純 軟件實現,在尋址時根據段寄存器和偏移寄存器的值計算內存物理地址的方 法決定。段頁式管理根據有MMU和不含MMU兩種RISC處理器有兩種不同 的實現機制。
權利要求
1、一種異構虛擬處理器,其特征在于,所述異構虛擬處理器包括2X86層和VBIOS層,所述2X86層在RISC處理器上虛擬兼容X86的軟處理器,所述VBIOS層在X86兼容的軟處理器上為操作系統層虛擬一個PC兼容的完整平臺,從而所述異構虛擬處理器實現從RISC處理器到X86平臺間的跨度,運行X86平臺的操作系統和應用軟件。
2、 如權利要求1所述的異構虛擬處理器,其特征在于,所述VBIOS層 在多種RISC架構下虛擬X86硬件平臺并直接移植X86硬件平臺下的操作系 統及應用程序。
3、 如權利要求1所述的異構虛擬處理器,其特征在于,所述2X86層完 成計算機語言的識別。
4、 如權利要求1所述的異構虛擬處理器,其特征在于,所述2X86層包 括寄存器。
5、 如權利要求1所述的異構虛擬處理器,其特征在于,所述2X86層實 現單一流水線指令運行機制。
6、 如權利要求1所述的異構虛擬處理器,其特征在于,所述2x86層捕 捉X86硬件平臺上的上電/復位信號。
7、 如權利要求1所述的異構虛擬處理器,其特征在于,所述2x86層實 現實模式向保護模式的管理和切換。
8、 如權利要求1所述的異構虛擬處理器,其特征在于,所述2x86層支 持分段式內存管理和段頁式內存管理兩種機制。
全文摘要
本發明公開了一種異構虛擬處理器,所述異構虛擬處理器包括2X86層和VBIOS層,所述2X86層在RISC處理器上虛擬兼容X86的軟處理器,所述VBIOS層在X86兼容的軟處理器上為操作系統層虛擬一個PC兼容的完整平臺,從而所述異構虛擬處理器實現從RISC處理器到X86平臺間的跨度,運行X86平臺的操作系統和應用軟件。本發明異構虛擬處理器通過在RISC體系硬件平臺添加一個軟件層來模擬X86平臺,實現一個虛擬而且兼容X86的硬件平臺,從而順利運行X86平臺下的所有OS、應用程序等系列軟件。
文檔編號G06F9/44GK101118488SQ20061006201
公開日2008年2月6日 申請日期2006年8月3日 優先權日2006年8月3日
發明者劉志永 申請人:深圳市研祥智能科技股份有限公司