




已阅读5页,还剩78页未读, 继续免费阅读
(电路与系统专业论文)基于ptlsim的嵌入式系统性能模拟技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
d i s s e r t a t i o nf o rm a s t e rd e g r e e ,2 011 s c h o o lc o d e :10 2 6 9 n o :5 1 0 8 1 2 0 2 0 4 6 e a s tc h i n an o r m a lu n i v e r s i t y a s t u d yo np e r f o r m a n c es i m u l a t i o nf o re m b e d d e d s y s t e m s b a s e do np t l s i m d e p a r t m e n t : q 里蛩3 丛n i 量丛i q 旦亘卫g i n 曼曼i 旦g m a j o r : r e s e a r c ha r e a : ! 旦! o 墅堑i q n q 里叟i n g s u p e r v i s o r : q l 垒曼曼q ! l i 丛i 塾:g i 塑 s t u d e n tn a m e : l i 丛k 曼k 曼 a p r i l ,2 0 1 1 m 7眦9眦620哪9耵i_y 华东师范大学学位论文原创性声明 郑重声明:本人呈交的学位论文基于p t l s j m 的嵌入式系统性能模拟技术 研究,是在华东师范大学攻读醵孟博士( 请勾选) 学位期间,在导师的指导 下进行的研究工作及取得的研究成果。除文中已经注明引用的内容外,本论文 不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的 个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 乒】i 占牵玛 日期:立o j 年,月垴日 、 1 , 华东师范大学学位论文著作权使用声明 基于p t l s i m 的嵌入式系统性能模拟技术研究系本人在华东师范大学攻 读学位期问在导师指导下完成的硬王博士( 请勾选) 学位论文,本论文的研究 成果归华东师范大学所有。本人同意华东师范大学根据相关规定保留和使用此 学位论文,并向主管部门和相关机构如国家图书馆、中信所和“知网 送交学 位论文的印刷版和电子版;允许学位论文进入华东师范大学图书馆及数据库被 查阅、借阅;同意学校将学位论文加入全国博士、硕士学位论文共建单位数据 库进行检索,将学位论文的标题和摘要汇编出版,采用影印、缩印或者其它方 式合理复制学位论文。 本学位论文属于( 请勾选) ( ) 1 经华东师范大学相关部门审查核定的“内部”或“涉密”学位论文 掌,于年月日解密,解密后适用上述授权。 本人签名自西! 至 本人签名型l 翌圭! 凇1 1 年 具) f1 9 “涉密”学位论文应是已经华东师范大学学位评定委员会办公室或保密委员会 审定过的学位论文( 需附获批的华东师范大学研究生申请学位论文“涉密”审 批表方为有效) ,未经上述部门审定的学位论文均为公开学位论文。此声明栏 不填写的,默认为公开学位论文,均适用上述授权) 。 刘珂珂硕士学位论文答辩委员会成员名单 姓名职称单位备注 薛燕陵教授华东师范大学信息科学技术学院主席 通信工程系 韩定定副教授华东师范大学信息科学技术学院 通信工程系 王蔚生副研究员华东师范大学信息科学技术学院 通信工程系 华东师范大学硕士学位论文 摘要 摘要 在嵌入式系统设计中,需要频繁地对新的特性进行分析和验证,以保证特 性的正确性和有效性。随着嵌入式技术的发展,硬件系统的复杂性正变得越来 越高,由于成本和时间因素,为每一个特性都建造一个实物系统的传统验证方 式已不再可行;而简单的分析建模方法精度较低,适用范围狭窄,无法为设计 者提供可靠有效的数据。 嵌入式系统模拟技术是通过软件对系统架构和运行过程进行模拟来达到系 统分析的目的。本论文对嵌入式系统模拟技术进行了研究,对嵌入式系统通用 特性进行分析,给出了其在性能模拟器中的一种实现方式,提出了一套模拟器 与真实系统之间的模型校准方法。当前模拟技术的研究集中在模拟器的设计开 发上,模拟器校准工作主要依靠开发者的经验来进行,缺乏一套系统的方法来 支持,使得模拟器的性能和精度都受到很大影响,也增加了研究结果的不确定 性。本文提出的这种研究方法能精确地对真实系统性能特性进行模拟。 论文基于开源模拟器p t l s i m ,完成了从基础模拟器到目标平台校准的代码 编写工作,并对模拟结果数据进行了分析,证明了代码实现的正确性。在使用 模拟技术对新设计进行验证之前,需要首先找到一个基础系统并以其为目标构 造一个基准模拟器,从这个模拟器出发,加入各个新的设计并模拟运行,从而 实现对新设计的验证和预测。要对新的设计进行模拟分析,基准模拟器与基础 系统之间的对比分析及校准也很关键。此外,为了在可接受的时间内得到有效 的数据,需要模拟器具有较快的运行速度和较高的准确率,因此,模拟器的优 化技术也同样重要,本文针对模拟器的设计和开发中的关键问题同样做了一些 优化工作。 论文的研究结果为嵌入式系统性能模拟技术的进一步研究提供了参考,具 有深远的理论价值和现实意义。 关键词:嵌入式系统模拟,模型校准,优化技术 华东师范大学硕士学位论文 a b s t r a c t e m b e d d e ds y s t e md e s i g nr e q u i r e sf r e q u e n ta n a l y s i sa n dv e r i f i c a t i o no fn e w f e a t u r e st oe n s u r ec o r r e c t n e s sa n de f f e c t i v e n e s s ;t h i sb e c o m e se x t r e m e l yd i f f i c u l t w h i l eh a r d w a r es y s t e m sa r et u r n i n gi n c r e a s i n g l yc o m p l e xw i t ht h ed e v e l o p m e n to f e m b e d d e dt e c h n o l o g y t r a d i t i o n a lm e t h o d ss u c hl i k ec o n s t r u c t i n gap h y s i c a ls y s t e m f o re a c ho ft h en e wf e a t u r e sa r en ol o n g e rf e a s i b l ed u et oc o s ta n dt i m e l i n ei i m i t s ; a n ds i m p l ea n a l y s i sa n dm o d e l i n gm e t h o d sa r en o tr e l i a b l eb e c a u s eo fi o wp r e c i s i o n a n dn a r r o ws c o p eo fa p p l i c a t i o n b ys i m u l a t i n gt h es t r u c t u r ea n db e h a v i o ro ft h es y s t e m ,a r c h i t e c t u r es i m u l a t o r c a na c h i e v et h ep u r p o s eo fs y s t e ma n a l y s i sa n dv e r i f i c a t i o n i no r d e rt ou s e s i m u l a t i o nt e c h n o l o g yt oa n a l y z ea n dv e r i f yt h es y s t e m ,ab a s es y s t e ma n di t s m e a s u r e ds i m u l a t o ra r en e e d e d s t a r t i n gf r o mt h i sm e a s u r e ds i m u l a t o r , m e r g et h e n e wd e s i g n si n t oi to n eb yo n e ,a n dan e ws y s t e mi sa c h i e v e d t h e r e f o r e ,t h e m e a s u r e m e n tb e t w e e nt h eb a s es y s t e ma n dt h ei n i t i a ls i m u l a t o ri sc r i t i c a l i n a d d i t i o n ,o p t i m i z a t i o nt e c h n i q u e sa r ei m p o r t a n tt os i m u l a t i o nt e c h n o l o g i e s ,s i n c e t h es i m u l a t o rn e e d st or u nf a s ta n dw i t hh i g ha c c u r a c yi no r d e rt og e te f f e c t i v ed a t a w i t h i na na c c e p t a b l et i m ep e r i o d c u r r e n tr e s e a r c hf o c u so nt h ed e s i g na n dd e v e l o p m e n to fs i m u l a t o r ,a n d s i m u l a t o rc a l i b r a t i o na n dm e a s u r e m e n tm a i n l yd e p e n d so nd e v e l o p e r se x p e r i e n c e ; t h el a c ko ft h e o r e t i cs u p p o r tc a nr e d u c et h ep e r f o r m a n c ea n da c c u r a c yo fs i m u l a t o r t h i sp a p e rp r o p o s e das e to fm e a s u r e m e n tm e t h o d sf o rc a l i b r a t i o no fr e a l s y s t e m sa n ds i m u l a t o r s a l s o ,s e v e r a lo p t i m i z a t i o nm e t h o d sa r ei n t r o d u c e d e x p e r i m e n ts h o w st h a tt h e s em e t h o d sc a na c h i e v eh i g ha c c u r a c ya n di m p r o v et h e s i m u l a t o r sp e r f o r m a n c e k e y w o r d s :e m b e d d e ds y s t e mp e r f o r m a n c es i m u l a t i o n lm o d e lc a l i b r a t i o n | o p t i m i z a t i o nt e c h n o l o g y 华东师范大学硕士学位论文 目录 目录 第一章嵌入式系统模拟技术介绍1 1 1 嵌入式系统设计过程及问题。1 1 2 模拟技术在嵌入式系统设计中的作用2 1 3 嵌入式系统模拟技术的分类与实现工具2 第二章嵌入式系统模拟器的分析5 2 1 嵌入式模拟器的发展现状5 2 2 目前模拟器的发展趋势与问题6 2 3 模拟器相关技术。8 2 3 1 基准测试程序8 2 3 2 快速模拟技术1 0 第三章性能模拟器p t l s i m 的研究1 3 3 1 性能模拟器p t l s i m 的概述1 3 3 2p t l s i m 的架构和特性1 3 3 3 模拟器结果数据处理1 5 第四章基于p t l s i m 的嵌入式系统性能模拟器技术研究1 8 4 1 系统结构分析1 8 4 2 系统功能特性介绍和实现1 9 4 2 1 指令集和微架构1 9 4 2 2 顺序乱序执行单元分析2 6 4 2 3 多核支持3 0 4 2 4 单核多线程支持3 3 4 2 5 存储器相关( 内存、高速缓存) 3 5 4 2 6 独立处理器核心测试3 8 4 3 模拟器与真实平台的分析和校准3 9 4 3 1 系统新特性的分解分析4 0 4 3 2 特性的分解实现和验证4 1 4 3 3 相关性分析4 1 4 3 4 敏感性分析4 2 4 3 5 特性的融合和验证4 2 4 3 6 与真实平台的吻合4 3 4 4 案例分析4 5 m 华东师范大学硕士学位论文 目录 第五章模拟器的优化5 3 5 1 系统结构设计优化5 4 5 1 1 抽象的层次和角度5 4 5 1 2 架构设计5 5 5 1 3 精度预期s 6 5 2 代码实现部分优化5 6 5 2 1 运行速度优化5 6 5 2 2 代码风格优化5 7 5 2 3 模拟环境和数据处理5 9 第六章总结与展望6 1 6 1 总结6 1 6 2 展望6 1 参考文献6 2 攻读硕士学位期间发表的学术论文6 3 致谢6 4 i v 华东师范大学硕士学位论文第一章嵌入式系统模拟技术介绍 第一章嵌入式系统模拟技术介绍 1 1 嵌入式系统设计过程及问题 1 9 4 6 年世界上第一台电子数字计算机e n i a c 的投入使用开启了人类社会的 一个新纪元,它意味着人们可以创造巨大的计算能力。早期的嵌入式系统设计 都是采用直接的硬件上的设计和验证,因为计算机软件技术的研究和发展还处 于初级阶段,当时的编程语言也基本是低级语言,软件开发的复杂度太高且缺 少有效的理论支持。 到2 0 世纪8 0 年代,随着计算机体系结构研究的日趋成熟,为了提高嵌入 式系统设计的质量,出现了基于性能分析模型的建模技术【l ,2 】和基于指令执行轮 廓的静态建模技术【3 一。基于性能分析模型的建模技术是通过数学方法( 如数理 统计方法、马尔可夫模型等) 对嵌入式系统的软硬件资源和程序作业状况进行 建模来描述嵌入式系统的性能特征,这种方法具有较低的成本,然而其精度较 低【5 】,适用面较为狭窄,仅能提供一组计算结果而无法动态地对程序的执行过 程进行研究分析,因此一般仅被用于系统的初步规划设计中。基于指令执行轮 廓的静态建模技术中,设计人员通过大量收集程序在已有嵌入式系统上运行的 相关数据( 如平均每周期执行的指令数目、指令集中指令被使用的比例等) 来 分析现有嵌入式系统在系统结构层次上的缺陷,从而在将来的设计中进行改 进,然而由于缺乏对程序执行过程的剖析,这种技术无法从真实的程序运行状 态的层次上进行分析,因此很难为设计者提供较为有效的线索。 随着计算机科学技术的发展,嵌入式系统已经变得越来越复杂,其需要支 持各种的指令集和硬件设备,以具备完成各种计算任务的能力,同时,还要尽 量获得最大的性能输出,这对系统的设计造成了巨大的挑战。 e n i a c 使用了1 8 0 0 0 个电子管和1 5 0 0 个继电器,而现代单片处理器的晶体 管数量已经达到数1 0 亿计,设计、验证并制造这样一个复杂的计算系统需要花 费巨大的人力和物力。在一款嵌入式系统进入批量生产前,需要进行一系列的 工作,例如体系结构设计、评估与验证,逻辑设计与验证、性能评估、电路设 计与验证等,其中的每一个步骤都需要反复进行直到整个设计满足预定要求。 为了保证新设计的正确性以及其能够对系统性能带来提高,设计者一方面要全 面地了解系统的运行行为,同时还需要频繁地对新设计进行分析和验证。随着 当前嵌入式系统复杂性的提高,如果为每一个步骤都生产出一个新的实物系 华东师范大学硕士学位论文 第一章嵌入式系统模拟技术介绍 统,其所需的周期和成本将超出可接受的范围,因此单纯从硬件上进行设计和 验证的方式在现代嵌入式系统的设计中是不现实的;同时,受精度和适用范围 的影响,简单分析建模方法也无法为设计者提供足够可靠和有效的数据。因此 设计者急需一种新的方式来为新系统的设计进行全面的指导和验证。 1 2 模拟技术在嵌入式系统设计中的作用 计算机软件模拟技术可以很好地克服硬件实物生产代价高、周期长的困 难,通过对计算机体系结构模拟技术进行研究,可以使用软件的方式来模拟嵌 入式系统硬件的运行,从而从系统结构级别对新的设计、思想和算法进行验证 和评估并对系统的性能进行分析和预测。 通过编程来对嵌入式系统的每个晶体管或门电路进行模拟是几乎不可能 的,同时这也失去了软件模拟的意义。现代嵌入式系统的模拟往往从某一个抽 象的层次通过在结构层次上进行简化来对特定的目标特征进行模拟,例如针对 功能设计的模拟、针对性能的模拟等。 软件模拟的方法逐步成为系统测试、验证以及原型化的主要方法。从理论 研究成果的评估到硬件设计的验证,再到系统的性能调试,软件模拟贯穿着嵌 入式系统构造的每一步。通过使用模拟技术代替真实的平台运行真实的程序可 以得到新的体系结构的详细统计信息,对其进行分析,从而可以在没有实际硬 件的情况下为系统的设计提供可靠的依据。 软件模拟技术在现代嵌入式系统的设计和制造中已经成为不可或缺的环 节,其可以极大地缩短嵌入式系统的设计成本和周期,且极大地扩展其设计空 间;同时,由于修改软件比修改硬件更容易,且软件可以从预定的细节程度来 对嵌入式系统进行模拟,因此软件模拟技术具有更大的灵活性。 1 - 3 嵌入式系统模拟技术的分类与实现工具 嵌入式系统体系结构模拟技术分为两大类:性能模拟和功能模拟。如图1 1 所示,系统设计一般是从性能设计开始,当完成了性能设计以及模拟验证之 后,就进行系统功能设计,然后是系统投入生产之前的电路和布局设计。 性能模拟侧重于对系统运行速度的评估,一般不会对真实的运行数据进行 模拟,而是通过对每个操作( 指令) 的执行过程【6 】( 包括计算过程、寄存器或 内存地址、高速缓存状态等) 进行模拟,从而得到整个运行过程所花费的时钟 周期数。功能模拟则关注系统功能是否满足预定设计目标以及设计是否正确, 2 华东师范大学硕士学位论文第章嵌入式系统模拟技术介绍 其要求整个执行过程中模拟器各个部件中的数据与真实系统中的数据一致,从 而得以通过模拟器的运行正确性来验证真实系统的设计。 在实际情况中,系统的性能模拟和功能模拟一般分开进行。这一方面是出 于灵活性考虑,同时进行性能和功能的模拟会影响模拟的速度,而如果系统未 通过功能模拟,则需要重新设计,其当前性能模拟的数据也毫无用处。另一方 面,模拟技术往往是从某一个方面对一个系统进行抽象建模,同时从多个角度 对系统进行抽象会影响模型的精确度。 图1 1 嵌入式系统的设计过程 嵌入式系统模拟技术是以软件模拟器来实现的。如图1 2 所示为嵌入式系统 的模拟框架。其中,最主要的部分为处理器模拟模块,包括流水线、高速缓 存、指令预取、分支预测等,整体系统的性能和功能模拟都以处理器的模拟为 中心。 图1 2 嵌入式系统模拟框架 在内存及其它外部设备模拟部分中,一般只对内存和i o 管理部分进行模 拟,极少数的模拟器会对磁盘和i o 设备进行模拟,这一般属于仿真器( 例如 虚拟机) 的范畴。 华东师范大学硕士学位论文第一章嵌入式系统模拟技术介绍 软件模拟部分通常只对用户空间程序进行模拟,这样可以减少整体系统对 操作系统的依赖性。少数模拟器支持完整操作系统运行的模拟,而仿真器通常 都对上层软件的运行提供完整的支持。 4 华东师范大学硕士学位论文第二章嵌入式系统模拟器的分析 第二章嵌入式系统模拟器的分析 2 1 嵌入式模拟器的发展现状 目前嵌入式体系结构模拟器的发展仍然处于较为初级的阶段,现有的模拟 器仍然属于第一代开发的结果,这主要表现为: - 模拟器模型缺乏对嵌入式新技术和特性的支持,例如多核、多线程、 异构处理器结构等; 模拟器的设计和开发存在较多的缺陷,例如软件架构设计不合理、代 码编写缺乏软件工程理论的指导等,这些都需要在未来的模拟器中得 到改进; 现有的开源嵌入式体系结构模拟器非常少,这是由于体系结构的研究需要 大量的相关专业知识和长期的经验积累。此外,模拟器的开发是一个连续的过 程,需要持续投入大量的精力,这也造成了其研究成果相对较少。目前较为常 用的嵌入式体系结构模拟器有p t l s i m 、s i m p l e s c a l a r 、a s i m 、l s e 、s i m o s 等。 s i m p l e s c a l a r t l 6 ,1 7 , 3 1 1 是一套针对单处理器架构的嵌入式体系结构性能模拟器 的工具集合,其可以被用于处理器性能模拟器的开发。开发者首先使用 s i m p l e s c a l a r 抽象出硬件模型,之后通过实现模拟器的内核逻辑和相关指令集以 及输入输出接口,就完成了相应性能模拟器的开发。最后,就可以使用该模拟 器来模拟运行相关的目标应用程序,例如基准测试等。 s i m p l e s c a l a r 具有一套完备的开发工具,并集成了较多的模拟环境,例如 a r m 和p o w e r p c 体系结构模拟环境、流水线可视化环境、能耗分析模型等。 然而,s i m p l e s c a l a r 的缺点也较为明显: 模拟器源代码中大量使用全局变量,使得其修改和维护工作相当繁 重,不易加入新的特性。 一 硬件模拟层的软件架构混乱,各种信息在硬件部件( 如流水线等) 之 间的流动采用函数传参和全局变量的方式,这为模拟器的实现引入了 不必要的风险,且为调试带来了较大的不便。 a s i m l 2 5 】也是个嵌入式系统模拟器开发工具,它吸取了s i m p l e s c a l a r 的一 些经验和教训,采用面向对象技术对模拟器的开发过程进行建模,因此在一定 s 华东师范大学硕士学位论文 第二章嵌入式系统模拟器的分析 程度上降低了开发的风险,并降低了修改和维护工作的难度。通过定义标准的 接口,a s i m 维持了一个较为清晰的软件架构,因此具有较好的可扩展性。然 而,a s i m 不支持并行化建模,这在很大程度上限制了它的应用,此外,其模拟 速度和精度都存在较大的问题。 l s e t l 9 ,2 0 ,2 1 1 是一套嵌入式系统建模工具,其主要的设计目的在于通过建模 完成模拟器的自动化生成,从而降低模拟器开发的时间和人力开销。l s e 能够 很好地支持模块重用和并行结构化的建模方式,并提供了静态分析引擎来对新 设计进行合法性检查,因此它能够在很大程度上加快模拟器的开发过程,然而 其生成的模拟器在精度以及运行速度上还存在较大的缺陷。 s i m o s l 2 2 】是一个全系统模拟器,其可以被用作运行真正的操作系统,从而 对操作系统的行为进行研究。通过对硬件设备进行抽象并建模,s i m o s 几乎支 持所有现代嵌入式系统中所包含的硬件设备。然而,为了尽量提高这些硬件模 型的准确性,s i m o s 采用了完整而详细的建模方式。过多的细节使得这些硬件 模型极大地降低了s i m o s 的运行速度,因此它已经难以满足目前的模拟技术的 要求。 p t l s i m e l 3 ,1 4 】是一个基于时钟周期驱动的x 8 6 6 4 全系统模拟器。与现有其它 体系结构模拟器相比,p t l s i m 能够模拟一个完备的现代超标量x 8 6 6 4 乱序执 行单元( 包括指令流水线结构、高速缓存等) 以及北桥等其他硬件设备,其使 用软件构造一个完备的微处理器的流水线来从指令层面模拟程序的运行,从而 可以得到精确到时钟周期的模拟结果。此外,p t l s i m 具有极快的运行速度。关 于p t l s i m ,论文将在第三章进行详细的介绍。 2 2 目前模拟器的发展趋势与问题 为了给嵌入式系统的设计提供即时可靠的指导,软件模拟器需要具有较短 的开发周期、较快的模拟速度和良好的正确率,每一个模拟器都需要协调这些 因素。然而,这3 个方面对现代嵌入式系统的模拟器来说都是非常大的挑战。 计算机体系结构模拟仿真技术的研究和软件模拟器的开发已经较为成熟, 然而现代嵌入式系统体系结构本身的复杂度越来越复杂,因此软件模拟器的开 发越来越困难。目前存在若干对模拟器快速开发的方法的研列1 9 , 2 0 , 2 1 , 3 0 ,以降 低其开发的难度和成本。 模拟速度是软件模拟技术研究中一个不容回避的问题。在模拟的层次较低 时,模拟器需要在较细的粒度上对每条动态指令的运行过程进行记录,包括嵌 6 华东师范大学硕士学位论文第二章嵌入式系统模拟器的分析 入式系统各个部件的状态( 如寄存器、处理器、c a c h e 、内存等) 和特定的事件 ( c a c h e 未命中、流水线停滞、分支预测错误等) ,这意味着巨大的数据量和 极慢的模拟速度,通常模拟器的运行速度比真实硬件慢“个数量级。 从理论上讲,任何用于模拟真实系统的模型都是不准确的,因为模型的设 计需要忽略较多真实的细节;同时,模拟器设计者对体系结构的认识和理解以 及软件开发中的编码过程都是常见的现象;最后,为了缩短模拟时间,需要对 在模拟器上执行的基准程序进行精简采样,选取一部分最具有代表性的指令来 替代整个基准程序,这个过程也会损失模拟的精度。 为了在模拟精度、模拟速度、模拟器开发代价这三者之间取得较好的平 衡,模拟器的设计者需要准确地理解需要模拟的体系结构,并清楚地认识把握 目标特征的抽象层次,并选取一套具有良好的代表性的基准程序来作为模拟输 入。 模拟器的设计一般是针对某一特定的平台( 指令集和处理器架构) 的,设 计完成后,模拟器就具备了模拟该类平台执行的能力。通过对模拟器进行局部 的修改,可以使其具备模拟同类平台的能力。 在设计新的系统之前,需要使用模拟器对新系统的各种特性进行模拟验 证。嵌入式系统的设计往往是具有连续性的,因此,要对新系统的性能有一个 比较准确的预测,就需要在对新设计的平台进行模拟之前找到新系统的基础平 台,从这个基础平台出发,加入各个新的设计,就可以到达新平台。使用性能 模拟器对基础平台进行模拟,得到相关的性能数据,在此基础上,通过在模拟 器中精确实现新的设计,就可以对新平台的性能进行预测。因此,要对新的设 计进行模拟分析,模拟器与基础平台之间的对比分析及校准就尤为重要。 论文分析了嵌入式体系结构模拟器的设计和实现,对现代嵌入式系统新设 计较为频繁的功能特性进行了研究,并给出了这些特性在模拟器中的实现方 式,在此基础上提出了一套模拟器与真实平台之间分析和校准的方法。论文还 对模拟器的优化进行了研究,分析了降低模拟器开发工作中的出现错误的风 险,同时在设计开发代价、模拟速度和精度之间取得较好的平衡的方法。 7 华东师范大学硕士学位论文第二章嵌入式系统模拟器的分析 2 3 模拟器相关技术 2 3 1 基准测试程序 嵌入式系统性能的好坏体现在日常的使用过程中,不同的应用类型对系统 硬件有着不同的侧重。为了实现对系统性能快速有效的评估,需要实现性能数 据的可测量性,这需要尽量真实地再现系统的日常工作状态,同时,这种测量 必须是可重复和可对比的。最好的方法就是使用基准测试。 基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一 类测试对象的某项性能指标进行定量的和可对比的测试。在嵌入式系统中,基 准测试是通过基准测试程序来实现的。通过仔细地选取某一种类型应用的最具 有代表性的一组程序,就形成了一套基准测试程序。例如处理器的浮点运算和 整型运算基准、数据访问的带宽和延迟基准、系统事务处理能力基准等。 在嵌入式系统的设计阶段,对于每一个新加入的功能,都需要使用基准测 试程序来对系统性能进行验证。 不同的基准程序反应了嵌入式系统在执行其相应类型的计算任务时的性 能,它们各有侧重。从理论上讲,任何用于模拟真实系统的模型都是不准确 的,它们都只能在某一个方面接近真实的情况,当从另一个方面来对真实系统 进行模拟时,需要提出新的模型或对已有模型进行调试。因此,在模拟运行不 同的基准程序时,往往需要对模拟器进行局部修改已获得更加准确的结果曲 线。 目前最通用最权威的嵌入式系统计算能力基准测试程序是s p e cc p u 7 1 ,它 是处理器的设计中最常用的基准。s p e c 是标准性能评估公司( s m n d a r d p e r f o r m a n c ee v a l u a t i o nc o r p o r a t i o n ) 的简称。s p e c 是由计算机厂商、系统集成 商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标 是建立、维护一套用于评估计算机系统的标准。s p e c 在1 9 8 8 年由数个工作站 的制造商建立,主要目的是研究标准化的性能测试方法,并得到较为可靠的相 关数据。目前已经有近6 0 家公司加入了s p e c 标准组织。 为了实现对计算机性能测试的标准化,s p e c 使用现实中常用的各种程序来 作为性能测试基准。其第一个版本发布于1 9 8 9 年,由1 0 个基准程序组成。 s p e c 的基准程序以源代码的形式提供,测试者可以根据自己的需要进行修改和 编译。计算系统中的处理器、内存和编译器都会影响最终的测试性能,而i o ( 磁盘) 、网络、操作系统和图形子系统对于s p e cc p u 2 0 0 6 的影响比较小。 8 华东师范大学硕士学位论文 第二章嵌入式系统模拟器的分析 如图2 1 和图2 2 所示为在同一个模拟器版本下,s p e c 2 0 0 6 在使用某一编 译器的版本9 1 和版本1 1 0 时的性能区别。其中,图2 1 所示为s p e c 2 0 0 6 i n t 总体变化为1 0 6 到1 2 4 ,性能提升约为1 7 ;图2 2 所示为s p e c 2 0 0 6 f p 总体 变化为1 1 2 到1 1 6 ,性能提升约为3 6 。 图2 1 基准程序s p e c 2 0 0 6 i n t 使用不同编译器时的性能差别 图2 2 基准程序s p e c 2 0 0 6 f p 使用不同编译器时的性能差别 9 华东师范大学硕士学位论文 第二章嵌入式系统模拟器的分析 s p e c 性能测试基准的最近的一次发布为2 0 0 6 年的s p e cc p u 2 0 0 6 ,它代 表了绝大多c p u 密集型的运算,包括c i n t 2 0 0 6 和c f p 2 0 0 6 两个子项目。前者 用于测量和对比整数性能,主要包含编译、压缩、人工智能、视频压缩转换、 x m l 处理等,此外,各种日常操作也主要是基于整数操作。s p e cc p u2 0 0 6 的 整数运算包含了p e r l 编程语言、压缩、c 编译器、组合优化、围棋、基因序 列搜索、国际象棋、量子计算、视频压缩、离散事件仿真、寻路算法、x m l 处 理,共1 2 项测试。而后者则用于测量和对比浮点性能,包含流体力学、量子化 学、量子力学、计算流体力学、生物化- w 分子力学、广义相对论、流体力学、 生物分子、有限元分析、线形编程优化、影像光线追踪、结构力学、计算电磁 学、量子化学、流体力学、天气预报、语音识别,共1 7 项测试。 在商用服务器方面,对于系统事务处理能力的权威基准测试程序目前是 t p c c 和t p c e ,其发布者是事务处理性能测试委员会t p c ( t r a n s a c t i o n p r o c e s sp e r f o r m a n c ec o u n c i l ) 。t p c 是一个专门负责制定计算机事务处理能力 测试标准并监督其执行的组织,其的功能是制定商务应用基准程序( b e n c h m a r k ) 的标准规范、性能和价格度量,并管理测试结果的发布。t p c c 是在线事务处 理( o l t p ) 的基准程序,发布于1 9 9 2 年,其测试标准和模型已经不能够准确贴近 现实应用,因此t p c 在2 0 0 7 年发布了t p c e 作为大型企业( e n t e r p r i s e ) 信息服 务的基准程序。 此外,常用的嵌入式系统硬件性能测试基准还包括3 d s m a x 、c i n e b e n c h 、 m a i n c o n c e p t 、q u a k e 4 、s y s m a r k 2 0 0 7 等。 2 3 2 快速模拟技术 为了给新系统的设计提供及时有效的数据,体系结构模拟器需要具有快速 的模拟速度和较高的模拟精度,然而这二者之间却是一对矛盾的存在。在目前 的技术条件下,如果要使用高精度模拟器对当前权威的基准测试s p e c c p u 2 0 0 6 进行完整的模拟,可能会花费数周的时间。由于对一个新设计的验证 需要重复多次地进行基准测试,因此这样的时间代价是不可接受的。在模拟速 度与模拟精度之间,只有保证了模拟速度,其相应的模拟精度才会有意义。因 此,对快速模拟技术的研究对模拟技术的发展有着相当重要的作用。 要在不损失精度的情况下缩短模拟器的运行时间,只能通过对模拟器本身 进行运行时优化以及使用更高性能硬件的方法,然而,这样的方式无法提供数 量级层次上的提升。除了上述的考虑,要缩短模拟时间,一个自然的想法就是 1 0 华东师范大学硕士学位论文第二章嵌入式系统模拟器的分析 减少模拟器的模拟工作旦【1 0 l ,这也是剩余的仅有的方法。要减少了整个模拟的 工作量,可以通过减少基准测试程序的个数【8 ,9 1 来实现,但这类简单的方式缺乏 足够的理论依据1 5 1 。目前,缩减模拟工作量的研究主要有两个方向:通过改变 程序的输入而改变其的运行路径;或者从完整的一套基准测试程序中有策略地 选择一部分指令,并用这个指令子集的模拟执行结果来代替整套程序的模拟结 果。 要验证所选择的输入子集或指令子集的模拟精度,需要将子集的模拟结果 与完整基准测试程序的模拟结果进行比较分析,验证其有效性。一般情况下, 所选择的子集越大,其模拟结果的精度就越接近于完整的基准测试程序,当 然,其运行的速度也就越慢;要在精度与速度之间取得较好的平衡,就需要对 程序的运行行为进行研究,找出确定程序中各个指令部分的运行是权重的方 法,从而设计出一套有效的子集选择方法。 目前有数种方法可以被用于子集的选取: 减少基准测试程序的输入 这种方法保持基准程序的指令序列不变,通过人为地修改基准测试程序 的参考输入集合【n ,1 2 , 2 6 1 来其模拟时间。减少输入的方法虽然可以保持基准程 序的原有指令以及其运行流程,然而人为地改变从大量经验数据集中获得的 参考输入集合会极大地改变基准程序的运行时行为,使得模拟产生无法预测 的结果。在目前的研究实现中,这种使用人为修改过的输入与使用参考输入 所获得的模拟结果差异较大,因此该方法无法很好地实现有效的快速模拟。 夺截段执行 截段执行则是在运行基准测试程序时,通过直接截取一段连续的指令来 代替整个基准测试程序。由于基准测试程序各个部分都是平等重要的,因此 这种方法只能应用于有限的场合,例如快速阶段性验证等。 目前有三种方式来进行指令子集的截段选择: - 初始x 法:程序从开头执行一定数量的指令后停止;基准测试程序中 除程序初始化过程外,各个部分都是平等重要的,而这种方式直接选 择初始化过程加上之后的一段过程;因此,这种方式显然无法取得较 好的指令子集; 华东师范大学硕士学位论文 第二章嵌入式系统模拟器的分析 初始x + y 法:程序使用快速模式( 粗略运行而不获取详细的运行性 能数据) 从开头执行一定数量的指令,然后使用精确模式执行接下来 的y 条指令,并以后者作为整体模拟结果;这种方式的问题在于,快 速模式执行完成后硬件的状态并非真实情况下的硬件状态,因此接下 来执行的y 条指令的数据的有效性不能得到保证; - 初始x + y + z 法:首先使用初始x + y 法执行,但整个过程不做记 录,之后,实际测量接下来的z 条指令;然而,由于基准测试程序各 个部分的平等性,这种方式的结果依然不能代表完整基准程序的模拟 结果。 参统计学方法 统计学的方法是,在运行完整的基准测试程序时,通过对其中的指令序 列进行分段和权重研究来选择基准测试程序的指令子集的选择,例如 s i m p o i n t 2 7 1 和s m a r t s 2 踟。这种方法的关键在于,指令子集需要能够概括完 整基准程序的特征。 在目前的技术条件下,快速模拟技术的研究具有较大的现实意义。然 而,所有快速模拟的技术都无法回避的一个问题是:现有的研究都无法提供 有效的理论证据或合理的解释表明,部分测试程序或部分输入集合可以精确 地代替完整的基准测试程序。因此,基于指令子集和参数子集的快速模拟技 术在未来都还需要进行大量的研究工作。 1 2 华东师范大学硕士学位论文 第三章性能模拟器p t i s i m 的研究 第三章性能模拟器p t l s i m 的研究 3 1 性能模拟器p t l s i m 的概述 p t l s i m 1 3 ,1 4 1 是一个基于时钟周期驱动的嵌入式体系结构模拟器,其支持支 持x 8 6 和x 8 6 6 4 指令集,是目前唯一一个开源的可以进行周期精确仿真的x 8 6 模拟器。 p t l s i m 通过使用软件构造一个完备的微处理器的流水线来从指令层面模拟 程序的运行,从而可以得到精确到时钟周期的模拟结果。p t l s i m 模拟器具备运 行用户态和内核态指令的能力,同时可以模拟计算机中其他的硬件设备,它能 够模拟一个完备的现代超标量x 8 6 和x 8 6 6 4 乱序执行单元,包括指令流水线结 构、高速缓存以及北桥等其他硬件设备。 3 2p t l s i m 的架构和特性 现代的x 8 6 处理器都不直接执行x 8 6 指令,通过设计一系列类似r i s c 指令 集架构的微指令集合f 2 9 1 ,处理器在运行时将复杂指令翻译为若干微指令执行, 以便能够使用新的处理器技术,如乱序执行、微指令重叠执行以及超标量内核 等。 p t l s i m 的微指令设计类似i n t e l 的奔腾4 处理器和a m d 的k 8 处理器中的 设计方式,其支持完备的x 8 6 和x 8 6 6 4 指令集,这些指令在运行时被翻译为一 系列的微指令,这种方式使得x 8 6 和x 8 6 6 4 指令集可以运行在乱序执行单元 上。 所有的x 8 6 指令都是原子执行的,即是单条x 8 6 指令所翻译出的微指令要 么全部被成功地执行,要么全部被丢弃。一些x 8 6 指令会更新算术逻辑单元的 状态位,算术逻辑单元需要单独处理每条指令的操作数长度。p t l s i m 提供了高 效的非对齐的加载和存储微指令,因为x 8 6 架构规定了处理器必须处理非对齐 的存储访问,且必须对上层透明;由于大量的软件仍然在使用x 8 7 指令,因此 它也提供了相关支持。 p t l s i m 的微指令具有3 个源寄存器和1 个目标寄存器,能够产生6 4 位的运 算结果和一系列的x 8 6 状态位,也能够生成一组加载、存储或跳转操作。x 8 6 指令解码会产生一组译码微指令,这些微指令与真实处理器中运行的微指令之 间存在细微的区别,因为此时的源寄存器和目标寄存器都是尚未被重命名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商平台网络营销策略解析
- 大型企业组织结构分析及部门职责分工
- 管道井封闭施工技术报告
- 九年级电磁学难点突破训练题
- 学校德育活动方案及教师指导手册
- 工伤赔付协议模板及企业内控管理
- 云计算架构师中级考试题库解析
- 中小学学科竞赛指导方案
- 英语动词时态变化规则详解
- 高效能会议组织与管理技巧分享
- 调车作业培训课件
- 2025年杭州市检察机关招录聘用制书记员考试笔试试题(含答案)
- 2025年应急管理普法知识竞赛题(附答案)
- 2024年重庆双江航运发展有限公司招聘真题
- 信任机制构建-洞察及研究
- 施工组织方案拆房子
- 现场液位计培训课件图片
- 景区演艺演员管理制度
- 2024年甘肃省张家川回族自治县教育局公开招聘试题含答案分析
- 亲子活动热狗活动方案
- 河南省郑州市2023-2024学年高一下学期6月期末物理试题(解析版)
评论
0/150
提交评论