资源描述:
《intel8086软件仿真器的设计与实现80096》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Intel8086软件仿真器的设计与实现80096Intel8086软件仿真器的设计与实现.txt本文由bear8899贡献pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。?50?系 统仿真学报1996年9月Intel8086软件仿真器的设计与实现北京计算机应用和仿真技术研究所,100854 贺红卫摘 要本文以软件仿真系统在航天、航空及其它领域的实际需求为背景,介绍了嵌入式软件仿真系统的工作原理,对其中一种层次化的软件仿真器模型进行了描述,并讨论了该模型在实现过程中遇到的一些关键
2、性技术问题。关键词 嵌入式系统 软件仿真器 建模引 言目前,以嵌入式微处理器为核心的嵌入式计算机系统得到了越来越广泛的应用。特别是集中了高、精、尖技术的航天控制领域更是如此。因而,迫切需要一整套完备的手段来支持嵌入式软件的设计开发工作。lator)为核心。这类开发手段存在以下缺陷:制无法并发进行。往往是软件研制滞后于硬件系统开发的过程。开发效率,也无法满足航天系统软件所要求的高质量与高可靠性。的是要提高技术人员对系统软件的开发和调试效率,对嵌入式软件的分析设计、编码 调试、测试分析、可靠性评估和维护等各阶段提供强有力的支持,
3、从根本上保证软件的质量,提高嵌入式软件的可靠性与安全性。嵌入式软件全过程支持环境是以软件仿真器为核心。软件仿真器是用软件的手段对运行嵌入式应用而,可以在没有真实硬件环境的情况下,实现程序的仿真运行。软件仿真器技术的引入,有着它存在的价值:程序所需的特定硬件环境(包括CPU芯片,内存及其它外围硬件设备)及其活动进行描述(仿真)。进发。它完全脱离具体的硬件限制,提高了系统开发效率,相对减少了一些不必要的额外开销。态。本文收稿日期:1995-10-31当前国内常用的嵌入式软件开发系统大多基于在线仿真的原理,以在线仿真器ICE(In
4、CircuitEmm2(1)在嵌入式硬件系统实现之前,应用软件无法进行开发调试工作。即嵌入式软件、硬件系统的研(2)嵌入式系统在软、硬件综合调试中,软件和硬件的错误难以分离,难以定位。(3)缺乏有效的测试手段,特别是基于白盒测试原理的测试技术难以实施。(4)对于嵌入式软件质量与可靠性的评估缺乏量化手段。由于客观上存在着这些不可克服的缺陷,尚用旧有的技术,而无新技术的引入,将直接影响软件的在此背景下,为了支持航天系统软件研制的工作,而开发了嵌入式软件全过程支持环境。开发的目(1)在宿主机上即能仿真目标机(嵌入式计算机)环境的软
5、、硬件特性,支持嵌入式应用程序的开(2)可以对整个嵌入式系统的正确性进行验证。辅助硬件、软件系统设计论证工作的完成。(3)便于工程技术人员在对软件进行调试、测试过程中,控制与分析应用程序运行及仿真环境的状8卷3期贺红卫等:Intel8086软件仿真器的设计与实现51? 本文将以通用芯片Intel8086软件仿真器的设计实现为例,介绍一种结构化仿真器的设计思想。采用结构化方法研制仿真器的意义在于,使多种芯片仿真器的开发过程具有相似性,提高开发该类软件程序代码的重用度和研制效率。11一个层次化结构仿真器的设计置,即内存、寄存器
6、、I/O机制和中断机制。序控制和处理器控制),包含133条基本指令。点。段得以再现。我们通过研究8086芯片编程结构和微机的基本组成结构,确定了需要仿真的硬件环境配寻址和基地址加变址寻址),实现了六大类的指令功能(即数据传送、算数运算、逻辑运算、串操作、程由此可见,8086指令系统内容丰富有效,六种寻址方式加强了指令系统的灵活性。由于系统具有多种功能,指令类型多,因而能处理多种类型的数据和很强的寻址能力。这些成为8086芯片在飞行控制、工业控制和家电控制等实时嵌入式应用领域得以广泛应用的优势,也成为设计8086仿真器过程中的
7、难111 需要仿真的硬件环境112 系统数据流图在宿主机上要达到实现仿真目标机功能的要求,就必需使得目标机的一些硬件及其活动用软件的手系统的数据流图,如图1所示。图1 系统数据流图113 8086仿真器的总体结构11311 8086指令系统概况8086指令系统支持六种寻址方式(即立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址?52?系 统仿真学报1996年9月持。这种分层式的结构是针对于8086这类CISC芯片指令系统的特点(即指令系统复杂,格式灵活多样等)而开发设计的。这样有利于仿真器自身故障的检查,也有利
8、于庞大指令系统的维护。每层的动作对应于数据流图中的处理逻辑。上层通过规范化的数据结构同下层发生关系,下层通过这种结构为上层提供服务。仿真器各层间的接口具有标准化和透明性。操作的虚拟硬件是一种数据结构,这种数据结构应真实反映被仿真的硬件功能,而不依赖于具体实现时硬件的限制,可以嵌入到不同宿主