【Guava】1.0.設計虛擬機的方向
- 虛擬機是什么?
- 棧式虛擬機
- 棧式虛擬機的優缺點
- 題外話
虛擬機是什么?
虛擬機(VirtualMachine, VM)是一種計算機程序或系統,它通過軟件模擬物理計算機的硬件運行環境,使得多個操作系統能夠在同一臺物理機器上同時運行。虛擬機通過虛擬化技術將物理資源(如CPU、內存、存儲、網絡等)抽象成邏輯資源,為每個虛擬機提供獨立的計算環境,因此虛擬機彼此之間相互隔離,并能夠運行不同的操作系統和應用程序。
本期,我們將決定GVM的設計方向
- 棧式
- 寄存器
我們選擇棧式
棧式虛擬機
棧式虛擬機的優缺點
優點:
實現簡單:棧式虛擬機的指令集簡單,易于實現和維護。
可移植性強:由于指令集簡單,棧式虛擬機更容易在不同平臺上移植。
缺點:
性能較低:由于需要頻繁的入棧和出棧操作,棧式虛擬機的執行效率較低。
指令數量多:完成相同功能所需的指令數量較多
我們要實現:
PUSH,POP,ADD,SUB,MUL,DIV,MOD,DUP,SWAP,BR,TRAP,JSR,RET,LD,ST,TOP,XOR,AND,LEA,JSRR,BRR
這些指令不多
題外話
最近正在做LBP,所以更新速度會慢點,等不及的直接去https://gitcode.com/bdfzpt/guava
劇透
一下是我的作品:
https://gitcode.com/bdfzpt/guava
https://gitcode.com/bdfzpt/Janus
https://gitcode.com/bdfzpt/lbp