An Instruction Folding Solution to a Java Processor Based on FPGA[J]. 2011, 28(5): 166-170.DOI:
An Instruction Folding Solution to a Java Processor Based on FPGA
摘要
Java虚拟机的设计是基于堆栈的
它的性能由数据相关性而被限制.为了提高JVM的性能
于是sun公司提出了堆栈操作折叠机制并且用于picoJava Ⅰ、Ⅱ处理器
它折叠了42.3%的堆栈操作.通过把连续的字节码与预先定义的类型在指令译码器中对比
那么push、pop操作的数量就能被减少.文中为Java处理器设计了一种简单的指令折叠器
最终在FPGA上加以实现
从而大大地提高了JVM的性能.
Abstract
The execution performance of a stack-based Java virtual machine (JVM) is limited by the true data dependency.To enhance the performance of the JVM
a stack operations folding mechanism for the picoJava-Ⅰ/Ⅱ processor was proposed by Sun Microsystems to fold 42.3% stack operations.By comparing the continuous bytecodes with predefined folding patterns in instruction decoder
the number of push/pop operations in between the operand stack and the local variable could be reduced.In this paper
a simple instruction folding algorithm is proposed for a Java processor.It is achieved on the FPGA