论文部分内容阅读
随着计算机硬件、软件和网络技术的迅猛发展,Internet已经成为人们生活中不可或缺的部分。利用台式计算机访问Internet的方式已经不能完全适应人们的要求,导致各种各样的非PC类Internet访问设备的出现,例如机顶盒、无线WAP电话、信息家电等等。 Java语言由于其独特的平台无关性已经成为目前Internet上非常流行的一种编程语言,也是许多分布式计算环境和标准的基础。因此有效支持Java程序的运行已经成为对非PC类Internet访问设备的必然要求。 目前的Java虚拟机大多由软件实现。它们不仅运行速度慢,结构复杂,更严重的是需要占用大量的存储空间,难以在资源受限的嵌入式设备中使用。为了解决这个问题,国际上掀起了对用硬件直接支持Java程序运行的Java芯片系统的研究热潮。 由于Java虚拟机指令系统和经典微处理器指令系统有很大区别,Java芯片系统在硬件体系结构、面向对象的实现机制、软硬件接口和操作系统结构等方面都面临许多新的技术问题和设计难度,以致已有的Java芯片系统都存在许多需要改进的不足之处。针对这些不足,在对Java虚拟机指令系统、应用程序和Java芯片操作系统等进行深入分析和深刻理解的基础上,文中提出了一个用于非PC类Internet访问设备的JE-Java芯片系统。它的性能与国外的类似产品相当,而且结构更加简单。 指令系统和应用程序的特点是决定微处理器体系结构的关键因素。本文首先通过对Java虚拟机指令系统的分析和对Java典型应用程序的测试,提炼出Java虚拟机指令的执行特点,明确了Java芯片系统中需要解决的关键问题。 为了解决Java虚拟机指令系统中指令不定长、面向堆栈和地址虚拟化等问题,本文研究了Java芯片中取指部件、堆栈缓冲部件和地址转换机制以及相应物理存储器的管理等关键技术。文中提出了取指部件的设计原理而且采用理论模型和模拟方法对它进行了性能评价,利用评价结果优化了取指策略和参数设置。文中还设计了一种由多体静态存储器构成的堆栈缓冲结构,并在堆栈缓冲和执行部件之间采用了数据重定向技术,还对缓冲容量和后援频度的关系进行了理论分析。另外,文中还提出了一种直接段式和间接段页式结合的寻址策略和地址转换技术以及相关物理存储器的管理算法,并对这些技术进行了全面的性能评价。 面向对象指令是Java虚拟机指令系统中的一个特点,也是经典微处理器系统设计中未曾遇到的问题。本文针对Java语言的特点,建立了Java语言对象域模型,并据此模型提出了一种能有效解决垃圾回收过程中对象精确扫描问题的对象组织方法——“对放法”。文中还建立了Java虚拟机方法分派模型,提出了采用预先链接和设置对象方法指针cache等方法加速方法分派过程以及设置方法现场cache以减少方法现场调入开销等技术。测试表明,这些技术能有效缩短面向对象指令的执行国防科学技术大学研究生院学位论文时间。 由于Java虚拟机指令系统中没有直接硬件控制指令,本文提出了一种具有面向对象特征的软硬件接口—本地方法,并介绍了它的实现技术。.该接口不仅提供了一个完整的面向对象视图而且避免了已有Java芯片系统中扩展指令系统方法所带来的种种缺点。 针对Java芯片操作系统的特点,本文提出了一个新的Java芯片操作系统模型,并介绍了其实现技术。它在操作系统结构和设计方法上都与经典操作系统有较大不同:它由内核、转换层和多个相对独立的服务器等组件构成,并抽象出各种组件在内部结构、外部接口、运行模式和交互关系等方面的共同特征。该操作系统具有很好的可伸缩性、可维护性和代码可重用性。 为提高模拟速度,本文建立了Java芯片的流水线级模型,介绍了一个据此模型开发的面向对象的节拍精度的Java芯片模拟系统以及由该模拟系统和其它辅助程序构成的虚拟JE一Java芯片系统。该系统具有运行速度快,设计层次可以平滑过渡、调试手段丰富等特点。该虚拟系统能够有效支持Java芯片的体系结构级验证,性能评价和操作系统的开发。 Java芯片系统作为非PC类Intemet访问设备中微处理器系统的有力竞争者,己引起了计算机研究界和工业界的广泛关注。本文对该系统进行了广泛而深入的研究,在提出的一些有独创性的实现技术基础上,完成了系统设计、验证和评价工作,掌握了Java芯片系统的技术难点,并提出了解决方法。所积累的宝贵经验为Java芯片系统的硬件实现奠定了坚实的基础。