(计算机应用技术专业论文)基于v850ms1硬件系统模拟器的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于v850ms1硬件系统模拟器的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于v850ms1硬件系统模拟器的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于v850ms1硬件系统模拟器的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于v850ms1硬件系统模拟器的研究与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)基于v850ms1硬件系统模拟器的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕士学位论文摘要 摘要 近年来,电力电子嵌入式系统发展迅速,产生了很多芯片开发商,日本n e c 公司的v 8 5 0 系列处理器在电力电子、汽车电子、工业控制等领域都有着广泛的 应用,而随着嵌入式芯片的不断成熟,对于电力电子软件的要求不断提高,其中 缩短软件开发周期和保证系统开发的安全性变得尤为重要;另一方面模拟技术不 断发展,已经从一些实际实验难以实现的领域快速发展到了电力电子嵌入式系统 领域。 模拟技术是嵌入式软件开发的重要组成部分。模拟技术应用于嵌入式软件开 发的特点是能够模拟真实环境,开发和调试平台一致,人们可以利用模拟技术改 善软件开发流程和保证软件的安全性,从而缩短产品开发周期。电力电子领域的 系统具有实时性强和精度高的特点,现有的模拟技术没有在这两块所特点的研 究。 基于v 8 5 0 e m s l 处理器,本文研究和设计了适合v 8 5 0 e m s l 体系的模拟器架 构。该模拟器架构采用指令周期概念,解决了模拟硬件系统各部件同时运行的机 制。然后针对v 8 5 0 e m s l 模拟器架构的两大部分,内核和外设的模拟分别进行了 研究,提出了周期精确的基于缓存的指令集模拟技术,同时提高了模拟运行速度 和精度,还实现了存储机制、中断机制和外设机制的模拟,并在此基础上完成了 一个v 8 5 0 e m s l 模拟器。接着,对实现的模拟器进行了功能和性能的测试,分析 了模拟器的速度和精度与真实环境的差别。v 8 5 0 e m s l 模拟器的实现为高效丌发 电力电子嵌入式软件奠定了很好的基础。 关键词:v 8 5 0 m s i ,指令集模拟器,周期精确,缓存机制 浙江大学硕上学位论文a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ep o w e re l e c t r o n i c si n d u s t r y , m a n yc o m p a n i e sh a v e r e s e a r c ht h ec h i pf o rt h i sf i e l d n e cc o r p o r a t i o n sv 8 5 0s e r i e sc h i ph a sw i d e l y a p p l i c a t i o ni np o w e re l e c t r o n i c s ,a u t o m o t i v ee l e c t r o n i c s ,a n di n d u s t r i a lc o n t r 0 1 a n d t h es o f t w a r ed e v e l o p m e n tf o rp o w e re l e c t r o n i c sm u s tm e e tt h en e e d so fm a r k e ta st h e c h i p si m p r o v e m e n t ,e s p e c i a l l yi na b o u tc u t t i n gd o w nt h ed e v e l o p m e n tp e r i o da n d s e c u r i t yi nd e v e l o p i n g o nt h eo t h e rh a n d ,b yt h ec o m p u t e rp e r f o r m a n c e s r e i n f o r c e m e n t ,s i m u l a t i o nt e c h n i q u ee x t e n d sf r o mf e wf i e l d st h a tc a n td ot h e e x p e r i m e n ti nr e a le n v i r o n m e n tt ot h ei tf i e l d s i m u l a t i o ni st h em a j o rp a r to ft h ee m b e d d e ds o f t w a r ed e v e l o p m e n t p e o p l ec o u l d d e v e l o pa n dd e b u gt h ep r o g r a mb o t hi nt h es a m ep l a t f o r mt oi m p r o v et h ed e v e l o p m e n t p r o c e s sa n de n s u r et h es e c u r i t y b u tb a s e do nt h er e a l t i m ea n dp r e c i s i o ni np o w e r e l e c t r o n i c sf i e l d ,t h ee x i s t i n gs i m u l a t i o nd o e s n tf o c u so ni t a tf i r s t ,t h i s p a p e rr e s e a r c h e sa n db u i l d st h ev 8 5 0 e m s 1s i m u l a t i o ns y s t e mt h a t s o l v i n gt h eh a r d w a r e ss y n c h r o n i z a t i o ni nr u n n i n gb yb r i n g i n gi ni n s t r u c t i o np e r i o d a n ds i m u l a t i o ne f f i c i e n c y a n dt h e nt h ep a p e rr e s e a r c h e st h ec o r es i m u l a t i o na n d p e r i p h e r a li os i m u l a t i o n t h ei n s t r u c t i o ns e t sr e s e a r c hi nc o r es i m u l a t i o ni m p r o v et h e s i m u l a t i o ns p e e da n dp r e c i s i o nb yu s i n gan e wm e c h a n i s mt h a tw ec a l l e di tc a c i s s a n dw ea l s os i m u l a t et h em e m o r ys y s t e m ,i n t e r r u p ts y s t e ma n dp e r i p h e r a ls y s t e mt o a c h i e v eav 8 5 0 m s1s i m u l a t o r t h e nw ee v a l u a t et h es i m u l a t i o nt e c h n i q u ei ns p e e d a n dp r e c i s i o na n dm a k et h es i m u l a t o r a p p l y t ot h ev 8 5 0 e m s1 i n t e g r a t e d d e v e l o p m e n t t h ei m p l e m e n t a t i o no fv 8 5 0 e m s 1s i m u l a t o rh a sm o r em e a n i n gw i t h t h ep o w e re l e c t r o n i c ss o f t w a r ed e v e l o p m e n t k e y w o r d s : v 8 5 0 e m s1 ,i n s t r u c t i o n s e ts i m u l a t i o n ,c y c l ep r e c i s i o n ,c a c h e 浙江大学硕卜学位论文图目录 图目录 2 1 不同层次模拟技术5 2 2t y p e i 和t y p e l i 体系结构6 2 3 解释型模拟过程8 2 4 静态编译型模拟过程9 2 5 动念编译型模拟过程9 3 1 性能与功耗的关系1 7 3 2v 8 5 0 e m s l 内部结构图2 0 3 3v 8 5 0 e m s l 线性地址空j 日j 2 2 3 4 物理地址镜像2 2 3 5 内存映射图一2 3 3 6 总体框架2 7 3 7 动态架构2 8 3 8 基于效率的动态架构2 9 4 。lc a c i s s 工作流程图3 4 4 2 缓存机制3 5 4 39 6 k br o m 结构3 7 4 41 2 8 k br o m 结构3 8 4 5 中断工作流程图3 9 4 6 中断建模4 0 4 7t r i g g e r i n t e r r u p t 0 的流程图4 1 4 8c h e c k i n t e r r u p t 0 的流程图4 2 4 9p r o c e s s i n t e r r u p t 0 的流程图4 2 5 1 内存映射机制4 3 5 2t i m e r1 4 4 1 ;3t i m e r4 4 5 5 4t i m e rl 实现流程4 6 5 5t i m e r4 实现流程图4 7 5 6 数据格式4 8 5 7 串口发送数据5 0 5 8 串口接收流程图5 1 6 1 功能测试流程图5 2 6 2 框架优化5 3 6 3 缓存机制5 4 6 4 精度比较5 5 6 5 集成丌发崩:境框图5 6图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图 浙江大学硕士学位论文 图目录 图6 6 实现展示1 5 6 图6 7 实现展示2 5 7 i v 浙江大学硕:仁学位论文表目录 表目录 表2 2 各种模拟器比较l3 表3 1v 8 5 0 性能数据1 6 表3 2 通用寄存器集2 1 表3 3 系统寄存器集2 l 表4 1 指令格式3 2 v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得逝望盘堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文作者签名: 签字同期:年月同 学位论文版权使用授权书 本学位论文作者完全了解逝望盘堂 有权保留并向国家有关部门或机构 送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权逝姿盘堂可 以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:导师签名: 签字同期:年月同 签字f _ f 期:年月r 浙江大学硕+ 学位论文 第l 章绪论 第1 章绪论 1 1 引言 早在上世纪6 0 年代,美国的计算机学术界就开始提出了模拟技术。1 9 5 9 年 克里斯托弗( c h r i s t o p h e rs t r a c h e y ) 发表的一篇名为大型高速计算机中的时 间共享( t i m es h a r i n gi nl a r g ef a s tc o m p u t e r s ) ,提出了模拟的基础概念, 这篇文章被认为是最早对于模拟技术的论述。 2 0 世纪4 0 年代末,伴随着计算机技术的发展,系统模拟逐步成为- - 1 7 新兴 学科。随着计算机性能的不断提高,人们利用模拟技术在计算机上建立实际系统 模型并利用所见的实际模型对实际系统进行实验研究。最初,模拟技术主要用于 航空、航天等价格昂贵、周期长、危险性大、实际系统实验难以实现的少数领域, 后来逐步发展到电力、石油等一些主要工业部门,并进一步扩大到信息技术领域, 尤其是嵌入式系统领域。, 电力电子技术不断发展,由于嵌入式芯片和嵌入式操作系统技术的越来越成 熟,电力电子领域基于嵌入式系统的应用软件开发速度也相应加快,模拟技术发 挥着重要的作用,其用途包括真是硬件的廉价替代方案,模拟异构计算机以客服 移植性问题,硬件设计和系统设计平台,衔接丌发平台以及应用平台开发的调试 工具。 同本n e c 公司推出的v 8 5 0 系列芯片是一款新型的3 2 位精简指令集的处理器, 它具有高性能、高可靠性和高安全性的特点,外设丰富,有专门控制仪表板的步 进电机和l c d 驱动;有控制马达的p 1 】i m 外设,u s b ,c a n 等等,被广泛应用到电力 电子,d a v 消费电子,医疗仪器和工业控制等方面,并且适合生产线的大规模生 产操作。 本文的硬件系统模拟器就是基于n e cv 8 5 0 系列中的一款v 8 5 0 e m s l 处理 器的,它加速了基于该处理器的软件丌发,为嵌入式系统的产品化提供了强大的 推动力。 浙江大学硕上学位论文第l 章绪论 1 2 研究背景 随着嵌入式系统的兴起和其相关产业的高速发展,嵌入式处理器计算能力越 来越强,外围接口也越来越多,嵌入式处理器以及软件的设计者需要设计同渐负 责的嵌入式系统,同时需要保证上市时间,尽可能缩短产品生命周期,这就要求 产品具有广阔设计空间并能有效验证产品的功能呻1 。 而嵌入式系统的软件丌发流程,通常是在计算机上编写程序,然后通过交叉 编译转化成目标机上运行的二进制代码后,通过通讯接口烧写到目标机上,最后 在目标机上运行。这个流程的缺点在于调试,对于一些实时性要求很高的嵌入式 系统,程序在运行过程中,是不允许中断的,这给调试带来了很大的困难,而且 基于嵌入式系统的程序硬件环境不一样,很难单独在计算机上调试,这些大大限 制了软件丌发周期的缩短。而硬件系统模拟器的优势在于,在计算机上完成丌发 和调试,可以大大减少软件开发周期;在模拟器中运行软件,可以非常方便的获 得关于软件运行的各种动态信息,有助于软件开发者评估、调试和改进软件,同 时大大降低了在调试过程中损坏硬件的j x l 险。b r e w 、s y m b i a n 等嵌入式平台都提 供了模拟器给应用开发者。 而n e cv 8 5 0 系列处理器在汽车电子、电力电子、消费电子、医疗仪器和 工业控制领域都有着广泛的应用,基于v 8 5 0 系列处理器的应用软件层出不穷, 为了适应快速变化的应用环境,软件开发人员需要加速应用软件的丌发。在计算 机硬件强大性能的前提下,如何降低系统成本、提高系统资源利用率、降低管理 成本、如何提高安全性和可靠性、增强可移植性以及提高软件开发效率成为各个 芯片丌发商提供开发平台所关注的重点。 1 3 研究的意义和目的 目前许多用户、操作系统供应商和丌发工具公司都提供了对n e cv 8 5 0 处理 器的支持。现在支持v 8 5 0 处理器的操作系统主要是l ib u x ,编译器主要是g c c , 丌发平台主要山n e c 和g r e e nl t ill 等提供。这些丌发平台提供的环境虽然能够 浙江大学硕上学位论文第l 章绪论 辅助开发和设计,但由于没有相应硬件系统模拟技术的支持很难从根本上限制了 软件开发效率的提高,从而将限制v 8 5 0 处理器在市场上的进一步推广和发挥v 8 5 0 处理器的性能优势。 这对于v 8 5 0 系列处理器的发展是极为不利的,所以急需要在开发环境上做 出改善,而v 8 5 0 e m s l 处理器作为该系列高性价比的代表,开发一个基于v 8 5 0 m s l 硬件系统的模拟器变得非常迫切。 1 4 论文组织 本文的论文组织结构如下所示: 第1 章主要介绍硬件系统模拟技术的研究背景和现状,以及v 8 5 0 e m s l 处理 器的一些简单知识。 第2 章主要研究介绍硬件系统模拟器的概念,包括体系结构和相关技术等, 以及介绍一下目前主流的模拟器的各自优缺点等,并分析未来硬件系统模拟技术 的发展。 第3 章主要研究介绍v 8 5 0 e m s l 体系结构以及相关外设工作原理及特点;研 究和设计了模拟器框架。 第4 章研究了v 8 5 0 e m s l 的内核模拟技术,主要包括指令集模拟、存储系统 模拟和中断系统模拟。 第5 章研究了v 8 5 0 e m s l 的外设模拟技术,主要包括外设运行机制、计时器 和串口的模拟。 第6 章针对本文实现的模拟器,进行的功能和性i i i i 评。 第7 章总结了丌发一个硬件系统模拟器的经验,并提出了一些该模拟器进一 步研究的思路。 浙江大学硕士学位论文 第2 章硬件系统模拟技术研究综述 第2 章硬件系统模拟技术研究综述 2 1 硬件系统模拟技术介绍 2 1 1 硬件系统模拟技术概念 要了解什么是硬件系统模拟技术,首先必须要了解什么叫模拟。 根据图灵理论,任何一个操作环境都可以被其他一个操作环境所模拟。 w i k i p e d i a 是这样定义模拟( s i m u l a t i o n ) 的概念的:“模拟是对于真实事物、事 务或者进程的本身或者状态的模仿,模拟这种行为通常需要描绘被选择的物理或 者抽象系统的关键特性或者行为”( s i m u l a t i o ni st h ei m i t a t i o no fs o m er e a l t h i n g ,s t a t eo fa f f a i r s ,o rp r o c e s s t h ea c to fs i m u l a t i n gs o m e t h i n g g e n e r a l l ye n t a i l sr e p r e s e n t i n gc e r t a i nk e yc h a r a c t e r i s t i c so rb e h a v i o r s o fas e l e c t e dp h y s i c a la b s t r a c ts y s t e m ) 。知道了模拟的概念之后,我们 就可以很轻松的定义模拟器的概念,模拟器就是包含一系列特定模拟行为以及这 些行为之间相互关系的集合体。 硬件系统模拟器就是在计算机科学领域内,通过一个硬件系统模拟另一个硬 件系统的所有功能和设备,以至于第一个系统可以表现出第二个系统的行为的模 拟器。 2 1 2 硬件系统模拟技术发展和特点 近年来,模拟技术给丌发和应用带来了很多的便利,已经逐渐成为人们关注 的热点,正受到越来越多的关注和重视,如v m w a r e 已经被8 0 以上的全球百强企 业所采纳。随着多年来研究的深入,模拟技术已经在企业计算、灾难恢复、分布 式计算机和系统安全领域得到了广泛应用。 模拟技术的本质特征是利用下层应用的支持为上层应用提供不同的接口,因 此按照接口来分类应该更能够反映模拟技术的特点。根掘模拟技术对上层应用所 提供接口的不同,形成了不同层次的模拟技术,主要包括编;f 呈语言层模拟、应用 程序编程接口( a p i ) 层模拟、操作系统层模拟和硬件层模拟,如图2 1 所示。 浙江大学硕上学位论文第2 章硬件系统模拟技术研究综述 语言模拟指令集 厂传统软件运行环境、 i i i。 l 。用户进程+ ? : 莨编程髂层模拟4 习誊i i , 气1 1 , 罕, i , 用户态a 卓 厂操作系统用尸态运自 毽“蒜模拟1 习景i 萎i 翻i: 眩行库j 遮 操作系统 j 一f 震一层模亍j 李 辛令: l _ 警蛩季统一山t o 缈孳层够。,j h 7 图2 1 不同层次模拟技术 编程语言层模拟:此列模拟通过解释或者即时编译技术( j u s t - i n - t i m e ,j i t ) 来运行语言虚拟机指令,从而实现软件的跨平台特性。 应用程序编程接口层模拟:此类模拟为上层应用程序提供了特定操作系统运 行环境的模拟,但这种模拟并不是对处理器指令的仿真,而是模拟实现该操作系 统的各类用户态a p i 。 操作系统层的模拟:通过在动态复制操作系统环境,此类模拟能够创建多个 模拟运行容器,而对运行在每个容器之上的软件而言,此类模拟技术均提供了一 个完整的操作系统运行环境,而它与上层软件的接口即为系统调用接口。 硬件层的模拟:对上层软件( 即客户操作系统) 而占,硬件层的模拟构造了 一个完整的计算机硬件系统,这种模拟技术与客户操作系统的接口即为处理器指 令。 由于本文的研究是硬件层的模拟,所以详细讲述一下硬件层的模拟: 早在上世纪7 0 年代,i b ms y s t e m 3 6 0 3 7 0 等系统就已经实现了硬件层的模拟 技术,它最初是为了弥补系统架构上的不足而发展起来的,但是随着技术的发展, 硬件层模拟在隔离功能和安全控制方面得到了长足的发展和广泛应用心1 。 硬件层模拟技术一般分成四类,第一类是硬件抽象层模拟技术,就是利用客 户系统环境和宿主主机平台的相似性来减少执 j :客户系统指令的延迟;第二类是 基于软件模拟指令集方式实现的模拟技术( i s s ,f n s t r u c t i o n - s e ts i m u l a t i o n ) 。 气 浙江大学硕士学位论文 第2 章硬件系统模拟技术研究综述 ( 1 ) 硬件抽象层模拟技术 硬件抽象层模拟技术是通过在现有平台( 裸机或者操作系统) 上增加一个虚 拟层v 瑚( 虚拟机监视器v i r t u a lm a c h i n em o n i t o r ) 作为隔离代码运行环 境的中间层来实现的。v m m 提供了一个物理机器的抽象,它允许操作系统假设自 身可以直接在硬件上运行,v m m 为其上的运行和客户操作系统提供了硬件映射。 从操作系统的角度看,运行在虚拟机上和运行在其对应的物理计算机系统上是一 样的。 按照g o l d b e r g 的定义1 ,v m m 能够为计算机系统创建高效、隔离的模拟环境, 在模拟环境中的处理器的指令集的一个子集能够直接在物理处理器上执行。v m m 有两种模型h 1 ,如图2 2 所示。 r - 飞厂1 i 操作系统 。ll 操作系统 l e 巫口e 圃 亘习 田 四 田匝巫巫三固 匝t y p e 巫巫亟( 固t y p e vmm 二二亟 l i 虚拟机监视器i) il 操作系统 l - - - - - - _ - - _ - - _ _ - _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ - _ _ - _ - _ - _ - - - _ - - _ _ _ _ _ _ _ _ _ _ _ _ - _ - _ - ,- - _ - - - - l - _ _ _ _ - _ _ _ _ _ _ _ - _ - - - _ _ _ _ _ _ _ _ - _ _ _ _ _ _ - _ l _ - _ _ - _ _ - - _ _ _ _ _ _ - _ _ - _ _ , 二j 赢f 可磊f 图2 2y y p e l 和t y p e l i 体系结构 t y p e iv m m 在操作系统之前预先安装,然后在此虚拟机监视器之上安装客户 操作系统,它可以在硬件支持下拥有最佳性能;t y p e i iv m m 则安装在已有的主机 操作系统之上,此类v m m 通过宿主操作系统来管理和访问各类资源( 如文件和各 类i 0 设备等) 。 从实现的角度,v m m 实现了从虚拟资源到物理资源的映射,并且利用实际的 计算机系统来做计算,当客户操作系统通过特权指令访问关键系统资源时,v m m 将接管其请求,并进行相应的模拟处理。为了使这种机制能够有效地工作,每条 特权指令的执行都需要产生自陷( t r a p ) 以便v m m 能够捕获该指令,从而使得v m m 6 浙江大学硕1 :学位论文第2 章硬件系统模拟技术研究综述 能够进行相应的指令模拟执行。v m m 通过模拟特权指令的执行,并返回处理结果 给指定的客户虚拟系统的方式,实现了不同虚拟机的运行上下文保护与切换,从 而能够虚拟出多个硬件系统,保证了各个客户虚拟系统的有效隔离。 然而,i n t e lx 8 6 体系结构的处理器并不是完全支持虚拟化的啼1 ,因为某些 x 8 6 特权指令在低特权级上下文执行时,不能产生自陷,导致v m m 无法直接捕获 特权指令的执行。 ( 2 ) 基于软件模拟指令集的模拟 基于软件模拟指令集方式实现的模拟技术主要是通过翻译客户操作系统发 出的指令,将其翻译成宿主机平台的指令进行执行,模拟的部分主要包括处理器、 内存、总线、硬件控制器、时钟和各种i o 设备。由于i s s 模拟技术可以完全模 拟一台真实机器,这种实现方式的好处在于,分离了操作系统和硬件平台的绑定 关系。 i s s 可以给硬件研究者提供辅助开发;另一方面,软件开发人员也可以在i s s 上进行软件开发、调试,而不需要等待实际硬件的是实现。i s s 作为系统设计和 实现过程中必要的丌发工具,在进二十年来受到了国内外学者的关注,并得到了 迅速的发展。它不需要硬件提供技术支持,可移植性强,兼容性好;最大的不足 性能问题,也随着计算机处理能力的快速加强而有了很大的改善1 。本文所研究 的模拟技术,就是采用这种思想的。 2 2i s s 模拟技术研究分析 2 2 1i s s 模拟技术发展现状 i s s 模拟技术的演化成了两个技术,解释型i s s 模拟技术和编译型模拟技术; 随后为了结合解释型模拟技术支持任意应用程序的特性以及传统编译型模拟技 术的性能优势,体系结构研究者采用了很多技术,比如即时缓存编译模拟技术 ( j i t c c s ,j u s t - i n - t i m ec a c h ec o m p i l e ds i m u l a t i o n ) 和指令集编译模拟技 术( i s c s ,i n s t r u c t i o ns e tc o m p i l e ds i m u l a t i o n ) 。 另外,十处理器种类众多,模拟技术是否支持可移植性,成为了衡量模拟 7 浙江大学硕上学位论文第2 章硬件系统模拟技术研究综述 技术品质的重要特性。可移植性的意思,就是说计算机程序可以支持多种目标处 理器工作。之后,为了降低对i s s 模拟技术这样复杂软件编码、调试及维护的难 度。 2 2 2i s s 典型模拟技术分析 为了平衡速度、模拟正确性、可移植性等特点,研究人员开发出了各种模拟 技术,下面就简要介绍几种典型的i s s 系统。 2 2 2 1 指令精确的模拟技术( i a - i s s ,i n s t r u c t i o na c c u r a t ei s s ) 指令精确的模拟技术主要对包括寄存器、寻址方式、指令集定义在内的处理 器指令集体系结构设计进行研究和验证,通常可以分成两类,解释型模拟技术和 编译型模拟技术。 ( 1 ) 解释型模拟技术( i n t e r p r e t a ti o n b a s e di s s ) 7 1 解释型模拟技术的模拟过程如图2 3 所示:在程序存储器中,通过p c 寄存 器去取当前指令,然后进入译码阶段,通常是将二进制代码转换成模拟器能够执 行的代码,最后进入执行阶段,执行完之后,又重新进入取指阶段开始循环。这 样的工作流程使得该模拟技术具有高度的仿真精确度,但是由于译码的复杂使得 其运行速度很慢。 图2 3 解释型模拟过科 ( 2 ) 编译型模拟技术( c o m p i l a t i o n b a s e di s s ) 州9 3 由二】i 解释犁模拟技术的译码在模拟过程当中非常耗时。译码即通过讲每条目 标指令转换为一系列宿主机指令,这些指令完成对宿主机中所模拟的目标机状念 浙江大学硕上学位论文第2 章硬件系统模拟技术研究综述 的操作。编译型模拟技术则将译码这个过程放在编译或者运行时来进行,来降低 模拟器运行时的耗时,主要划分为静态编译模拟技术( s t a t i cc o m p i l a t i o ni s s ) 和动态编译模拟技术( d y n a m i cc o m p il a t i o ni s s ) 。 静态编译模拟技术n 伽将应用程序的译码移到了编译时,如图2 4 所示,目标 应用程序的二进制码编译为模拟器可以执行运行的程序,之后生成宿主机的二进 制码,并最终运行于宿主机上。 ,、厂、厂、 一、 一生成b 序二进制码 目标应用程 编译、 d e c o d e d 程宿主应用程 序二进制码 弋兰广 序 墨 图2 4 静态编译型模拟过程 该技术主要的限制主要在于运行的程序代码必须要是静态的,对于需要加载 动态链接库的应用程序而言就无用了,因为程序代码是在运行时是动态加载的, 这局限了静态编译模拟技术的使用。 动态编译模拟技术1 则是将解释型模拟技术和静态编译模拟技术作了有效 的结合,其工作流程如图2 5 所示,关键点是在运行过程中将已经译码过的模拟 器可直接执行指令存储在缓存中,之后遇到已经译码过的指令,则直接运行缓存 中的指令即可。 图2 5 动态编泽巧! 模拟过稃 2 2 2 2 时钟精确的模拟技术( c a - i s s ,c y c l ea c c u r a t ei s s ) 9 浙江大学硕十学位论文第2 章硬件系统模拟技术研究综述 时钟精确的模拟技术是最小周期精确到时钟单位的模拟技术,可以充分体现 处理器的时序特性,这就需要对流水线、c a c h e 和总线等进行模拟。c a s 主要解 决的问题是不仅保证了程序的正确执行,而且还精确地刻画了处理器各部分在每 个时钟周期的行为。如果处理器具有并行特性,那么它必须能够在每个周期“并 行地”对多个不同的指令进行取指、译码和执行等操作,并且对异常情况例如中 断处理的操作也要具有周期的特性。但是c a s 运行速度慢,开发困难大n 刳。 2 2 2 3 体系结构描述语言( a d l ,a r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e ) 编写周期精确的模拟器很难,流水线、m m u 等都是极为复杂的,若要手动编 写模拟器时的难度相当高。另一方面,随着嵌入式处理器类型的增多,可移植性 的要求也更高。鉴于此,体系结构研究者开发了领域专用语言,用于描述系统结 构,系统结构的规格说明可用于生成一系列的软件,如编译器、汇编器、模拟器 以及调试器。常用的机器描述语言主要有n m l 口3 。,i s d l 4 3 和l i s a n 5 1 等。 a d l 级模型的优点是精度高,能够进行功能和时序模拟,缺点是模拟速度慢, 软件调试困难。i s s 是处理器的行为级模拟,可以采用高级语言实现,具有建模 简单、模拟速度块、便于软件调试等优点,已成为处理器不可或缺的设计验证工 具之一。尽管精确到指令或时钟周期,i s s 仅仅模拟程序运行过程中代表处理器 状态的寄存器、存储器等的变化,不模拟各模块之间具体信号的变化和传递情况, 这也是i s s 和a d l 级模拟的区别引。 2 3 各个模拟器的特点比较 随着模拟( 虚拟) 技术的发展,出现了很多模拟器软件,商用版本和开源版 本,x 8 6 、m a c 和l i n u x 平台等,而且针对个人用户和企业用户,有些模拟器还有 不同的选择。目前最流行的模拟器( 虚拟机) 有这么几种:b o c h s 、q e m u 、s k y p e 、 v m w a r e 、v i r t u a lp c 和v m i p s 等。下面就来逐一介绍一下。 ( 1 ) b o c h s b o c h s 是一种十分轻便的使用c + + 编1 j 的”源3 2 位硬件系统模拟器。它模拟 l o 浙江大学硕十学位论文 第2 章硬件系统模拟技术研究综述 英特尔x 8 6 的处理器、内存、中断、常见i o 设备和定制的b i o s 。b o c h s 解释客 户系统从开机到关机的全部指令,因此在客户操作系统来看,就好像是运行在一 台真实的机器上一样。由于b o c h s 模拟的是整个硬件系统环境,所以运行速度很 慢,使其很难有广泛的应用,但它也在某些方面有着重要的应用价值,如在非x 8 6 平台上运行w i n d o w s 系统,进行新开发的操作系统的d e b u g 工作,进行老式x 8 6 系统的兼容性测试等。 ( 2 ) q e m u 1 8 1 q e m u 是开源世界中一个以速度著称的i n t e lx 8 6 模拟器,它能够运行在 l i n u x 、w i n d o w s 和f r e e b s d 等系统平台上。q e m u 能够模拟非常多的硬件,而不 仅仅是一个c p u 模拟器。其支持的系统架构非常丰富,可以模拟i a 一3 2 ( x 8 6 ) p c 、 a d m 6 4p c 、m i p s 4 0 0 0 、s u n 及p o w e r p c 等各种常见的架构,而且某些模拟器的程 序可以以实时模式直接运行在主机的c p u 上。 q e m u 以速度著称,使用了b o c h s 的b i o s ,比b o c h s 快了好几倍,而且搭配 了q e m u 新开发的加速器k q e m u 后,速度优势更加明显,大致能够提升5 倍左右, 直接使用主机的c p u 运算q e m u 的虚拟程序,使得q e m u 的速度接近实际计算机的 水平。 ( 3 ) s k y e y e 憎1 s k y e y e 是由清华大学教授和学生发起的一个丌源软件( o p e n s o u r c e s o f t w a r e ) 项目,中文名字是“天目”。s k y e y e 的目标是在通用的l i n u x 和w i n d o w s 平台上实现一个纯软件集成丌发环境,模拟常见的嵌入式计算机系统;可在 s k y e y e 上运行uc l i n u x 以及uc o s i i 等多种嵌入式操作系统和各种系统软件 ( 如t c p i p ,图形子系统,文件子系统等) ,并可对它们进行源码级的分析和测 试。 s k y e y e 是一个指令级模拟器,可以模拟多种嵌入式丌发板,可支持多种c p u 指令集,在s k y e y e 上运行的操作系统意识不到它是在一个虚拟的环境中运行。 s k y e y e 的目标是协助丌发、调试和学习系统软件,所以在实现卜s k y e y e 与真实 的硬件环境柏比还是有一定差别的。s k y e y e 在时钟节拍的时序上不保征与硬件完 浙江大学硕+ 学位论文 第2 章硬件系统模拟技术研究综述 全相同,对软件透明的一些硬件模拟进行了一定的简化。这样带来的好处是 s k y e y e 的执行效率更高。 ( 4 ) y l w a r e 【】 v m w a r e 是目前应用最广泛的虚拟机。v m w a r ew o r k s t a t i o n 允许操作系统和 应用程序在一台虚拟机内部运行。虚拟机是独立运行主机操作系统的离散环境。 在v m w a r ew o r k s t a t i o n 中,可以在一个窗口中加载一台虚拟机,它可以运行自 己的操作系统和应用程序。也可以在运行于桌面上的多台虚拟机之间切换,通过 一个网络共享虚拟机( 例如一个公司局域网) ,挂起和恢复虚拟机以及退出虚拟机 一这一切不会影响主机操作和任何操作系统或者它正在运行的应用程序。 v m w a r e 虚拟化平台的构建基础是已可投入商业使用的体系结构。使用像 y m w a r ev s p h e r e 和v m w a r ee s x i ( 一款免费下载产品) 这样的软件可转变或“虚 拟化”基于x 8 6 的计算机的硬件资源( 包括c p u 、r a m 、硬盘和网络控制器) , 以创建功能齐全、可像“真实”计算机一样运行其自身操作系统和应用程序的虚 拟机。每个虚拟机都包含一套完整的系统,因而不会有潜在冲突。v m w a r e 虚拟 化的工作原理是,直接在计算机硬件或主机操作系统上面插入一个精简的软件 层。该软件层包含一个以动态和透明方式分配硬件资源的虚拟机监视器( 或称“管 理程序”) 。多个操作系统可以同时运行在单台物理机上,彼此之间共享硬件资源。 由于是将整台计算机( 包括c p u 、内存、操作系统和网络设备) 封装起来,因此 虚拟机可与所有标准的x 8 6 操作系统、应用程序和设备驱动程序完全兼容。可 以同时在单台计算机上安全运行多个操作系统和应用程序,每个操作系统和应用 程序都可以在需要时访问其所需的资源。 ( 5 ) v m i p s 2 3 v m i p s 模拟器是基于m i p sr 3 0 0 0 精简指令集内核的,它也是丌源项目,符合 g n u 规范。v m i p s 的目的在于构建一个模拟器,可以用来教学计算机体系结构的 课程,以及作为可以用来丌发基于m i p s 操作系统的应用程序丌发环境。 v m i p s 作为一个全系统模拟器,它不需要任何硬件系统,它已经在i n t e l 的 p c 上成功运行了f r e e b s d 和l i n u x 。 ( 6 ) 比较 浙江人学硕上学位论文 第2 章硬件系统模拟技术研究综述 表2 1 各种模拟器比较 名称主c p u客户c p u模拟硬件支持平台性能 b o c h s 任何 x 8 6 ,x 8 6 6 4完全模拟一台w i n d o w s ,速度慢 x 8 6 平台的所 l i n u x , 有硬件 i r i x, a i x, f r e e b s d , o p e n b s d , b e o s, m a co sx q e m u x 8 ,x 8 6,完全模拟所有w i n d o w s ,由于加载 x 8 6 6 4 , x 8 6 6 4 ,硬件 l i n u x ,m a c 了k q e m u i a 6 4 ,a r m ,o sx , 模块,速 p o w e r p c , s p a r c3 2 s o l a r i s ,度很快 s p a r c3 2a n d6 4 , f r e e b s d , a n d6 4 ,p o w e r p c , o p e n b s d , a r mm i p s b e o s s k y e y ea r m ,x 8 6 ,x 8 6 6 4完全模拟器主 l i n u x ,速度一 b l a c k f i n ,c p u 的所有硬 w i n d o w s 般,能够 c o l d f i r e ,件设备,同时还模拟所支 m i p s ,包括这些c p u持c p u 的 p o w e r p c ,所支持的嵌入 主要开发 s p a r c式丌发板 板。 v m w a r e x 8 6, x 8 6 ,主要模拟了一 w i n d o w s , 运行效率 x 8 6 。6 4x 8 6 6 4 些i o 操作,其 l i n u x 比b o c h s 他操作则完全同9 有引 了l 借助它本身提 擎 供的x 8 6 运行 引擎来实现。 v m i p s m 1 p s x 8 6,模拟m i p s 指令 u n i x 速度一般 p o w e r p c 集 可以看出b o c h s 是一台模拟所有硬件的模拟器,但是速度慢;0 e m u 由于加载 了k q e m u ,运行速度提升了很多,但是由于k q e m u 是非丌源的,研究价值不高; s k y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论