Home : Course Map : Chapter 24 :
Java Co-Processors & Cores
JavaTech
Course Map
Chapter 24

IntroEmbeddedJava
In Eng. & Sci
J2ME Overview
Real Time Java
Java Hardware
  Chips
  Cores
  Boards
Javelin Stamp
Javelin Programs
  
   Demo 1
   Listing
   Demo 2  
   Demo 3  

SNAP
   Demo 2
 
Performance
Embed Apps
Exercises

     About JavaTech
     Codes List
     Exercises
     Feedback
     References
     Resources
     Tips
     Topic Index
     Course Guide
     What's New

Several companies offer Java processors for implementation on FPGAs and ASIC/Systems-on-a-Chip. As indicated in the Java Chips section, some processors can act as the main processor for a Java-only program environment while others are intended to assist a conventional processor to accelerate the execution of Java programs (some cores can do both.) 

We list below some of the Java processor cores currently available. Note that most of the processors listed below adhere to the J2ME CLDP and MIDP standards since they are aimed for the mobile device market.

AU-J1000 & Other Java Processor Cores – Aurora VLSI

This company offers several processor cores. The AU-J1000 executes all Java bytecodes (14 use "software assists") and also accelerates some common actions such as constant pool access and array bounds checking. It can operate as a single processor or as a co-processor. The company also offers several other Java cores. The AU-J2000 provides similar features but around 30% higher speed. The AU-J1100 and AU-J1200 cores are bilingual, meaning they include both a Java processor and a conventional processor.

Jazelle – ARM

The standard ARM processor, which is very popular for mobile applications, can run on different two instruction sets - the standard ARM set and the compressed Thumb set. The Jazelle cores offer expanded versions of the ARM that contain a third instruction set – Java bytecodes. The Jazelle directly executes most bytecodes while the rest are emulated.

JOP - Java Optimized Processor

Developed by Martin Schoeberl as part of his PhD thesis at the Technical University of Vienna, Austria, this processor was designed to be "a simple and small" and "optimized to execute Java byte code." It is a "hardware implementation of the JVM with predictable execution time for embedded real-time systems." It can be implemented in a low cost FPGA.

The VHDL source and tools in Java are available for downloading. Also, sources are available from opencores.org. The JOP has been ported to the Xilinx Spartan-3 Starter Kit.

JEMCore - aJile

The jemCore, which is the core of the aj-100 processor (see Java Chips) can be licensed as a core for integration into other systems.

JVExtreme Accelerator – Synopsys

The JVXtreme co-processor Java accelerator directly executes 92 bytecodes and emulates the rest. It interfaces with the primary processor via the system bus so does not interfere with non-Java activities. (Ref. Synopsis).

lavaCORE Configurable Java Processor Core – Xilinx

The lavaCORE 32-bit processor core from Xilinx will directly execute Java bytecodes and fits onto Xilinx FPGAs.  The core can be configured with all bytecodes instructions included in hardware and firmware or with a subset of the instructions. Floating-point operations, a garbage collector, and encryption, come as optional units. A simulator and other software development tools allow for determining what configuration is needed for a particular application and then generating the gate-level code needed to program a chip.

Lightfoot and Bigfoot Cores - DCT

The Lightfoot 32 bit processor core is compatible with J2ME and JavaCard editions and executes native Java bytecodes directly in hardware. It is a stack based processor with 128 bytecode instructions implemented in hardware and others implemented in software.

The Bigfoot core is an extention of the 32 bit ARCtangent-A4 processor from ARC Int. Java instructions are mapped one-to-one ot ARCtangent extension instructions. (Ref. Clarke).

Moon 2 - Vulcan Machines

The Moon 2 core provides a 32-bit processor that directly executes bytecodes and uses a stack approach as in the JVM. A core set of bytecodes execute in hardware while run with microcode or firmware. It can work as the primary processor in a Java only environment or as co-processor to a RISC core in a mixed code environment to accelerate Java programs

References & Web Resources

  1. Peter Clarke , Startup builds Java processor with ARC core, EE Times, Sept,17, 2001. - about the DCT Lightfoot & Bigfoot Java cores.
  2. Accelerator IP puts Java in hardware, Electronicstalk, Jan. 30, 2001. About the inSilicon JVXtreme processor.

 

Latest update: Dec. 14, 2004
  
  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
21
22 23 24
Supplements

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.