Java Reference
In-Depth Information
for a Java-only program environment while others are intended to assist a con-
ventional processor to accelerate the execution of Java programs (some cores
can do both). Note that most of the processors listed below adhere to the
J2ME CLDC and MIDP standards since they are aimed at the mobile device
market.
Java Processor Cores (Aurora VLSI) - this company offers several processor cores.
The AU-J1000 executes all Java bytecodes (14 use “software assists”) and also acceler-
ates 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 [19].
Jazelle (ARM) - the standard ARM processor, which is very popular for mobile applica-
tions, can run two different instruction sets - the standard ARM set and the compressed
Thumb set. The Jazelle cores offer an extended version of the ARM that can run a third
instruction set - Java bytecodes. The Jazelle directly executes most bytecodes while the
rest are emulated [20].
JEMcore ( aJile )-the core of the aJ-100 processor (see above) can be licensed as a
core for integration into other systems.
JVXtreme Accelerator (Synopsys) - this co-processor directly executes 92 bytecodes
and emulates the rest. It interfaces with many kinds of conventional processor via the
system bus so it does not interfere with non-Java activities [21].
lavaCORE Configurable Java Processor Core (Xilinx) - this 32-bit processor core
from Xilinx directly executes Java bytecodes and fits onto Xilinx FPGAs. The core
can be configured with all bytecode 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 [22].
Lightfoot and Bigfoot Cores (DCT) - the Lightfoot 32-bit processor core is compat-
ible with J2ME and Java Card 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 built around the 32-bit ARCtangent-A4 processor from ARC
Inc. Java instructions are mapped one-to-one to ARCtangent extension instructions
[23,24].
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 the bytecode
instructions execute in hardware. 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 [25].
Search WWH ::




Custom Search