




已阅读5页,还剩73页未读, 继续免费阅读
(计算机科学与技术专业论文)星载并行嵌入式操作系统关键技术研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 摘要 嵌入式系统的设汁与开发是近年来计算机研究与应用领域的大热点。本文以星载并 行嵌入式计算机系统为背景,阐述其并行嵌入式操作系统p e m s ( p a r a l l e ie m b e d d e d m u i d p r o c e s s i n gs y s t e m ) 中关键技术研究与实现。 p e m s 是一个以r t e m s 为参考、针对星载并行计算机系统特点设计和实现的嵌入式 并行操作系统。 本文对p e m s 中的关键技术进行了研究,重点实现了p e m s 中的基于共享内存的多处 理器通信机制,为应用提供了粗粒度并行编程模型。另外,基于星载并行计算机系统硬件 体系结构,实现了p e m s 在该环境上的模拟器p s i s 。应用提出的可移植驱动开发模型,实 现了p e m s 的1 5 5 3 b 驱动程序的开发。最后,抽取p e m s 的核心模块,应用可靠性理论和 方法,使用静态检测工具p c l i n t 和s p l i n t 对这些模块进行检测,开发测试程序进行测试。 结果表明,p e m s 在可靠性方面表现良好,但是仍然存在一些不足有待改进。 关键字;嵌入式系统,操作系统,粗粒度,驱动程序 国防科学技术大学研究生院学位沦文 a b s t r a c t i nr e c e n ty e a r s ,t h ed e s i g na n dd e v e l o p m e n to fe m b e d d e ds y s t e mi sv e r yh o ti nt h er e s e a r c h a n da p p l i c a t i o no fc o m p u t c rs y s t e m 【nt h i sa r t i c l e ,w ei n t r o d u c et h ed e s i g na n di m p l e m e n t a t i o n o fk e yt e c h n o i o g i e si np e m s ( p a m i i e ie m b e d d e dm u i t i p r o c e s s i n gs y s t c m ) ,w h i c hi st h e o p e r a t i n gs y s t e mo f t h es a t e l i i t e c a r r i e dp a m l l e lc o m p u t e rs y s t e m p e m si sap a r a l l e l - e m b e d d e do p e r a t i n gs y s t e m ,w h i c hi sd e s i g n e df o rt h es a t e l l i t e c a r r i e d p a r a | l e lc o m p u t c rs y s t e m t h ed e s i g no fp e m sr c f e r st ot h er e a l t j m eo p e r a t i n gs y s t e mr t e m s i nt h i sa 而c l e ,w es t u d yt h ek 7t e c h n o l o g i e so fp e m sa n df o c u so ni m p l e m e n t i n go ft h e m u l t i p r o c e s s o rc o m m u n i c a t i o nm e c h a n i s m ,w h i c hm a k e i t p o s s i b l ef o rp e m st os u p p o r t c o a r s e g m i n e dp a r 甜l e lp r o g r a m m ;n gp a 牡e m 1 na d d i t j o n ,w e m p l e m e n tt h es i m u l a t o ro ft h e s a t e l l i t e c a f r i e dc m b e d d e dc o m p u t e rs y s t e mf o rp e m s b a s e do nt h em o d e lo fd e s i g n m gh i 醣l y p o r t a b l ed e v i c ed r i v e r ,w ei m p l e m e n tt h ed e s 碹no f15 s 3 bd e v i e c ed r h e ro np e m s a t1 a s t ,w e d r a wo u ts o m ec o r em o d u i e so fp e m s d i r e c t e db yt h e o r i e sa n dm e t h o d so fs o 代w a r er e l i a b i l i t y , w eu s es t a t i cc h e c kt o o l sp c - l i n t 肌ds p i - n tt oc h e c kt h o s em o d u l e s ,a n dw r f es o m ep f o g r a m st o t e s tt h e m t h er e s u i to fs t a t i cc h e c ka n dt e s ts h o w st h a tr t e m sg e t san i c es c o r ei nr e l i a b i l i t y , b u ti ta i s on e e d st ob ed r o m o t e d k e y w o r d s :e m b e d d e ds y s t c m ,o p e r a t i n gs y s t e m ,c o a r s e - g 阮i n ,d e v i c ed “v e r h 旦堕型兰堡查奎兰堑茎兰堕兰竺丝苎 图目录 幽2 i 星载并行计算机的硬件系统结构 图2 2p e m s 体系结构示意图 图3 1p e m s 动态内存管理结构图 图3 2m p s l 结构示意和实现流程图 图3 3 共享存储区的组织方式 图3 4p e m s 启动流程图 图3 5m p c i 的共享内存初始化流程 图4 1 设备驱动模型体系结构 图4 2 需要特殊交换内存的1 3 9 4 结构 图4 3l5 5 3 帧传输格式 图4 4l5 5 3 广播帧格式, 图4 51 5 5 3 b 硬件位置示意图 图4 615 5 3 b 软件位置示意图一 图4 7l5 5 3 b 移植示意图。 图4 8s p a r ce r c 3 2 中断请求寄存器( i p r ) 图4 ,9 虚拟中断示意图 图5 1p e m s 受测模块示意图 9 ,l l 。1 6 1 9 2 2 2 6 2 8 3 1 一3 4 3 8 3 8 ,4 0 4 0 一4 2 4 3 。4 3 辱9 国防科学技术大学研究乍院学位沦文 表目录 表3 1m p c i 例程2 0 表3 2 远程操作处理过程2 1 表3 3 共享内存实现例程2 3 表4 1 硬件控制器资源3 2 表5 1p c l i n t 检测m i s r a c 结果统计5 2 表a i 接口定义1 中断和信号量操作6 6 表a 2 接口定义2 基本数据类型定义一6 6 表a 3 接口定义3 用户访问函数,6 6 表a 4 接口定义4 设备控制函数6 7 表a 5 接口定义5 操作系统关于驱动程序的接口函数( 以p e m s 为例) 6 7 表a 6 接口定义6 一驱动程序的数据结构所用内存分配函数一6 7 表a 7 接口定义7 交换内存分配函数6 8 表a 8 接口定义8 一设备自身中断( 或称事件) 操作函数6 8 表a 9 接口定义9 寄存器和存储器映射函数6 8 表a 1 0 接口定义l o 一寄存器和存储器访问函数6 8 表a 1 1 接口定义1 1 - 字节和位顺序转换函数一6 8 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目: 星戴羞盈妾厶叁握经丞蕴差毽基盔叠塞量塞塾 学位论文作者签名:扬熟盘 日期:彬年? 2 月尸日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阕和借阏;可以将学位论文的全部或部分内容编入有关教据库进行检索, 可以采用影印、缩印或扫描等复制手段保存汇编学位论文。 ( 保密学位论文在解密后适用本授权书) 学位论文题目: 星夔差堑巍萎搓佳盔缠基熊挂盎叠塞生塞盈 学位论文作者签名 作者指导教师签名 日期:嘶弦月富目 目期:妒鼻p 月踟 国防科学技术大学研究生院学位论文 第一章绪论 嵌入式系统的研究与开发是当前汁算机科学研究领域较为热门的话题。目前,在一些 应用中。单处理器的性能由于多种因素的限制正在接近极限,而应用又提出了更高的性能 要求,从而产生了单处理器性能不足的问题。本文阐述多处理器条件下嵌入式操作系统关 键技术的研究与实现,对这一阅题的解决方案中的软件部分进行探讨。 1 1 引言 嵌入式系统经过多年的发展,在许多领域获得了广泛的应用。如通信、p d a g b a 、航 空航天、医疗、科学、机器人、音乐、军事、一l 业、医疗等。嵌入式的广泛应用,给人类 的生活和工作带来了极大的便利1 1 l 。 随着应用的不断延伸,对嵌入式系统性能的要求也越来越高。单处理器嵌入式系统性 能的提升往往难以赶上需求的增长速度。另外,在一些应用中,恶劣的环境( 如温度范围, 抗辐射能力等等) 使得嵌入式系统开发受到诸多限制,导致单处理器系统性能难以提高; 而这些应用对系统性能的要求又特别的高( 如遥感图像数据的处理,多媒体数据的处理) 。 这就产生了单处理器嵌入式系统性能不足的问题。因此,人们开始努力寻求一种可以提高 嵌入式系统处理能力的解决方案。 研究表明,采用多处理器并行策略,设计嵌入式并行计算机体系结构是解决单处理器 性能不足这问题的有效途径。嵌入式系统的开发与设计通常包含硬件系统设计和软件系 统设计,本文以星载并行计算机体系结构为基础,对其操作系统p e m s ( p a r a l i e le m b e d d e d m u l t i p r o c e s s i n gs y s t e m ,并行嵌入式多处理器操作系统) 中的关键技术进行研究与实现, 1 2实时嵌入式操作系统 实时嵌入式操作系统( r e a i t i m ee m b e d d e do p e r a t i n gs y s t e m ,r t o s 或e o s ) 是一种实时 的、支持嵌入式系统应用的操作系统,它是嵌入式系统( 包括硬、软件系统) 中重要的组 成部分,通常包括与硬件相关的底层驱动程序、微内核、设备驱动接口、通信协议、通用 程序接口等f 2 1 。 1 2 1 实时嵌入式操作系统的特点 实时操作系统种类蘩多,包括r t e m s ( r e a lt i m ee x e c u t i v ef o rm u i t i p r o c e s s o rs y s t e m s , 实时多处理器操作系统) 在内的所有r t o s 都有其与众不同的特点a 但作为操作系统的一个 重要分支,各个r t o s 都具有一些爽性。根据i e e e 实时u n i x 分委会对实时操作系统的 籀l 页 国防科学技术大学研究生院学位沦文 定义,实时操作系统的基本特征应表现在以下几个方面: 实时性 对外部事件做出的反应必须在限定时间内,在某些情况下还需要是确定的,可重复实 现的,不管当时系统内部状态如何。 异步并发事件响应能力 异步事件是指无定时序关系随机发生的事件。如外部设备完成数据传输,实时控制 设备出现异常情况等。实际环境中,嵌入式实时系统处理的外部事件往往不是单的这 些事件往往同时出现,而且发生的时刻也是随机的,即异步的。实时软件应有能力对这类 外部事件有效的进行处理。 抢占式调度 为确保响应时间,实时操作系统必须允许高优先级的任务一旦准备好,立即抢占低优 先级任务的执行。 优先级中断和调度机制 必须允许用户定义中断优先级和被调度任务的优先级,并指定如何进行中断服务。 同步互斥机制 提供同步和互斥共享数据使用及执行的手段。 应用软件和操作系统两种软件一体化 对于通用计算机,系统软件和应用软件是分属不同的系统访问空间的。但是在实时操 作系统中,这一界限并不明冠。这足因为应用系统配置差别较大,所需操作系统繁简不一, i ,o 操作也不标准。这部分驱动软件常常由应用程序提供,要求采用不同配置的操作系统 和应用程序,链接装配成统一的运行软件系统,也就是说,在系统总设计目标指导下将它 们综合考虑和设计,以便实现。 独立的开发平台 由于嵌入式实时应用系统的软件开发受到实时应用限制和空间开销的限制,所以通常 需要在专门的开发平台上的交叉开发环境中进行嵌入式系统软件开发。 1 2 2 常见实时嵌入式操作系统 除本文摘要中提到的r t e m s 以外,其它常见的嵌入式操作系统有: w i n d o w sc e 【3 】 m i c r o s o rw i n d o w sc e 是从整体上为有限资源的平台设计的多线程、完整优先权、多 任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子 设备进行定制。操作系统的基本内核需要至少2 0 0 k 的r o m 。 v x w o r k s 【4 j v x w o r k s 是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种 处理器,如x 8 6 ,i 9 6 0 ,s u ns p a r c ,m o t o r o l am c 6 8 x x x ,m i p sr x 0 0 0 ,p 0 w e rp c 等等。大多 第2 页 国防科学技术大学研究生院学位论文 数的v x w o r k sa p i 是专有的。它采用g n u 的编译和调试器。 p s o s i s i 公司己经被w i n d r i v e r 公司兼并,现在口s o s 属于w i n d r i v e r 公司的产品。这个系 统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计。它提供一个完全多 任务环境,在定制的或者商业化的硬件上提供高性能和高可靠性。可以让开发者根据操作 系统的功能和内存需求定制成每个应用所需的系统。开发者可以利用它来实现从简单的 单个独立设备到复杂的、网络化的多处理器系统。 q n x q n x 是一个实时的、可扩充的操作系统,它部分遵循p o s l x 相关标准,如:p o s i x 1 b 实时扩展。它提供了一个很小的微内核以及些可选的配合进程。其内核仅提供4 种服务: 进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有 其它o s 服务,都实现为协作的用户进程,因此q n x 内核非常小巧( q n x 4 x 大约为1 2 1b ) , 而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌 入式操作系统或是包括几百个处理器的超级虚拟机操作系统。 o s 9 m i c r o w a v e 的o s 9 是为微处理器的关键实时任务而设计的操作系统,广泛应用于高科 技产品中,包括消费电子产品、工业自动化、无线通讯产品、医疗仪器、数字电视多媒体 设备。它提供了很好的安全性和容错性,与其他的嵌入式系统相比,它的灵活性和可升级 性非常突出。 l y n x o s l y n xr e a i t i m es y s t e m s 的l y n x o s 是一个分布式、嵌入式、规模可扩展的实时操作系 统。它遵循p o s i x 1 a ,p o s i xi b 和p o s d ,ic 标准。l y n x o s 支持线程概念,提供2 5 6 个全 局用户线程优先级:提供一些传统的、非实时系统的服务特征;包括基于调用需求的虚拟内 存,一个基于m o t i f 的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。 r t l i n u x r t l j n u x 是由美国新墨西哥州大学v i c t o ry o n d a i k e n 等人开发,现在由f s m l a b s 公司 进行维护。r t l i n u x 的设计思想是在标准l i n u x 基础上实现抢占式的硬实时内核,并将l i n u x 作为一个优先级最低的任务来运行。用户可以编写自己的实时进程,和标准的l i n u x 共同 运行。所有的实时任务的优先级都要高于l i n u x 本身以及l i n u x 下的一般任务。 r t l i n u x 满足部分p o s l x10 0 3 1 3a p i 标准,r 丁l i n u x 的编程方法是将有实时要求的 任务放到实时进程或中断里进行处理,把没有实时要求的交给标准的l n u x 。使得r t l i n u x 在保证硬实时特性的同时还可以利用l i n u x 丰富的资源。r t l i n u x 支持的露标处理器包括: x 8 6 、p o w e r p c 、a i d h a 和m i p s :开发环境采用l i n u x 平台下g n u 系列开发调试工具。 u c ,o s 一【i 【5 】 uc o s 儿的前身是uc 0 s 。是美国嵌入式系统专家j e a nj l a b r o s s e 用c 语言编写的一 个源代码公开的、占先式的多任务实时内核。它基于优先级总是让就绪的优先级最高的 第3 页 国防科学披术大学研究生院学位沦文 任务先运行,每个任务有互不相同的优先级( 静态优先级) 。能管理6 4 各任务,其中留 给崩户使用的是5 6 个。4c ,o s l i 具有执行效率高、占用空间小、实时性能优受和可扩展 性强等特点,最小内核可编译至2 k 。 由于l jc o s i i 代码公开且代码:晕= 小和可移植性强的特点,使得uc o s i i 已经被成功 移植到许多常用的目标处理器中。只需要有c 的交叉编译器和汇编、链接工具就可以进行 uc o s i i 应用程序的开发。 e c o s e c o s 的全称是”e m b e d d e dc o n 6 9 u r a b i eo p e r a t i n gs y s t c m ”,由r e d h a t 公司开发。是 个源码开放的可配置、可移植、面向嵌入式应用的实时操作系统。e c o s 的核心部分是由不 同的组件组成的,包括内核、c 语言库和底层运行包等,每个组件又能提供大量的可配置 选项利用e c o s 提供的配置工具可以很方便的进行配置,通过不同的配置使得e c o s 能够 满足不同的嵌入式应用。 e c o s 很好的可移植性是通过硬件抽象层( h a l ) 来实现的,现在已经支持的目标环境 包括m o t o m i a6 8 k 、c o l d f i r e 、p o w e r p c 、m i p s 、x 8 6 、a r m 、s p a r c 等。开发平台可以 足u n i x 、w j n d o w s 或l i n u x ,开发环境也是采用g n u 系列开发调试工具。 上述九种实时嵌入式操作系统中,最后三种实时嵌入式操作系统和r t e m s 一样,都 是源码开放的系统。在这些实时嵌入式操作系统中,商业的嵌入式操作系统一般提供很好 的售后技术支持,性能也很不错,其中以v x w o r k s 最为出名。但是最后四种源码开放的实 时操作系统也在嵌入式系统中有大量的应用。这四种r t 0 s 与商业r t o s 的v x w o r k s 在 任务切换时间与中断延迟时间两方面做比较,都具有较好的实时性,尤其是r t e m s 的实 时性能与v x w o r k s 不相上下。 1 2 3r t e m s 简介 r t e m s l 6 】 即实时多处理器系统( r e a lt i m ee x e c u t i v ef o rm u l t i p r o c e s s o rs y s t e m s ) ,它最 早用于美国国防系统,早期的名称为实时导弹系统( r e a lt i m ee x e c u t j v ef o rm i s s i l e s y s t e m s ) ,后来改名为实时军用系统( r e a it i m ee x e c u t i v ef o rm i l i t a r ys y s t e m s ) ,现在由 o a l 公司负责版本的升级与维护。目前无论是航空航天、军工,还是民用领域r t e m s 都 有着极为广泛的应用。 从体系结构上来看,r t e m s 是微内核抢占式的实时系统,它具有下面的优点: 优秀的实时性能 支持硬实时和软实时 支持优先级继承,防止优先级反转 支持速率单调性算法 支持优先级轮转算法 高稳定性 第4 页 国防科学技术大学研究生院学位论文 运行速度块 支持多种c p u ,无论是a r m 、 m i p s 、p o w e r p c 、i 3 8 6 还是d s p 、a v r 、乙i 1 0 2 都 可以找到对应的b s p 高度可剪裁内核( 目标系统小只有3 0 k b ;大可上百兆) 占用系统资源小,在3 2 位系统中最小的内核只有3 0 k b 左右 支持多处理器( 不同于s m p ,r t e m s 叶i 多个处理器是协作关系) 提供p o s i xa p i ,l i n u x l j x 下的程序可以方便移植 提供完整的b s d 的t c p l p 协议栈以及f t p 、w 曲s e r v e r 、n f s 等服务 使用面向对象思想设计,可以大大缩短开发周期 核心代码使用c ,c + + 写作可移植性好 支持i s o a n s i c 库 支持i s o a n s ic + + 库以及s t l 库 支持精简的可重入鲥i b c 库 支持图形用户界面( m i c r o w i n d o w s n a n o x ) 支持文件系统( f a t ,i m f s 等) 支持多种调试模式( 包括g d b ,d d d 。串【= l 调试,以太网调试) 支持3 2 位处理器,t i n y r t e m s 项目将对8 位和1 6 位处理器进行支持 支持j a 、,a 虚拟机 r t e m s 采用层次式、模块化体系结构,由处理器相关代码层、基本内核层和应用服 务层三部分组成。处理器相关代码层提供一组与c p u 相关的例程。基本内核层是一个结构 精简、运行高效的内核,提供了包括基本的调度、任务分派器、内存分配、对象管理等在 内的基础共享功能。应用服务层提供面向应用的系统资源管理器,应用服务层的各组件可 以根据用户需要灵活配置,满足用户对嵌入式软件小型化的需求。这种层次化的操作系统 内核结构设计有助于系统的高可靠性和高可扩展性。 1 3本文研究工作 嵌入式操作系统是实现星上多任务、多c p u 处理和资源管理的基础软件,也是应用开 发的基础平台。现有已应用于航空航天领域的商用或开放源码的嵌入式操作系统原型系统 包括v x w o r k s 、r t e m s 等。 本文借鉴现有嵌入式操作系统r t e m s 豹设计思想,针对星载并行计算机系统体系结 构的特点,对p e m s 中的一些关键技术进行研究与实现。p e m s 采用共享内存通信机制米 支持双c p u 并行体系结构、面向s p a r c 【7 】指令结构、为用户提供粗粒度并行编程环境。 根据该并行嵌入式操作系统的特点,将其命名为p e m s ( p a r a i l e le m b e d d e dm u i t i p r o c e s s i n g s v s t e m ) 。p e m s 提供了多处理器并行计算的揲作系统环境,使得用户任务可以运行在多 个处理器上,实现并行计算,从根本上解决单处理器系统性能不足的问题。 第5 页 国防科学技术大学研究生院学位论文 p e m s 引入面向对象的方式来组织各种系统资源和数据结构,采用单进程、多线程的 运行模式,基于共享存储通信库实现双机交互,提供一套符合r t e l d 的c l a s s i ca p i ,并 支持p o s i x 和l t r o n 标准编程接口,支持显式任务分配、隐式远程通信的粗粒度并行编 程模式。 本文的主要贡献如下: 在深入分析星载并行汁算机体系结构的基础上,根据实时性、并行性的特点,埘 嵌入式并行操作系统p e m s 设计与实现中的一些关键技术进行了分析与研究。 实现了p e m s 对并行计算的支持,为应用提供了粗粒度并行编程模型。 完成了p e m s 在s p a r ce r c 3 2 处理器上的多机模拟器p s i s ,健全了p e m s 配套的 软件开发环境。 提出了一个行之有效的可移植驱动开发模型,方便p e m s 外设驱动的开发。 应用可移植驱动开发模型,完成了15 5 3 b 设备驱动的开发,丰富了p e m s 的外部 设备。 应用可靠性理论,通过静态检测和测试方法对p e m s 核心模块进行可靠性研究, 为p e m s 的下一步改进和扩展工作提供依据。 1 4文章结构 全文共分为六章。分别阐述p e m s 从设计实现到驱动开发以及可靠性方面的内容。 第一章绪论。主要对星载并行嵌入式操作系统作概要性介绍,阐述课题背景以及研 究内容。 第二章星载并行计算机系统结构。首先叙述星载并行计算机系统的特点和要求,然 后叙述了软、硬件解决方案及其体系结构。 第三章p e m s 关键技术研究与实现。首先对p e m s 设计和实现中的一些关键技术进行 研究与实现,包括: p e m s 的实时性和并行化研究; p e m s 并行化的设计与实现,包括共享内存的设计与实现、机间通信机制和同步互 斥机制: 初始化组件的设计和流程; 然后,针对p e m s 采用的s p a r c e r c 3 2 处理器实现了支持双c p u 并行的模拟器p s i s , 健全了p e m s 配套的软件开发环境。 第四章p e m s 的1 5 5 3 b 驱动设计与实现。首先描述了一个利于移植的驱动开发模型 然后应用该模型实现了1 5 5 3 b 驱动程序,最扁简述了移植过程中遇到的一些困难和解决方 法。 第五章p e m s 核心模块检测与测试。本章以p e m s 的可靠性为研究目标,抽取p e m s 的一些核心模块,使用静态检测t 具对代码进行了检查,并编写一些测试程序对这些模块 第6 页 圈防科学技术大学研究生院学位论文 进行了测试。该章目的是为进一步的工作提供参考。 第六章结束语。对课题作出总结,并对下一步的工作进行展望。 第7 页 国防科学技术大学研究生院学位论文 第二章星载并行计算机系统结构 由于星载并行汁算机系统工作在外太空,因此,它的设计有着许多不同于地面系统的 特点l ”: 抗辐照特性 太空中充斥着各种高能射线和高速粒子,这些射线和粒子都会对计算机的正常工作产 生负面影响,削减其工作稳定性,甚至导致其工作时出现致命错误,太空中的电子系统必 须要在地球的电离带、太阳风、高能宁宙射线中能正常工作并生存下来。由于高能射线和 高能粒子造成的负面影响可以被归类为以下两个方面: 总辐照剂量效应。长期受到高能粒子或射线的辐照而引起的设备老化效应。 单事件效应。由于高能粒子打入电路而引起的设备瞬间或永久性故障的效应。 星上计算机工作在太空,必须对上述效应具有抵抗能力,增强系统可靠性。 低功耗特性 星上计算机系统和地面计算机系统最大不同之一就是散热问题,地面计算机可以增加 风扇或者配置制冷设备( 如空调) 来降低系统运行环境的温度从而降低系统温度。星上计 算机受限于环境因素,系统散热不可能依靠风扇或者空调而主要靠热辐射进行,这使得降 低系统温度非常困难,因此,为了保证系统有尽量低的工作温度,系统在设计的时候必须 考虑低功耗特性。 可靠性 星上计算机系统要求的工作寿命高达数十年,而且不允许太大的错误恢复时间。否则 卫犀将失控。在设计星上计算机系统时,系统可靠性设计需要从系统级、部件级、逻辑设 计级、板图级等四个角度结合考虑。 容错性 容错性是一个和可靠性紧密相关的特性,所谓容错,就是指一个系统在运行时任何一 个予系统发生故障时,系统仍能提供不问断服务的能力。这个问题涉及两个方面: 首先,来自对抗辐照特性的完善,虽然系统采取了抗辐照策略和设计方法,但仍不能 保证完全排除辐照的负面影响,一旦出现软硬件错误,则系统不问断运行仍需要系统的可 靠性设计策略来保证,这些策略主要包括冗余性、多层备份、可恢复性和预防性等。 其次,系统发射上天后短时间内无法收回甚至无法回收( 例如火星探测者) 。此时如 没有可靠性和容错性设汁策略的实现,系统将在遇到致命错误后很快失去工作能力。 星上系统的特点决定了它在体积、重晕、功耗和可靠性等各种方面受到非常严格的限 制。同时,随着卫星整体性能的提高和卫星应用的深入,卫星自主管理和自主控制、故 障诊断与隔离以及系统的自主智能化等思想相继被提出,以往应用于嵌入式系统的简单控 篇8 页 国防科学技术大学研究生院学位沦文 制程序已经不能满足日益增强的星上自主处理能力的需求;卫星的信息处理与数据管理技 术的发展和变革对星上计算机的处理能力提出越来越高的要求。这些都对星上计算机系统 的性能提出了很高的要求。星上单处理器系统中出现了性能不足的问题。 研究与实践表明,并行处理是提高星上计算机处理能力的主要技术途径,也是国际上 星上计算机技术发展的主流方向。因而,研制星载并行计算机系统,是发展高性能的卫 星综合电子系统的重要技术基础。 本章在此背景下,叙述星载并行计算机系统的软硬件体系结构。 2 1星载并行计算机系统硬件结构 针对星载系统对硬件和软件的各种要求和限制,提出了以单机双c p u 并行、双机冷备 份为基础的硬件体系结构,如图2 1 所示。 一 1 1 戡撇| 盈 图2 1 星载并行计算机的硬件系统结构 图2 1 的硬件系统结构方案表明:在硬件的设计上,采用单机双c p u 并行、双机冷备 份策略;整个系统由c p u 模块、容错模块、i o 模块以及电源模块组成。 本方案面向的是星载应用环境,系统工作环境恶劣,对系统可靠性要求非常高。因此, 在设计中硬件系统采用多层次的可靠性设计。包括系统级双机冗余冷备份设计,双c p u 并 行、降级工作策略以及逻辑级高可靠性设计。具体来说,c p u 模块、总线桥接器和与之相 连接的i ,o 模块构成一个独立的计算机。系统包括两个这样的计算机,分别称为甲机和乙 机( 乙机作为甲机的冷备份) 。容错模块通过1 2 c 总线与总线桥接器和电源模块相连,负 责监控系统的工作状态,并通过1 2 c 总线控制电源模块,实现单机降级使用和系统切换的 功能。全系统可实现自主管理,自主控制,自主故障检测、定位、诊断和处理。 当系统加电后,在默认情况下,电源模块给甲机供电,此时甲机处于正常工作状态, 系统任务由操作系统分配到对等的双c p u 上。容锗模块对甲机的工作状态进行监测,当甲 机某c p u 出现故障时,系统降级使用,同时容错模块启动乙机,在甲机正常c p u 协助卜 鞋匮 国防科学技术大学研究生院学位论文 完成工作状态的转换。随后乙机取得系统控制权并进入正常并行工作状态。如果备份机( 乙 机) 某c p u 发生故障,那么系统再次降级为单c p u 工作状态,此时仍可保证系统完成基 本功能。 c p u 模块由两个处理器、两个本地存储器、两个r o m 、一个共享存储器以及一个总 线桥接器组成,构成双c p u 并行处理系统。每个c p u 用属于自己的本地r a m 存放私有 数据,共享数据则放在共享存储器里面。住此体系结构下,两个c p u 看到的存储空间是完 全一致的,两个c p u 上运行的操作系统也基本相同。总线桥接器是c p u 模块中的关键部 件,它的主要功能包括: c p u 总线到c o m p a c t p c i 总线的协议转换 t s c 6 9 5 f 处理器将i o 空间映射到存储器空间当中,c p u 对外设( 1 3 9 4 和1 5 5 3 b 转 接板) 的访问是通过存储器总线进行的。总线桥接器需要将c p u 发出的访存( 访i o ) 控 制命令转换成p c i 总线事务,从而完成对外设的访问和控制。反过来,桥接器还要将p c i 总线事务转换成存储器总线上的控制信号。 总线控制和仲裁 两个c p u 可能同时访问外设,桥接器需要对两个c p u 的访问请求进行仲裁。此外还 要实现p c i 总线的仲裁功能。 c p u 0 与c p u l 之间的同步和通信 当c p u l 要访问m o 中的共享空间时,桥接器要将c p u l 的访存请求转换成对c p u o 的d m a 请求,并完成相应的控制。为了保证数据的一致性,桥接器中还要设置同步寄存 器并提供相应的硬件原语,c p u 访问共享数据空间之前必须首先设置同步寄存器,在获得 专有权之后才能访问共享空间,从而保证共享数据的一致性。 d m a 控制器和中断控制器 处理外设的d m a 请求和中断请求。 1 2 c 总线接口 桥接器提供1 2 c 总线接口,通过1 2 c 总线与容错模块传递状态和控制信息。 i o 模块通过c o m p a c t p c i 总线与c p u 模块相连,两个i o 模块分别提供1 3 9 4 和1 5 5 3 b 总线接口。c p u 模块和与之相连接的i o 模块构成一个独立的计算机,系统包括两个这样 的汁算机,分别称为甲机和乙机,其中乙机作为甲机的冷备份。 容错模块通过1 2 c 总线与总线桥接器和二次电源模块相连,负责监视系统的工作状态, 并通过1 2 c 总线控制= 次电源模块的输出电压在甲机和乙机之间进行切换。 2 2星载并行计算机系统软件结构 软件结构主要指并行嵌入式操作系统p e m s 的体系结构。根据4 1 节中的硬件体系结 构,设计出p e m s 的软件体系结构如图2 2 所示。p e m s 采用层次式、模块化设计,保证 第1 0 页 倒防科学技术大学研究生院学位论文 系统的实时性、可移植性、可扩展性和灵活性”。 在图2 2 中,基本内核层为多处理器支持层和应用服务组件层中的各个模块提供基本 的服务函数。应用服务组件层则封装出p e m s 的对象( 如任务、消息等) 。用户接口层进 一步封装这些对象,为用户提供高层的访问接口。引入m p s l 层用于支持多处理器并行工 作。 任务组件、初始化组件、中断组件、同步通信组件、存储组件、硬件相关代码对基本 的嵌入式操作系统中的任务、通信等组件进行了对象化的封装,提供嵌入式操作系统的基 本服务,同时在实现上预留了对多处理器的支持。多处理器支持、i o 组件则是本文要 霞点解决的两个问题。从图2 2 可见,p e m s 体系结构具有层次化和模块化的特点。同时 p e m s 用户接口层实现了p o s i x 和i t o r n 标准接口,减少了应用开发的难度。 通过m p s l 层,p e m s 实现了对多处理器并行计算的支持。m p s 乙层对用户接口屡足 透明的。开发并行应用时,不需要了解多处理器系统的设计细节。 用户接口层( p e m s a p i 、p o s i x a p i 、i t r o n a p i ) = 图2 2p e m s 体系结构示意图 下面是p e m s 体系结构中各层次的功能: 硬件相关代码层 提供一组与处理器及目标板相关的例程。 基本内核层 一个结构精简、运行高效的内核,提供了包括基本的调度、任务分派器、内存分配、 对象管理等在内的基础功能,为应用服务组件功能的实现提供内核级的支持。 多处理器支持层m p s l ( m u l t i p r o c e s s o rs u p p o r tl a y e r ) 基于共享主存实现不同结点上任务之间的隐式通信,使得应用程序只需调用与单处理 器实现兼容的任务间通信接口完成交互,除了对远程结点进行操作的时间稍跃以外,应用 不必感知任务的位置来进行较为复杂的远程通信,这很大程度上降低了并行应用的开发难 度。 第l l 页 国防科学技术大学研究生院学位论文 基于组件的应用服务层 提供面向应j = j 的系统资源管理器,包括任务组件、线程间同步通信组件( 由信号、信 号量、事件和消息队列四个管理器组成) 、存储组件( 由提供动态分配固定或者可变大小 内存空间功能的两个管理器组成) 、中断组什、时间组件、i o 组件等。应用服务层的各 组件都是以对象的形式进行管理,与单处理器版本不同的是,多处理器的应用中将对象区 分为局部对象和全局对象。对局部对象的访问与单处理器情况下相同,直接调用本地内核 层提供的功能完成操作;而全局对象的设置足为多处理器间通信服务的,对全局对象的访 问则会调用多处理器支持层的接口完成远程任务之间的交互。除了为各组件增加多处理器 支撑模块,这一层次另重点需要实现的功能是基于共享p c i 总线的i o 模块,包括1 5 5 3 b 和1 3 9 4 总线接口的驱动程序。应用服务层的组件可以根据用户需要灵活选择和配置,满 足用户对嵌入式软件小型化的需求。 用户接口 提供一套符合r t e i d 的c l a s s i ca p i ,并支持p o s i x 和i t r o n 标准编程接口。编程 模式采用单进程、多线程结构,粗粒度任务并行。 任务组件 提供对多处理器上任务分布的支持,主要是通过具体实现全局任务来实现。 初始化组件 提供双c p u 协涮启动,最终建立并行计算环境。 同步通信组件 实现机问通信,为所有的分布式( 或称全局对象) 提供基础服务。 存储组件 实现基于硬件的共享存储系统。同时为通信组件提供机间数据交换的机制。 中断组件 增加对虚拟中断的处理能力,突破c p u 中断引脚的限制,扩展可支持的硬件数量。 i ,o 组件 提供对1 5 5 3 b 和1 3 9 4 的硬件驱动。 p e m s 的体系结构具有层次化、模块化和对象化的特点。p e m s 通过引入m p s l 层来 实现对并行计算的透明支持。 2 3小结 本章叙述了星载并行计算机系统的硬件体系结构和嵌入式操作系统p e m s 的体系结 构,为后续章节奠定基础。 在硬件体系结构中,着重考虑硬件容错和双处理器并行化问题。提出单机双c p u 并行、 双机冷备份的策略,并加入容错模块提高整个系统在硬件方面的可靠性。在p e m s 体系结 第1 2 页 国防科学技术大学研究生院学位埝文 构中,采用层次式、模块化和对象化的殴计思想,保证系统的实时性、可移植性、可扩展 性和灵活性;引入m p s l 层,提供对并行计算的透明支持。 第1 3 垂 圜防科学技术大学研究生院学位沦文 第三章p e m s 关键技术研究与实现 本章对星载并行汁算机系统中的操作系统p e m s 关键技术进行研究和实现,重点针对 并行化引入的m p s l 层进行设计与实现。p e m s 驱动开发作为另一项关键技术将在第四章 中单独阐述。 首先介绍p e m s 的设计思想,然后对p e m s 中关键技术进行研究,在此基础上实现了 并行化相关的一些关键模块,包括多处理器支持层( m p s l ) 、m p s l 中的共享内存、初始 化组件。最后,叙述了p e m s 在s p a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口琴考试题及答案
- 中兽医基础理论知到智慧树答案
- 药品购销员考试题及答案
- 幼儿园家长文明礼仪知识竞赛试题及答案
- 山西省工会财务知识竞赛考试题库-工会决算制度试题(附答案)
- 中学物理课堂教学基本技能训练知到智慧树答案
- 2025版绿色建筑瓦工劳务承包合同模板
- 2025版新媒体中心广告位租赁合同书
- 2025年物流配送中心停车场地租赁服务合同
- 2025版外汇借款合同与外汇市场波动应对策略及操作指南
- 反比例函数教材分析课件
- 茶马古道文化研究
- 空调工人安装合同模板
- Unit 8 Lets celebrate!教学设计2024-2025学年牛津译林版英语七年级上册
- 国际商务课件全套教程
- 22.3 实际问题与二次函数 课件 2024-2025学年人教版数学九年级上册
- 文言合集(1):120个文言实词小故事(教师版+学生版)
- 教科版(2024)小学科学一年级上册(全册)教案及反思(含目录)
- 【课件】2025届高三生物一轮复习备考策略研讨
- 中级会计师《经济法》历年真题及答案
- 新疆城市绿地养护管理标准
评论
0/150
提交评论