资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
IA32逻辑功能仿真实现摘要本设计是一个对IA32PU模拟并动态演示的设计,它应用了V6.0的F开发出的一个仿真硬件的虚拟实验平台,该平台为我们提供了一个对各类硬件定义与实现功能的标准,根据标准我们将PU、主存等硬件设计成抽象的器件类,并将其封装成随时供平台调用的动态链接库。DLL库中包含了对PU模型设计,我们通过移植虚拟机Bhs下的PU库来实现核心功能。PU核心功能采用调用bhs里的相关库来实现,因此我们将虚拟机bhs中的PU指令库移植到设计中,并将它封装成一个静态库,器件类可通过调用该库中的程序来完成相关操作。为了使DLL调用这个指令库,PU内的pu_lp函数进展了修改,同时又在bshs中的stubs库中扩展了PU功能。关键词:虚拟实验平台;IA32逻辑功能;仿真;封装;移植概述随着计算机技术的迅猛开展,越来越多的电子器件被开发出来,PU、主存等硬件的功能更加强大、构造更加复杂,为了更方便地理解硬件的工作时序和逻辑功能,人们开场采用虚拟技术来仿真硬件的工作时序和逻辑功能。计算机仿真技术是以多种学科和理论为根底,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。计算机仿真模拟早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。其原理可追溯到1773年法国自然学家G.L.L.Buffn为估计圆周率值所进展的物理实验。根据仿真过程中所采用计算机类型的不同,计算机仿真大致经历了模拟机仿真、模拟数字混合机仿真和数字机仿真三个大的阶段。20世纪50年代计算机仿真主要采用模拟机;60年代后串行处理数字机逐渐应用到仿真之中,但难以满足航天、化工等大规模复杂系统对仿真时限的要求;到了70年代模拟数字混合机曾一度应用于飞行仿真、卫星仿真和核反响堆仿真等众多高技术研究领域;80年代后由于并行处理技术的开展,数字机才最终成为计算机仿真的主流。如今,计算机仿真技术已经在机械制造、航空航天、交通运输、船舶工程、经济管理、工程建立、军事模拟以及医疗卫生等领域得到了广泛的应用。2需求分析2.1虚拟实验台中的PU仿真计算机技术、大规模集成电路技术和通讯技术的飞速开展,为虚拟实验的开展奠定了坚实的基矗虚拟实验就是在通用计算机上加载相应的软件或硬件,使得使用者在操作这台计算机时,就像是在操作一台专用的传统试验设备一样。在虚拟实验系统中,软件是整个系统的关键,任何以个使用者都可以通过软件的相关设置来到达要实现实验的效果。虚拟实验就是利用外部输入(如鼠标的点击、拖动和键盘的敲击等),将计算机上虚拟的各种仪器,按实验要求、过程,组装成一个完好的实验环境,同时在这个环境中完成实验操作,包括实验器材的添加、实验条件的改变、数据采集以及实验结果的模拟、分析。它包含了虚拟仿真技术、计算机技术、实验技术、网络技术与专业等多方面理论知识。该平台已经设计好了,我们的任务就是可以正确无误的使用它,使各自的设计在平台下正常显示出来。2.2采用V为开发工具Visual+是一款比拟好的面向对象的软件开发工具,使用次工具我们开发出了可视化虚拟的PU器件。2.3实验台器件需封装成DLL设计的PU器件以及这些器件的逻辑功能被封装成DLL,提供应实验平台使用。实验台可根据需要随时调用DLL来进展相关操作。2.4PU的核心功能采用移植bhs上述的DLL中PU器件逻辑功能是采用移植虚拟机bhs中PU库的指令系统来实现的。3相关知识介绍3.1PU虚拟化技术虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的根底上而不是真实的根底上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。PU的虚拟化技术可以单PU模拟多PU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在互相独立的空间内运行而互不影响,从而显著进步计算机的工作效率。虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,那么可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的PU或者是虚拟主机上;而超线程技术只是单PU模拟双PU来平衡程序运行性能,这两个模拟出来的PU是不能别离的,只能协同工作。虚拟化技术也与目前Varerkstatin等同样能到达虚拟效果的软件不同,是一个宏大的技术进步,详细表如今减少软件虚拟机相关开销和支持更广泛的操作系统方面。而PU的虚拟化技术是一种硬件方案,支持虚拟技术的PU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,V会很容易进步性能,相比软件的虚拟实现方式会很大程度上进步性能。虚拟化技术可提供基于芯片的功能,借助兼容V软件可以改良纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进展二进制转换,减少了相关的性能开销,极大简化了V设计,进而使V可以按通用标准进展编写,性能更加强大。3.2V+6.0及F介绍随着多媒体技术和图形图象技术的不断开展,可视Visual技术得到广泛的重视,越来越多的人开场研究并使用可视化技术。Visual+是一个很好的可视化编程工具,使用它开发基于inds的应用程序大大缩短了开发时间,而且它的界面友好,便于程序员操作。F用类编写inds应用程序的+类集,以层次构造组织起来,其中封装了大局部indsAPI函数和inds控件,而根底的虚拟平台就是在次根底之上而开发出的。使用F类库和Visual+提供的高度可视的应用程序开发工具,可是应用程序开发变的更简单,开发周期极大地缩短,进步代码的可靠性和可重用性。它提供的类库对程序设计的高度抽象,使得程序员不用放在程序设计的详细细节上,而是对功能的扩展上,大大简化了开发工作。在开发过程中,我们所做的就是编写封装器件的程序,由平台调用之来显示出控件,除了编写一些相关消息响应函数外,大局部工作由系统完成。3.3动态连接库DLL动态连接库DLL是DynaiLinkLibrary的缩写形式,动态链接库(DLL)是作为共享函数库的可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。动态链接库是一个可以被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。由于DLL代码使用了内存共享技术,在某些地方inds也给了DLL一些更高的权限,因此DLL中可以实现一些一般程序所不能实现的功能,如实现inds的HK、ISAPI等DLL被某个工程调用,编译后仍是独立的。编译后,一个DLL库形成一个单独的可执行文件,而不与任何其它的可执行文件连接在一起,因此DLL库并不附属于某个特定的工程,当多个工程调用同一个DLL库时只有第一个工程把DLL库调入内存,其余工程并不重复调入同一个DLL库到内存,而是到同一个共享内存区读龋并且,DLL的执行代码是在程序运行期间动态调入的。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号