|
|
Department of Informatics Technische Universität München Informatik X: Rechnertechnik und Rechnerorganisation / Parallelrechnerarchitektur Prof. Dr. Arndt Bode , Prof. Dr. Hans Michael Gerndt |
|
| Home | Addresses | Staff | Research | Lectures | ||
|
|
|
Institut für Informatik /
TU-München |
|
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
|
Up |
| (none) | Webmaster |