【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