(计算机科学与技术专业论文)嵌入式性能分析工具的研究与设计.pdf_第1页
(计算机科学与技术专业论文)嵌入式性能分析工具的研究与设计.pdf_第2页
(计算机科学与技术专业论文)嵌入式性能分析工具的研究与设计.pdf_第3页
(计算机科学与技术专业论文)嵌入式性能分析工具的研究与设计.pdf_第4页
(计算机科学与技术专业论文)嵌入式性能分析工具的研究与设计.pdf_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

国防科学技术人学研究生院l :学硕+ 学仿论文 摘要 随着计算机硬件和软件技术的飞速发展,嵌入式系统的硬件规模和性能得到 了极大的提高。相应的,嵌入式软件的复杂性和规模也同益提高。同时,嵌入式 系统的特殊性决定了运行在其上的系统软件和应用软件必须精简高效,稳定可靠。 这使得嵌入式软件的丌发在整个嵌入式系统丌发过程中所占的比重越来越高,软 件性能对整个产品的质量起到了决定性的作用。因此嵌入式开发者迫切需要一种 针对嵌入式领域的性能分析工具来分析嵌入式软件性能,提高其质量。 本文研究了嵌入式软件性能分析的基本原理,对当今主流的专业嵌入式性能 分析工具及其实现方法进行分析,其中重点研究了g n u 组织的性能分析工具 g p r o f 。在对g p r o f 的工作原理进行细致分析的基础上,总结其不足之处。然后,重 点针对其在性能数据的获取、性能数据的处理以及人机界面三方面的不足进行深 入研究。基于上述关键技术的研究,本文以g p r o f 为切入点,在完全理解其关键技 术的基础上,结合实际情况确定了技术路线,设计和实现了一种全新的嵌入式性 能分析工具e m p r o f i l e r 。 在性能数据获取方面,本文在e m p r o f i l e r 中设计了一种嵌入式动念探测框架 e m d d f 和嵌入式动态探针e m d p 实现性能数据的收集,并且实现了多种专用探 针收集特定类型的性能数据。在性能数据的处理方面,在e m p r o f i l e r 中首先设计 新的嵌入式通信协议,实现性能数据在宿主机和目标机之间的高效传输,并且设 计新的通信模块,实现多宿主机同时对多异构目标机进行性能分析:其次采用朴 素贝叶斯分类算法对性能数掘进行分类;最后设计一种多层次狄色性能评价方法 对整个嵌入式系统的性能进行评价。之后将e m p r o f i l e r 以标准插件的形式集成到 e c l i p s e 集成开发环境中,提高e m p r o f i l e r 的易用性、可移植性和扩展性。然后通 过对e m p r o f i l e r 的功能和性能的评估,并将其应用在实际的丌发过程中,证明了 e m p r o f i l e r 的可用性和实用性。最后,总结了课题的研究成果,指明了下一步研 究工作的方向。 主题词:嵌入式,性能分析,g p r o f ,动态探针,数据传输,数据分类,性髓评价 第i 页 国防科学技术人学研究生院i :学硕十学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e rh a r d w a r ea n ds o f t w a r et e c h n o l o g y ,t h e s c a l ea n dt h ec a p a b i l i t yo fh a r d w a r eo fe m b e d d e ds y s t e mh a sb e e ng r e a t l yi m p r o v e d a c c o r d i n g l y ,t h ec o m p l e x i t ya n ds c a l eo fs y s t e ms o f t w a r ea n da p p l i c a t i o ns o f t w a r eo f e m b e d d e ds y s t e ma l s og r o wi n c r e a s i n g l y s i m u l t a n e o u s l y ,t h e p a r t i c u l a r i t y o f e m b e d d e ds y s t e ma s k sf o re m b e d d e ds o f t w a r eb e i n gm o r es m a r ta n dr e l i a b l e t h e r ei s n od o u b tt h a tt h er & do f s o f t w a r ep l a y sam o r ea n dm o r ei m p o r t a n tr o l ei nr & do f t h e w h o l ee m b e d d e ds y s t e m t h eq u a l i t yo fe m b e d d e ds o f t w a r ep l a y sad e c i s i v er o l et ot h e q u a l i t yo ft h ew h o l ep r o d u c t s ot h ee m b e d d e ds y s t e md e v e l o p e r sn e e dap e r f o r m a n c e p r o f i l i n gt o o ld e s i g n e df o re m b e d d e dd o m a i nt oi m p r o v et h eq u a l i t ya n dr e l i a b i l i t yo f t h ee m b e d d e ds o f t w a r e i nt h i sp a p e r ,w es t u d yt h eb a s i cp r i n c i p l eo ft h ee m b e d d e ds o f t w a r ep e r f o r m a n c e p r o f i l i n g ,r e s e a r c ha n dt h ea n a l y s i so ft h em a j o re m b e d d e dp e r f o r m a n c ep r o f i l e r sa n d t h e i rt e c h n o l o g yr o u t ee v e nt h o u g ht h e i ri m p l e m e n t a t i o n w ef o c u so nap e r f o r m a n c e p r o f i l e rn a m e dg p r o fw h i c hi sd e v e l o p e db yt h eg n uo r g a n i z a t i o n o nt h eb a s i so f u n d e r s t a n d i n gt h ek e yt e c h n o l o g yo fg p r o cs u c ha si t sw o r k i n gr o u t e ,i t sc o l l e c t i o nf o r p e r f o r m a n c ed a t a ,i t sp e r f o r m a n c ed a t af i l ea n ds oo n ,w eu n d e r s t a n dt h ea d v a n t a g ea n d t h ed i s a d v a n t a g eo fg p r o f t h e nw ef o r c eo nt h et w oa s p e c t so ft h ed i s a d v a n t a g ew h i c h t h eg p r o fh a v e ,t h ec o l l e c t i o na n dt h eh a n d l i n go fp e r f o r m a n c ed a t a o nt h eb a s i so ft h e r e s e a r c hb e f o r e w ec u ti nt h ep o i n to fg p r o f - w ed i g e s t i n gt h ea d v a n t a g ea n df o c u s i n g o nt h ed i s a d v a n t a g eo ft h eg p r o ft o o l s ,m a k es u r ea b o u tt h et e c h n o l o g yr o u t ea n dt h e r e q u i r e m e n t ,d e s i g na n di m p l e m e n tan e we m b e d d e dp e r f o r m a n c ep r o f i l e rc a l l e d e m p r o f i l e rw h i c hi si np l u g i nm o d e o nt h ea s p e c to ft h ep e r f o r m a n c ed a t ac o l l e c t i o n ,w ed e s i g ne m b e d d e dd y n a m i c d e t e c tf l a m ee m d d fa n de m b e d d e dd y n a m i cp r o b ee m d pt oc o l l e c tt h ep e r f o r m a n c e d a t ai nl o wo v e r h e a d a n dw ei m p l e m e n ts e v e r a lk i n d so fp r o b et oc o l l e c ts p e c i a ld a t ai n t h ee m p r o f i l e r o nt h ea s p e c to fp e r f o r m a n c ed a t ah a n d l i n gi nt h ee m p r o f i l e r , f i r s t , w ed e s i g nan e we m b e d d e dc o m m u n i c a t i o np r o t o c o lt oi m p l e m e n tt h ed a t at r a n s f e r r i n g i nh i 曲p e r f o r m a n c eb e t w e e nt h eh o s ta n dt h et a r g e t ,a n dw ed e s i g nan e w c o m m u n i c a t i o nm o d u l et oi m p l e m e n tt h ep r o f i l i n gb e t w e e ns e v e r a lh o s t sa n ds e v e r a l d i f f e r e n ts t r u c t u r a lt a r g e t s s e c o n d ,w eu s et h en a t i v eb a y e s i a nc l a s s i f i e rt oc l a s s i f yt h e p e r f o r m a n c ed a t a f i n a l l y ,w ed e s i g na m e t h o dc a l l e da n a l y t i ch i e r a r c h yg r a ye v a l u a t i o n m e t h o dt oe v a l u a t et h ep e r f o r m a n c eo ft h ew h o l ee m b e d d e ds y s t e m t h e n w ei n t e g r a t e t h ee m p r o f i l e ri nt h ee c l i p s ei d ea sas t a n d a r dp l u g i nt oi m p r o v et h ec o n v e n i e n c e t h e p o r t a b i l i t ya n dt h ee x t e n s i b i l i t y f u r t h e r m o r e ,w ea n a l y z et h ep e r f o r m a n c eo ft h e e m p r o f i l e ra n du s ei ti na ne m b e d d e dp r o j e c t t h er e s u l ts h o w st h en e wp r o f i l e ri ss t i l l al o wo v e r h e a d i th a sl i t t l ee f f e c to ns y s t e mp e r f o r m a n c e 1 1 1 er e s u l t p r o v e st h e 第i i 页 国防科学技术大学研究生院f 学硕十学位论文 e m p r o f i l e rh a sh i g hp r a c t i c a l i t y a tl a s t , w es u m m a r i z eo u rm a i nw o r k sa n di n t r o d u c e o u rr e s e a r c hw o r k si nt h ef u t u r e 。 k e yw o r d s :e m b e d d e d ,p e r f o r m a n c ep r o f i l i n g g p r o f d y n a m i cp r o b e s ,d a t a t r a n s m i s s i o n ,d a t ac l a s s i f i c a t i o n ,p e r f o r m a n c ee v a l u a t e 第i i i 页 国防科学技术人学研究生院l ,学硕十学位论文 表2 1 表3 1 表3 2 表6 1 表6 ,2 表6 3 表6 4 表6 5 表6 6 表目录 常见嵌入式性能分析工具特点对比表,2 2 e m p r o f i l e r 视图结构表。3 9 性能数据的图形化方法表 r d p 程序改进前柱状图分析部分结果表 r d p 程序改进前调用图分析部分结果表 b ir l e 8 行程长度压缩算法分析结果表 霍夫曼编码压缩算法分析结果表 算术压缩算法分析结果表 改进后的调用图分析结果表 6 9 7 0 7 1 7 1 7 i 7 2 第l v 页 国防科学技术大学研究生院1 :学硕七学位论文 图1 1 图1 2 图1 3 图2 1 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 7 图3 8 图3 9 图3 1 0 图3 1 1 图3 1 2 图3 1 3 图4 1 图4 2 图4 3 图4 4 图4 5 图5 1 图5 2 图6 1 图6 2 图6 3 图6 4 图6 5 图目录 嵌入式软件的开发流程示意图5 性能分析工具的使用流程图8 嵌入式性能分析工具的交叉运行环境示意图9 性能数据文件的结构图一2 0 e m p r o f i l e r 系统组成示意图2 4 网络环境下嵌入式性能分析构架图一2 6 数据编码格式图2 8 目标机端性能信息层出错处理流程图2 9 宿主机端性能信息层出错处理流程图3 0 通讯模块中进程闯关系示意图3 2 数据传送格式图3 3 性能数据发送流程图3 4 性能数掘的接收和性能数据文件的构建流程图3 5 e c l i p s e 集成丌发环境的体系结构图3 6 插件结构示意图3 7 e m 。p r o f i l e r 插件扩展t p t p 插件示意图3 8 e m p r o f i l e r 运行流程示意图4 0 动态探针示意图4 4 嵌入式系统的探测框架e m d d f 结构图4 6 嵌入式动态探针e m d p 结构组成图4 7 嵌入式探针插入过程示意图5 l 嵌入式探针的处理过程示意图5 2 基于嵌入式动念探针的性能分祈模型图一5 4 嵌入式系统性能评价模型图一6 1 e m p r o f i l e r 功能与性能测试架构图6 5 e m p r o f i l e r 内存状态信息图6 6 e m p r o f i l e r 目标机进程状态图一6 6 e m p r o f i l e r 函数问调用关系图6 7 e m p r o f i l e r 函数执行时间信息图6 7 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均己在论文 中作了明确的说明并表示谢意。 学位论文题目: 遂盛丝能金擅王墨曲盟塞量遮i 士 靴黻储戳:举蚴功嘭纠m 押 学位论文版权使用授权书 本入竟全了解国防科学技术大学有关保留使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印,缩印或扫描等复制手段保存,汇编学位论文。 ( 保密学位论文在解密后适用本授权书) 学位论文题目: 送厶盛:睦篮佥堑三基盟叠壅生遮盐 学位论文作者签名 作者指导教师签名 日期:2 6 年f f 月扩百 日期:2 们6 年,月,乎日 国肪科学技术人学研究生院l 学硕+ 学佛论文 第一章绪论 1 1 立题背景及意义 传奇人物比尔盖茨曾经预言:随着后p c 时代的到来,嵌入式将无处不在。 今天,伴随着历史的车轮进入二十一世纪,嵌入式系统的迅猛发展验证了比尔盖 茨的预言,人类正迎柬一个充满希望的新时代后p c 时代。人类在经历了桌面 系统的空前繁荣之后,嵌入式系统的发展币风起云涌,广泛进入到工业、军事、 通信、运输、会融、医疗、气象,农业等众多领域。 随着信息技术以及互联网飞速发展普及,3 c ( 计算机、通讯、消费电子) 合 一的加速,嵌入式设计已经成为工业现代化、智能化的必经之路,嵌入式产品已 经深入到各行各业。嵌入式接入设备是数字化时代的一大主流产品,嵌入式软件 已经成为数字化产品的核心。嵌入式软件大量应用于家用市场、工业市场、商业 市场、通讯市场和国防市场。近几年来,信息电器迅速发展,也为嵌入式软件的 发展起到推波助澜的作用。彩电、d v d 、手机、m p 3 m p 4 、掌上电脑、汽车等都 是潜在的信息电器。随着嵌入式系统应用的逐渐普及,为保证嵌入式系统的顺利 运行,嵌入式软件得到了快速发展,成为软件业的一股新生力量。 嵌入式系统面向特定应用领域,根据应用需求定制开发,并随着智能化产品 的普遍需求渗透到各行各业。随着硬件技术的不断革新、微电子技术的快速发展, 使芯片功能更加强大,硬件平台的处理能力不断增强,硬件成本不断下降,产品 体积越来越小,同时嵌入式软件的可靠性、实时性、可维护性需要进一步提高。 嵌入式软件已成为产品的数字化改造、智能化增值的关键性、带动性技术。移动 通讯、掌上电脑、数字电视是嵌入式操作系统的重要应用领域。随着掌上电脑等 手持设备性能的提高,嵌入式操作系统将成为必须的配置。随着行业的推广,行 业应用软件市场将迅速扩大。掌上电脑功能不断扩展,专项功能软件面临新的发 展机会。由于嵌入式系统关乎民生,涉及工业、农业、商业、国防以及政务等社 会生活的方方面面,决不能受制于人,嵌入式软件必将成为我国软件产业未来发 展的个主要方向。 嵌入式系统可以称为后p c 时代和后网络时代的新秀。与传统的通用计算机, 数字产品相比,利用嵌入式技术的产品有其自身的特点:, 1 、由于嵌入式系统采用的是微处理器,独立的操作系统,实现相对单一的功 能,所以往往不需要大量的外围器件,因而在体积上,功耗上有其自身的优势。 2 、嵌入式系统由于空问和各种资源相对不足,硬件和软件都必须高效率地设 第1 页 国防科学技术人学研究生院l 学硕十7 待论文 计。力争在同样的硅片面积上实现更高的性能。 3 、嵌入式系统为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都 固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。 4 、为适应嵌入式分布处理结构和应用上网需求,嵌入式系统要求配备一种或 多种标准的网络通信接口。 在市场和技术进步的双重推动下,嵌入式系统技术未来的发展将呈现出以下 几点趋势: 多c p u 体系结构 为了提高嵌入式系统的计算速度和实时性要求,多核体系结构的嵌入式系统 渐渐流行,各个处理器之间或者协同合作,或者专职分工,共同完成复杂的、实 时性强的嵌入式处理任务。 联网成为必然趋势 为适应嵌入式分行处理结构和应用上网需求,面向2 l 世纪的嵌入式系统要求 配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入式设备必须配有 通信接口,相应地需要t c p i p 协议簇软件支持;由于家用电器相互关联( 如防盗 报警、灯光能源控制、影视设备和信息终端交换信息) 及实验现场仪器的协调工 作等要求,新一代嵌入式设备还需具备i e e e l 3 9 4 、u s b 、c a n 、b l u e t o o t h 或i r d a 通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。 小尺寸、微功耗和低成本 为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存 容量和复用接口芯片。这就相应提高了对嵌入式软件设计技术要求。如:选用最 佳的编程模型和不断改进算法,采用j a v a 编程模式,优化编译器性能。因此,既 要软件人员有丰富经验,更需要发展先进嵌入式软件技术,如j a v a 、w e b 和w a p 等。 提供精巧的多媒体人机界面 嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间 的亲和力,自然的人机交互界面。 无所不在的智能 无所不在的“智能”是嵌入式系统应用的高级境界。它是指一种嵌入了多种 感知和计算设备,并根据上下文识别人的身体姿态、手势、语音等,进而判断出 人的意图,并做出相应反映的具有适应性的数字环境。它通过智能的、用户定制 的内部互联系统和服务制造理想的氛围,完成理想的功能,从而有效提高人们的 工作和生活质量。“无所不在的智能”的关键技术基础是“无所不在的计算”。 第2 页 国防科学技术人学研究生院l :导硕十号:缔论文 “无所不在的计算”指的就是“无论何时何地,任何人需要,就可以通过某种设 备访问到所需的信息”。从计算技术的角度来看,可以认为存在一个巨大的分布 式网络,这个网络由围绕在用户周围的成千上万个嵌入式系统互连而成,用柬满 足其在信息、通讯、出行和娱乐等方面的需求。 随着计算机硬件技术的进步,硬件的集成度增加,从而使嵌入式设备的硬件 性能得到了极大的提高;与此同时,通过采用成熟的嵌入式操作系统,一使系统运 行在一个高性能的、可靠的软件平台上,为实现各种大型的复杂的应用打下了良 好的基础。面对嵌入式系统复杂性和应用需求的同益增加,自然需要功能强大、 性能稳定的应用软件与之相适应。因而,在嵌入系统的刀:发中,软件的规模越来 越大,结构也越来越复杂。同时,系统又要求应用软件精简高效、稳定可靠,这 使得软件的开发在整个系统开发中所占的时间也越来越长,应用软件的质量对产 品的最终质量起到了决定性的作用。而且,尽管嵌入式的硬件技术飞速发展,但 是相对于桌面计算机来说,可用的硬件资源依然有限,有限的硬件资源和功能越 来越强的需求依然是嵌入式软件丌发领域的主要矛盾,嵌入式软件必须做到精简 高效。另外嵌入式系统往往应用在通讯、工控,航天、军事等对产品质量要求非 常严格的领域,用于一些关键性任务的控制管理。所以,出它产生的错误往往会 导致无可挽回的、致命的损失。而且由于软件的开发缺乏科学的管理手段,开发 的软件得不到很好的测试与分析。所编写的程序没有得到有效的测试和分析就交 付给用户使用。那些没有分析过的软件带着潜在的危险交付到客户手中,经常会 给用户带来巨大的经济损失、为产品供应商带来信誉上的损失,在些特殊的领 域甚至会危及入的生命安全。 综上所述,随着嵌入式系统的发展,嵌入式应用的不断增长以及嵌入式系统 复杂性不断提高,导致嵌入式软件的规模和复杂性也不断提高,嵌入式软件的质 量和开发周期对产品的最终质量和上市时问起到决定性的影响。嵌入式软件的丌 发、分析与测试成为了研究的热点。嵌入式的丌发人员迫切需要一种工具能够辅 助嵌入式软件丌发,对嵌入式系统的软件性能进行分析,以保证软件的质量和可 靠性。 1 2 课题综述 1 2 1 嵌入式软件的性能分析 嵌入式的软件一般采用c 语言进行开发。c 语言作为一种通用的高级语言, 能大幅度提高嵌入式系统工程师的工作效率,使之能够充分发挥出嵌入式处理器 第3 页 国防科学技术人学研究生院 :学硕十学伉论文 日益提高的性能,缩短产品进入市场的时间。另外c 语言便于移植和修改,使产 品的升级和移植更迅速。但区别于一般计算机中的c 语言编译器,嵌入式系统中 的c 语言编译器要专门进行优化,以提高编译效率。而要在编译阶段对程序进行 有针对性的优化,就需要知道程序的运行情况,这就需要对程序进行动态的性能 分析,现在的编译器通常利用如基本块计数、基本块间跳转计数等信息,来进行 一系列的代码优化。 另外,现在的嵌入式处理器中通常都提供一些硬件性能计数器,能提供一些 程序运行时处理器底层的性能信息,如c a c h e 命中率、分支预测错误等。 对于嵌入式的实时系统来说,性能指标是至关重要的,嵌入式丌发中必须对 应用进行性能分析,以保证实时性要求,并且尽可能的提高应用的运行效率。性 能分析为优化性能提供科学的依据,它主要是对任务,函数,调用关系进行跟踪 检测,实时的显示他们的执行时间,调用的次数等信息,使开发者比较容易发现 系统的瓶颈,迸而优化一些关键算法。优化性能是指在系统资源( 如内存容量,c p u 时钟频率) 不变的情况下,采取相应的措施,来提高系统的响应速度,执行效率等 性能。 在嵌入式实时应用的开发过程中,性能分析和优化是分层次、多阶段的,不 同阶段采用不同的性能分析方法和优化方法,软件丌发流程如图1 1 所示: 第4 页 国防科学技术人学研究生院 学硬十学位论文 图i 1嵌入式软什的开发流样示意图 图中,软件编程流程分为3 个阶段:第一阶段产生c 代码,第二阶段优化c 代码,第三阶段编写线性汇编。每个阶段完成的任务如下: 第一阶段:根据任务要求编写c 代码,完成c 语言级的程序逻辑。然后用相 应的性能分析工具进行性能分析,确定代码中可能存在的低效率段。通常这个阶 段的代码性能较低,为进一步改进代码性能,则需要迸入第二阶段。 第二阶段:利用内联函数、和性能分析数据重新优化编译c 代码和其它优化 方法改进c 代码。再利用性能分析工具进行分析,如果代码仍不能达到所希望的 效率,则进入第三阶段。 第三阶段:从c 代码中抽出对性能影q q 最大的代码段,用线性汇编重新编写 这段代码,然后使用汇编优化器优化该代码。 上述的三个阶段不是必须都经过的。当在某一阶段获得了期望的性能,就不 第5 页 国防科学技术大学硼究生院l 二学硕士学位论文 必进入下一阶段。当然如果经过了上述三个阶段都未达到期望的性能,那就需要 重新设计整个系统。 性能分析工具为分析和测试人员以及性能优化工具提供性能指标。通常进行 的性能分析有:语句或者函数的执行次数统计;函数的执行时间和函数问的调用 关系:任务级的软件逻辑分析。 基本的软件性能分析类型主要有两类:得到各语句或函数的执行次数和得到 各语句或函数的实际执行时间。各语句的执行次数可以用来验证算法是否正确, 尤其是一些算法细节,进一步的分析能够对算法优化提供一些帮助。如果将各语 句的执行次数视为布尔值并加以统计,就能够得到一定范围类语句的执行情况, 即语句级的覆盖信息。各语句或函数的实际执行时间,则用来确定程序的时间主 要耗费在哪些代码上,为优化程序提供依据,可以确定程序是否满足实时性要求。 1 2 1 1 语句或者函数的执行次数统计 得到语句或者函数执行次数的方法有如下几种: 跟踪方式 跟踪方式得到语句的执行序列,由于基本块中的各语句的执行次数样而且 语句量太大,所以记录的实际是基本块的编号序列。程序将运行过程中每个基本 块编号记录下来,形成一个基本块i d 序列。统计这个序列就能够得到各基本块的 执行次数。跟踪方式真实的记录了程序的运行情况,不仅有语句的执行次数,还 有语句的执行序列,为以后的优化过程提供了最准确的数据。这种方式产生的数 据量很大而且无法估算其最大值,必须不断将数据写到数据文件中,所以采用这 种方式进行分析时引入的时问负荷很重,对程序影响很大。在嵌入式系统中,目 标机通常无法保存分析数据,必须将数据上传到宿主机,采用这种分析方式所引 入的通信负荷是非常大的,这是一些嵌入式实时应用所不能接受的。 节点计数方式 采用节点计数方式时,每个基本块都分配了一个计数器用来记录该基本块的 执行次数,基本块每次执行时对其进行加一。这种分析方式产生的数掘量是一定 的,能够在编译时静态分配存储空日j ,对程序的影响小,只需在程序结束时将数 据保存或上传。这种方式最大的缺点是无法得到基本块的执行序列关系,另外函 数的执行次数也需另行记录。 a r c 计数方式 a r c 计数方式与节点计数方式很相似,不同的是a r c 方式记录的是基本块之问 a r c 的执行次数,然后通过编译时得到得控制流图将a r c 的执行次数转化为基本块 的执行次数。 第6 页 国防科学技术人学研究生院i :学硕士学位论文 1 2 1 2 函数的执行时间和函数间的调用关系 函数间调用关系可分为:静态调用关系、动态调用关系和全调用关系。静态调 用关系是静态分析代码段就能确定的函数调用关系,即编译时就能够确定的调用 关系。除了这些静态调用关系,程序中还有一些在编译时不能确定的调用关系, 如c 语言中的函数指针确定的调用关系。这两部分之和就是全调用关系。而动态 调用关系指的是程序运行过程中实际发生的调用关系。 函数调用关系是统计函数执行时间的基础,因为无论是以采样方式,还是计 数器方式统计的函数执行时间都是累计执行时间。必须具有函数的执行次数信息, 才能得到函数的单次执行时间。另外,函数的执行时间必须包含了其子函数才有 实际意义。 对函数执行时间的获取通常采用采样方式。这种方式的优点主要是实现简单, 但缺点则是其统计方式带来的时间误差,尤其在小函数的执行时间统计上。 1 2 1 3 任务级的软件逻辑分析 嵌入式操作系统级的软件逻辑分析主要在任务级上分析系统的软件行为。其 分析工具软件逻辑分析仪,是一种为嵌入式软件丌发者专门设计的符合实时 嵌入式系统丌发要求的高级可视化工具,它使丌发者能够看见一个嵌入式系统内 部的动态运行过程。例如,以微秒级的时间精度显示任务、中断服务程序和系统 对象之问的复杂的相互作用。任务环境切换和系统事件,诸如信号量、消息队列、 信号灯、任务、时钟和用户事件等,可以同样清楚地显示出来。可以使开发者深 入地观察系统中有用的信息,例如中断、上下文切换和堵塞任务等,提供了分析 失败原因的事后模式。丌发者能迅速找到关键问题所在而忽略次要的问题,并帮 助丌发者理解特殊行为产生的原因,以求找到解决问题的最好方法。在丌发比较 大型的嵌入式实时系统时,这种工具非常有用。由于需要实时内核对采集操作系 统级信息的支持,所以这种分析工具通常由嵌入式系统软件提供商丌发,目i i i 市 面上的嵌入式软件逻辑分析仪主要有:w i n d r i v e r 公司的w i n d v i e w l 6 j 和科银公司 的g a m m a p r o f i l e r 【14 1 。 使用软件逻辑分析仪,可以为开发人员真实再现程序运行流程,进行系统中 的死锁以及由软件原因造成的死机分析,分析系统中的内存泄漏问题,指导丌发 人员对系统中任务进行合理的划分、进行关键路径的设计与验证。可以帮助丌发 人员合理分配任务的堆栈空例、合理安排系统负荷、合理地设计中断服务程序。 1 2 2 嵌入式软件的性能分析工具 1 2 2 1 嵌入式性能分析工具的工作原理 第7 页 国防科学技术人学研究生院r 学硕十学位论文 对程序进行性能分析需要记录分析大量的数据,这通常是手工方式所不能完 成的,需要分析测试工具的支持。这些工具软件一般具备下面的功能特点: 分析软件内部结构; 与适当的编译器结合,对被测软件实施自动插桩,以便在其运行过程中生 成性能分析信息并收集这些信息: 根据收集的信息进一步处理,得到函数执行时自j 、调用关系等性能指标; 嵌入式性能分析工具的使用流程如图1 2 所示 i 靛蔫箨枣孵源代码 卜攀 | 然燃誓 l 可执行熏件h 黼雾嚣耋鼢 l 蕊数黼萼静h 图i 2 性能分析l :具的使_ i 流程幽 1 ,对程序代码进行插桩处理,得到插桩过的可执行程序,同时得到一些插桩 相关的源代码信息。 2 执行插桩后的程序,分析测试工具收集程序的动态运行信息。 3 分析测试工具处理收集到的程序动态信息,并结合程序的源代码,给出程 序的函数执行时间、函数调用关系等。 1 2 2 2 嵌入式性能分析工具的交叉运行环境 通用软件丌发的丌发环境和程序运行坏境是相同的,程序动态信息的收集比 较简单,可以通过写数掘文件将程序的动态信息保存下柬,或通过管道通信等方 式直接将程序的动态信息发送到分析工具。嵌入式软件的开发与通用软件很大的 不同点在于,需要采用交叉丌发的方式:开发工具运行在软硬件配置丰富的宿主 机上,而嵌入式应用程序运行在软硬件资源相对缺乏的目标机上。对于这类软件 的分析也存在着同样的问题:分析工具运行在宿主机上,分机工具所需要的程序 动态信息在目标机上产生。信息必须通过一定的物理,逻辑连接传输到宿主机上, 由测试工具接收。因此,嵌入式软件分析工具的一个重要问题是建立宿主机与目 标机之f 白j 的物理,逻辑连接,解决数据信息的传输问题。嵌入式分析测试工具与单 机环境的分析测试工具的最大区别也在于此,这也是嵌入式分析测试工具的技术 第8 页 国防科学技术人学研究生院f :学硕十学何论文 先进性、易用性的主要体现。嵌入式分析工具的交叉运行环境如图1 3 所示: 宿主瓤 目标帆 舒析王 交叉连赣 势桥工 具昀程 真的教 序动寿 掘缝埋 - _蓿息莳_ 姥插裤 的待馈 群静蕴毂耱 | 一l 裁鬃捧薪任务 静 上二。1 r 一 羟艇迸 程垮动 卜一 痞穗童 l 翮醺l 豹任务 分折工蔓 ii i 塞缝 匮 。茹 1 篙系 l | 图1 3 嵌入式性能分析i :具的交义运行环境示意幽 1 3 课题的研究目标和主要工作 本课题以g n u 组织的性能分析工具g p r o f 为切入点,详细分析了以g p r o f 为 代表的目前常用的嵌入式性能分析工具的技术特点以及优势和不足。在充分消化 吸收其技术的前提下,针对g p r o f 在性能数据的采集和性能数据的处理两方面的不 足之处,设计和实现了一个面向嵌入式领域,交叉丌发环境下的嵌入式性能分析 工具e m p r o f i l e r 。该工具能够对以g e e 作为交叉编译器的嵌入式交叉环境下的应 用软件进行性能分析。使用该工具可以反映嵌入式软件的热点和瓶颈,为改善程 序性能提供依扼。在e m p r o f i l e r 的实现过程中,重点研究了嵌入式系统性能数据 的获取技术和嵌入式系统性能数据的处理技术。在嵌入式性能数据的获取技术部 分,设计了一种嵌入式动态测框架e m d d f 和嵌入式动态探针e m d p ,实现嵌入 式性能数掘的收集;在性能数据的处理部分,设计全新的性能数掘传输模块和性 能数据的传输协议,实现性能数掘的高效传输,以改变传统嵌入式一对一的交叉 开发方法,实现同时对多异构目标机的性能分析;并且采用朴素贝叶斯分类方法 对性能数据分类;设计一种新的性能评价方法对整个嵌入式系统的性能进行评估。 最后将e m p r o f i l e r 以插件的形式集成进e c l i p s e 集成丌发环境,增强其人机界面的 友好性以及e m p r o f i l e r 的易用性、可移植性和可扩展性。 本课题的主要工作具体总结如下: 对国内外业界动态以及新技术、新产品进行深入的了解,系统的分析了各 种嵌入式性能分析工具的基本原理、关键技术、研究方法、优点不足:重 点对g n u 的交叉编译器g e e 和性能分析工具g p r o f 做了深入的技术分析, 第9 页 国防科学技术人学研究生院f 学硕十学竹论文 掌握了嵌入式性能分析的基本技术; 在吸收当l j i 各嵌入式性能分析工具的优点的基础上,设计并实现嵌入式性 能分析工具e m p r o f i l e r : 重点研究了软件插桩技术和探针技术,在e m p r o f i l e r 中设计嵌入式动态探 测框架e m d d f 和嵌入式动态探针e m d p 实现性能数掘的收集; 深入研究嵌入式性能数据的传输技术,在e m p r o f i l e r 中设计新的通信协议 实现性能数据的高效传输,并且设计新的通信模块,实现多宿主机同时对 多异构目标机进行性能分析; 研究性能数据分类技术,使用朴素贝叶斯分类法对性能数据进行分类:研 究嵌入式系统性能的评价方法,设计了针对嵌入式系统的多层次灰色性能 评价方法; 深入分析e c l i p s e 集成开发环境,并将e m p r o f i l e r 以插件的形式集成迸 e c l i p s e : 对e m p r o f i l e r 进行功能和性能测试,分析其运行丌销,并且将e m p r o f i l e r 应用在一个实际的嵌入式项目的开发过程中。 在攻读硕士学位期间,以第一作者发表论文嵌入式性能分析工具g p r o f 的研 究和改进收入“第六届全国嵌入式学术年会”论文集 1 4 论文结构 本文内容共分七章,各章的内容安排简要描述如下; 第一章“绪论”部分,主要介绍课题研究背景、论文所涉及的基本概念,确 定了课题的研究目标和内容。 第二章“国内外研究现状”部分,按照实现方式对当今主流嵌入式性能分析 工具进行分类:对常用的性能分析工具v t u n e 、c o d e l e s t 等的技术特点进行总结 和归纳:重点分析g p r o f 的原理和实现方式。 第三章“嵌入式性能分析工具e m p r o f i l e r 的总体设计”部分在以上研究的基 础上,设计和实现了一种新的嵌入式性能分析工具e m p r o f i l e r ,并且针对 e m p r o f i l e r 的技术路线、系统组成、通信模块、用户界面以及工作流程等方面进 行了详细的描述。 第四章“嵌入式动态探针e m d p ”部分首先分析和对比常用性能数据获取技 术的优劣,对动念探针技术进行深入的研究,在此基础上设计了一种嵌入式动态 探测框架e m d d f 和嵌入式动态探针e m ,d p ,实现性能数掘的收集。 第1 0 页 国防科学技术人学研究生院f :学硕十学位论文 第五章“多层次灰色性能评价方法”部分主要通过使用朴素贝叶斯分类法对 性能数据进行分类;设计针对嵌入式系统的多层次灰色性能评价方法对整个系统 的性能进行评估。 第六章“测试与应用”对e m p r o f i l e r 进行功能和性能测试,检验e m p r o f i l e r 的各项功能和运行开销,并且将e m p r o f i l e r 应用于一个实际的嵌入式项目中,在 测试和实践中证明e m p r o f i l e r 的实用性。 第七章“结论”部分在总结全文的基础上,提出下一步的研究方向。 第1 1 页 国防科学技术人学研究生院i :学硕十学t i 7 :论文 第二章国内外研究现状 随着嵌入式系统的应用领域不断扩大,丌发者对嵌入式应用程序性能的要求 越来越强,不论是国内还是国外,不论是商业领域还是开源社区,都出现了大量 嵌入式性能分析工具,并且各有特点。这些嵌入式性能分析工具就实现方式上来 说可以分成纯硬件、纯软件和软硬结合三种,三种实现方式各有特点。目前市面 上常用的嵌入式性能分析工具包括c o d e t e s t 1 3 1 、v t u n e 5 1 、n u c l e u s 引、g p r o f t 2 们、 c o d ea n a l y s t l 9 1 等,各有优

温馨提示

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

评论

0/150

提交评论