LRR-TUM-Logo Department of Informatics
Technische Universität München
Informatik X: Rechnertechnik und Rechnerorganisation / Parallelrechnerarchitektur
Prof. Dr. Arndt Bode , Prof. Dr. Hans Michael Gerndt
abakus50x50.gif
 Home  | Addresses  | Staff  | Research  | Lectures 
Search 
LRR-TUM

Institut für Informatik / TU-München
Lehr- und Forschungseinheit Informatik X
Lehrstuhl für Rechnertechnik und Rechnerorganisation/Parallelrechner
Prof. Dr. A. Bode

TUM-INFO

Research Group
Reconfigurable Architectures
Dr. W. Karl

FaRM

FPGA-based Reconfigurable Microprocessors


The Java Virtual Machine

The Java programming language (and its processor Java Virtual Machine, JVM) from Sun Microsystems Inc. allows system independent execution of programs. In the heterogenous World Wide Web (WWW) it became quickly a pseudo standard, because nearly all computers can now run the same program without modifications. The key to the system independency is also the biggest drawback of Java, its very low execution speed: The host processor has to interprete the JVM code (the bytecode). So Java can be 60 times slower than comparable native programs.

One improvement is the just-in-time compilation (JIT) of the code, here the microprocessor translates the bytecode before execution in native instructions, giving a speedup factor of 5-20. However, it is still significantly slower than native written programs. Unfortunately JIT compiliation is only feasible for well-equipped computers, because the translated code needs 3 to 4 times more memory and the JIT compiler itself is CPU and memory consuming. Additionally, the compilation is also time consuming, so JIT compilation for one-time-used modules is very ineffecient. So the 'pure' JIT-approach is not usable for embedded Java applications ('microcontrollers') and for 'small' network computers (NCs).

A solution for this problem is the development of a silicon-based JVM, a processor that can run the bytecode directly without interpretation. Such chips are already announced or introduced by Sun and Rockwell. Sun's implementation, the picoJava processor, has some optimizations for running the bytecode, like a stack cache and different levels of execution (hardcoded, microcode and emulation). The picoJava I is about 5 times faster than a JIT compiler on an standard microprocessor at the same clock rate.

However, a standard processor is needed anyway in a cheap NC to run the operating system and other non-Java applications. Additionally the needed multimedia capabilities require extra (expensive) hardware for graphics acceleration and audio/video applications.


Back to the FaRM-Homepage



NAVIGATE:

Up


Rainer Buchty, 8.5.98
(none) Webmaster