已阅读5页,还剩47页未读, 继续免费阅读
(计算机应用技术专业论文)基于fpga的嵌入式系统的研究及设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 嵌入式设备在生产和消费领域的应用越来越广泛,它一般是针对某个特定领域,而 且对代码执行效率、内存空i 日j 占用、功耗等方面有更严格的要求。有必要针对特定应用 领域设计不同于通用处理器的硬件平台。随着嵌入式技术的不断发展,嵌入式j a v a 技 术随之出现。 j a v a 语言具有非常好的平台无关性和可移植性,它使用一种与平台无关的字节码, 字节码由j a v a 虚拟机解释执行。实时j a v a 规范( r t s j ) 通过对j a v a 虚拟机的实时扩展可 以使j a v a 具有较好的实时性,从而应用于实时系统的丌发。目前国内外在针对嵌入式实 时j a v a 处理器的研究上,重点多在提高系统整体性能而忽视了实时性。 本文分析研究了当前嵌入式j a v a 技术及f p g a 技术的特点。在实验室罩设计的适 合低成本f p g a 芯片的硬实时嵌入式j a v a 处理器基础上,针对其算术逻辑部件进行优 化设计。使它符合该j a v ac p u 的实时性要求并适应c p u 的进一步扩展需求。通过对 f p g a 互连线延迟的分析,研究了一种f p g a 开关盒互连容错算法,主要针对出现错误 的开关盒阵列中可执行的路径数量进行评估,通过使用算法找到合适的路径,从而避开 错误,提高j a v a 处理器算逻部件的容错性。最后,通过实验验证了基于低成本f p g a 的j a v a 处理器结构的j 下确性和可行性。 关键词:嵌入式、f p g a 、j a v a 处理器、a l u 江南人学硕i :学位论文 a b s t r a c t e m b e d d e de q u i p m e n t sa r eb e c o m i n gm o r ea n dm o r ep o p u l a ri nt h ed o r a a i n 5o fi n d u s t r y a n dc o n s a r ”i p t i o na n dt h e yw e r ed e s i g n e df o rg i v e na p p l i c a t i o nw i t hm o r es t r i c tr e q u i r e m e n t s s u c ha sc o d er u n n i n ge f f i c i e n c y , m e m o r yu s a g e ,p o w e rd i s s i p a t i o ne t c i ti sn e c e s s a r yt o d e s i g nah a r d w a r ep l a t f o r mf o rg i v e na p p l i c a t i o nw h i c hi sd i f i e r e n tf r o mc o n l m o np r o c e s s o r w i t ht h ed e v e l o p m e n to fe m b e d d e dt e c h n o l o g y , e m b e d d e dj a v at e c h n o l o g i e sh a v ec o m ei n t o a p p e a r a n c e t h ej a v ap r o g r a m m i n gl a n g u a g ei sap l a t f o r m i n d e p e n d e n ta n dr e p l a n tl a n g u a g e j a v a c o m p i l e r sd on o tp r o d u c en a t i v eo b j e c tc o d ef o rap a r t i c u l a rp l a t f o r mb u tr a t h e r b y t ec o d e i n s t r u c t i o n sf o rt h ej a v av i r t u a lm a c h i n e ( j v m ) w i t ht h ed e v e l o p m e n to fr e a j t i m e s p e c i f i c a t i o nf o rj a v a l f r t s j ) i ti sp o s s i b l ef o rj a v at oa p p l yi nr e a l t i m ec i r c u m s t a n c e s t h r o u t ht h ee x p a n d i n go fj v m a n dn o wr e s e a r c h e so ne m b e d d e dj a v ap r o c e s s o ra r ef o e l i so n t h ei m p r o v e m e n to f w h o l ep e r f o r m a n c eb u tn o to nt h er e a l t i m e t h ec h a r a c t e r i s t i c so fc u r r e n te m b e d d e dj a v at e c h n o l o g ya n df p g aa r er e s e a r c h e di n t h i sp a d e lb a s e do nt h eh a r dr e a l t i m ee m b e d d e dj a v ap r o c e s s o ri m p l e m e n t e dw i t hl o w - p r i c e f p g ao fo u ri a b ao p t i m i z e dd e s i g nf o rt h ea l uo fp r o c e s s o ri sp r o p o s e ds ot h a tt h e p r o c e s s o rc a nb em o r ec o m p a t i b l ew i t ht h er t s ja n db em o r ee x t e n s i b l e af a u l tt o l e r a n t a r i t h m e t i co ff p g as w i t c hb l o c ki n t e r c o n n e c t i o ni ss t u d i e di nt h i s 阳p e lt h em a i no b j e c t i v e o f t h i sa r i t h m e t i ci st oa s s e s st h er o u t a b i l i t yo f t h es w i t c hb l o c ka r r a yi nt h ep r e s e n c eo ff a u l t s a n dt ou s ea l g o r i t h mt of i n da p p r o p r i a t er o u t e ,t oa v o i df a u l ta n dt oi m p r o v ef a u l tt o l e r a n to f p r o c e s s o r a tl a s t t h ee x p e r i m e n td a t aa p p r o v ev a l i d i t ya n df e a s i b i l i t yo ft h ej a v ap r o c e s s o r a r c h i t e c t u r ei m p l e m e n t e dw i t hl o w - p r i c ef p g a k e yw o r d s :e m b e d d e ds y s t e m ,f p g a ,j a v ap r o c e s s o la l u 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含本人为获得江南大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示谢意。 签名: 鲤毅日期:切了年6 月谬日 关于论文使用授权的说明 本学位论文作者完全了解江南大学有关保留、使用学位论文的 规定:江南大学有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文,并且本人电子文档的内容和纸质论文的 内容相一致。 保密的学位论文在解密后也遵守此规定。 签名:导师签名:i 至墨l 丛 日期:柳年石月侈日 第一章绪论 1 1 课题的研究背景 第一章绪论 在计算机技术及其产品对其它行业进行全面渗透的大背景下,嵌入式系统作为i t 产业新崛起的一个分支,j 下在全球范围内迅猛发展。嵌入式系统已将全球最新科技产业 成果带入社会生活的各个领域,而且已经成为通信和消费类产品的共同发展方向,嵌入 式产品几乎包括了人们生活中的各个方面,如掌上p d a 、移动计算设备、电视机顶盒、 w a p 手机、车载导航仪、微波炉、数码相机、电梯、空调、安防系统、工业自动化仪 表、医疗器械等等,而且还在不断向新的领域延伸和发展。 嵌入式系统( e m b e d d e ds y s t e m ) 是以应用为中心,以计算机技术为基础,软硬件可裁 剪( 可编程,可重构) ,技术密集和不断创新的知识集成系统。随着集成电路工艺技术 的不断发展和集成度的大幅度提高,嵌入式系统也由板缴向芯片级过渡,也就是片上系 统,其核心是重用技术和嵌入式技术,在单一芯片内包含一个或多个处理器、基于总线 的体系结构、大容量的存储器、外设、协处理器和输入输出接口等多种资源,软件上包 含嵌入式实时操作系统和应用软件,用一个芯片构成整个系统。 由于嵌入式系统在各个领域的发展极其迅速,这对嵌入式系统的性能及丌发效率也 提出了更高的要求。在嵌入式领域研究j a 、,a 以及j a 、,a 的实时性,对于嵌入式产品的 发展有着重要的影响,也具有重要的技术价值和商业价值。 1 2 国内外研究发展状况 为了满足应用的需求,嵌入式系统设计的发展很快,目i ; 嵌入式系统设计中的发展 趋势是: 1 设计复杂性提高,规模变大,设计对象由单机走向系统,产品更新速度加快,设 计周期缩短。为了满足应用的需要,人们一方面采用更强大的嵌入式处理器,同时还采 用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计,保 障软件丌发质量和缩短开发周期,目前,国外商品化的嵌入式实时操作系统,如 w i n d r i v e r 、q n x 和n u c l e a r 的产品已经进入我国。国内也有少数自主研发的嵌入式系 统问世,如科银公司的嵌入式软件开发平台d e l t a s y s t e m ,中科院的h o p e n 嵌入式操作 系统等。 2 联网成为嵌入式系统的必然趋势。为了适应分布式嵌入式系统结构和应用上网等 需求,面向2 l 世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。由于外部 联网的要求,嵌入式系统设备必须配有通信接口和相应的t c p i p 协议簇软件支持。为 了满足家电等产品的相互关联及实验室现场仪器的协同工作等需求,新一代的嵌入式设 备还需具备i e e e l 3 9 4 、u s b 2 0 、c a n 、b l u e t o o t h 、i r d a 等通信接口,同时需要提供相 应的通信组网协议软件和物理层驱动软件。 3 设计要求由单目标走向多目标( 功耗、成本、实时性等) ,为了支持小型电子设 备,实现小尺寸、微功率和低成本,嵌入式系统对于系统的体积、功耗等有较严格的限 制。嵌入式系统更多采用软硬件异构方式构造,所涉及的领域由单一领域走向多个领域 ( 软件、硬件、应用环境等) ,嵌入式系统有两个基本的实现手段软件和硬件。一般 来说,软件比硬件更加灵活、成本低,而专用硬件提供了更高的性能,目i j 的嵌入式系 统大部分采用软硬件异构的构成方式。 4 实现上集成化程度提高,设计更加强调设计重用,而且已经对软硬件双核编程提 出了需求,软核( s o f t c o r e ) 进入f p g a 成为了时代的需要,基于f p g a 的i p ( 知识产 权) 软核设计成为目前的热点之一。 5 j a v a 平台作为一种新型的软件平台,可以用来在网络计算机系统中发布,运行高 垩堕生兰竺! :兰些丝苎 交互性、动态的、安全的j a v a 小程序( a p p l e t s ) 和应用程序,通过字节码、j a v a 虚拟机( j a v a v i r t u a lm a c h i n e ,j v m ) 机制实现了j a v a 语言的可移植性,而j a v a 虚拟机是j a v a 平台 的核心部分,是程序与底层操作系统和硬件无关的关键,就是因为有j a v a 虚拟机,才实 现了程序与操作系统的分离,从而实现了j a v a 的平台无关性。 针对目前存在的各种j a v a 平台中虚拟机实现方式的不同,可以将j a v a 平台分为以 下几类: 1 ) 解释执行:解释执行是以软件实现的j a v a 虚拟机作为解释程序,在操作系统的 支持下解释执行j a v a 字节码。解释执行方式的优点是灵活性高、可以移植到多种不同的 处理器平台和充分利用现有处理器硬件,不足之处是每执行一条j a v a 字节码都需要更多 条本地指令来解释,效率比较低。目前这种方式下的实时j a v a 平台主要有r j v m i l “, o v m l 5 - 7 j ,j t i m e t 8 i ,r t s jr i t 8 】等。 2 ) 提前编译:在运行前对j a v a 字节码进行编译主要有两种方式:一种是把j a v a 字 节码直接编译成目标处理器的本地代码,这种方式消除了运行时解析、连接等操作,运 行效率高,不足之处是消除解释字节码丌销的同时也消除了字节码指令集的安全、代码 密度高,如文献【9 】中的n e t 。另一种是把j a v a 字节码编译成中间代码,如t o b a p o l 将j a v a 字节码编译成c 代码,这种方法不足之处是需要每个处理器平台都有相应的编译器配 合。 3 ) 即时编译:即时编译的方式用来加速解释执行,当某个方法被调用时,在解释 执行的同时把方法字节码编译成本地代码并缓存起来,该方法再次被调用到时,则直接 运行本地代码。这种方式相对解释执行方式效率比较高,缺点是会占用太多的内存空间, 同时,编译或查找方法会影响系统的实时性,所以不适合在嵌入式实时系统中使用。 4 ) j a v a 硬件加速器:j a v a 硬件加速器不是完整的j a v a 处理器,而是作为某个功能 部件来提高系统的整体性能。如a r m 的j e z e l l e i “j 通过执行一些频繁出现的指令来提高 整体性能,但并不涉及实时处理。 5 ) j a v a 翻译器:同j a v a 硬件加速器一样,j a v a 翻译器也不是独立的处理器,而是 配合处理器执行的一个部件。和j a v a 硬件加速器的区别是它不直接执行j a v a 字节码, 而是在运行过程中通过翻译部件把字节码翻译成处理器可执行的一系列本地指令,再由 处理器真讵执行。这种方式的优点是可以利用已有的处理器平台并有效提高运行效率。 不足之处是不能针对j a v a 虚拟机的运行时结构提供特定的硬件支持。以这种方式实现的 j a v a 平台有d e l f t i j “、j i f f y l l s l 等。 6 ) j a v a 处理器:j a v a 处理器不仅能够利用硬件直接执行j a v a 字节码,而且能够针 对j a v a 虚拟机的运行时结构提供专门的硬件支持( 如栈操作、多线程管理等) ,因此具 有高性能、低功耗、内存占用少等优点,更适合应用于嵌入式系统。目前a j 一8 0 1 0 0 以 及f e m t o j a v a i 5 j 等j a v a 处理器声明对r t s j ( s u n 公司的实时j a v a 规范) 提供支持。 1 3 本文的研究内容 1 主要内容 分析研究了当前嵌入式j a v a 技术及f p g a 技术的特点。在实验室前面设计的适合 低成本f p g a 芯片的硬实时嵌入式j a v a 处理器( h r t e j ) 基础上,针对其算术逻辑部件 进行优化设计。使它符合该j a v ac p u 的实时性要求并适应c p u 的进一步扩展需求。 同时针对f p g a 的特性,对互连线的延迟进行分析,研究了关于f p g a 丌关盒互连容错 算法,该算法主要对出现错误的丌关盒阵列中可执行的路径数量进行评估,并找到合适 的路径,避丌错误。 2 本文结构安排 第一章:绪论 说明该课题的研究背景和研究意义,介绍了目i j 嵌入式系统发展现状及面临的挑 苎二童堕堡一一一 战。 第二章:嵌入式j a v a 技术 研究了嵌入式j a v a 技术的特点确定进行j a v a 实时性研究的必要性。 第三章:j a v a 处理器算逻部件设计 在论述实时j a v a 处理器总体架构的基础上,具体设计了处理器中的算术逻辑部件。 第四章:f p g a 互连延迟的研究 通过对互连线延迟的分析,研究了关于f p g a 开关盒互连容错算法。 第五章:结论与展望 对已有的工作进行总结,并对下一步工作进行展望。 第二章嵌入式j a v a 技术 2 1j a v a 技术 第二章嵌入式j a v a 技术 j a v a 最初是为嵌入式系统而设计的一项产品。后来由于互联网的发展,而j a v a 的 诸多特性刚好又适合用在网络( 例如可移植性、编译后程序码很小、安全性) ,从此因 缘际会地成了一种网络开发设计语言,但本质上来说j a v a 还是适合用在嵌入式系统中 的。从j a v a l 1 开始,j a v a 又回到了它开始的老路一嵌入式系统方面的应用,在那时s u n m i c r o s y s t e m s 就发表了e m b e d d e dj a v a 与p e r s o n a lj a v a ( 也称为p j a v a ) 这两项规格。接 著j a v a 的版本演进到j a v a2 ,这时为了再明显区分各种j a v a 的应用,分割出了j 2 e e 、 j 2 s e 、以及j 2 m e 三种版本。这样j a v a2 将j a v a 的应用区分成了三大块,从而使得j a v a 程序语言的发展不会再像j a v a1 1 时如树枝状般扩散出去。 事实上,j a v a 是一种技术,它由四方面组成:j a v a 编程语言、j a v a 类文件格式、j a v a 虚拟机( j v m ) 和j a v a 应用程序接口( j a v a a p i ) 。 j a v a 程序设计语言是一种面向对象的通用程序设计语言,与传统的c c + + 语言相比, 它的优点是:j a v a 从语占机制上提供了对并发的支持,方便应用程序员处理现实世界的 并发事件;j a v a 是强类型语言,类型错误在编译时可以检出:j a v a 避免了指针操作及分 配、回收内存空问的操作,提高了程序的健壮性等等。j a v a 程序设计语言是目前i n t e r n e t 上非常流行的编程语言,也是许多分布式计算环境和标准的基础。 j a v a 类文件格式是对j a v a 程序二进制文件格式的精确定义。j a v a 程序设计语言的 源文件经过j a v a 编译器编译后针对每个类型( 包括类和接口) 生成一个可在j a v a 平台 上运行的、具有特定内部结构的c l a s s 文件。每一个j a v ac l a s s 文件都对一个j a v a 类或 接口做出了全面描述。无论c l a s s 文件在何种系统上产生,无论虚拟机在何种系统上运 行,对c l a s s 文件的精确定义使得所有j a v a 虚拟机都能够f 确地读取和解释所有c l a s s 文件。j a v ac l a s s 文件是8 位的二进制流,占据多个字节的项按照高位在前的顺序分为 几个连续的字节存放。 j a v a 虚拟机是用来装载j a v ac l a s s 文件,解释、执行c l a s s 文件中字节码序列的抽 象机器,可以用软件或硬件的方式实现。由于以往的虚拟机通常是用软件方式实现的, 所以称之为“虚拟机”。 j a v a a p i 是运行库提供的应用程序接口。由于j a v a 虚拟机本身没有定义对i 0 的操 作。需要由j a v a a p i 提供访问主机系统资源( 比如i o ) 的标准方法。编写j a v a 程序时, 可以假设在任何可运行程序的j a v a 虚拟机上都能够获取j a v aa p i 用到的库文件,它是 j a v a 程序具有可移植性的前提。 j a v a 虚拟机和a p l 一起就组成了j a v a 平台,所有j a v a 程序都在j a v a 平台上编译、 运行。j a v a 技术具有移植性的关键点也就在于多个不同的地方都提供了j a v a 平台。 2 2j a v a 平台与j a v a 虚拟机 2 2 1j a v a 平台 j a v a 平台体系结构分为两个部分构成,即虚拟机m 和应用程序接口a p i 。 如图2 1 所示,位于j a v a 虚拟机下层的移植接口层和适配器是为了使j a v a 虚拟机 能够方便地移植到不同的操作系统平台上而开发设计的。另外,位于j a v a 虚拟机之上 的j a v a a p i 部分则包含了基本的a p i 类与扩展的a p i 类,如标准的f o 功能、网络 功能、g u i 和应用类等。 江南人学硕 :学位论文 j a v a 插件或应用程序 基本a p i 扩展a p i 基类扩展类 j a v a 虚拟机 移植接口层 适配器适配器 适配器 浏览器 操作系统 小型操作系统 j a v a 操作系统 操作系统 硬件硬件硬件 硬件 图2 1j a v a 系统结构图 用任何一个文本文件编辑器或j a v a 集成丌发环境丌发的j a v a 源代码可以用j a v a 编译器编译转换成由字节码组成的二进制程序。字节代码是供j a v a 虚拟机使用的机器 指令。当执行一个j a v a 程序的时候,会有一个称为j a v a 解释器的程序对字节码进行 检查和解码( 或者是一个编译器比如及时编译器编译成本地码) ,并按照字节码中的操 作执行。 随着j a v a 语言的不断发展壮大,j a v a 的应用范围同趋广泛,从小型的智能卡到大 型的企业应用都需要j a v a 应用程序来完成不同的任务。针对不同的应用平台套用同一 个j a v a 运行环境就显得不再适合了。因此,s u n 将丌发的j a v a 运行环境区分为三个 不同的版本,每一个版本都为特定的领域服务。 1 企业版j 2 e e ,这个版本主要目标是企业可以为他们的客户、供应商和雇员提供稳定 的、完整的、灵活的商务网络服务方案。 2 标准版j 2 s e ,这个版本是用于台式计算机( 如p c 或w o r k s t a t i o n ) 上执行j a v a 程序 的版本。 3 微型版j 2 m e ,主要是为了满足以下三个方面的需要: ( 1 ) 需要建立不同信息处理设备的消费者或嵌入式设备生产商; ( 2 ) 希望通过他们的设备为消费者提供服务内容的服务提供商; ( 3 ) 为小型的资源有限的设备丌发应用的丌发商。 虽然三个版本面向不同的应用,但是这三个版本之间存在着包容关系,可以从图2 2 中看出: 图2 2j 2 m e 、j 2 s e 、j 2 e e 的关系 嵌入式开发对应的j a v a 是j 2 m e ,其平台结构和层次结构分别如图2 3 和图2 4 所 不。 从分层的角度看,j 2 m e 可以分为四层,如图2 4 所示,下面简单介绍一下配置层 f c o n f i g u r a t i o n ) 和简要表层( p r o f i l e ) 两个概念。 1 配置( c o n f i g u r a t i o n ) ,j 2 m e 配置层为一类或一组设备从横向定义了一个最小平台, 比如需要的总的存储器大小和处理器性能,同时定义了j a v a 语言。和虚拟机的特征以及最 小类库。这些定义可以应用于同类的所有设备。 2 简要表( p r o f i l e ) ,简要表层位于配置层的上部,它从纵向定义了某一类设备的特定需 求。它为一类设备在j a v a 最小类库基础上扩充了类库,从而为应用丌发者提供一定的接 口和工具框架,以此开发一系列基本的应用软件。 第一二章嵌入式j a v a 技术 | p e r s o n a - 胁觚1 【u n 出t i o n 胁m el 【m i d p 嗍- c l 【 c 。c 1 【 c 眦 1 p r o f i l e s c o n f i g u r a t i o n j a v av i r t u a lm a c h i n e h o s to p e r a t i n gs y s t e m 图2 3j 2 m e 平台结构图2 4j 2 m e 层次结构 j 2 m e 主要目的是在为小型的资源有限的设备定义一套完整的规范,它涵盖了各式 各样的消费性电子产品。虽然它是为小型设备服务的,但它同样维持了j a v a 技术的重要 特性。j 2 m e 技术已经广泛应用到大量的消费类电子产品,特别是在移动通信设备上, 这些设备已经同益成为了人们生活中不可缺少的一部分。 2 2 2j a v a 虚拟机 j a v a 虚拟机是j a v a 平台的核心部分,是程序与底层操作系统和硬件无关的关键。 就是因为有j a v a 虚拟机,才实现了程序与操作系统的分离,从而实现了j a v a 的平台无 关性。j a v a 虚拟机包含两种机制,一个是装载具有合适名称的类( 类或是接口) ,叫做 类装载子系统;另外的一个负责执行包含在己装载的类或接口中的指令,叫做运行引擎。 同时j a v a 虚拟机又包括方法区、堆、j a v a 栈、程序计数器和本地方法栈五个部分,这 五个部分和类装载机制与运行引擎机制一起组成的j a v a 虚拟机体系结构如图2 5 所示: jf 圈圈曰圈图 运行期数据区 ifj 执行引擎 : 三三三兰甜本地方法接口 + 一本地方法库 图2 5j a v a 虚拟机体系结构 j a v a 虚拟极的每个实例都有一个它自己的方法域和一个堆,运行于j a v a 虚拟机内 的所有的线程都共享这些区域;当虚拟机装载类文件的时候,它解析其中的二进制数据 所包含的类信息,并把它们放到方法域中:当程序运行的时候,j a v a 虚拟机把程序初始 化的所有对象置于堆上;而每个线程创建的时候,都会拥有自己的程序计数器和j a v a 栈,其中程序计数器中的值指向下一条即将被执行的指令,线程的j a v a 栈则存储为该线 程调用j a v a 方法的状态;本地方法调用的状态被存储在本地方法栈,该方法栈依赖于具 体的实现。 江南人学硕j 。学位论文 2 3 嵌入式j a v a 虚拟机 2 3 1 实时系统 众所周知,嵌入式系统一般都是实时系统。i e e e ( 美国电气电子工程师协会) 给出 的实时系统定义为“那些诈确性不仅取决于计算的逻辑结果,也取决予产生结果所花费 的时间的系统”。也就是说实时嵌入式系统必须在一个可预测、可保证的时间段内作出 对外部事件的反应。如果没有达到上述要求,那么系统就会做出错误的操作。按对实时 的要求程度,实时系统又分为硬实时和软实时两大类。碛实时系统有一个刚性的、不可 改变的时问限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失 败、或者导致系统不能实现它的预期目标7 】。软实时系统的时限是一个柔性灵活的,它 可以容忍偶然的超时错误。失败造成的后果并不严重,仅仅是轻微的降低了系统的吞吐 量。 “截止期”( d e a d l i n e ) 是实时系统、实时任务的重要指标。实时系统( 或实时任务) 必须抢在截止期前面完成其工作,这叫“满足时问约束”,否则就是“破坏时间约束”。 对“硬实时”系统来说,旦破坏时川约束,将产生人员伤亡、设备损毁、生产停 顿等严重后果。例如,核电站控制系统就是硬实时系统。又比如有的计算机用来在数控 机床上控制电机,电机再通过丝杆驱动刀具。当刀具走到工作台尽头时,计算机必须立 刻停止电机,否则刀具就会撞到工作台边缘而卡断。这样的计算机系统也属于硬实时系 统。对于硬实时系统来说,任务的最坏情况下执行时问w c e t 可预测是至关重要的。 对“软实时”系统来说,破坏时问约束后,会导致服务质量下降,但并不会导致严 重后果。比如多媒体播放软件、网络电话、网络视频、手写输入等,都是软实时的。多 媒体播放进程如果不能迅速解码,画面上会有马赛克,或者跳格、停顿。手写输入进程 如果不能迅速采集手写板的输入,可能会把使用者写的字识别成别的字。但是,无论是 马赛克、跳格、停顿还是识别错误,只要不频繁,就仍然可以容忍。所以,它们都是软 实时的。软实时系统的重要指标是破坏时间约束的频率,该频率越低说明实时性越好。 2 3 2j a v a 实时性分析 从实时的角度看,j a v a 的最大问题是它的垃圾收集器而不是它的性能,无论你怎样 小心的使用它,j a v a 都会在某些时刻暂停下来,花上几毫秒回收垃圾,而可能发生暂停 的时刻是不可预计的。稍好一点的垃圾收集器会减少长时间的垃圾收集停滞的频率,或 者缩短暂停时问,但是即使采用最好的技术,只有那些对垃圾收集器给予高度重视的 j a v a 代码才能产生可预测的性能。为了能进行实时丌发,必须对现有的j a v a 规范做出 扩展,使其具有实时功能,实时j a v a 应该很适合于那些要求不那么苛刻的实时应用。 1 9 9 9 年,n i s t 资助了一个j a v a 平台实时扩展需求分析小组,该小组的任务是针对 可在不同平台上运行的j a v a 实时应用从多个不同的角度提出其应具备的特性。经过多次 讨论,需求分析小组认为j a v a 具备的下列特点使得它具备了应用于实时领域的基础。如: j a v a 语言的抽象层次较高,能够带来较高的开发效率;j a v a 比c + + 更容易掌握和应用; j a v a 安全性比较好,把软件的各部分( 包括虚拟机本身) 隔离开来避免了相互影响;j a v a 可以支持组件整合及重用;j a v a 语言及j a v a 平台支持应用的移植;j a v a 技术支持分布 式应用;j a v a 提供了定义完整的执行语义等。 根据该小组提出的需求i i s l ,两个不同的团队分别丌始制定了能够满足实时应用需求 的j a v a 扩展,分别介绍如下: j a v a 实时核心扩展( r e a l t i m ec o r ee x t e n s i o n ) ”州:j a v a 实时核心扩展规范由j 联盟 ( j c o n s o r t i u m ) $ 0 定,该规范目前还只是草案。 在j a v a 实时核心扩展中定义了两个不同的执行环境:核一l , ( c o r e ) 执行环境,它是一 个实时组件,可以和传统的j a v a 虚拟机组合起来;基本( b a s e l i n e ) 执行环境,也就是传 8 第二牵嵌入式j a v a 技术 统的j v m 。为了使这两个执行环境能够进行通信,每个核心环境下的对象( c o r eo b j e c t ) 都具有两个a p i ,一个用于核心环境,另一个用于基本环境。基本组件可以通过信号量 和核心组件进行同步操作。源代码层面也用注释进行了区分,原先程序定义的代码 ( s t y l i z e dc o d e ) 用来定义静态方法,而实例方法通过扩展的句法( s y n t a c t i cc o d e ) 来指定。扩 展的句法需要特定的编译器或预处理器来处理。 j a v a 实时核心扩展的不足之处是:它引入了新的对象层次结构以及新的关键字,导 致类的验证及装载的语义发生了变化;j a v a 虚拟机的执行也发生了变化;该规范对同步 的限制使得j a v a 不能像原来那样很方便地表达常规的同步问题。 实时j a v a 规范( r e a l t i m es p e c i f i c a t i o nf o r j a v a ) t 卸:实时j a v a 规范扩展定义了一组 新的a p i ,这些a p l 需要新的j v m 支持来体现它的实时特性。r t s j 的定义体现了以下 几个原则: ( 1 ) 不对j a v a 运行时环境进行限制。 ( 2 ) 与原来的非实时j a v a 程序兼容,原先写的非实时j a v a 程序可以在实时j a v a 平 台上运行。 ( 3 ) 没有针对j a v a 语言进行句法扩展,没有定义新的关键字。 ( 4 ) 运行时日j 可预测。 ( 5 ) 体现当i j 实时系统的实际需要。 ( 6 ) 为将束的实现扩展提供可能。 在制定r t s j 的同时,基于该规范的参考实现( r j ) 以及r t s j 虚拟机的测试包也在同 时进行。 从上述介绍可知,j a v a 语占本身具备了一些实时语言的特性,通过对j a v a a p i 、虚 拟机的实时扩展可以使j a v a 具有较好的实时性,从而应用于实时系统的丌发。 另外,基于r t s j 的虚拟机还可以执行以前的非实时j a v a 程序,具有更好的兼容性。 没有句法以及关键字的扩展,标准的j a v a 编译器还可以继续使用。且得到了s u n ,i b m 等业界巨头的支持,具有更好的发展i j i 景。本文中所指的j a v a 处理器的实现就是基于 r t s j 的。 2 3 3 嵌入式j a v a 虚拟机 当前比较流行的j a v a 虚拟机在支持的处理器、操作系统、软件尺寸、源码开放程度 上有哪些异同,可以通过表2 1 看出: 表2 1 比较流行的j a v a 虚拟机特性 劳拦 源码是整体 类型 支持的处理器支持的操作系统 否开放尺寸 x 8 6 、s p a r c 、a r m 、 s u nj l 砸m i p s 、m 6 8 k 、几乎所有主流操作系统否 1 5 m p o w e r p c 等 x 8 6 、m 6 8 k 、a r m 、p a l m o s 、h a r dh a t i b mj 9 v m否3 m m i p s 、p o w e r p c l i n u x 、w i n d o w sc e 等 x 8 6 、m i p s 、a r m 、 w i n d o w sc e 、n t 、 i n s i g n i aj e o d e 否2 m p o w e r p cv x w o r k s 、l i n u x p a l m o s 、w i n d o w sc e 、 w a b ax 8 6 、a r m是 1 5 m d o s x 8 6 、m 6 8 k 、a r m 、 k a f i e 几乎所有主流操作系统是3 m m i p s 、p o w c r p c 等 以上的j a v a 虚拟机,在实时性支持特性上各不相同,特别是目前支持r t s j 的j a v a 9 堡堕生兰堡! :兰些丝皇 平台实现还为数不多,还有一些j 下在丌发中。 1 以解释方式实现的: r i ( r e f e f e n c ei m p l e m e n t a t i o n ) :r t s j 平台的参考实现,是由t i m e s y s 公司主要参与, 在制定r t s j 的同时丌发出来的,主要是为了证明规范中概念的j 下确性,而不是追求高 的性能。是在实时l i n u x 操作系统之上实现的。 j t i m e :j t i m e 是2 0 0 3 年3 月1 7 同由t i m e s y s 公司宣布的第一个完全符合r t s j 的 工业版嵌入式j a v a 平台,也是第一个通过s u n 认证的实时j a v a 虚拟机。它基于t i m e s y s 的实时l i n u x 操作系统,保证了嵌入式环境下j a v a 应用的可预测性,并提供了一个完整 的开发、运行环境。目前,j t i m e 已经被波音、m k s 、s u n 所使用,n a s a 喷气推动实 验室( j p l ) 的g o l d e ng a t e 项目也使用了j t i m e 。 r j v m :是英国约克大学实时系统组在k v m 基础上设计的具备高度完整性的实时 j a v a 虚拟机。支持r a v e n s e a r - j a v a 用户环境。 m a c k i n a c :是s u n 公司推出的支持r t s j 的第一个商业版本的j a v a 虚拟机实现, 在同一个j v m 中同时支持非实时和硬实时任务。它采用了h o t s p o t 技术以提供足以和 c + + 媲美的性能。 2 以提前编译方式实现的: j r a t e :是基于提i ;i 编译( a h e a d o f - t i m e ) 技术的丌放源代码的j a v a 虚拟机实现,应 用的是g n u 的j a v a 编译器。 f l e x :是m i t 研究的为嵌入式系统提供的编译器基础架构,实时j a v a 可以在此基 础上通过基于区域的内存管理和调度框架进行实现。 o v m :是一个符合r t s j 的丌源j a v a 架构,它把整个的j a v a 应用翻译成c 代码, 然后再把c 代码编译成机器码。 3 硬件方式实现的: a j 1 0 0 8 0 :a j i l e 公司设计、生产和销售系列低功耗、嵌入式实时j a v a 处理器,包 括a j 1 0 0 、a j 8 0 等,支持j 2 m ec l d c 。在它的技术报告中声明直接提供对r t s j 的支 持,但没有详细说明是否支持全部的r t s ja p i 。 f e m t o j a v a :是一款可根据应用需要完全可定制的嵌入式实时j a v a 处理器,并针对 该处理器提出了一套基于r t s j 的a p i ,目前只支持6 9 条指令。 可见,目前大部分的r t s j 平台是软件方式实现的,对于嵌入式系统来说,对资源、 成本、内存、功耗等都有严格的限制,用处理器方式实现更容易满足上述需求。 0 第三章j a v a 处理器算逻部件设计 第三章j a v a 处理器算逻部件设计 3 1 实时j a v a 处理器总体架构 根据具体的实际应用和实现技术的不同,实时j a v a 技术一般分为三种实现模型。 1 基于嵌入式硬件的实时j a v a 平台 该实现模型是在硬件设备之上,直接构建一个j a v a 执行平台,并根据实际应用的需 要和硬件支持,设计相应的实时性能。这种模型主要应用于家用电器、电子消费产品当 中例如个人p d a 等。由于该类产品的专用性较强,因此未来的发展局势将是j a v a 芯片。 它的结构如图3 1 所示。 r t j a v a 应用程序 l 可裁减的实时j a v a 平台 j a v a 芯片 i 嵌入式系统硬件平台 图3 1 基于嵌入式硬件的实时j a v a 平台 2 基于j a v ao s 的实时j a v a 平台 实t 对j a v ao s ( o p e r a t i o ns y s t e m ) 提供一个独立的实时j a v a 环境,使得基于这个平台上 的应用程序丌发不必依赖宿主操作系统是否存在或是否支持j a v a ,它的结构如图3 2 所 示。 r t j a v a 应用程序 骶l a v aa p i 实时j a v a o s r t j “a 虚拟机 窗口、网络和设备驱动 r t j a v a 运行时系统 r t j a v a o s 核心 硬件设备 图3 2 基于j a v ao s 的实时j a v a 平台 建立在硬件设备基础之上的实时j a v ao s 采用相应的策略和机制来完成对实时任务 的支持,减少了一些软件构架上的层次结构,使得基于这个模型上的应用程序具有更快 的执行速度和更少的平台依赖性,节省了空间。 3 基于宿主操作系统上的实时j a v a 平台 在一个宿主操作系统上构建实时j a v a 平台,需要从几个层次来达到对实时任务的支 持,这包括宿主操作系统层、实时j a v a 虚拟机层和实时j a v aa p i 层。这样的层次结构模 型既有利于实时支持环境的移植,又有利于实时性能的提高,其结构如图3 3 所示。 r t j a v a 应用程序 r t j a v aa p i 实时ml 嘉嚣第 类装载器 j a v a 类库 字节码验证器 解释器j 及时编译器 j a v a 运行时系统 宿主操作系统 图3 3 基于宿主操作系统上的实时j a v a 平台 宿主操作系统层,宿主操作系统除了必须为j a v a 平台提供多线程支持,内存分配与 管理结构以及抽象图形用户界面的支持外,还要提供支持实时应用的实现机制,例如 j l 江南人学硕i 。学位论文 c p u 资源预留机制、实时多线程机制等成熟的实时技术,以保证上层的j a v a 虚拟机能得 到较强的实时性保证,这在一个多任务多用户的宿主操作系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境电商运营实务手册
- 数据中心运营与维护手册
- 金融服务创新与风险管理手册
- 工业机器人电气控制与联动手册
- 能源设备维护与检修手册
- 大数据分析与可视化手册
- 广告创意品牌调性把控手册
- 《计算机大数据基础应用手册》
- 银行柜台业务操作与风险控制手册
- T-HNSZCYXH 005-2024 竹砧板标准规范
- 中医食疗护理
- 2026届新高考地理三轮热点复习综合题提分策略
- GB/T 46971-2026电子凭证会计数据银行电子对账单
- 危化企业防雷生产制度
- 2026年二级建造师之二建市政工程实务考试题库500道及答案【夺冠系列】
- 2026年安全员之A证考试题库500道【满分必刷】
- 疫苗类型课件
- 湖北开放大学2025年秋学期《地域文化(本)》形考任务1【含参考答案】
- 化工安全设计课件
- 工业金属管道施工规范解析
- 雨课堂在线学堂《西方哲学-从古希腊哲学到晚近欧陆哲学》单元考核测试答案
评论
0/150
提交评论