当前位置:主页 > 科技论文 > 计算机论文 >

嵌入式实时Java处理器及API系统的实现

发布时间:2020-07-09 12:42
【摘要】: 近年来嵌入式系统发展极其迅速,正逐步渗透于人类生活的各个方面,这对嵌入式系统的性能及开发效率也提出了更高的要求。和桌面系统的软件开发相比,嵌入式软件开发普遍还使用比较传统的C/C++甚至汇编语言进行,难以适应嵌入式系统的迅猛发展,因此需要新的开发方法和开发手段来解决。Java语言的面向对象、跨平台、语言级并发支持、安全等特性不仅使它在互联网领域得到广泛应用,也引起了嵌入式领域研究人员的高度重视,他们希望能将Java语言改造成嵌入式及实时系统开发的主流语言来提高开发效率及增加系统安全性。 由于嵌入式系统多数为实时系统,传统Java技术应用于嵌入式系统的主要不足之处表现为:由于Java虚拟机是在运行中对引用到的类进行动态装载、解析和连接,影响了系统的实时性;垃圾收集器(GC)的自动运行导致了任务执行时间的不可预测性。针对传统Java技术在实时方面的不足,Sun公司联合IBM、Microware等公司制定了实时Java规范(RTSJ),为实时Java平台的实现提供了参考。 随着实时Java规范的推出,如何实现适用于嵌入式系统的高效实时Java平台就成为了研究热点。目前,常见的实时Java平台实现方式有解释方式(在实时操作系统RTOS之上用软件方式来解释执行Java字节码);提前编译(字节码被提前编译生成机器码或中间代码,如C);硬件加速(用硬件方式执行一部分常用字节码来提高整体性能);硬件翻译(用硬件单元把字节码实时翻译成机器码)以及Java处理器方式(字节码直接作为机器代码在处理器硬件上执行)。同其它实现方式相比,Java处理器免除了把Java字节码转换为机器代码的工作同时还可以针对Java虚拟机特点提供特殊的硬件支持。因此具有能够直接硬件执行Java字节码、执行效率高、内存占用少、功耗低等特点,所以更适合用于资源受限的嵌入式设备。 目前国外已有一些针对嵌入式实时Java处理器的研究,如JOP、aJ-80、aJ-100及FemtoJava等。国内研究机构也有过一些针对Java处理器及Java芯片的研究,如JE-Java、JC104,但其重点是提高系统整体性能而不是实时性,一个原因也是因为当时实时Java规范尚未推出。 根据对国家自然科学基金项目—高可靠实时系统的计算平台(SoPC)研究(基金号:60703106)[1]的研究,本文设计了一种能在低成本FPGA芯片中实现的实时嵌入式Java处理器PRTEJ(Pipelined Real-Time Embedded Java Processor),目标是实现具有实时特性的嵌入式Java处理器并对实时Java规范提供有效支持。该处理器实现基于FPGA的可六级流水的嵌入式硬件Java处理器,并定义了特殊的流水线流程、指令集、内存管理机制。并通过对实时Java规范的分析,在内存管理、CConvertor、API系统中,我们建立从硬件机制到软件机制对RTSJ的支持。
【学位授予单位】:复旦大学
【学位级别】:硕士
【学位授予年份】:2008
【分类号】:TP332
【图文】:

结构图,运行时,类装载器


2.2Java虚拟机 2.2.1Java虚拟机运行时结构图2.1描述了Java虚拟机的运行时结构,类装载器子系统负责把用到的类从Class文件中读取并装载到Java虚拟机的运行时数据区。执行引擎通过和运行时数据区的交互取得指令和数据并执行。Java虚拟机的运行时数据区划分为不同的区域,不同的数据被分配到不同的区域。有的数据区可以在多线程之间进行共享,有的则不能。Cl挂、,文件类装载器子系统回口困困因巧们,卜!致州!又执行粼攀应一本地方法库图2.1:JVM运行时结构类装载器子系统:类装载器子系统负责查找并装载Class文件到相应的运行时区域。它除了要定位和导入二进制ClasS文件外,还必须负责验证被导入类的正确性,为类变量分配内存空间,解析符号引用等工作。虚拟机本身提供的类装载器称为启动类装载器,而用户自己写的叫做用户自定义类装载器。执行引擎:执行引擎负责从JVM运行时区域中取出所需要的指令、数据并用软件或硬件的方式执行

示意图,示意图,线程,中保


月UTl口图3.2:单亲规则示意图如图3.2,线程Tl在内存区域。中创建了一个对象X,在a中保存了X的引用变量X八。线程TZ在b中创建了一个对象Y,在a中保存了Y的引用变量Y人。单独就T1和TZ来说,都符合对象引用规则。但图3一1中,a的双亲分别是c和b,违犯了单亲规则。假设T1线程退出c后,没有其它线程使用,c被释放掉。这时a中的XA就成了悬空引用。所以在多线程共享区域内存的情况下

镜像,起始地址,变度,执行方法


第3章PRTEJ处理器总体设计ual,5,0,0;根据方法起始地址获得被调用方法的局部变度maxIocalsua一,6,o,o:max--一oea一s+廿=>Sp;在此点开始保存息rtua一,7,o,0;保存pCrtua一,s,o,o;保存其他信息rtual,9,o,o;保存LVrtua一,10,o,o:保存pre一研rtua一,11,0,0:保存Thisrtua一,12,o,o;继续从方法镜像中读取执行方法所需存器,异常表的信息不读到寄存器,只要把起始地址和项数。ual,1,0,0;把方法镜像当前地址送Pc,下一周期将开

【共引文献】

相关博士学位论文 前1条

1 柴志雷;Java实时性及嵌入式实时Java处理器研究[D];复旦大学;2006年

相关硕士学位论文 前6条

1 王新雨;Java虚拟机异常机制及其实时性的研究与实现[D];江南大学;2008年

2 南兆阔;嵌入式实时JAVA研究[D];江南大学;2008年

3 程潇;支持RTSJ的Java处理器的研究与设计[D];江南大学;2008年

4 李阳;Java的实时性研究[D];江南大学;2008年

5 徐志强;Java虚拟机内存管理及其实时性的研究[D];江南大学;2009年

6 王雪冰;胜利油田井下器材管理系统的设计与实现[D];天津大学;2012年



本文编号:2747470

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2747470.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户59055***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com