简化的8088CPU逻辑功能的仿真实现毕业设计论文.doc
《简化的8088CPU逻辑功能的仿真实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《简化的8088CPU逻辑功能的仿真实现毕业设计论文.doc(58页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)简化的8088CPU逻辑功能的仿真实现论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期: 简化的8088CPU逻辑功能的仿真实现摘 要 “虚拟实验平台”主要采用以“软”代“硬”和“虚”、“实”结合的设计思路,强调实用性,以最大限度地仿真真实的实验环境。主要实现了“专用实验台”的虚拟化,将它“搬”到了“微机”的显示器上,而原有在微机上的实验操作环境和方法仍然保持不变。系统还提供必要的测试仪器和工具(如示波器等),以便在实验调试时能够对运行结果进行监视或测量,如输出电平或波形,这种虚拟的测试仪器和工具也在界面和操作方面做到了尽可能的逼真。本文介绍了该虚拟
2、试验平台的整体功能特点,主要介绍了8088CPU的结构,工作方式,以及如何用VC实现这些具体功能的编程方法。并加入了一些程序片段,对完成工作中遇到的困难也做了些总结。关键词:仿真试验平台;8088CPU;VC;封装;寄存器;移植 Implementation of simplified model 8088 CPUs Logic FunctionAbstractVirtual platform principal use soft to instead of hard and superficial, real combination of design ideas, emphasize pr
3、acticality, to maximize the simulation of the real environment. Major implementation of the exclusive Experimental Station, the virtual, it will be moved to the PC display, The original PC in the lab environment and methods remain unchanged. The system also provides the necessary test equipment and
4、tools (such as oscilloscopes, etc.) Experimental testing in order to be able to run when the results of surveillance or measurements, such as the output level or waveform, This virtual testing equipment and tools also interface and the operation done in a realistic as possible. This paper introduces
5、 the Virtual Test platform overall features, mainly on the structure of the 8088 CPU, work methods, and how to use VC these specific functional programming method. And the inclusion of some procedures footage completed work on the difficulties encountered also made some conclusion.Key words: virtual
6、 experement platform;8088CPU8; VC; encapsulation;register;port目录论文总页数:581页1 概述11.1课题背景及意义11.2项目介绍11.2.1虚拟化技术简介11.2.2 CPU虚拟化技术简介21.3项目要求22 VC+6.0的编程22.1 MFC编程22.2 DLL相关知识23 8088CPU介绍33.1. 概述33.2 8088CPU引线及其功能33.3 8088CPU的内部结构43.4 时序53.5 简化的8088CPU模型概述53.6移植bochs仿真实现8088CPU功能的基本思路74 Bochs介绍74.1 Bochs概
7、述74.2 类 BX_CPU_C 介绍74.2.1 主要的数据成员74.2.2 主要的成员函数84.3 BX_CPU_C 类对CPU工作流程的简易描述94.4 基本内存系统114.4内存的访问124.5 Bochs 时钟系统144.6 Bochs中断系统155 具体移植实现175.1 虚拟实验平台统一的器件模型175.2 CPU类的主要功能及实现方法175.2.1 修改cpu loop185.2.2 修改插库18结 论18参考文献19致 谢20声 明21简化的8088CPU逻辑功能的仿真实现1 概述1.1课题背景及意义过去当人们在开发一个项目时可能会遇到以下问题(1)经常苦于经费不足,缺少足够
8、的硬件开发板和完善的软件开发环境,相关的书籍对一些最新软件的分析还不够全面(2)高层次的软件设计和开发一般不用过多考虑底层硬件的实现细节,如果直接处于一具体的硬件环境下,在开发和研究中可能会陷入硬件的具体细节中不能自拔,而不能把精力放到高层次的软件设计和开发上。(3)如果硬件开发环境不太稳定(这种情况经常见到),且对身体的硬件不是很了解,则可能在排除问题上花费大量不必要的时间,所以人们利用仿真技术来解决这些问题以到达节约人力物力的目的。1.2项目介绍1.2.1虚拟化技术简介从1965年IBM在7044机上首次实现虚拟技术以来,这一名词对于计算机世界来说已经不是一个新名词。虚拟化是一个广义的术语
9、,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上。当我们尝试着理解虚拟技术时,首先必须要理解“虚拟”的概念。“虚拟”这个词最早来源于光学,用于理解镜子里的物体。现在,“虚拟”这个词已经经过演化,用来描述任何真实物体的模拟了,例如分区、虚拟机、虚拟内存、虚拟磁盘和虚拟现实。在讨论虚拟技术的时候,
10、使用“虚拟”这个词,是因为我们希望虚拟机看起来和工作起来都和真正的机器一模一样。这意味着,虚拟机并不是真正的机器,但是它能像真正的机器一模一样地工作。实际上,从原理上看,所有虚拟技术虚拟的是指令集。所有的IT设备,不管是PC、服务器还是存储,都有一个共同点:它们被设计用来完成一组特定的指令。这些指令组成一个指令集。对于虚拟技术而言,“虚拟”实际上就是指的这些指令集。虚拟机有许多不同的类型,但是它们有一个共同的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户可以访问的指令集。虚拟机把这些虚拟指令“映射”到计算机的实际指令集。虚拟化技术也与目前VMware Workstation等同样能达到虚
11、拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。按照虚拟层所处位置的不同,目前所有的虚拟技术大致可以分为硬件虚拟、逻辑虚拟、软件虚拟和应用虚拟四种类型。1.2.2 CPU虚拟化技术简介 CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简
12、化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。 虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。1.3项目要求综合运用以前所学的专业知识,设计开发一个简化的8088CPU功能模拟的演示软件;在设计与开发中,将CPU与存
13、储器整合在一起的模型,1.实现CPU的指令系统 2. 实现CPU的时序逻辑 2 VC+6.0的编程2.1 MFC编程MFC用类编写Windows应用程序的C+类集,以层次结构组织起来,其中封装了大部分Windows API函数和 Windows控件,而基础的虚拟平台就是在次基础之上而开发出的。使用MFC类库和Visual C+提供的高度可视的应用程序开发工具,可是应用程序开发变的更简单,开发周期极大地缩短,提高代码的可靠性和可重用性。它提供的类库对程序设计的高度抽象,使得程序员不用放在程序设计的具体细节上,而是对功能的扩展上,大大简化了开发工作。在开发过程中,我们所做的就是编写封装器件的程序,
14、由平台调用之来显示出控件,除了编写一些相关消息响应函数外,大部分工作由系统完成。2.2 DLL相关知识比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE 文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的 EXE 程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性
15、的单元测试。Windows 系统平台上提供了一种完全不同的较有效的编程和运行环境,你可以将独立的程序模块创建为较小的 DLL (Dynamic Linkable Library) 文件,并可对它们单独编译和测试。在运行时,只有当 EXE 程序确实要调用这些 DLL 模块的情况下,系统才会将它们装载到内存空间中。这种方式不仅减少了 EXE 文件的大小和对内存空间的需求,而且使这些 DLL 模块可以同时被多个应用程序使用。Windows 自己就将一些主要的系统功能以 DLL 模块的形式实现。3 8088CPU介绍3.1. 概述 8088是8080和8085的改进型,像8080和8085一样,它的指
16、令是以字节为基础构成的。它的性能的提高,主要依赖于采取了以下一些特殊措施。 1. 建立4字节的指令预取队列 2. 设立地址段寄存器 3. 在结构上和指令设置方面支持多微处理器系统 一般处理器与8088CPU处理器指令过程见图表1 图表 1 一般处理器与8088处理器指令执行过程对比(a)一般处理器指令执行过程;(b)8088处理器指令执行过程3.2 8088CPU引线及其功能 8088CPU是一块具有40条引出线的集成电路芯片,其各引出线的定义如图22所示。为了减少芯片的引线,有许多引线具有双重定义和功能,采用分时复用方式工作,即在不同时刻,这些引线上的信号是不相同的,其管脚引线如图表2。 图
17、表 2 8088处理器芯片引线图3.3 8088CPU的内部结构8088微处理器内部分为两个部分:执行单元(EU)和总线接口单元(BIU),如图表3所示。 图表 3 8088CPU的内部结构 8088处理器中的内部寄存器用户能用指令改变其内容的,主要是一组内部寄存器,其结构如图表4所示。 1)数据寄存器 8088有4个16位的数据寄存器,可以存放16位的操作数。 2) 指针寄存器 8088的指针寄存器有两个:SP和BP。SP是堆栈指针寄存器,由它和堆栈段寄存器一起来确定堆栈在内存中的位置。BP是基数指针寄存器,通常用于存放基地址,以使8088的寻址更加灵活。 3)变址寄存器SI是源变址寄存器,
18、DI是目的变址寄存器,都用于指令的变址寻址。 4)控制寄存器8088的控制寄存器有两个:IP,PSW。IP是指令指针寄存器,用来控制CPU的指令执行顺序。 图表 4 8088CPU的内部结构3.4 时序 在8088CPU中,CPU与内存或接口间进行通信,如将一个字节写入内存一个单元(或接口),或者从内存某单元(或某接口)读一个字节到CPU,这种读(或)写的过程称为一个总线周期。3.5 简化的8088CPU模型概述 本设计的设计目标是设计一个简化的8088CPU模型,要求模型体现8088CPU的主要功能,省略掉其很多繁琐的细节。基于此考虑,简化模型主要从如下几个方面对8088CPU作了简化:1
19、取消8088里的取指令、执行指令流水线2 取消8088里的指令预取对列3 取消8088里管脚的分时复用功能4 将存储器与CPU融合,简化存储器读写总线周期5 对8088的管脚也重新进行了设置。管脚设置如图表5所示,CPU内部功能结构如图表6所示: 图表 4简化8088CPU管脚分布 图表 5 简化8088CPU内部功能结构 3.6移植bochs仿真实现8088CPU功能的基本思路CPU指令系统和时序逻辑是本设计难点,而我们解决难点采取的办法是移植虚拟机bochs,它包含了8088下所有CPU指令的仿真函数实现。而且还专门预留了一个插槽库供扩展Bochs使用。Bochs很庞杂,也很少文献资料,了
20、解Bochs成为我们前期的工作。4 Bochs介绍4.1 Bochs概述Bochs是一个X86的模拟器,它可以模拟几乎所有类型的X86 CPU,包括16位,32位和64位(X86_64)。一个64位的X86可以看作是32位和16位X86的超集。X86_64的工作方式包括以下两类:1,IA-32模式:包括实模式,保护模式和虚拟8086模式三个子模式。2,IA-32e模式:包括长模式和兼容模式。在Bochs中,用BX_CPU_C类来模拟CPU,它支持上面提到的每一种模式。4.2 类 BX_CPU_C 介绍4.2.1 主要的数据成员char name64,代表CPU的名字。unsigned bx_c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简化 8088 CPU 逻辑 功能 仿真 实现 毕业设计 论文
链接地址:https://www.31ppt.com/p-3990588.html