论文部分内容阅读
Java语言由于其独特的“一次编译,随处运行”的特点已经成为目前因特网上非常流行的编程语言。平台无关性、面向对象、多线程、可靠安全这些特性使得Java非常适用于一些面积较小的低功耗嵌入式消费性电子产品。Java为实现平台无关性采用的虚拟机技术造成Java程序在一些通用处理器上运行速度缓慢,而常规的软件设计方法不免存在速度慢,耗内存资源等问题。设计专用的Java处理器恰好弥补了软件设计的不足之处。 本文设计了一个具有四段流水线的Java硬件加速器,执行了部分常用的Java虚拟机规范,主要作为单独处理单元运行于嵌入式实时系统或者FPGA。硬件加速的实质,是将Java虚拟机中的Java字节码指令翻译器由加速芯片来代替,使得Java字节码的执行在速率、功耗、成本之间有一个较好的平衡。硬件加速器对操作系统是透明的,不需要提高系统时钟频率,不要求额外的内存,不要求添加新的工具。Java硬件加速器支持通用的UART和WISHBONE总线接口,可与任何一种基带处理器、系统芯片(SoC)或嵌入式微处理器连接工作。 本文总体上分为三个部分,第一部分介绍了Java虚拟机(JVM)规范,第二部分为Java硬件加速器设计,第三部分是仿真和综合结果。最后做出总结,并提出后续工作内容。指令集的设计主要根据不同指令的实用频率和硬件复杂度采用不同的实现方式,并对原有的JVM指令进行扩充使其具备硬件操作能力,大部分算术逻辑指令都可以在一个或几个时钟周期内完成。堆栈结构也做了分析和优化,采用了两级流水线堆栈结构。Java堆栈存储器使用了双端口RAM,这样设计可以移植到低成本的FPGA中,存储器资源耗用少。此外,本设计使用硬件描述语言VHDL对处理器各部件进行建模并通过功能性仿真验证,几种综合工具的综合结果表明了本设计占用硬件资源少、面积小、速度快。