已阅读5页,还剩55页未读, 继续免费阅读
(计算机系统结构专业论文)以计算模型为基础的嵌入式软件设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
蟹口夫学坝j 学位论义以计算模型为基拙鹅嵌入式软件设计 以计算模型为基础的嵌入式软件设计 摘要 随着嵌入式系统的功能和性能要求的不断提高,嵌入式软件的规模越来越大、 复杂度不断增加;嵌入式软件还需要满足许多非功能需求,如实时约束、实现成 本约束( 使用有限的资源,如计算能力、内存容量) 等;而不断加剧的竞争对其 丌发速度提出了越来越高的要求。这三个方面的因素使得嵌入式软件开发的难度 大大增加,传统的j 千发方法已难以有效地满足嵌入式软件丌发的需求。 嵌入式软件设计工作的个基本发展趋势是系统级设计,这是当今世界上该 领域的一个研究热点。它在设计的早期通过模型全面地描述系统的功能和性能, 这种抽象描述一般与具体实现无关;然后,对其功能和性能进行形式化的分析、 验证咀保证软件的正确性;最后,在此基础上将整个软件层次化和模块化,它降 低了复杂度并有利于团队开发。它能在设计的早期发现系统的设i - t 1 错误和性能瓶 颈:大大提高了系统的可理解性,方便系统设计者阅读、理解和修改;同时也方 便队丌发和软件复用,从雨能有效地满足嵌入式软件开发的需求。 因此,本文提出一种以计算模型为基础的嵌入式软件设计方法,它将动态数 据流图d d f 引八嵌入式软件开发。d d f 是一种简单、完备而且表达能力强的并 行计算模型,能直观地表达算法的层次性和并行性。建模时,d d f 能表达各种控 制结构,如i 条件执行、数据依赖的迭代等:验证时,d d f 等价于k a h n 进程网模 型,这表1 9 jd d f 是否能在有限内存内非终止运行是可分析、可验证的。此外, 还r i j 以通过在d d f 中插入其他信息来分析程序的非功能特性,如实时性。这样, d d f1 q 以形式化地确定各种节点问的关系,并限定节点的执行次序以保证程序的 l f 确性,将d d f 用于嵌入式软件设计将极大地有助于有效的软件建模、形式化 的分析、正确的设计改进、软件优化以及实现。 j r t tz l 、,它通过将d d f 的节点转换为组件实现嵌入式软件的综合。它在相关研 究的基础上提出一个合适的组件模型,并给山具体的实现技术。该组件技术将有 助丁通过并发工作加快开发进度、通过复用现有高质量组件得到更可靠的系统、 _ 领域专家提供高抽象级的专业系统组件以及提高系统的可维护性。 本文主要内容包括:通过d d f 来对嵌入式软件进行建模与分析、设计合适的 d d f 调度算法、提出一个用于d d f 综合的组件模型等。另外,还以m p 3 解码器 为例,证明了它是一种实用的嵌入式软件设计方法。 关键字: 嵌入式软件;计算模型:动态数据流图;一致性分析;调度算法:组件技术;m p 3 第1 页共6 l 受 复县人学硕士学位论文以计算模型为基础的嵌入武软件设计 m o cb a s e d d e s i g n o fe m b e d d e ds o f t w a r e a b s t r a c t d u et ot h ei n c r e a s e dr e q u i r e m e n t so fe m b e d d e ds y s t e m si nb o t hf u n c t i o na n d p e r f o r m a n c e ,t h es i z ea n dc o m p l e x i t yo fe m b e d d e ds o f t w a r ea r ei n c r e a s i n gr a p i d l y e m b e d d e ds o f t w a r em u s ts a r i s f ym a n yn o n - f u n c t i o n a lr e q u i r e m e n t s ,s u c ha sr e a l t i m e c o n s t r a i n t s ,c o s t c o n s t r a i n t s ( u s i n g l i m i t e dr e s o u r c e s i n c l u d i n gc p u ,m e m o r y c a p a b i l i t y ) 0 1 , h eh i g h l yc o m p e t i t i v em a r k e ta l s or e q u i r e su st od e c r e a s ed e v e l o p m e n t t i m e s i g n i f i c a n t l y s o m o r ea n dm o r e ,i ti s g r e a t l yd i f f i c u l t t o d e v e l o pe m b e d d e d s o f t w a r ec o r r e c t l yi nt i m e 。t h et r a d i t i o n a lm e t h o di sh a r dt os a t i s f yt h er e q u i r e m e n t so f s o f t w a r ed e v e l o p m e n tf o re m b e d d e ds y s t e m s ab a s i ct r e n di nt h ed e s i g no fe m b e d d e ds o f t w a r ei ss y s t e ml e v e ld e s i g n ,w h i c hi s a n l a j o r r e s e a r c hw o r ki nt h i sf i e l d i t c o m p l e t e l y d e s c r i b e st h ef u n c t i o n a la n d p e r f o n n a n c er e q u i r e m e n t s o ft h ee m b e d d e ds y s t e mi nm o d e li nt h e e a r l yt i m eo f d e s i g n g e n e r a l l y , t h i sa b s t r a c td e s c r i p t i o ni si n d e p e n d e n to f c o n c r e t ei m p l e m e n t a t i o n t h e n ,t h ec o r r e c t n e s so fs o f t w a r ei sg u a r a n t e e db yt h ef o r m a la n a l y s i sa n dv a l i d a t i o n o ft h ef u n c t i o n a la n d p e r f o r m a n c er e q u i r e m e n t s a tl a s t ,t h e w h o l es o f t w a r ei s d c c o m p o s e di n t oc o l n p o n e n t s ,w h i c hd e c r e a s e sc o m p l e x i t ya n dc o n t r i b u t e st ot e a m w o r k t h ee r r o ra n db o t t l e n e c ko fp e r f o r m a n c ec a nb ed e t e c t e di nt i m e t h e l 】1 1 d c f s t a n d a b i l i t y o fs y s t e mi s i n c r e a s e d ,w h i c hb e n e f i t s t h e d e s i g n e r t o c h e c k , u n d e r s t a n da n d i m p r o v e t h e d e s i g n i n a d d i t i o n ,i t s u p p o r t s t h ec o n c u r r e n t d e v e l o p m e n t a n dr e u s eo f c o m p o n e n t s i ns h o r t ,i t c a n e f f e c t i v e l ys a r i s f y t h e r e q u i r e m e n t so f s o f t w a r ed e v e l o p m e n tf o re m b e d d e d s y s t e m s t h e r e f o r e ,t h i sp a p e rs u g g e s t sam o c ( m o d e lo fc o m p u t a t i o n ) b a s e dm e t h o df o r e m b e d d e ds o f t w a r ed e s i g n i ti n t r o d u c e sd d ft oe m b e d d e ds o f t w a r ed e v e l o p m e n t d d fi sa s i m p l e ,c o m p l e t e a n du s e f u lm o c i tc a n i n t u i t i o n a i l y d e s c r i b et h e h i b e r a r c h ya n dp a r a l l e l i t yo fa l g o r i t h m s i nm o d e l i n g ,d d fc a ne x p r e s sv a r i o u sc o n t r o l s t r u c t u r e ,s u c ha sc o n d i t i o n a l sa n dd a t ad e p e n d e n ti t e r a t i o n s i nv a l i d a t i o n ,d d fi s s h o w nt ob ee q u i v a l e n tt ok a h np r o c e s sn e t w o r k s ,w h i c h i m p l i e st h a tt h et e m f i n a t i o n p r o b l e mo fd d fg r a p hi sd e p e n d e n to nt h eg r a p hi t s e l f , b u tt h em e m o wb o u n d i n g p r o b t e l ni sd e p e n d e n to n t h ee x e c u t i o no r d e r , a sw e l la st h eg r a p hi t s e l f ii na d d i t i o n , o t h e ri n f o r m a t i o nc a nb ei n s e r t e di n t od d f , s ot h er e l e v a n tp r o p e r t yc a nb ea n a l y z e d , s u c ha sr e a lt i m ec o n s t r a i n t s i ns h o r t ,t h er e l a t i o nb e t w e e nn o d e sc a nb ef o r m a l l y d e c i d e db yd d f , t h e f i r i n go r d e ri sr e s t r i c t e dt og u a r a n t e et h ec o r r e c t n e s so fp r o g r a m , 第2 页共6 1 页 复臼大学项十学位论文 以计算模型为基础的嵌入式软件设计 s ot h ei n t r o d u c t i o no fd d fi ne m b e d d e ds o f t w a r ed e s i g ng r e a t l yb e n e f i t se f f e c t i v e m o d e l i n g ,f o r m a la n a l y s i s ,c o r r e c ti m p m v e m e m ,s o f t w a r eo p t i m i z a t i o n a n d i m p l e m e n t a t i o n f u r t h e r m o r e ,i ti m p l e m e n t sd d fn o d e sa sc o m p o n e n t si n s o f l w a r e s y n t h e s i s b a s e do nr e l a t e dr e s e a r c ho fc o m p o n e n tm o d e l i ts u g g e s t sa na p p r o p r i a t ec o m p o n e n t m o d e la n dd e t a i l e di m p l e m e n t a t i o nt e c h n o l o g y t h ec o m p o n e n tt e c h n o l o g yi sh e l p f u l t og e tas y s t e md e v e l o p i n gq u i c k l yb yc o n c u r r e n tw o r k ,t od e v e l o pr e l i a b l es y s t e mb y t h er e u s eo f h i g h q u a l i t yc o m p o n e n t s ,t op r o v i d e h i g h a b s t r a c tp r o f e s s i o n a l c o m p o n e n t sb y f i e l de x p e r ta n d t oi m p r o v et h e m a i n t a i n a b i l i t y t h em a i nc o n t e n t so ft h i sp a p e ri n c l u d e s :t h em o d e l i n ga n da n a l y s i so f e m b e d d e d s o f t w a r ei nd d f , t h ed e s i g no fa p p r o p r i a t es c h e d u l i n ga l g o r i t h m sa n d t h es u g g e s t i o n o fc o m p o n e n tm o d e lu s e di nd d fs y n t h e s i s i na d d i t i o n ,t h e m p 3d e c o d e ri s i n t r o d u c e da se x a m p l et op r o v et h ee f f e c t i v i t ya n dt h ep r a c t i c a b i l i t yo f t h em e t h o d , k e y w o r d s : e m b e d d e ds o f t w a r e ;m o d e lo fc o m p u t a t i o n ;d y n a m i cd a t af l o wg r a p h ;c o n s i s t e n c y a n a l y s i s ;s c h e d u l i n ga l g o r i t h m ;c o m p o n e n tt e c h n o l o g y ;m p 3 , 第3 页共6 l 页 复且大学坝:j :学位论文以计算模型为基础的嵌入式软件设计 第一章引言 1 1 嵌入式系统概述 1 1 1 嵌入式系统定义 以往按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为大 型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这种分 类沿袭了约4 0 年。近1 0 年来随着计算机技术的迅速发展,实际情况产生了根本 性的变化,例如7 0 年代末定义的微计算机演变出来的个人计算g t ( p c ) ,如今已经 占据了全球计算机工业的9 0 市场,其处理速度也超过了当年大、中型计算机。 随若计算机技术对其它行业的广泛渗透,以应用为中心的分类方法变得更为 切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机 和通用计算机。通用计算机具有计算机的标准形态,通过装配不同的应用软件, 以类同面目出现并应用在社会的各个方丽,其典型产品为p c ;丽嵌入式计算机 则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。 嵌入式系统是以应用为中心,并以计算机技术为基础的,软件硬件可根据需 要进行裁减,以适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的 专用计算机系统 1 】。嵌入式系统通常隐藏在相关的应用系统和设备当中,不以计 算机系统的标准形态出现,而嵌入式系统的载体系统或设备通常被人们称为智能 系统或智能设备。 嵌入式系统是关于系统的而不是关于计算机的。在桌而机的设计中,往往强 调最快速的c p u ,支持最高的计算速度,而在嵌入式系统设计中,外部接口( 传 感器、触发器) 和相应的控制算法和逻辑是设计者关心的重点,c p u 只是为这些 而存在的。另外,在理解嵌入式系统定义时,不要与嵌入式设备相混淆。嵌入式 设备是指内部有嵌入式系统的产品、设备,例如,内含单片机的家用电器、仪器 仪表、工挖单元、机器人、手机、p d a 等。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具 体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度 分散和不断创新的知识集成系统。 1 1 2 嵌入式系统特点 按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象系统中 的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本 要素。对象系统则是指嵌入式系统所嵌入的宿主系统。嵌入式系统的特点与定义不 第6 页共6 l 页 火学硕士学位论文以计算模型为基础的嵌入式软件设计 向,它是由定义中的三个基本要素衍生出来的,不同的嵌入式系统其特点会有所差 异。 与“嵌入性”相关的特点:由于是嵌入到对象系统中,必须满足对象系统的环境 要求,如物理环境( 小型) 、电气气氛环境( 可靠) 、成本( 价廉) 等要求:与“专 用性”千h 关的特点:软、硬件的可裁剪性,以满足对象要求的最小软、硬件配置等; 与“计算机系统”相关的特点:嵌入式系统必须是能满足对象系统计算和控制要求的 计算机系统,以及与上述两个特点相呼应,这样的计算机必须配置有与对象系统相 适j 、t 的接口电路。 相对于p c 机,嵌入式系统一般具有以下特点: 一般,嵌入在其它设备中 单一固定的功能,重复运行一个或几个固定的程序 对资源限制严格( 不易扩展,相对桌面计算机) 确保实时性能:对环境和事件要快速响应 ; 体积小、重量轻 耗能小 安全和可靠性要求高 i o 资源有限 对成本较敏感 每个嵌入式系统都有它独特的具体要求 其- h 实时性指的是嵌入式系统能及时地响应外部的激励事件,系统的实时性 j 二要分为以下三类【2 】 3 】【4 : 1 ) 硬实f | _ = | 性:指的是系统的响应时问必须在绝对的期限之内,否则系统的响应将 是无效的。硬实时性可以用两个参数来描述,即系统的最大响应时问和最d , f l l ;l 应时间。实际应用中,通常把最大响应时间作为系统的响应时间,而不考虑系 统的最d , l i i a j 应时间。 2 ) 软实时性:指系统的响应时问期限只是个一个大概的约束值。系统的响应时刚 超出期限,只会造成系统性能的下降,而不会造成系统的响应完全无效。 3 ) 固实时性:介于硬实时性和软实时性之间。系统的响应时间偶尔较少地超出期 限,系统的性能下降,当j 相应时间经常过多地超出期限时,系统的响应将会完 全无效。 i 1 3 嵌入式系统应用 从某利i 意义上来说,通用计算机行业的技术是垄断的。嵌入式系统则不同,嵌 入式系统工业是不可垄断的高度分散的t , i k ,充满了竞争、机遇与创新。即便在体 第7 页共6 l 页 复9 大学硕士学位论文以计算模型为基础的嵌入式软件设计 系结构上存在主流,也没有哪一个系列的处理器和操作系统能够垄断全部市场。各 不相同的应用领域也决定了不可能由少数公司、少数产品垄断全部市场。因此嵌入 式系统领域的产品和技术,必然是高度分散的,留给各个行业高新技术公司的创新 余地很大。另外,社会上的各个应用领域是不断向前发展的,要求其中的嵌入式处 理器核心也同步发展,这也构成了推动嵌入式工业发展的强大动力。嵌入式系统工 业的基础是以应用为中心的“芯片”设计和面向应用的软件产品开发。 嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外 部设备中就包含了5 1 0 个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、 显示器、m o d e m 、网卡、声卡、打印机、扫描仪、数字相机、u s b 集线器等均是由 嵌入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、 航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域【1 2 】。 随着i n t e r n e t 的发展,新型的嵌入式系统正朝着信息家电i a ( i n f o r m a t i o n a p p l i a n c e ) 和3 c ( c o m p u t e r 、c o m m u n i c a t i o n & c o n s u m e r ) 产品方向发展。根据应用类型的不 同,可以将嵌入式系统分为四类: 1 ) 通用计算:这一应用类型的嵌入式系统在功能上和通用计算机的应用有很多相 似之处,只是采用嵌入式计算机作为计算平台,例如:电视游戏机、机顶盒、 自动回活器等。这一类嵌入式系统通常有友好的人机接口。 2 ) 控制系统:控制系统是嵌入式系统的一种常见类型,在制造工业、过程控制、 交通、航天、军事武器装备、消费类产品等方面都能发现控制系统的踪影。这 类嵌入式系统通常具有较高的实时响应能力。 3 ) 信号处理:这一应用类型的主要特点是运算量很大,主要应用系统包括各种带 有智能逻辑的消费类产品、生物信息识别终端、实时语音压解系统、视频压缩 系统、虚拟现实显示系统等。 4 ) 通信与网络:通信网络上各种交换机设备、传输设备和接入设备都是属于这一 应门j 类型。由于通信具有实时性和并发性的特点,所有这一类嵌入式系统通常 要求较高的实时性和并发性。 可见,嵌入式系统可应用于人类工作和生活的各个领域,具有极其广阔的应 用前景,它的功能将更加强大,应用将更加广泛。目前,它已经深入到工业、农 业、教育、围防、科研以及日常生活等各个领域,对各行各业的技术改造、产品 更新换代、加速自动化进程、提高生产率等方面起到了极其重要的推动作用。 1 1 4 嵌入式系统开发涉及的技术和主要研究方向 嵌入式系统本身是计算机、微电子、电子以及各种相关应用领域专业技术相结 合的产物,因此,嵌入式系统的开发涉及的技术相当广泛。单在计算机领域,涉及 笫8 页共6 i 页 复旦大学硕士学位论文 u 计算模型为基础n 勺嵌入式软件设计 的技术就包括从底层的嵌入式处理器技术、接口技术到高层的操作系统、面向对象 建模技术、编译技术等。几乎所有在个人计算机平台上发展成熟的技术,均可经过 裁剪应用到嵌入式系统的开发中。因此,有人说个人计算机平台是嵌入式系统技术 发展的试验田。 在嵌入式应用中,最关键的两项核心技术是:嵌入式处理器和嵌入式操作系 统,它们共同构成嵌入式应用开发的最基本的平台。嵌入式系统的核心是嵌入式 微处理器,嵌入式微处理器一般具备以下4 个特点:a ) 对实时多任务有很强的支 持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内 核的执行时间减少到最低限度。b ) 具有功能很强的存储区保护功能,这是由于嵌 入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作 用,需要设计强大的存储区保护功能,同时也有利于软件诊断。c ) 可扩展的处理 器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。d ) 嵌入式 微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠 电池供电的嵌入式系统中时更是如此,如要求功耗只有m w 甚至u w 级。 嵌入式操作系统种类繁多,有资源开销很少的i c 卡操作系统,也有功能较强 的网络计算机操作系统。这些嵌入式操作系统从功能到性能各具特色为各种硬 件环境及应用提供了相应的支持和服务。目前市场上共有几十种操作系统,有深 嵌入系统,也有浅嵌入式系统:有多任务系统,也有单任务系统:有实时系统系 统,也有分时系统。总之,不同厂商推出的操作系统或多或少都有差异,但许多 嵌入式操作系统一般具有如下一些内容和功能:系统核心、窗口图形系统、文件 系统、设备驱动程序和网络协议等。 特别值得一提的是,随着嵌入式系统的规模越来越大,功能越来越复杂,嵌入 式系统的开发逐渐从一个人独立完成软、硬件开发,发展到一个小组团队协同完成 整个) f :发:】二作。因此,软件工程中的软件抽象、过程控制、配置管理等技术也很自 然地应用到了嵌入式系统的开发中。嵌入式系统作为近期的一个热点,正得到学术 界衣l 工业界的广泛重视,当前嵌入式系统领域主要的研究方向有: 1 ) 嵌入式系统的可靠性研究 嵌入式系统的可靠性研究要比个人计算机系统的可靠性研究迫切得多。因为, 嵌入式系统应用领域非常广泛。许多应用领域( 如图防、电信、电力、化工等) 对 系统可靠性要求都非常的高,系统的不可靠可能会给用户造成无法估量的损失。加 上系统的可靠性往往涉及到很多方面的理论与技术,因此如何提高系统可靠性一直 是个主要研究方向。 2 ) 嵌入式系统开发环境 嵌入式系统开发环境在很大程度上决定着嵌入式系统的开发效率,一个自动化 复日大学硕士学位论文以计算模型为基础的嵌入式软件设计 程度高的开发环境可以大大地节省开发时间和精力,并能够减少人为引入的错误。 3 ) 嵌入式软件开发方法 早期,嵌入式系统的软件开发工作只占全部工作的5 1 0 。随着时间的推 移,到8 0 年代,软件开发工作已经占到全部工作的5 0 。近几年,随着应用复杂 度的增加,软件开发工作急剧增长,经常达到全部工作的7 0 8 0 ,而且软件开 发的复杂度与难度也比过去有了很大的增长。面对这样一种情况,许多大学和厂商 都针对嵌入式软件特点提出了一整套的软件开发方法,指导软件开发的全过程。人 们在个人计算机上的实践证明在开发过程中引入正规的开发方法能够提高整个软 件的丌发效率。 4 ) 嵌入式操作系统 专用于嵌入式系统的操作系统的出现,是嵌入式系统硬件软件发展的结果。与 个人计算机上操作系统不同的是,嵌入式操作系统提供包括操作系统内核、各种服 务以及一整套的支持开发的工具。目前市场上嵌入式操作系统层出不穷,如何开发 嵌入式操作系统、如何评价并利用操作系统进行嵌入式系统的开发都是值得研究的 问题。 5 ) 嵌入式系统的软硬件协同设计技术 随着嵌入式系统的复杂度和性能要求的不断提高,传统的先硬件后软件的设计 模式已愈显不合理。由于在硬件设计过程中缺乏对软件构架和实现机制的清晰了 解,硬件设计工作带有定的盲目性,这利盲目性通常反映在对系统软硬件的合理 划分以及对最终系统性能的把握上,造成所设计的硬件结构难以在性能和成本之间 达到理想的选择点,严重时会造成在软件设计过程中硬件方案的修改甚至重新设 训,从而影响系统的开发成本和开发时闯。因此,嵌入式系统设计工作的一个基本 发展趋势是软硬件协同设计【5 1 。这种软硬件协同设计的基本过程是个以性能和实 现成本为尺度的循环优化过程,整个设计过程通常可分为如下个几步骤:系统描述、 早期分析、系统综合、实现综合、验证运行。 6 ) 分布嵌入式系统 由丁分布式系统具有模块化、可诊断、系统扩展方便的特点,非常适合于某些 应用领域的需要。而传统的分布式系统对资源的, :销较大,因此必须针对嵌入式系 统资源有限的特点,给出分布嵌入式系统的解决方案。 7 ) i n t e r n e t 上的嵌入式系统 i n t e r n e t 的推广,使得市场对各种具有上网功能的设备的需求日益膨胀,这也是 嵌入式系统目前受到如此重视的主要原因之一。 本文主要研究嵌入式软件开发方法。 第1 0 页共6 l 页 复1 3 大学硕i j 学位论文 以计算模型为基础的嵌入式软件设计 1 2 嵌入式软件发展趋势 传统意义上的软件都是指通用计算机软件,通用计算机几乎成为软件的唯一 运行平台。随着电子技术的迅速发展,信息技术被广泛地应用于非计算机硬件装 置中,几乎所有的设备控制均可通过软件来实现,冰箱、微波炉、v c d 、手机、 电梯、机床等各种硬件平台都可通过软件实现控制,软件业服务领域大为扩展。 在信息家电、智能设备、仪器仪表的应用场合,出于对产品体积、成本等因 素的考虑,往往要求将计算机控制部分安装于设备内部且占用空间尽可能小。在 这种情形下,处理器一般没有多少可用内存,更没有可用的外存,而操作系统就 安装在这有限的内存中,这样的系统就是嵌入式系统。 随着信息家电的引入,嵌入式软件也随之引起广泛关注,信息家电是3 c 合一 的产物。在以前的系统中,语音、视频、文字信息的传播媒介及接收终端大多是 分离的,如电话借助电话网传输语音信息,接收终端为电话机,电视借助有线网 传播视频及音频信号,接收端为电视机。近年来随着计算技术和多媒体技术的发 展,计算机已能同时处理文字、音频、视频信息。将计算机技术引入消费电子, 结合现代通讯技术,就形成了3 c 合一的大趋势。 嵌入式软件主要用于非p c 领域,由于嵌入式软件对配置要求较低,因此, 嵌入式软件可运行于各种需要控制的设备中。随着信息技术在各种控制设备上的 广泛应用,嵌入式软件的前景会十分广阔。一般而言,嵌入式软件具有如下特征: 小型化:嵌入式软件所占空i 词小 专业化:嵌入式软件往往服务于具体运用领域,不求大丽全 使用简单:嵌入式软件追求易学易用 实时性强:嵌入式软件实时性一般要求较强,可用于各种设备控制中 配臀要求低:可运行于低配置的环境中,主要用于非计算机设备 因此,有人认为嵌入式软件只是运行在小型计算机上的简单软件,这种观点 是错误的。实时性、并发性、活跃性、交互性以及异构性等都是嵌入式软件的内 在特性 6 1 1 1 7 】。构造正确的嵌入式软件必须考虑这些特性,而不只是简单的实现从 一组输入数据到一组输出数据的转换。随着嵌入式应用的不断深入,嵌入式软件 的这些特点越来越明显,下面就具体分析嵌入式软件的这些特点。 1 1 实时性 计算理论系统化地忽略了时间的概念,单纯的计算由于同时间无关,也不用 考虑时间。这在当前是很普遍的看法,如所谓的实时操作系统一般也只是将进程 的时问特性表达为用数字表示的优先级。即使现在的逻辑学往往也只是谈论 直”、“最终”的概念,时间在这里只是一个限度词,而不是一个量词。在面向对象 的设计中考虑实时性也还远没有取得满意的效果【8 】。 第1 i 页共6 i 页 复旦大学硕士学位论文以计算模型为基础的嵌入式软件设计 大部分问题源于计算本身需要时问。计算机体系结构的发展使得嵌入式系统 开发越来越难。从体系结构角度来看,现代处理器性能的增加很大一部分归功于 统计加速,如精心设计的c a c h e 机制、指令的推断执行、动态调度以及分支预测 等技术,这些技术损害了嵌入式系统的可靠性。实际上,大部分嵌入式处理器都 没有采用这些技术。如可编程d s p 、微控制器。当然,由于这些技术使得程序平 均性能大火提高,它们是必不可少的,但软件开发者必须利用抽象机制重新实现 对时问的控制,否则,嵌入式系统设计者将一直会拒绝采用这些技术。当然,问 题也不只是来源于计算需要时间,即使处理器速度无穷大,嵌入式软件仍然要处 理时i 词问题,因为与之交互的物理进程的行为随时间不断变化。 实时性是大多数嵌入式系统所具备的基本特性。实时性通常需要通过服务时 闷和排队时间两个参数来描述,排队时问指的是从事件中断发生到被处理的时闻 问隔,服务时问即处理事件中断所花费的时间两者之和即为系统的响应时间。 实时性分为硬实时性、软实时性和固实时性三种情况。当前处理实时问题的技术 主要有分析技术和仿真技术,分析技术是通过构建嵌入式系统的数学模型,用数 学方法从模型中提取出所需要的实时性能参数,它通常采用排队论来解决这类问 题:仿真技术是通过构建嵌入式系统的可执行系统模型仿真模型,并对该模 型的运行数掘进行直接测量来挟得系统的实时性能参数。 2 ) 并发性 嵌入式系统通常同多个物理进程交互,它有时必须同时响应网络请求和各种 传感器以及及时控制触发器,这都表明嵌入式软件的并发性。并发性也是大多数 嵌入式系统具备的基本特性,软件开发者必须认真考虑多进程多线程之问的同步 与通信等问题,防止出现死锁。 在通用计算领域,利用原语来管理并发性,进程、线程、信号量等是管理并 发性最蜒本的工具。但除了操作系统专家外,这些工具非常难于使用,在抽象级 别上相当于汇编语言的层次,大部分工程师只能理解很简单的设计。并发理论中 还有许多没有被广泛使用的技术,但用于嵌入式系统时可能需要作一定的改进, 例如,有些理论将并发简化为交互,它通过假定所有的计算等同于系列永恒的 离散的交瓦操作来弱化时问的概念。 嵌入式系统与物理世界交互,而物理世界中往往有多个事件同时发生。因此, 在设计嵌入式系统的过程中,如何使得软件的执行次序同并发的物理世界保持一 致是一个很大的挑战。经典的进程、线程、同步信号量、互斥信号量、远程过程 调用等处理并发问题的方法是一个很好的基础,但不是很充分,因为它们的复杂 组合简直是无法理解的。 同步交互语言e s t e r e l 9 从另一个角度来看待并发问题,它广泛应用于对安全 第1 2 页共6 l 页 复避人学硕卜学位论文以计算模型为基础的嵌入式软件设计 性要求很高的实时应用中,也适用于嵌入式系统。e s t e r e l 语言静态解决并发问题, 虽然它能带来高可靠性的应用但有些问题是无法静态确定的。它通过增量编译 而非进程调度来适应不断变化的交互,但已经证明增量编译有时是很困难的。所 以,需要的可能是介于e s t e r e l 语言和实时操作系统间的一种方法,它应该综合了 e s t e r e l 的安全性、可靠性和实时操作系统的适用性,以更简单有效地处理复杂的 并发问题。 3 ) 活跃性 活跃性是嵌入式系统的一个关键特征,即程序必须不能终止或阻塞。按照图 灵计算理论,所有非终止的程序是有缺陷的。然而,在嵌入式计算领域,终止的 程序是有缺陷的。“死锁”这个术语此时表示这些系统过早的终止,必须全力避免。 图灵停机问题是不可决定的,所以无法决定哪些程序是无法终止的,这给编 程带来了不便。对于嵌入式系统,问题变为无法确定哪些程序是无法一直运行的。 而且即使知道这个问题的答案,也不能保证程序的正确性,因为还得考虑实时性 等非功能特性。通用软件最关键的特性在于软件是由它实现的数学函数来定义 的,迭| 为数学函数表达了软件中所有本质的东西。但嵌入式软件最关键的特性在 于它通过传感器、触发器等同物理世界交互,它包括许多非功能需求,如实时性、 功耗、容错性,安全性、健壮性等。 4 ) 接f j 晰向对象设计的广泛使用是软件:r 程的重大进步。面向对象设计是一种组件 技术,也就是蜕大型复杂的系统由大量组件构成,这些组件的接口是通过对复杂 的软件进行抽象得到的。 在软件中使用接口已不是新概念,最广泛使用的基于接口的组件技术是过程。 个过程读入预定义的参数,执行有穷的计算,并返回结果。许多过程库在软t : 丌发中得到j “泛使用,它对于复杂的功能提供了有效的抽象。然而,过程不是十 分适合嵌入式系统。例如,虽然可以按照有穷的计算来定义手机的语音编码器, 但是,手机的语音编码器更象个进程,而非过程。它是一个非终止的计算过程, 将无限的输入数据流转换为无限的输出数据流。事实上,商用的语音编码器组件 也更t u 能被定义为在专用的数字信号处理器上执行的进程。目前还没有广泛接受 的机制来封装语音编码器,以便它能同其它的计算来安全的共享资源。 进程、线程广泛用于并发软件的开发。它们可以被看作一种组件技术,多任 务操作系统和多线程执行引擎提供了这些组件执行的框架,这些框架支持进程交 互的各种机制,如信号量、远程过程调用等。在这种框架下,进程就是组件,在 它的接口接受外部交互的有序序列的调用。然而,作为一种组件技术,进程与线 程是很脆弱的。两个进程的合成进程就不再是个进程,因为合成进程不再能在 复日人学硕士学位论文以计算模型为基础的嵌入式软件没计 它的接u 接受外部交互的有序序列的调用。更糟的是,合成进程也不再是能够容 易赋予其特征的任何组件。正是由于这个原因,通过进程和线程来开发正确的并 发程序是很难的一件工作。另外,聚集进程的特性是很难分析的,因为不存在聚 集进程的概念,没有可以理解的接口定义。 i i j 向对象的设计将过程( 被称为方法) 与过程操作的数据聚集在一起。在类 型系统的支持下,面向对象的接口定义非常有效。类型系统是当代软件实践的优 秀成果。在保证软件的正确性方面,它比任何其它形式化的方法贡献都大。面向 对象的语言,同用户定义抽象数据类型以及这些类型的关系( 继承、多态) 一道, 人人有助于提高软件的可重用性和质量。此外,与设计模式、对象建模技术相结 合,类型系统提供了新词汇,与代码和过程相比,在更大的粒度上讨论软件。然 而,面向列象编程只涉及静态行为,它只是关于程序的语法,并没有提供对应于 并发和其它动态行为的概念。例如,在调用f i r e ( ) 方法前必须调用i n i t i a l i z e ( ) 方法, 就彳i 是某个对象的类型标记的一部分;对象的临时特性( 例如x ( ) 方法必须每1 0 r e s 调用一次) 也不是类型标记的一部分。嵌入式软件要从组件技术得到更多好处, 组件的接口定义必须加以改进,如加入动态特性。 5 ) 异构性 异构是嵌入式系统的内在特性。它们将各种类型的计算和实现技术混合在一 起。首先,嵌入式系统通常是软硬件混合实现的系统,其中,软件同专门为其设 汁的硬件交0 1 ,这些硬件中有些由持续时问的动态性,这不同于一般的通用计算 抽象。 另外,嵌入式系统中包含各种异构的事件处理方式。它们一边同时间上非规 则的事件交互( 如用户命令、传感器触发信号) ,一边同时间上规则的事件交互 ( 如样本化的传感器数据、触发器控制信号) 。这些事件对于交互的实时性要求 差别很大,现存,它们需要通过一平十特别的方式混合在实时软件中,例如,它们 可能都被抽象为周期性事件,再按照速率单调调度【1 0 】来分配优先级。 由于大多数工程师和计算机科学家都接受了科学的训练,人们越来越希望找 到一种统的理论和统一的模型,它们能包容所有的情况,任何一一种实际情况都 是其q - 的一种特例,从理论上讲都可以用上述的理论与模型来解释。实际上人们 也一直在努力结合各种程序语言,但那是徒劳的。任何一种语言的狂热者都绝对 认为该语言是完全通用的,不再需要任何其它的语言,他们认为只要其它人能认 识到该语言的魇力就会转丽采用它。但这种观点对于嵌入式系统是不正确的,因 为对于任何给定的问题,语言必定更适合它或者更不适合它。 6 1 反应性 反应式系统指以环境要求的速度持续与环境作用的系统:交互式系统指以自 第1 4 页共6 1 页 复旦大学坝士学位论文以计算模型为基础的嵌入式软件设计 己的速度与环境作用的系统:转换式系统指只是将一组输入数据转换到一组输出 数据的系统。其中,反应式系统有很高的实时性约束,且通常安全性要求高,甚 至达不到实时要求就可能导致生命安全。另外,不同于转换式系统,反应式系统 一般是非终止的( 除非系统运行失败) 。 健壮的分布式连网的反应式系统必须能够适应改变着的条件,因为服务要求、 计算资源、传感器都可能出现或消失,服务质量要求也可能随着条件的改变而改 变。这样,系统在运行过程中可能不断的被重新设计,与此同时,系统必须保证 运行良好。 相比于实时操作系统,一些技术开始为反应式系统提供更好的健壮性支持。 同步语言是反应式的,如e s t e r e l 9 】、l u s t r e 1 1 、s i g n a l 1 2 】、a r g o s 1 3 等,它们 已经用于需要严格验证的领域,如飞机上的安全关键的控制系统、核电厂等,例 如,l u s t r e 在法国被广泛应用于航空领域。这些语言在自动控制领域的应用迅速 扩大,一些对其提供支持的商业e d a 软件开始出现。 反应式系统通常必须同时与多个激励源作用,这样,它们是并发的。相比于 实时操作系统,同步语言用一种非常不同的机制管理并发。这种机制大量使用静 态方法来分析并发以保证系统行为的正确性。然而,并发的编译时分析有着严重 的缺点:它损害了模块性并且不能采用适应性软件体系结构。 7 1 动态内部结构 嵌入式软件通常要在运行时根据环境的动态变化,重新配置系统本身。例如 对系统外部资源的管理,在资源被用掉后,表示该资源的系统逻辑单元也相应的 被删除;相反地,新资源被创建后,系统中将生成一个新的逻辑单元来表示它。 这种系统内部的动态变化在嵌入式系统中是很常见的。 8 ) 软件尺寸和运行开销限制及性能度量 由于嵌入式系统的硬件资源有限,所以在开发软件时必须注意软件执行代码 的大小和节省运行开销。同时为了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年重庆安全员证书考试试题及答案
- 2025年星空分类语文试卷及答案
- 2025年语文高考北京试卷及答案
- 2025内蒙古呼和浩特市城市燃气热力集团有限公司招聘18人笔试历年难易错考点试卷带答案解析2套试卷
- 2025债务转让合同模板
- 财务电信面试题及答案
- 2025中国电信天翼视联校园招聘启动笔试历年难易错考点试卷带答案解析2套试卷
- 2025中国地图出版社有限公司招聘应届高校毕业生拟聘用考试历年参考题库3卷合1带答案解析(3卷合一)
- 朴朴电子合同
- 2025年中医内科护理题库及答案
- 危险品货物运输保障方案
- 天津市滨海新区田家炳中学2024-2025学年高二上学期期中考试 化学试题
- 体育院校与企业合作方案
- GB/T 3287-2024可锻铸铁管路连接件
- 文化遗产旅游开发案例:日本吉野里遗址
- 湖南省娄底市2023-2024学年六年级上学期数学期中试卷(含答案)
- 高边坡防护专项综合项目施工专项方案专家评审
- 员工下班喝酒免责协议书
- 《义务教育语文课程标准》(2022年版)原文
- 普速铁路调度指挥-普速铁路调度命令
- 密闭空间作业职业危害防护规范
评论
0/150
提交评论