已阅读5页,还剩118页未读, 继续免费阅读
(计算机系统结构专业论文)java实时性及嵌入式实时java处理器研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 近年来嵌入式系统发展极其迅速,正逐步渗透于人类生活的各个方面,这对嵌 入式系统的性能及开发效率也提出了更高的要求。和桌面系统的软件开发相比,嵌 入式软件开发普遍还使用比较传统的c c + + 甚至汇编语言进行,难以适应嵌入式系 统的迅猛发展,因此需要新的开发方法和开发手段来解决。j a v a 语言的面向对象、 跨平台、语言级并发支持、安全等特性不仅使它在互联网领域得到广泛应用,也引 起了嵌入式领域研究人员的高度重视,他们希望能将j a v a 语言改造成嵌入式及实时 系统开发的主流语言来提高开发效率及增加系统安全性。 由于嵌入式系统多数为实时系统,传统j a v a 技术应用于嵌入式系统的主要不足 之处表现为:由于j a v a 虚拟机是在运行中对引用到的类进行动态装载、解析和连接, 影响了系统的实时性;垃圾收集器( g c ) 的自动运行导致了任务执行时间的不可预测 性;另外,j a v a 语言规范和j a v a 虚拟机规范讨论线程调度的地方非常笼统,导致在 不同虚拟机实现中线程调度特性表现不一致。针对传统j a v a 技术在实时方面的不 足,s u n 公司联合i b m 、m i c r o w a r e 等公司制定了实时j a v a 规范f m - s j ) ,为实时j a v a 平台的实现提供了参考。实时j a v a 规范在内存管理、线程调度,异步事件处理,异 步控制转移等多个影响实时性的方面进行了扩展,使得j a v a 能够适用于实时系统。 随着实时j a v a 规范的推出,如何实现适用于嵌入式系统的高效实时j a v a 平台 就成为了研究热点。目前,常见的实时j a v a 平台实现方式有解释方式( 在实时操作 系统r t o s 之上用软件方式来解释执行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 处理器的研究,如j o p 、a j 8 0 、a j 1 0 0 及f e m t o j a v a 等。国内研究机构也有过一些针对j a v a 处理器及j a v a 芯片的研究,如 j e - j a v a 、j c l 0 4 ,但其重点是提高系统整体性能而不是实时性,一个原因也是因为 摘要 当时实时j a v a 规范尚未推出。 本文设计了一种能在低成本f p g a 芯片中实现的硬实时嵌入式j a v a 处理器 h r t e j ( h a r dr e a l t u n ee m b e d d e dj a v ap r o c e s s o r ) ,目标是实现具有硬实时特性的嵌 入式j a v a 处理器并对实时j a v a 规范提供有效支持。该处理器实现了一些特殊的硬 件机制提供对实时j a v a 规范中异步传输控制、线程管理和调度、同步与共享、以及 内存管理的支持。并通过对实时j a v a 规范中内存管理的改进,简化了应用程序员的 开发接口。同时,本文还提出了针对j a v ac l a s s 文件的优化方法,根据该优化方法, 所有影响系统实时性的操作都在程序运行之前得到处理,在保证指令最坏执行时间 ( w c e t ) g 预测性的同时也简化了处理器本身的实现。 关键字:j a v a 实时性、j a v a 平台、j a v a 虚拟机、嵌入式实时j a v a 处理器、实时j a v a 规 范、最坏执行时间 中图分类号:t p 3 1 6 2 a b s t r a d a b s t r a c t t h ec o m p l e x i t yo fe m b e d d e dr e a l - t i m es y s t e m sk e e p sg r o w i n ga n dn o v e l m e t h o d sa n dt o o l sa r er e q u i r e d c o m p a r e dt os o f t w a r ed e v e l o p m e n tf o rd e s k t o p s y s t e m s ,c u r r e n ts o f t w a r ed e s i g np r a c t i c ef o re m b e d d e ds y s t e m si s s t i l la r c h a i c o ,c + + a n de r e na s s e m b l e ra l eu s e do nt o po fas m a l lr e a l - t i m eo p e r a t i n gs y s t e m m a n yo ft h ea d v a n t a g e so fj a v a , s u c ha ss a f eo b j e c tr e f e r e n c e s ,t h en o t i o no f c o n c u r r e n c ya saf i r s t - c l a s sl a n g u a g ec o n s t r u c t ,a n di t sp o r t a b i l i t y , h a v et h ep o t e n t i a l t om a k ee m b e d d e ds y s t e m sm u c hs a f e ra n ds i m p l e rt op r o g r a m w i t ht h ea d v a n t a g e s m e n t i o n e da b o v e ,j a v ai si n c r c a s i n 【e l ye x p e c t e dt ob e c o m et h el e a d i n gp r o g r a m m i n g l a n g u a g ei ne m b e d d e ds y s t e m s m o s to ft h ee m b e d d e ds y s t e m sa r er e a l t i m es y s t e m s j a v at e c h n o l o g yi ss e l d o m u s e di ne m b e d d e ds y s t e m sc u r r e n t l y , d u et ot h el a c ko fa c c e p t a b l er e a l - t i m e p e r f o r m a n c e t oi m p r o v et h er e a l - t l m ep e r f o r m a n c es p e c i f i e di nt h ej a v al a n g u a g e s 1 c i e c i f i c a t i o na n dt h ej a v av i r t u a lm a c h i n es p e c i f i c a t i o n , g r o gb o l l e l l ae t a lp r o p o s e t h er e a l - t u n es p e c i f i c a t i o nf o rj a v a ( i 盯s j ) i tp r o v i d e sag u i d e l i n ef o rt h e i m p l e m e n t a t i o n o f r e a l - t i m ej a v a p l a t f o r m c u r r e n t l y , t op r o v i d e a ne f f i c i e n tj a v ap l a t f o r ms u i t a b l ef o rr e a l t i m ea p p l i c a t i o n s , m a n yd i f f e r e n ti m p l e m e n t a t i o n s a l ep r o p o s e d t h e s ei m p l e m e n t a t i o n s nb e g e n e r a l l yc l a s s i f i e da si n t e r p r e t e r ( a ni n t e r p r e t i n gp r o g r a mr u n n i n go nt h eo p e r a t i n g s y s t e mt h a t 啪i n t e r p r e ta n de x e c u t ej a v ab y t e c o d eu n d e rt h ea s s i s t a n c eo ft h eo s ) , a h e a d - o f - t i m ec o m p i l e r ( j a v ab y t e c o d ei sc o m - p i l e di n t on a t i v ec o d eo ra n i n t e r m e d i a t el a n g u a g es u c h 勰ci na d v a n c e ) a n dj a v ap r o c e s s o r ( t h ej a v ap l a t f o r mi s i m p l e m e n t e dd i r e c t l yo ns i l i c o n ) e t c j a v ap r o c e s s o rn o to n l ya v o i d st h eo v e r h e a do f t r a n s l a t i o no ft h eb y t e c o d et oa n o t h e rp r o c e s s o r sn a t i v el a n g u a g e ,b u ta l s op r o v i d e s s p e c i a ls u p p o r tf o rj a v ar u n t i m ef e a t u r e ss u c h s t a c kp r o c e s s i n g m u l t i t h r e a d i n ge t c c o m p a r i n gw i t ho t h e ri m p l e m e n t i n gt e c h n i q u e s ,j a v ap r o c e s s o ri sp r e f e r a b l ei n e m b e d d e ds y s t e m sf o ri t sh i g he x e c u t i o ne f f i c i e n c y , l o wm e m o r yf o o t p r i n ta n dp o w e r c o n s u m p t i o n t h e r e f o r e ,i tb e c o m e sp o p u l a ri ni m p l e m e n t i n ge m b e d d e dr e a l - t i m e j a v ap l a t f o r m s p r e s e n t l y , a j 一8 0 1 0 0p r o v i d e ss o l u t i o nf o re m p l o y i n gj a v at e c h n o l o g y i n t os m a r tm o b i l ed e v i c e sa n dc o n s u m e ra p p l i a n c e se t c t h ef l e x i b i l i t ym a k e si ta t i t t l et o oc o m p l e xt oi m p l e m e n t f e m t o j a v aa n dj o pa r es i m p l et ob ei m p l e m e n t e d b u td on o tp u te m p h a s i so ns u p p o r t i n gt h er t s j 一5 一 a b s t t a c t i nt h i sp a p e f ,w ep r o p o s eas i m p l e s t r u c t u r e dj a v ap r o c e s s o rs u i t a b l ef o r e m b e d d e dr e a l t i m ea p p l i c a t i o n s ( h r t e j ,h 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 0 0 a n di ti sd e d i c a t e dt os u p p o r t i n gr t s jf e a t u r e sm o r ee f f i c i e n t l y t h i sp r o c e s s o r i m p l e m e n t sr t s jm e c h a n i s m ss u c ha sa s y n c h r o n o u st r a n s f e ro fc o n t r o l ( a t c ) ,t h r e a d , s y n c h r o n i z a t i o n , a n dm e m o r ym a n a g e m e n t ,a n do f f e r sas i m p l e rp r o g r a m m i n g m o d e l t h r o u g ha m e l i o r a t i n gt h es c o p e dm e m o r yo ft h er t s j a c c o r d i n gt ot h eo p t i m i z a t i o n m e t h o dp r o p o s e di no u rp r e v i o u sw o r k 1 ,a l lt h ep r o c e s s i n gi n t e r f e r i n gp r e d i c t a b i l i t y i sh a n d l e db e f o r eb y t e c o d ee x e c u t i o na n dt h i sp r o c e s s o ri ss i m p l et oi m p l e m e n ta n d i t sw o r s tc a s ee x e c u t i o nt i m eo v c m 3i sm o r ep r e d i c t a b l e f u r t h e ra d v a n t a g eo ft h i s m e t h o di st om a k et h ei m p l e m e n t a t i o no ft h ep r o c e s s o rs t r a i g h t f o r w a r da n ds u i t e dt oa l o w c o s tf p g ac h i p k e y w o r d s :r e a l t i m ej a v a , j a v ap l a t f o r m , j a v av i r t u a lm a c h i n e ,e m b e d d e d r e a l - - t i m ej a v ap r o c e s s o r , r e a l t n n es p e c i f a c a t i o nf o rj a v a , w o r s tc a s e e x e c u t i o nt i m e c h i n e s el i b r a r yc l a s s i f i c a t i o n :t p 3 1 6 2 6 第1 章绪论 1 1 研究背景与意义 第1 章绪论 目前,嵌入式系统发展非常迅速,其数量越来越庞大、应用领域越来越广、 系统本身也日趋多样化和复杂化。但是,和桌面系统相比,嵌入式系统的开发手 段仍采用传统的c c + + 甚至汇编语言来进行。这些开发手段具有编程复杂、开发 效率低、容易出错、移植性差、需要交叉编译等缺点,已成为嵌入式系统迅速发 展的障碍。因此需要新的开发语言和开发手段来促进嵌入式系统的开发应用。 j a v a 程序设计语言是一种面向对象的通用程序设计语言,与传统的c 犯+ + 语言相比,有这样一些优点: 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 技术支持分布式应用。 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 语言的上述特点使得它广泛应用于网络通信领域,成为目前i n t e m e t 上 非常流行的一种编程语言,它也是许多分布式计算环境和标准的基础。现在,研 究人员希望能把j a v a 语言改造成嵌入式系统开发的主流语言,来提高开发效率 及增加系统安全性。 由于嵌入式系统一般为实时系统,但j a v a 语言规范【2 】和j a v a 虚拟机规范【3 , 第1 章绪论 4 1 对实时问题关注不够,它们讨论线程的地方非常笼统,导致不同虚拟机实现的 线程调度特性表现不一致。同时,传统j a v a 技术采用的迟解析( 真正用到某个方 法、字段时再进行解析) 、类动态装载、垃圾收集等机制也影响了系统的实时性。 针对j a v a 实时方面的不足,n i s t ( 9 国家标准与技术研究院) 在1 9 9 9 年资助了 一个j a v a 平台( j v m + a p i s ) 实时扩展需求分析小组,该小组的成员由来自企业及 研究机构的代表组成,从事的领域包括了从桌面、服务器、企业系统到嵌入式系 统、设备制造商、实时操作系统提供商。小组的任务是针对可在不同平台上运行 的j a v a 实时应用从多个不同的角度提出其应具备的特性。根据需求小组提出的 需求,s u n 公司联合m m 、m i c r o w a r e 、q n x 、a d a 、n o r t e ln e t w o r k s 等公司制定 了实时j a v a 规范( r t s j ) 5 ,给实时j a v a 平台的实现提供了参考。实时j a v a 规范 对内存管理、线程调度、异步事件处理、异步控制转移等多个影响实时性的方面 进行了改进,使得j a v a 能够适用于实时系统。经过实时j a v a 规范改造后,同传 统的c c + + 或汇编相比,j a v a 用于嵌入式实对系统开发的优点如下: 面向对象,更容易开发大型、复杂的程序。 提高了开发效率。 简化了程序员对并发事件的控制。 开发出的系统健壮性更高。 具有更好的移植性。 具有更高的安全性。 不需要针对各种不同硬件平台的交叉编译工具。 文献【6 】列出了六条标准作为实时语言设计的基础,分别是:安全性、可读 性、灵活性、简明性、可移植性、高效性。参照这六条标准可知经过实时扩展后, j a v a 语言将有望成为一种主流的实时系统设计语言。 因为j a v a 的实时性需要有合适的实时j a v a 平台来支持。所以实现适用于嵌 入式系统的实时j a v a 平台就成为了研究热点。而j a v a 平台是由j a v a 虚拟机o v m ) 和应用程序接n ( a p o 组成的。目前,常用的实时j a v a 虚拟机实现方式有解释方 式、提前编译、j a v a 处理器等方式。同其它实现方式相比,j a v a 处理器具有能够 硬件直接执行j a v a 字节码、执行效率高、占用内存少、功耗低等特点,所以更 适合用于资源受限的嵌入式系统。 目前国外已有一些针对嵌入式实时j a v a 处理器的研究,如j o p 7 1 0 】, a j 8 0 l o o 1 1 ,1 2 1 等。国内研究机构也有过一些针对j a v a 处理器或j a v a 芯片的研 究,但其重点是提高系统整体性能而不是实时性,一个原因也是因为当时实时 j a v a 规范尚未推出。所以本文的主要任务是根据r t s j 分析j a v a 实时性所需要的 关键机制,并设计一个能够有效支持这些机制的、适用于嵌入式系统的硬实时 2 第1 章绪论 j a v a 处理器h r t e j ( h 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 0 0 。同时基于r t s j 定 义出该嵌入式实时j a v a 处理器支持的用户环境( p r o f i l e ) 。 1 2j a v a 平台研究现状 本节介绍目前存在的各种j a v a 平台中虚拟机实现方式并讨论其作为实时 j a v a 平台的优缺点,按照虚拟机实现方式的不同可以把j a v a 平台分为以下几类: 解释执行( i n t e r p r e t e r ) :解释执行是以软件实现的j a v a 虚拟机作为解释程序, 在操作系统的支持下解释执行j a v a 字节码。目前这种方式下的实时j a v a 平台主 要有r j v m 1 3 1 6 ,o v m 1 7 1 9 ,j t i m e 2 0 ,r t s jr i 2 0 ,m a c k i n a c ( 使用了 h o t s p o t l 技术) 【2 1 ,2 2 】等。解释执行方式的优点是灵活性高、可以移植到多种不 同的处理器平台、可以充分利用现有处理器硬件。不足之处是每执行一条j a v a 字节码都需要多条本地指令来解释,效率比较低。 提前编译( o f f - l i n eb y t e c o d ec o m p i l e r ) :在运行前对j a v a 字节码进行编译主 要有两种方式:一种是把j a v a 字节码直接编译成目标处理器的本地代码,如 n e t 2 3 ,这种方式消除了运行时解析、连接等操作,运行效率高,不足之处是 消除解释字节码开销的同时也消除了字节码指令集的安全、跨平台、代码密度高 等优点。另一种是把j a v a 字节码编译成中间代码,如t o b a 2 4 q a 把j a v a 字节码 编译成c 代码。目前a n d e r sn i l s s o n 等人【2 5 】已将这种方式应用于嵌入式实时系 统,这种方法不足之处是需要每个处理器平台都有相应的编译器配合。 即时编译( j u s t i n - t i m ec o m p i l e r ) :即时编译的方式用来加速解释执行,当 某个方法被调用时,在解释执行的同时把方法字节码编译成本地代码并缓存起 来,该方法再次被调用到时,则直接运行本地代码。这种方式相对解释执行方式 效率比较高,缺点是会占用太多的内存空间,同时,编译或查找方法会影响系统 的实时性,所以不适合在嵌入式实时系统中使用。 j a v a 硬件加速器( j a v aa c c e l e r a t o r ) :j a v a 硬件加速器不是完整的j a v a 处理 器,而是作为某个功能部件来提高系统的整体性能。如a r m 的j e z e u e 2 6 通过 执行一些频繁出现的指令来提高整体性能,但并不涉及实时处理。m h i g u e r a - t o l e d a n o 2 7 3 1 等人采用硬件的方式进行内存管理,来保证系统的实时 性能,但这种方法需要修改操作系统才能利用到硬件的特性。 j a v a 翻译器( j a v at r a n s l a t i o n ) :同j a v a 硬件加速器一样,j a v a 翻译器也不 是独立的处理器,而是配合处理器执行的一个部件。和j a v a 硬件加速器的区别 是它不直接执行j a v a 字节码,而是在运行过程中通过翻译部件把字节码翻译成 1h o t s p o t 是一种新的j a v a 虚拟机技术,它只选择被频繁执行的关键热点代码编译为本地代码 3 第1 章绪论 处理器可执行的一系列本地指令,再由处理器真正执行。以这种方式实现的j a v a 平台有d e l f f 3 2 、j i f f y 3 3 1 等。这种方式的优点是可以利用已有的处理器平 台并有效提高运行效率。不足之处是不能针对j a v a 虚拟机的运行时结构提供特 定的硬件支持。 j a v a 处理器( j a v ap r o c e s s o r ) :j a v a 处理器不仅能够利用硬件直接执行j a v a 字节码,而且能够针对j a v a 虚拟机的运行时结构提供专门的硬件支持( 如栈操作、 多线程管理等1 ,因此具有高性能、低功耗、内存占用少等优点,更适合应用于 嵌入式系统。但较早的j a v a 处理器多数不是实时处理器,如 p i c o j a v a p i c o j a v a - i i 3 4 3 6 、国防科技大学的j e j a v a 3 7 、j c 4 0 1 1 3 8 ,主要是提 高系统的整体性能。有的虽然是实时j a v a 处理器但不是基于r t s j 的,如j o p 、 k o m o d o 3 9 ,加】,k o m o d o 利用多个处理器硬件提供对多线程的支持。目前 a j 8 0 1 0 0 以及f e m t o j a v a 4 1 4 2 等j a v a 处理器声明对r t s j 提供支持。a j 一8 0 1 0 0 处理器实现了c l d c i 0 ,面向手持设备、消费电子设备、网络设备等领域,通 用性好,但设计较为复杂,无法在低端的f p q ( 现场可编程门阵列) 芯片中实现。 j o p 是由维也纳理工大学m a t i ns c h o e b e r l 博士设计的一款优秀的嵌入式实时 j a v a 处理器,可以在一片低成本的f p g a 芯片中实现,但它的用户环境不支持 r t s j 中的特性。f e m t o j a v a 是根据特定应用并基于f p g a 技术设计的完全定制处 理器,较适合用于频繁变化的应用领域。 根据上述分析,本文选择以j a v a 处理器方式来实现实时j a v a 平台中的虚拟 机,并利用前面工作【1 ,4 3 】提出的类转换器c c o n v e r t e r 来优化j a v a 处理器的实 现。由于c c o n v e r t e r 可以提前处理一些非实时操作以及其它一些可提前确定的 操作,使得j a v a 处理器实现简单且w c e t 完全可预测。 1 3 研究目标和主要创新点 本文主要研究内容有:1 ) 通过对j a v a 虚拟机实现技术、j a v a 实时规范的分 析,提出w c e t 可预测的虚拟机实现模型。根据该实现模型设计一个能直接 用硬件执行字节码的实时j a v a 处理器,对j a v a 实时规范中涉及的实时机制提供 有效的硬件支持。该处理器能够适用于低端嵌入式设备中。3 ) 对比现有的多种 实时j a v a 规范,在r t s j 的基础上制定一套该处理器支持的、方便用户编程的用 户环境( p r o f i l e ) 。从而和虚拟机一起构成一个完整的实时j a v a 平台。 研究目标: 1 设计出一个适用于低端嵌入式设备的实时j a v a 处理器实现模型。该实现 4 第1 章绪论 模型是一个完整的环境,包括对j a v a c l a s s 文件的装载和预处理以及j a v a 字节码的硬件执行。通过分阶段处理来保证运行时的实时性。同时,通 过对j a v ac l a s s 文件的预处理来简化处理器硬件实现。 2 用硬件方式实现该嵌入式实时j a v a 处理器模型,它能够直接执行j a v a 字节码。这种方式下,字节码就成为处理器的机器码,不再需要另外的 软件来解释字节码,所以执行效率较高,内存占用少。 3 该处理器应当具有硬实时特性,其w c e t 完全可预测。通过专门硬件提 供对内存管理、线程管理机制支持、避免堆空间的使用等,使得任务的 最大执行时间可预测。 4 该处理器结构简单,能够在低成本的f p g a 芯片中实现。因为现在f p g a 技术发展非常迅速,试验样机甚至一些实际工作场合都经常使用到 f p g a 芯片,所以本文要在低成本的f p g a 芯片中实现该处理器。 5 该处理器支持基于r t s j 的用户环境。因为r t s j 是由多家大公司联合制 定,具有较大的影响力。该处理器支持的p r o f i l e 是r t s j 的子集,只是 内存管理的接口为了简化用户编程做了一点修改。 主要创新点: 提出了一种针对j a v ac l a s s 文件的优化算法,并实现了一个c l a s s 文件 优化程序c c o n v e r t e r ( 4 ,k 文中称为类转换器1 。目前提高j a v a 处理器性能 的技术主要是针对处理器体系结构进行改进,如流水线、指令折叠等。 本文则根据嵌入式实时系统中不支持垃圾收集、类动态装载的特点提出 一种针对指令自身的优化策略,该方法能够降低指令实现的复杂度、减 少c p i ,同时能够提高指令w c e t 的可预测性。类转换器读取标准c l a s s 文件,根据该优化策略完成所有可在执行前确定的工作( 如装载,连接 等1 ,以及所有影响实时性的工作,生成适合j a v a 处理器直接执行的内 存映像文件。使得j a v a 处理器运行时操作简洁并保证了系统实时性。 消除了运行时对象引用规则检查对系统实时性的影响并简化了区域内 存的使用接口。为了能够在程序运行之前通过静态分析完成对象引用规 则检查,本文设计的区域内存不支持多线程共享,多线程共享可利用永 久内存或静态变量的形式来完成。同时为了避免程序员指定区域内存大 小,不提供对e x e c u t e l n a r e a 0 的支持,因为程序的运行是通过方法的调 用和执行来实现的( 线程是通过其n l n 方法被调用来获得执行) 。因此只 需要一种区域内存进入方式e n t e r 0 就能够满足应用的需要。在任意方法 体中,通过调用l t m e n t e r 0 进入l t m 区域,通过l t m e x i t o 退出该区域。 5 第1 章绪论 高效地实现了r t s j 中的a t c ( 异步控制转移) 机制。目前多数的实时j a v a 处理器都不支持a t c 机制,因为它实现复杂并且在a t c 发生时进行 a m ( 异步中断异常) 捕获的过程难以预测w c e t 。但a t c 对于实时系统 来说是一个很重要的机制并且在r t s j 中已经有明确定义,所以本文设 计的处理器提供对a t c 的支持。根据前面工作【4 4 】中的a t c 处理策略, 可以利用c c o n v e r t e r 在运行前对a t c 机制进行一定处理,来保证其运 行过程中的w c e t 可预测性。 提供了对线程管理的硬件支持,使得线程调度和切换更为高效,每次线 程调度和切换都可以在固定的时钟周期内完成。其w c e t 更容易预测。 提供了对防止优先级翻转的支持,用专门硬件支持优先级继承策略的实 现,使得在发生优先级继承时w c e t 可以预测。 处理器具备一定的可扩展性,可以逐步添加字节码。本文中处理器的实 现采用的是硬接线方式,但是留出了指令扩展的接口,方便以后把需要 的字节码添加进来。添加新的字节码不需要对原来的体系结构进行修 改。 1 4 本文结构安排 第1 章:绪论 说明该课题的研究背景和研究意义,介绍了目前嵌入式系统发展现状及面临 的挑战,它需要更好的开发工具和开发手段来推动进一步发展,研究人员对j a v a 技术寄予厚望。分析了实时j a v a 平台研究现状,并介绍了本文的工作目标和重 点。 第2 章:j a v a 技术与j a v a 虚拟机 总体上介绍j a v a 技术以及j a v a 虚拟机实现涉及到的技术,为后面的j a v a 处 理器实现做理论上的准备。 第3 章:j a v a 实时性与实时j a v a 规范 给出了实时系统的特点,分析了传统j a v a 技术实时性方面的不足。介绍了 现有的针对j a v a 实时性方面的研究工作,并重点介绍了实时j a v a 规范对j a v a 实 时性方面的扩展。为本文处理器应支持的实时特性确立了理论框架。 第4 章:h r t e j 处理器总体设计 因为h r t e j 包含实时j a v a 处理器和嵌入式j a v a 处理器两层含义。前面章节 说明了虚拟机实现的基本理论以及实时性方面的扩展,本章首先说明嵌入式环境 对虚拟机实现的影响,并介绍了现有嵌入式环境下j a v a 虚拟机相关规范。在此 基础上提出本文的嵌入式实时j a v a 处理器实现时需要注意的问题和应具备的特 6 第1 章绪论 点。最后详细介绍了h r t e j 处理器的运行时结构和内部硬件实现。 第5 章:类转换器设计与实现 介绍了用来对标准c l a s s 文件进行预处理的类转换器c c o n v e r t e r 的工作原 理、工作流程及优化效果。 第6 章:h r t e j 处理器异步控制转移的实现 介绍目前异步控制转移机制的相关工作,并重点说明本文中利用c c o n v e r t e r 对异步控制转移机制的处理和h r t e j 处理器对异步控制转移的硬件支持。 第7 章:h r t e j 处理器的内存模式及实现 介绍目前针对j a v a 虚拟机内存管理的相关研究工作,详细说明了h r t e j 处 理器内存操作以及它所支持的用户程序接口。 第8 章:h r t e j 实现结果与w c e t 分析 描述了实现和调试h r t e j 处理器所利用的环境,对比了h r t e j 和现有的一 些j a v a 处理器的特点和参数。结合具体示例分析了c c o n v e r t e r 对c l a s s 文件的 预处理以及程序在h r t e j 上执行的w c e t ,说明了该处理器的硬实时性。 第9 章:结论与展望 对全文工作进行总结并指出下一步工作中可能的研究方向。 7 第2 章j a v a 技术与j a v a 虚拟机 第2 章j a v a 技术与j a v a 虚拟机 本章从总体上介绍j a v a 体系结构,并详细介绍和虚拟机实现紧密相关的j a v a c l a s s 文件格式以及j a v a 虚拟机规范。 2 1j a v a 体系结构 j a v a 体系结构包括四个独立但相关的技术: j a v a 程序设计语言 j a v ac l a s s 文件格式 j a v a 应用编程接口( a e l ) j a v a 虚拟机( m ) 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 a c t 上非常流行的编程语言,也是许多分布式计算 环境和标准的基础。 j a v ac l a s s 文件是对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 虚拟机都能够 正确地读取和解释所有c l a s s 文件。j a v ac l a s s 文件是8 位的二进制流,占据多 个字节的项按照高位在前的顺序分为几个连续的字节存放。 j a v aa p i 是运行库提供的应用程序接口。由于j a v a 虚拟机本身没有定义对 f o 的操作,需要由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 程序具有可移植性的i j i 提。 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 平台,所有j a v a 程序都在j a v a 平台上 8 第2 章j a v a 技术与j a v a 虚拟机 编译、运行。j a v a 技术具有移植性的关键点也就在于多个不同的地方都提供了 j a v a 平台。 2 2j a v ac l a s s 文件 文献【3 ,4 】中描述了j a v ac l a s s 文件格式,其中包含了j a v a 虚拟机所需要知 道的、关于类或接口的所有信息。因为j a v a 的类可以包含多个不同的字段、方 法、方法参数、局部变量,j a v ac l a s s 文件也能够包含许多大小不同的项。可变 长度项的大小和长度位于其实际数据之前。这个特性使得j a v ac l a s s 文件流可以 从头到尾被顺序解析。j a v ac l a s s 文件格式如表2 - 1 所示: 表2 1 :j a v ac l a s s 文件格式 类型名称数量 u 4 m a g i c 1 u 2m i n o fv e r s i o n1 u 2 m a j o r _ v e r s i o n 1 u 2 c o l f f a n t a 0 1 c o u n t 1 c pi n f o c o n s t a n tp u n lc o n s t a n tp o o l c o u n t - i u 2a c c e s sn a 簪l u 21 1 i j sc l a s s 1 u 2 s u p e r c l a s s 1 u 2i t e r f 女0 鸥c o u n t1 u 2i n t e r r a c e sh l l e r f a c e sc o u n t u 2 f i c l d sc o u n t1 f i e l d _ i n f o f i e l d s f i e l d s _ c o u n t u 2m e t h o d sc o u n t1 m e t h o d _ i n f o m e t h o d s m e t h o d s _ c o u n t u 2a t t r i b u t e sc o u n t1 a t t d b u t ci a f oa t t r i b u t e sa t t r i b u t e sc o u n t ( u 1 ,u 2 ,u 4 ,u 8 表示1 ,2 ,4 ,8 个字节的无符号类型数据) m a g i c :每个c l a s s 文件的前4 个字节是它的魔数0 x c a f e b a b e ,其作用在 于区分j a v ac l a s s 文件和非j a v ac l a s s 文件。 m i n o r v e r s i o n m a j o r v e r s i o n :这4 个字节包含了j a v ac l a s s 文件的主、次版 本号。 c o n s t a n t _ p o o l _ c o u n t 和c o n s t a n t _ _ p o o hc o n s t a n t _ p o o l 表示j a v ac l a s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Photoshop高级技能考核试题(完整版)
- 硅酸铝棉生产工安全操作规程
- 2026年辅警招聘考试题库试题含答案详解
- 选矿过滤脱水工职业资格初评考核试卷及答案
- 环境保护知识竞赛试题含答案
- Part1 试题及详细答案解析
- Oracle 19c OCP认证考试题库(含详细答案解析)
- 重性精神障碍家属心理支持中国专家共识(2025版)
- 仪表运维台账管理员操作规程
- 门窗质量检验员安全操作规程
- 2026干细胞来源外泌体产业化路径研究
- 造血干细胞移植后女性患者卵巢组织冻存的可行性(2026版)
- 2026年《中国慢性胆囊炎胆石症诊疗指南(2026版)》
- 26新五年级上册道德与法治【知识点总结】
- 2026茅台集团招聘维修工考试真题
- 2026年四史专题考试题及答案
- 医院高危险性化学品使用管理规定培训
- (完整版)拆除工程地坪拆除施工方案
- 2026年浙江省水痘应急处置技术方案
- 2026年新兴污染物的检测与治理
- 糖尿病视网膜病变的筛查与治疗
评论
0/150
提交评论