picoJava

picoJava is a microprocessor specification dedicated to native execution of Java bytecode without the need for an interpreter or just-in-time compilation. The aim is to speed bytecode execution up by up to 20 times, compared to standard Intel CPU with a Java Virtual Machine. [1]

picoJava-based microprocessors can also execute C/C++ code as efficiently as comparable RISC CPU architectures. GNU Compiler Collection has been available until version 3.2.3 as machine definition 'pj,' probably first patch was for version 2.9.[2] GNU Binutils is still available as machine definition 'pj,' as of Binutil version 2.28. GNU Debugger was once implemented, but code might be lost. Sun Microsystems provided instruction set simulator worked with GDB as SCSL open source code.

This approach results in the fastest Java runtime performance with a small memory footprint and competitive performance on code not written in the Java language.

The picoJava specification does not include any memory or I/O interface logic, so that developers can add their own logic to customize memory and an interface.

Products

picoJava was originally designed to be used in consumer electronic products that run Java applications.

Sun Microsystems never released a product based on this technology; however, Sun have licensed the technology to companies such as Fujitsu, NEC and Siemens. The Verilog code of picoJava was later released under SCSL open source code, but the download page is currently not available.

In 2000 Fujitsu released the J-Starter Kit, a development system featuring a picoJava Architecture processor.

The open-source version of picoJava has been implemented in an FPGA.[3]

gollark: Did you try potatOS?
gollark: Suuuuuure.
gollark: It's `monitor_touch` on monitrons.
gollark: Is this one of the *original* potatOS install disks or a PotatOS Tau one?
gollark: You must be a dedicated fan! I'm gollark, the developer of potatOS.

See also

Notes

References

  • McGhan, Harlan; O’Connor, Mike (October 1998). "PicoJava: A Direct Execution Engine For Java Bytecode". Computer, Volume 31, Issue 10: pp. 22–30.
  • O’Connor, J. Michael; Tremblay, Marc (March/April 1997). "picoJava-I: The Java Virtual Machine in Hardware". IEEE Micro, Volume 17, Issue 2: pp. 45–53.
  • Hangal, Sudheendra; O'Connor, J. Michael (May/June 1999). "Performance analysis and validation of the picoJava processor." IEEE Micro, Volume 19, Issue 3.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.