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
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
with a
Java virtual machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
.
GNU Compiler Collection has been available until version 3.2.3 as machine definition 'pj,' probably first patch was for version 2.9.
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
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
provided
instruction set simulator worked with
GDB as SCSL
open source code
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
.
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
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
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
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
, but the download page is currently not available.
In 2000
Fujitsu
is a Japanese multinational information and communications technology equipment and services corporation, established in 1935 and headquartered in Tokyo. Fujitsu is the world's sixth-largest IT services provider by annual revenue, and the la ...
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
A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
.
See also
*
Jazelle
*
MAJC
MAJC (Microprocessor Architecture for Java Computing) was a Sun Microsystems multi-core, multithreaded, very long instruction word (VLIW) microprocessor design from the mid-to-late 1990s. Originally called the UltraJava processor, the MAJC process ...
Notes
References
* McGhan, Harlan; O’Connor, Mike (October 1998). "PicoJava: A Direct Execution Engine For Java Bytecode". ''
Computer
A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
'', 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.
External links
picoJavaat Sun Community Source Licensing (SCSL)
Java virtual machine
{{Compu-hardware-stub