摘 要
本设计是一个对IA32CPU模拟并动态演示的设计,它应用了VC6.0的MFC开发出的一个仿真硬件的虚拟实验平台,该平台为我们提供了一个对各类硬件定义与实现功能的规范,依据规范我们将CPU、主存等硬件设计成抽象的器件类,并将其封装成随时供平台调用的动态链接库。DLL库中包含了对CPU模型设计,我们通过移植虚拟机Bochs下的CPU库来实现核心功能。
CPU核心功能采用调用bochs里的相关库来实现,因此我们将虚拟机bochs中的CPU指令库移植到设计中,并将它封装成一个静态库,器件类可通过调用该库中的程序来完成相关操作。为了使DLL调用这个指令库,CPU内的cpu_loop函数进行了修改,同时又在boshs中的stubs库中扩展了CPU功能。
关键词:虚拟实验平台;IA32逻辑功能;仿真;封装;移植
目录
论文总页数:24页
1 概述 1
2 需求分析 1
2.1 虚拟实验台中的CPU仿真 1
2.2 采用VC为开发工具 2
2.3 实验台器件需封装成DLL 2
2.4 CPU的核心功能采用移植bochs 2
3 相关知识介绍 2
3.1 CPU虚拟化技术 2
3.2 VC++6.0及MFC介绍 3
3.3 动态连接库 DLL 3
3.4 bochs介绍 3
3.4.1 BX_CPU_C的数据成员 4
3.4.2 BX_CPU_C 类对CPU工作流程的简易描述 5
3.4.3 基本内存系统 8
3.4.4 内存的访问 10
3.4.5 Bochs 时钟系统 10
4 具体移植实现 12
4.1虚拟实验平台统一的器件模型 12
4.2 CPU中可视化器件的设计 13
4.2.1 运算部件 13
4.2.2 寄存器组 13
4.3 CPU类的主要功能及实现方法 14
4.3.1 CPU核心功能采用调用bochs里的相关库来实现 14
4.3.2 修改cpu_loop 14
4.3.3 修改插槽库stubs 15
5 仿真效果 15
5.1 测试平台的外观 15
5.2 器件的显示 16
5.3 对器件引脚输入信号 17
结 论 17
参考文献 18
致 谢 19
声 明 20