COMET 虚拟机设计分析论文 摘要 COMET 虚拟机是一种为了教学目的而定义的虚拟机,其结构虽然简单,但功能完备,可作为一种教学辅助工具,帮助大学本科学习计算机课程的学生更好地理解现在计算机的结构和工作原理。作者基于原有 COMET 虚拟机定义,改进并实现了一个功能相对完备的虚拟机。COMET 虚拟机的开发主要突出两个原则:简单性和可移植性。本文将对 COMET 虚拟机的开发细节做一个完整的描述。 关键词 COMET 虚拟机;设计;实现 1 引言 虚拟机就是一台假想的机器。一台虚拟机与一台真实存在的计算机不同之处在于前者只是一个技术法律规范。虚拟机技术从很早就开始讨论,并且在软件技术中广为应用。目前,高度可移植的JAVA 编程语言采纳的就是虚拟机技术。虚拟机不仅有广泛的商业应用价值,同时也可作为一种很好的教学辅助工具。通过虚拟机,学生可以很好地学习理解计算机的结构和工作原理。因此,设计并实现一个简单的虚拟机有很好的教学意义[4,5]。 COMET 虚拟机开始只是作为 CASL 汇编语言的运行平台而设计,并由中国计算机软件专业技术资格和水平考试大纲中给出的CASL 汇编语言文本定义(下文将简称为文本)。作者在文本的基础上,对 COMET 虚拟机的功能进行了一定的改进和扩充,并实现了一个功能完善的虚拟机实例[1]。 2COMET 虚拟机设计 2.1 逻辑结构 图 1COMET 虚拟机结构 COMET 虚拟机是一台基于寄存器模型结构的计算机 。COMET 虚拟机系统主要包括三个部分:中央处理器(CPU)、存储器和出入输出设备。COMET 计算机的逻辑结构如图 1 所示。 CPU 是由寄存器、算术逻辑部件和控制逻辑组成。寄存器在程序运行时存储计算过程的各种信息;算术逻辑部件的功能是进行所有的算术和逻辑运算。由于 COMET 计算机是虚拟的计算机,因此,它的控制逻辑对于我们是透明的[1,4,5]。 2.2 寄存器 COMET 虚拟机有 5 个通用寄存器 GR(16 位),一个指令计数器 PC(16 位)和一个标志寄存器 FR(2 位)。 GR ( 通 用 寄 存 器 ) 5 个 通 用 寄 存 器 的 编 号 为0、1、2、3、4,分别记为 GR0、GR1、GR2、GR3、GR4。这些通 用 寄 存 器 用 于 算 术 、 逻 辑 、 移 位 等 运 算 , 其 中GR1、GR2、GR3、GR4 通用寄存器兼做变址寄存器。另外,GR4还兼做栈指针(SP)用,栈指针是存放栈顶地址用的寄存器。 PC(指令计数器)在执行指令的过程中,PC 中存...