[發明專利]一種虛擬機的單棧設計方法無效
| 申請號: | 201010165372.1 | 申請日: | 2010-05-07 |
| 公開(公告)號: | CN101833471A | 公開(公告)日: | 2010-09-15 |
| 發明(設計)人: | 徐野 | 申請(專利權)人: | 沈陽理工大學 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/30 |
| 代理公司: | 沈陽利泰專利商標代理有限公司 21209 | 代理人: | 李樞 |
| 地址: | 110168 遼*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬機 設計 方法 | ||
技術領域
本發明屬于計算機技術領域與虛擬機技術領域,特別涉及一種虛擬機的單棧式設計方法,可簡化棧式虛擬機的設計及實現復雜度,簡化虛擬機指令集體系結構,易于程序開發和移植。
背景技術
目前,虛擬機系統的設計方法多采用多棧形式,這類虛擬機設計和實現的復雜度高,實現的功能雖強,但需要運行在資源豐富的支撐平臺上。如果運行在資源受限的嵌入式計算環境下,其功能一般會受到嚴重影響;而此時如果不使用其提供的復雜功能,又造成虛擬機資源的浪費。此外,這類虛擬機一般指令集規模龐大,使用這類虛擬機開發程序成本較高。針對這一問題,需要設計一種簡化虛擬機設計和實現的方法。本發明實現一種虛擬機的單棧設計方法,對結構復雜的多棧設計所實現功能進行規約簡化,在保證虛擬機棧式運行功能的前提下,以簡化的單棧形式實現。此外,為基于單棧設計的虛擬機系統提供簡化的指令集系統,以降低應用程序開發的成本。單棧設計的虛擬機系統更適合在資源受限的嵌入式計算環境中應用。
發明內容
本發明的目的是針對多棧虛擬機不適于在資源受限的嵌入式環境中應用的問題,提供一種虛擬機的單棧設計方法,及規約簡化的虛擬機指令集。單棧設計的虛擬機系統更易于在嵌入式環境中運行,程序開發成本也更低。
本發明實現一種虛擬機的單棧設計方法,包括使用一個指令寄存器指示當前指令地址;二個指令區段寄存器,指示指令區段首尾地址;二個堆區段寄存器,指示堆區段首尾地址;二個棧區段寄存器,指示棧區段首尾地址。指令區段,用于存儲所述虛擬機可執行程序的指令集合;堆區段用于存儲所述虛擬機可執行程序在運行過程中產生的所有變量信息;單棧區段以一個單棧形式實現所述虛擬機指令執行的工作棧、所述虛擬機函數調用棧、變量地址存儲棧和變量引用棧。
本發明的工作流程和步驟為:
1、所述虛擬機初始化;
2、所述虛擬機裝載應用程序;
3、執行引擎工作,載入并識別指令,并予以執行;
4、指令執行過程中產生的工作棧、所述虛擬機函數調用棧、變量地址存儲棧和變量引用棧均由所述虛擬機的單棧實現;
5、指令執行過程中產生的變量值存儲在堆區段中;
6、通過單棧調用可選的堆管理模塊,實現所述虛擬機堆區段的管理;
7、通過單棧調用可選的本地方法,與支撐操作系統通信;
8、通過單棧調用可選通信模塊,實現網絡通信;
9、通過單棧調用可選數值計算模塊,實現數值計算;
10、最后執行應用程序的停機指令,結束虛擬機系統。
本發明實現一種虛擬機的單棧設計方法,可以實現指令集規模簡約、體系結構簡單、開發成本低、方便移植、功能全面的單棧虛擬機系統,易于在嵌入式計算環境下部署和運行。
附圖說明
圖1是本發明的系統結構框圖;圖中:1為虛擬機初始化模塊,2為虛擬機裝載器模塊,3為內存映像,4為指令區段,5為堆區段,6為單棧區段,7為虛擬機執行引擎,8為指令寄存器,9為指令區段首寄存器,10為指令區段尾寄存器,11為堆區段首寄存器,12為堆區段尾寄存器,13為單棧區段首寄存器,14為單棧區段尾寄存器,15為解釋器,16為本地(I/O)模塊,17為堆管理模塊,18為通信模塊,19為數值計算模塊,20為宿主支撐平臺。
具體實施方式
結合實施例進一步說明本發明的結構方案和工作過程。
如圖1所示,所述單棧虛擬機系統包括虛擬機初始化模塊1,虛擬機裝載器模塊2,內存映像3,指令區段4,堆區段5,單棧區段6,虛擬機執行引擎7,指令寄存器8,指令區段首寄存器9,指令區段尾寄存器10,堆區段首寄存器11,堆區段尾寄存器12,單棧區段首寄存器13,單棧區段尾寄存器14,解釋器15,本地(I/O)模塊16,堆管理模塊17,通信模塊18,數值計算模塊19,宿主支撐平臺20。所述虛擬機的核心是虛擬機執行引擎7,它通過單棧區段6簡化了虛擬機設計和實現的復雜度,并通過指令區段4、堆區段5與單棧區段6實現虛擬機系統的功能。
如圖1所示,本發明的工作流程包括以下步驟:
(1)所述虛擬機初始化,包括在內存映像中建立指令區段4,堆區段5和單棧區段6;同時初始化虛擬機寄存器,包括指令寄存器8,指向零地址;指令區段首寄存器9,指向指令區段首;指令區段尾寄存器10,指向指令區段尾;堆區段首寄存器11,指向堆區段首;堆區段尾寄存器12,指向堆區段尾;單棧區段首寄存器13,指向單棧區段首;單棧區段尾寄存器14,指向單棧區段尾;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于沈陽理工大學,未經沈陽理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010165372.1/2.html,轉載請聲明來源鉆瓜專利網。





