(通信与信息系统专业论文)基于soc的实时操作系统的研究.pdf_第1页
已阅读1页,还剩96页未读 继续免费阅读

(通信与信息系统专业论文)基于soc的实时操作系统的研究.pdf.pdf 免费下载

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

文档简介

塑坚盔兰堕圭堂焦堡苎 一一 摘要 随着芯片集成度的飞速提高,集成电路的设计已经进入s o c 时代。使用软硬件协同设 计的方法,系统芯片必然包括硬件和与之协同工作的软件。操作系统不仅能提高芯片的性能 和可靠性,而且能改善设计的可重用性、减少设计的上市时间( t i m e t o m a r k e t ) ,日益受 到重视。本文以h d t v 信源解码芯片为s o c 原型,设计并实现了一个基于s o c 的实时操 作系统i o t a 。 f 与通常的嵌入式实时操作系统相比,基于s o c 的r t o s 既有共性,也有其特殊性。其 共性表现在强调任务的实时性,采用实时调度算法以保证系统的多个任务能满足实时性的要 求;其特殊性源于s o c 给r t o s 的设计带来新的课题。例如,s o c 中的实时操作系统在设 计上可以更灵活,采用软硬件协同设计的方法,可以将操作系统的部分功能转移到系统的硬 件实现。此外,系统芯片存储容量通常有限,s o c 的r t o s 比通常的嵌入式要求有更小的 存储空间。, 本文采用软硬件协同设计的方法来设计在s o c 中的实时操作系统。本文在分析总线仲 裁单元的时间片调度的基础上,将操作系统的i 0 管理的功能部分采用硬件实现。通过软硬 件协同设计,提高操作系统的实时性能和芯片的吞吐量。 , 实时性能是r t o s 的最重要的性能指标。本文根据h d t v 信源集成解码芯片的工作原 理? 对m p e g 2 协议中的t s 流解复用任务和a c 3 音频解码任务提出缓存驱动和时限驱动 两种调度策略。在详细分析了缓存驱动调度策略下的调度参数( 例如调度的粒度和任务优先 级) 对系统实时性能的影响后,本文确定操作系统的调度策略及其参数。 存储管理是操作系统的重要内容,本文根据硬件的r i s c 核的存储管理单元( m m u ) 的特点,设计并实现了一种简单的存储保护和共享机制。操作系统和应用程序分布在系统的 核心态和用户态,系统的核心态和用户态之间不能互相访问,此外不同的任务通过其不同的 任务号限制其互相访问。通过存储保护机制提高系统健壮性。 由于s o c 设计的复杂性日益提高,s o c 要求在多种异构的平台上进行验证,典型的如 虚拟机平台和基于硬件的f p g a 验证平台本文分析了实时操作系统在s o c 软硬件协同验 证中的作用。通过r t o s 将应用的分解为不同的层次化,只要改变平台相关的接口模块,就 可以实现在不同的异构平台上的仿真。通过操作系统可以减少验证的工作量,加快开发的进 程。 萋萎票芯片。s o c - y ( 、软硬件协同龇h d t v 、实时操作系统。s f 实时调度系统集成芯片。、软硬件协同设计、实时操作系统 午e 号尹、实时调度 塑坚查堂堕圭堂垡堡壅 一 a b s t r a c t w i t ht h eq u i c kd e v e l o p m e n to fd e e ps u bm i c r o ns e m i c o n d u c t o rt e c h n o l o g y , m o r ea n dm o r e s y s t e m so nc h i p ( s o c ) h a v eb e e nd e v e l o p e df o rr e a l t i m es y s t e m s w i t ht h em e t h o d o l o g yo f h a r d w a r e s o f t w a r ec o d e s i g n ,t h e r em u s tb et h es o f t w a r ep a r t sa sw e l la st h eh a r d w a r ep a r t so n s o ct h e r ei sag r o w i n gc o n s e n s u st h a tt h er e a lt i m eo p e r a t i n gs y s t e m ( r t o s ) h a sb e c o m ea n i n d i s p e n s a b l ep a r to fs o c t h er t o s c a nn o to n l yi m p r o v et h ep e r f o r m a n c ea n dr e l i a b i l i t yo f t h e s y s t e m ,b u ta l s os i m p l i f yt h ed e v e l o p m e n ta n dd e b u g g i n go fs o c i nt h i sd i s s e r t a t i o n ,t h ed e s i g n a n di m p l e m e n t a t i o no f as o c - b a s e dr e a l - t i m eo p e r a t i n gs y s t e m ,n a m e di o t a ,h a sb e e np r e s e n t e d c o m p a r e dw i t ht h eg e n e r a le m b e d d e dr t o s t h es o c - b a s e dr t o sh a si t so w ns p e c i a l i t i e s t h es o ce n v i r o n m e n ta c q u i r e dn e wf e a t u r e sf o rr t o s f o re x a m p l e ,t h eh a r d w a r e s o f t w a r e c o d e s i g nb r i n g sn e wm e t h o d o l o g yf o rt h es o c b a s e dr t o ss o m ef u n c t i o n so f t h er t o sc a nb e i m p l e m e n t e di nh a r d w a r e f u r t h e r m o r e t h em e m o r ys i z eo ft h es o ci ss i n a i le v e nc o m p a r e dt o t h ee m b e d d e ds y s t e m st h ef o o t - p r i n to ft h es o c - b a s e dr t o ss h o u l db es m a l l e rt h a nt h e e m b e d d e ds y s t e m s i nt h i sd i s s e r t a t i o n ,t h er t o si sd e s i g n e dw i t ht h eh a r d w a r e s o f t w a r ec o - d e s i g nm e t h o d o l o g y t h es c h e d u l i n gp o l i c yo f t h eb u sa r b i t r a t i o nu n i tw a sb e e na n a l y z e da n dt h ei of u n c t i o no f r t o s w a sp a r t l yi m p l e m e n t e di nh a r d w a r e b yt h i sw a yt h ep e r f o r m a n c ea n dt h et h r o u g h p u to f t h es o c a r ei n c r e a s e d t h er t o ss h o u l df o c u so nt h er e a l - t i m ep r o p e r t i e so fs y s t e m i nt h i sd i s s e r t a t i o nt h et s d e m u l t i p l e xt a s ka n da c 3d e c o d i n gt a s ki nm p e g - 2p r o t o c o la r es c h e d u l e db y2p o l i c i e s o n ei s t h eb u f i e r - d r i v ep o l i c ya n dt h eo t h e ri sd e a d l i n e d r i v ep o l i c y s o m ee x p e r i m e n t sh a v eb e e nd o n et o c o n f i r mt h ep o l i c ya n dt h ea r g u m e n t so f t h es c h e d u l i n g t h em e m o r ym a n a g e m e n ti si m p o r t a n ti nt h eo sa c c o r d i n gt ot h ef e a t u r e so ft h em m uo f t h er i s cc o r e ,as i m p l em e m o r yp r o t e c t i o na n ds h a r em e c h a n i s mw a sd e s i g n e di ni o t a t h e r t o si si nk e m e lm o d ew h i l et h ea p p l i c a t i o ni s i nt h eu s e rm o d e t h ed i r e c ta c c e s sf r o mt h eu s e r m o d et ok e r n e lm o d ei sd e n i e da n dt h ea c c e s sf r o mo n ea p p l i c a t i o np r o g r a mt oa n o t h e ra p p l i c a t i o n i sp r o h i b i t e dt o ot h em e m o r yp r o t e c t i o na n ds h a r em e c h a n i s mc a ni m p r o v et h er e l i a b i t i t yo ft h e s y s t e m an e wm e t h o d o l o g yf o rt h eh a r d w a r e s o f t w a r ec o s i m u l a t i o nu s i n gr t o sw a si n t r o d u c e di n t h i sd i s s e r t a t i o n t h ec o m p l e x i t yo fs o cr e q u i r e dt h ed i f f e r e n ts i m u l a t i o np l a t f o r m t h er t o si s u s e f u lt ob u i l dah i e r a r c h i c a ls t r u c t u r eo ft h ea p p l i c a t i o n t h u st h ea p p l i c a t i o nc a nb et e s t e do n d i f f e r e n ts i m u l a t i o np l a t f o r mw i t hl i t t l em o d i f i c a t i o n t h er t o sc a na c c e l e r a t et h es i m u l a t i o n p r o g r e s si ns o cd e v e l o p m e n t 箜二兰丝堕 第一章绪论 深亚微米和0l 微米的半导体技术将使得在一块芯片上布置几亿个晶体管成为可能,随 着芯片集成度的飞速提高,一个电子系统或分系统可以完全集成在一个芯片之上,集成电路 的设计已经进入系统集成芯片( s o c ) 时代l ”。由于单片系统级芯片设计在速度、功耗、 成本上和多芯片系统相比占有较大的优势。另外电子系统的专用性,对不同的应用要求有专 用的系统。在s o c 的设计中,设计工艺的发展使得越来越多的功能集成到一个芯片成为可 能。为实现这一目标,有两种可能的s o c 设计方法p j 。第一种方法称为基于核的设计 ( c o r e b a s e dd e s i g n ) ,它将系统的功能划分为不同的核,采用i p ( i n t e l l e c t u a lp r o p e r t y ) 核 以完成特定的设计功能。第二种方法是在超大规模的集成处理器核上使用软件的方法实现设 计功能。专用的i p 核通常有较好的性能,此外对系统的功耗能有很好的控制;而采用软件 的方法使得系统芯片有更大的灵活性,因为目前存在多种不兼容的通信和处理协议,使用软 件实现便于二次开发。 软硬件协同设计4 i 综合以上两种设计方法。在系统设计的初期考虑软硬件划分,根据特 定的标准,将一部分系统功能采用i p 核实现,而另一些功能采用软件实现。软硬件协同设 计强调在整个设计过程中,以最优化设计为目标,可以调整软,硬件之间的界限。 软硬件协同设计的结果是可能会有一个或多个系统任务是采用软件实现。这些任务可能 会有互相同步和通信的需要,会有时限的要求,或者要求访问系统芯片的专用硬件的接口。 而操作系统正是为任务提供这些服务的。文献”指出,实时操作系统( r e a l ,t i m eo p e r a t i n g s v s t e m 最t o s ) 已经成为s o c 设计的重要组成部分,而s o c 中的实时操作系统也成为 实时操作系统的一个新兴的发展领域。 激烈的市场竞争,使得产品的开发周期和市场周期都大大缩短。数字系统设计的可 重用性( d e s i g nr e u s e ) 能缩小新技术和现有的成熟技术之间的鸿沟,缩短产品的研 发周期。而兼容的r t o s 是系统软件可重用的基础。 r t o s 可以简化系统集成芯片上的应用软件的开发。s o c 不仅可能包含了通用的处 理器,而且还集成了用户专用的i p 核( i n t e l l i g e n tp r o p e r t yc o r e ) 。操作系统调用 系统资源为用户任务提供服务,增加系统的易用性。如果缺少r t o s 的支持,用户 直接对芯片编程通常会非常困难。 可以预见随着软硬件协同设计的提出,软件在整个s o c 设计中的比重会越来越高。除 了芯片的应用程序外,s o c 的设计者还必须考虑到芯片的仿真器、相应的编译器和实对操 作系统。本文将所设计的基于s o c 的实时操作系统命名为i o t a ,意为极微小的。 第一节h d t v 解码芯片和实时操作系统 高清晰度电视( h i g h d e f i n i t i o nt e l e v i s i o n _ h d t v ) 是在模拟电视的基础上,为了达 到高分辩率的图像质量而发展起来的。h d t v 信源集成解码芯片是高清晰度电视接收机的关 键部分。 浙江大学博士学位论文 1 1 1h d t v 信源集成解码芯片 从接收的角度看,信源解码位于信道解码和音视频播放器之间,主要包括:系统解码,音 频解码和视频解码三个部分。根据a t s c ( a d v a n c e dt e l e v i s i o ns y s t e m s c o m m i t t e e ) 数字电视标准引,系统层采用m p e g 2 第一部分础9 】【l l 】,即1 s o i e c 1 3 8 18 - l 的规范:视频部分采用m p e g 2 第二部分,即i s o i e c1 3 8 1 8 - 2 的规范:音频采用 a c 3 标准。 h d t v 解码芯片的视频解码过程包括变字长解码( v l d ) 、反扫描( i z z ) 、反量化( i q ) 、 反余弦变换( i d c t ) 和运动补偿( m c ) 。 音频部分的杜比数字a c 3 ( d o l b yd i g i t a la c - 3 ) 是杜比公司开发的新一代家庭影院多 声道数字音频系统。a c 3 【2 1 根据人的听觉模型开发的多声道环绕声编解码标准,分离度极 高,声音更加纯洁。它被a t s c 采纳为h d t v 的音频系统。 图1 1h d t v 解码原理图 随着系统集成度的提高以及s o c 技术的发展,数字电视( 或是m p e g 2 ) 视频音频解 码系统已从多芯片的系统逐步发展为单芯片系统。如文献【l m 论述了日本b s d t v 电视解码 芯片组。在b s - d t v 数字电视系统由前端芯片组、后端芯片组、控制芯片组以及额外的 s d r a m 所组成。输入的信号经前端芯片组的检测和解调处理得到t s 流信号。t s 流经过视 频芯片( v i d e oc h i p ) 的处理,分别将音频信号输送给音频处理芯片( a u d i oc h i p ) 得到音 频输出,视频信号经m p e g 2 视频解码器的处理得到视频输出。在该系统中采用m c u ( m i c r o - c o n t r o lu n i t ) 作为系统的管理者。 虽然现在国外有一些公司分别针对h d t v 的每一部分内容开发了相应的解码芯片,如针 对t s 流解复用的芯片“心l f 2 6 】,针对视频解码的芯片【2 7 】【2 8 j 以及音频解码的芯片【2 9 】删等, p h i l i p s 公司推出的一种支持l a d t v 所有格式的解码和显示的可编程芯片n x 2 7 0 0 ”i 。 在本课题组研究的h d t v 信源集成解码芯片,采用了软硬件协同设计的技术,即包括 通用的r i s c 核处理器,也包括专用的视频处理器( v i d e os p e c i a l p r o c e s s o r v s p ) 以及 软件部分。本文将h d t v 信源集成解码芯片作为s o c 的典型设计来研究s o c 的实时操作 系统技术。 1 1 2h d t v 信源集成解码芯片对r t o s 的要求 h d t v 信源集成解码芯片作为种多媒体处理器,要求有很强的算术运算和比特运算的 能力。它与操作系统相关的特征有15 j : 第一章绪论 快速的任务切换的能力。在解码芯片中,音频和视频单元所处理的都是连续媒体, 它们分时复用芯片的计算资源。在多媒体处理的协议中,每个显示单元都有确定的 时限的要求。这就要求芯片对不同的任务的切换开销最小,以支持实时任务期限。 能访问一个较大的存储空间。片内缓存对系统芯片的成本和面积影响较大,通常 s o c 都只有一个较小的片内缓存,同时采用片外的廉价的存储器作为二级缓存。 存储管理对系统芯片的性能会有较大的影响,例如一个视频帧不能都驻留在片内, 运动补偿等算法需要经常去片外访问视频帧缓存。这就需要为存储接口有较高的带 宽。 能有较快的i o 访问的能力。由于多媒体的数据量大( h d t v 信源集成解码芯片的 输入的码流的速率在2 0 m b s 以上) ,任务的实时性要求处理器能够快速地与其它 专用的i p 核进行通信。 以上的三个特征对应着s o c 中的实时操作系统的三部分最重要的内容:任务管理、存 储管理和i o 管理。多媒体的操作系统 删【4 6 】【4 7 】【4 8 】是近来的研究热点。本文所论述的操作 系统也是紧密围绕着如何发挥处理器的特性、优化系统性能进行设计和实现。在任务管理中, 本文着重讨论了任务调度对系统性能的影响;在存储管理中,本文提出了存储操作系统对 s o c 的存储单元的管理策略,提出了存储保护和共享机制;在i o 管理中,本文提出了以软 硬件协同设计的方法减少操作系统开销,提高操作系统的i o 性能。 s o c 中的实时操作系统与嵌入式实时操作系统相比又有新的特点。系统集成芯片通常 要求工作在多种模式下。随着s o c 芯片的复杂度的提高,芯片的测试和验证也臼益复杂, 为能加快验证的效率,通常采用多种异构验证平台,典型的有基于v e r i l o g 仿真器的验证和 基于硬件开发板( 如f p g a ) 的验证。系统测试和系统正常工作时对芯片有不同的要求,系 统正常工作时首先考虑的是实时性能即任务能否能在期限内完成;而在测试芯片时,首先 考虑的是芯片的可观测性以及软件能否在多种异构平台上执行。为使软件能在适应于不同的 工作模式,必然要求在设计s o c 实时操作系统时考虑软件的可迁移性,即在设计上能以照 好的结构适应不同的应用和异构s o c 测试平台。例如,通常的实时操作系统都没有文件系 统,本文专门论述了文件系统的设计和实现。其原因是文件系统能对系统的硬件进行层次化 的抽象,应用程序可以只调用文件接口,而无需关心具体的硬件实现。有了文件系统之后, 能以应用程序能以最小的改动在多种s o c 的测试平台上运行。当然,s o c 中的实时操作系 统必须是可配置的,在进入正常工作模式,将这些功能都裁减,这样才能在芯片上占用晟少 的存储空间。 此外s o c 中的实时操作系统与嵌入式操作系统还有其他区别: 可以采用软硬件协同设计的方法提高性能。由于软硬件协同设计方法的提出,软件 和硬件的界线变的模糊。可以将一部分操作系统的功能由软件迁移到硬件来提高操 作系统的实时性能”“。 占用较小的存储空间,般要求在1 0 k b 以内。由于r t o s 驻留在系统集成芯片上, 而系统集成芯片的存储空间通常都是非常有限的。因为要增加片上的存储空间,必 然要增加芯片的逻辑门数,从而增加芯片的面积,加大系统的功耗。 可配置和裁剪的操作系统。与一般嵌入式r t o s 相比,系统集成芯片中的r t o s 是 针对具体的系统集成芯片设计的,而系统集成芯片的应用背景是预知的。针对具体 的芯片,有些r t o s 的功能可以被剪去,以减少所占用的存储空间。 塑坚查兰塑圭兰竺丝苎 一 第二节实时操作系统概述 实时操作系统( r t o s ) 1 3 2 3 3 】【3 4 j 【3 6 】是嵌入式应用软件的基础和开发平台。r t o s 根据各个任务的性质和要求,进行资源( 包括存储器、外设等) 管理、任务的通信和同步管 理、任务调度、异常处理等工作。在r t o s 支持的系统中,通常每个任务都有优先级,r t o s 根据各个任务的优先级来动态的切换任务,保证其对实时性的要求。这种体系结构简化了编 程结构,比过去的循环控制的体系结构有了很大的改进。 1 2 1 实时操作系统 在实时计算中,系统的正确性不仅仅依赖于计算的逻辑结果而且依赖于结果产生的时间 ”】。从这个角度上看,我们可以把实时系统定义成“一个能够在实现指定或者确定的时间 内完成系统功能和对外部或内部、同步或异步时间做出响应的系统”。这个定义要求了: 系统应该有在事先定义的时间范围内识别和处理离散事件的能力; 系统能够处理和存储控制系统所需要的大量的数据。 从性能上讲,r t o s 和普通的o s 存在的区别主要是在“实时”二字上。实时操作系统 的首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使 用效率,其重要特点是要通过任务调度来满足对于重要事件在规定的时间内做出正确的响 应。虽然,有些嵌入式系统还是在微控制器上直接进行开发应用程序。但是越来越多的设计 人员已认识到实时操作系统的重要性。 首先,实时操作系统有利于提高系统稳定性和强壮性。r t o s 是一个标准的内核,它将 c p u 时间、中断、i o 、定时器等资源都包装起来,留给用户一个标准的a p i ( 系统调用) 。 相对于直接访问硬件资源,操作系统能捕获系统的异常的地址访问,从而提高系统的健壮性。 此外,将应用程序都建立在r t o s 之上,有助于系统开发者专心于应用领域的问题。 其次,r t o s 已经嵌入式软件开发软件开发平台不可缺少的部分。实时操作系统有助于 提高嵌入式系统开发的可移植性和可重用性,缩短上市时间。目前市场上新的处理器不断出 现,如果应用程序都是直接面向处理器开发的,那么这些应用程序很难被移植到新的处理器 上。r t o s 可以面对几十个系列的嵌入式处理器m p u 、m c u 、d s p 、s o c 等提供类同的a p i 接口,r t o s 是开发与设备独立的应用程序的基础。通常,实对操作系统、编译器和仿真 器一起构成嵌入式开发环境。 第三r t o s 的引入解决了嵌入式软件开发标准化的难题。随着嵌入式系统中软件比重 不断上升、应用程序越来越大,对开发人员、应用程序接口、程序档案的组织管理成为新的 课题。引入r t o s 相当于引入了一种新的管理模式,对于开发单位和开发人员都是一个提高。 r t o s 上的c 语言应用具有极大的可移植性。据专家测算,优秀r t o s 只需要修改1 4 的内容就可以移植其它处理器的程序。在r t o s 基础上可以编写出各种硬件驱动程序、专家 库函数、行业库函数、产品库函数等。 笙二兰丝笙 1 2 2 实时操作系统的基本特征及其组成 实时操作系统的功能模块如图1 - 2 所示。 应用接口和系统调用 蚓i 薹oi | 图1 2 实时操作系统的组成 1 1 1 任务管理和任务间通信 对于实时操作系统,操作系统内核调度的基本单位就是任务。任务的驱动一般是基于消 息或者事件的,即任务的设计是按照依次处理可能接收到的消息和事件,周而复始轮询循环 的。实时操作系统中的任务有若干状态,如行( e x e c u t i n g ) 、就绪( r e a d y ) 、挂起( s u s p e n d e d ) 等。系统中只能有一个任务在运行状态。各任务按级别通过时间片分别获得对c p u 的访问 权。 实时操作系统一个最重要的功能就是多任务管理和基于优先级的任务调度。 f 1 1 任务:任务( t a s k ) 是r t o s 中最重要的操作对象,每个任务在r t o s 的调用下由c p u 分 时执行。激活的或当前任务是c p u 正在执行的任务:休眠的任务是在存储器中保留其 执行的上下文背景,一旦切换为当前任务即可从上次执行的末尾继续执行的任务。任务 的调度主要有时间分片( t i m e s l i c i n g ) 、轮询( r o u n d r o b i n ) l 优先抢占( p r e e r n p t i v e ) 三种, 其中优先抢占式对实时的支持最好。 f 2 ) 任务切换:r t o s 管理下的系统c p u 和系统资源的时间是同时分配给不同任务的,看 起来就像许多任务在同时执行,但是实际上每个时刻只有一个任务在执行,也就是当前 任务。任务的切换有2 个原因:当一个任务正常结束操作时,它将c p u 控制权交给r t o s , r t o s 检查任务队列中的所有任务,判断下面哪个任务的优先级最高,就先执行;另一种 情况是:在一个任务执行时,一个优先级更高的任务发出了中断,r t o s 就将当前任务 的上下文保存,切换到中断任务。r t o s 经常性地整理任务队列,删除结束的任务,增 加新的任务,并按优先级从大n d , 的顺序排列,这样可以合理地在各个任务之间分配系 统资源。 ( 3 ) 任务的通信和同步。操作系统定义服务原语来实现任务的通信和同步。通常的原语包括: 信号灯( s e m a p h o r e ) 、消息( m e s s a g e ) 和邮箱( m a i l b o x ) 。消息机制的基本思想是任 务通过系统公用的数据交换区( 包括私有消息缓冲区和共用消息缓冲池) 来交互任务问 需要通信的信息。目前大多数实时操作系统支持的1 6 3 2 个事件。 塑翌查堂堕主兰堡丝苎 f 2 1 存储管理 存储管理是操作系统的核心内容之一,操作系统借助c p u 的内存管理单元( m m u ) 来 完成内存管理。实时操作系统的存储管理是系统健壮性的基础,存储管理要求将核心态的存 储空间和用户态存储空间分隔开来,即应用程序不能直接访问核心的存储空间i 此外,不同 任务的存储空间的访问( 除了共享的存储空间外) 也被禁止。 f 1 1 存储区分配:r t o s 对系统存储区统一分配,分配的方式是静态或动态的。此外,操 作系统可以根据硬件的存储管理单元( m m u ) 的特点设计操作系统的存储管理模 块。 ( 2 ) 堆管理:任务在需要存储区时都要动态地申请,r t o s 通过管理存储空间的堆以提 供动态申请和释放存储块的接 j 调用。操作系统的动态分配在设计时必须能防止存 储区的零碎化。 【3 1 i o 和中断管理 r t o s 提供了一种通用的设计用于中断管理,可以实现最小的中断潜伏时间和最大的中 断响应度。r t o s 内核中的资源对象类则实现了对系统实体资源或虚拟资源的独占式访问, 一个任务可以取得对资源的唯一访问权,其他任务在资源释放前无法访问,可以避免资源冲 突。在许多实时操作系统中,特别是一些小的嵌入式操作系统,往往并不具备i o 管理的功 能。在设计i o t a 时,我们不禁会问操作系统在i o 管理中的角色是什么? i o t a 需要一个怎样 的i o 管理的功能? 本文首先回答第一个问题,其余的问题将在本文的第5 章回答。 操作系统的责任来自于i o 系统的三方面的特性”: f 1 ) i o 系统必须能被多个用户程序共享。 ( 2 ) i o 操作使用中断和c p u 通信和同步。中断必然会引起用户态到核心态的转换,而 这必须由操作系统来处理。 ( 3 ) i o 设备的低层控制非常复杂。正确控制一个i o 设备是非常琐碎并往往涉及到并 发事件的处理。 由i o 系统的三个特性可以确定o s 必须提供如下功能: ( 1 ) 操作系统必须保证用户程序仅能访问它有权限访问的i o 设各。例如,用户程序不 能读它不被允许的文件。 ( 2 ) 操作系统为用户程序提供接口函数以访问设备,以屏蔽低层的操作细节。 ( 3 ) 操作系统能处理由i o 设各产生的中断。 f 4 ) 操作系统要为共享的i o 资源提供一个平等的访问机制。例如,为提高系统的吞吐 量必须对资源进行调度。 操作系统代表了用户程序和i o 设备通信,通常有以下三种通信: f 1 ) 操作系统必须能给i o 设备命令。这些命令不仅包括读、写还包括其它一些控制命 令。系统可以采用特殊指令i o 或是存储映射i o 两种方法给设备发命令。 f 2 ) 设备必须能通知操作系统任务已完成或是发生了错误。轮询或中断是实现这种通信 的方法。 ( 3 ) 数据能够在存储区和1 1 0 设备之间直接传送。通常采用d m a 实现块数据的转移。 第三节s o c 的r t o s 的软硬件协同设计 本节首先介绍了系统芯片的特点和软硬件协同设计的方法;其次,本文讨论了s o c 中 实时操作系统的设计方法: 1 3 1 系统集成芯片的特点 1 1 1 规模大、结构复杂 数百万门乃至上亿个元器件设计规模,而且电路结构还包括m p u 、s r a m 、d r a m 、 e p r o m 、闪速存贮器、a d c 、d a c 以及其它模拟和射频电路。为了缩短投放市场时间,要 求设计起点比普通a s i c 高,不能依靠基本逻辑、电路单元作为基础单元,而是采用被称为 知识产权( i p ) 的更大的部件或模块。在验证方法上要采用数字和模拟电路在一起的混合信 号验证方法。为了对各模块特别是i p 能进行有效的测试,必须进行可测性设计。 f 2 】速度高、时序关系严密 高达数百兆的系统时钟频率以及各模块内和模块问错综复杂的时序关系,给设计带来了 许多问题,如时序验证、低功耗设计以及信号完整性和电磁干扰、信号串扰等高频效应。 【3 1 深亚微米工艺加工技术( d s m :d e e ps u bm i e r o n ) 系统级芯片多采用深亚微米工艺加工技术。目前,世界上最先进的半导体工艺已进入到 深亚微米( 线宽0 1 8 9 m ) 。如今,线宽为0 2 5 9 m 至0 1 8 9 m 的芯片已经很普遍。01 8 j a m 的 芯片正在迅速生产,1 9 9 7 年b e l l l a b 已研制成功最小线宽为0 0 6 9 m 的电路。到2 0 0 3 年前 后,线宽将达01 2 9 m 。表1 1 是1 9 9 7 年公布的美国半导体技术发展蓝图( n t r s 9 7 ) , 给出了深亚微米技术的主要特征数据。 年代 1 9 9 71 9 9 92 0 0 12 0 0 32 0 0 62 0 0 9 工艺最小特征尺寸( “m ) 02 501 801 501 30 】o0 0 7 晶体管数目 1 l m2 l m4 0 m7 6 m 2 0 0 m5 2 0 m 芯片时钟( m t t z ) 7 5 01 2 0 01 4 0 01 6 0 02 0 0 0 2 5 0 0 芯片面积( m m 2 ) 3 0 03 4 03 8 54 3 0 5 2 06 2 0 布线层数 66 777788 一g 表1 1 深亚微米技术的主要特征数据 1 3 2 软硬件协同设计方法 一个数字应用系统可以看成是算法、软件和硬件三个方面的集成,设计者通过对算法的 塑坚奎兰堡主兰竺丝苎 分析和优化,将系统的软件和硬件进行合理的配置,从而满足系统的性能要求。当前的数字 系统,不论是自包含的或嵌入式的,一般来说都有一个能够运行应用程序的硬件平台,软硬 件协同设i t 就是- - 种在含有处理器或嵌入式微控制器的系统中,解决软件硬件如何协作问题 的策略。 回顾一下许多学者对软硬件协同设计方法所进行的研究。针对嵌入式系统,w w o l f 在文 献”中认为:在确定系统结构后,系统设计将被分成以下4 个步骤完成: ( 1 ) 分割:根据系统需求说明,进行软硬件的划分,初步确定哪些功能由硬件实现,哪些 由软件实现。在文献p o 】咔- ,g u p t a 等提出了一种将功能从硬件向软件迁移的算法,而 在文献【2 1 1 中,e m s t 等提出了一种通过在指令流中寻找关键功能并将其映射成硬件 的算法。 ( 2 ) 定位:对步骤1 中分离出的功能进行重新定位,原来由软件执行的功能可能因为性 能或时间上的要求,将被硬件( 通常以协处理器的形式出现) 代替,而原来由硬件完成 的功能可能由于考虑到可适应性以及开发时间的要求,将以软件的形式由处理器完 成。 ( 3 ) 调度:在硬件上表现为因为资源( 如数据总线) 共享而分配给每个任务一定的时间 片;实时操作系统上任务的调度主要是考虑到不同任务的实时响应要求。 ( 4 ) 映射:硬件由固核生成硬核,软件被编译成可运行的代码。 从以上的步骤可以看出揿硬件协同设计的思想体现在每一个步骤中。w w o l f 提出的嵌 入式系统自顶向下的设计流程【4 】如图1 3 所示: 圄1 0 种嵌入式系统的软硬件设计流程 伴随着设计方法的改进,软硬件协同设计工具也不断的出现。在学术研究方面,如用于 软硬件自动分割的c o s y m a 2 ”,v u l c a n 2 “,用于协同仿真的p t o l e m y s 1 等;用于性能分析的 p i x e l 38 】;用于软硬件协同描述的有限状态机;用于系统级描述的s y s t e mc 语言等 等;此外,商业化的软硬件综合工具也己出现【4 1 - 4 3 。 笙二至堑笙 1 , 3 3r t o s 的软硬件协同设计原理 一般计算机系统中的操作系统是全软件实现的,不要求实时性,并且对于占用内存没有 严格的限制,而s o c 中的r t o s 即要求实时性,又要求装入片内的存储器,对代码长度限 制也十分苛刻。但在设计r t o s 时也有其独特的灵活性,可以在片上增加一些必要硬件实现 所需的功能,以缩小r t o s 的尺寸并加快执行的时间。系统集成芯片中的r t o s 和普通r t o s 系统的对比如图1 4 所示。 应用层 实时o s k e m e l c p u 图1 - 4 系统集成芯片的r t o s 示意图 在操作系统的研究中,一般采用新的数据结构和算法以提高实时处理的性能。然而,在 系统集成芯片的r t o s 中,软硬件协同设计和综合为加速实时处理开创了新的道路。如果在 芯片的应用中,某个系统调用或是中断服务程序对系统的性能影响较大,那么可以考虑将该 程序以硬件的形式实现。根据所转换程序的实现复杂程度,可以将程序转换为一个特殊的指 令来实现,也可以在系统集成芯片中以专用的r t o s 协处理器来实现的。 在软硬件协同设计的r t o s 中,不仅可以以单指令实现部分操作系统功能,而且可以缩 短操作系统的关闭中断时间和上下文切换的时间,从而提高操作系统的性能指标。以下系统 调用为例,说明性能改善的原理。 系统调用( s y s t e mc a l l ) 由于需要进入临界区( c r i t i c a la r e a ) 以及上下文切换,系统关 闭中断并增加了系统的开销,对性能影响较大。采用硬件实现可以避免上下文的切换和临界 区。但具体那些系统调用需要由硬件来实现会对实时性能有较大的改善,本课题将结合多媒 体应用背景,确定以硬件实现的系统调用。咀软件和硬件实现的系统调用过程的对比情况如 图1 5 所示。 如图1 5 所示,以硬件实现的r t o s 在调用系统调用的服务中,其2 、3 步( 系统调用处 理和上下文切换) 的时间可以忽略,这样缩短了系统处理的时间。 r t o s 的软硬件协同设计在国内外的研究较少,主要有系统行为综合和系统层的综合。 如p o t k o n j a k 和w o l f 发表了有硬实时要求的多任务的a s i c 的行为综合的文献。系统层综 合的研究主要集中在多处理器的操作系统的r t o s 的系统层综合上。 浙江大学博士学位论文 处理过程 ( 1 ) 函数入口 参数设置 ( 2 ) 系统调用处理 ( 3 ) 上下文切换 ( 4 ) 返回结果 图1 5s o c 的r t o s 系统调用处理过程 在r t o s 的软硬件划分时,除了以上文献介绍的通用方法外,还可以将一些对性能影响 较大的功能从软件迁移到硬件。但这方面的文献相对较少,如w a y n eb u r l e s o n 的研究表明 2 3 1 : 采用硬件的调度器提高系统的性能,还需进一步的研究。 在本文的r t o $ 设计中,在软硬件划分时选择i 0 管理采用硬件实现。在h d t v 解码 芯片中,总线的调度有着非随机的特性,适合采用时间片调度等算法。为减少操作系统调度 的开销并增加系统芯片的吞吐量,本文将总线的管理都采用硬件实现。这一部分内容将在本 文第五章论述。 1 0 - 篁二至堑堡 第四节r t o s 研究现状及其评价指标 目前嵌入式操作系统的研究大多基于板一级的应用,操作系统所占的内存一般从几十k 到几兆字节,而且实时性较弱,不适合于系统集成芯片。国外已有研究将操作系统加载到多 媒体芯片上。如日本的n t tc y b e rs p a c e 实验室研究的片上多媒体实时操作系统,在减少 了约一半常规操作系统的任务处理的步骤后运行时大约占用2 5 k 的存储空间,而且作者 称它能很好得满足m p e g i i 协议对实时性的要求。 嵌入式实时操作系统在世界上已经安装了数千万份的拷贝,它们覆盖了从单处理器到分 布式多处理器环境的各种应用,其中包括商业的r t o s 如p s o s 、q n x 、v x w o r k s 、w i n d o w s c e 等和用于研究的操作系统如h a r t o s 、s p r i n g k e r n e l 等。本文在设计s o c 的操作系统时, 参考了两个典型的实时操作系统v x w o r k s 4 9 】和t o p s y 【5 0 】。其中v x w o r k s 是目前市场份额 最大的实时操作系统,本文主要参考了它的任务管理;而t o p s y 是一个开发源码的实时操作 系统,适合于教学和研究,它的存储管理对本文的设计很有启发。 1 4 1 典型的r t o s 介绍 1 1 v x w o r k s v x w o r k s 是目前可以获得的功能最全的、独立于处理器的实时操作系统。在结构上, v x w o r k s 采用微内核w i n d 。内核仅提供多任务环境、进程间通信和同步功能。通过这些底 层模块的支持,v x w o r k s 在高层就能提供丰富的满足要求的服务。通常内核服务对用户是 不可见的。应用程序为了实现需要内核参与的任务管理和同步,必须使用系统调用。 内核维护系统中每个任务的当前状态,包括就绪态、阻塞态、延时态和挂起态。任务被 创建后进入挂起态,需要通过特定的操作才能使被挂起的任务进入就绪态这一操作的执行 速度很快,使应用程序能够提前创建任务,并以一种快捷的方式被激活。 多任务的操作系统需要一个调度算法分配c p u 给就绪态的任务。在v x w o r k s 中默认的 调度算法是基于优先级的抢占调度,但应用程序也可以选择使用时间片轮转调度。 基于优先级抢占的调度,每个任务被指定一个优先级,内核将c p u 分配给处于就绪态 的优先级最高的任务。调度算法采用抢占式,当一个优先级高于当前任务的任务变为就绪态 时,内核将立即保存当前任务的上下文,并切换到高优先级任务的上下文

温馨提示

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

评论

0/150

提交评论