``` 在FPGA上实现Java处理器 ```
Implementation of a Java Processor on a FPGA (2016)

原始链接: https://mavmatrix.uta.edu/electricaleng_theses/337/

本硕士论文详细介绍了一种处理器设计,旨在直接执行Java字节码,以克服传统Java虚拟机(JVM)的性能限制。Java的可移植性是通过JVM解释字节码实现的,但这会引入执行速度变慢的问题。 本项目通过创建一个字节码*就是*原生指令集的处理器来绕过解释过程。这消除了翻译时间,并允许预处理Java类文件以减少运行时依赖。重要的是,该处理器是在现场可编程门阵列(FPGA)上实现的,使其能够适应不断发展的Java标准,并通过添加硬件模块针对特定应用进行优化。 由此产生的“Java机器”为执行Java应用程序提供潜在的性能提升和面向未来的解决方案,超越了基于软件的JVM解释的限制。

## FPGA上的Java处理器:黑客新闻讨论总结 最近黑客新闻上出现了一场关于2016年一篇论文的讨论,该论文详细介绍了在FPGA上实现Java处理器的情况。这个核心想法引发了关于专门为Java字节码构建硬件是否值得的争论。 虽然直接在硬件中执行Java字节码由于指令的高级特性并不被认为是最佳方案,但共识倾向于创建一个专门用于*辅助* JIT编译器的CPU。Azul Systems 之前曾用具有硬件垃圾回收支持的RISC处理器探索过这一点。 参与者强调了现代Java垃圾回收器的效率以及硬件“辅助”——例如存储屏障——进一步提高性能的潜力。然而,与成熟的处理器架构(Intel、ARM)竞争的难度是一个主要问题,引用了过去失败的案例,例如JavaStation,以及Azul面临的不可持续的商业模式。 讨论还涉及Java的AOT编译,GraalVM native image 正在获得关注,但承认了关于构建时间和库兼容性的权衡。最终,对话表明,专门硬件有一个利基市场,它可以补充而不是取代现有的处理器和JIT编译技术。
相关文章

原文

Degree Name

Master of Science in Electrical Engineering

Abstract

Java, a programming language developed by Sun Microsystems in 1991, now managed by Oracle, has become one of the most popular computer languages for application development. This popularity can be credited to Java being architectural neutral and portable. It means that a Java program executed on any computer will yield the same result, irrespective of the underlying hardware. When a Java program is compiled it creates a Java class file. The class file contains instructions known as Bytecodes, which are executed by the Java Virtual Machine (JVM). The JVM is an abstract processor, which interprets and translates the bytecodes into instructions for the native processor. The process of interpretation, along with functionality such as dynamic linking, Just-in-time compilation and on demand class loading, makes the execution of a Java application slower than compiled programs. In order to speed up this execution of the Java program, this project has developed a processor for which the bytecodes are the native instructions. This eliminates the time spent on interpretation and translation. Also, with the implementation of the Java Machine, certain run-time dependencies can be eliminated by pre-processing the class file, before loading it into the memory of the processor. By developing the processor on a Field Programmable Gate Array (FPGA), the Java Machine can be kept up to date with the newest Java standards even after it is installation in the field. The FPGA processor can also be optimized to specific applications by adding application specific hardware modules to speed up the processing.

联系我们 contact @ memedata.com