|
|
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 | ||
|
|
Lehr- und Forschungseinheit Informatik X Lehrstuhl für Rechnertechnik und Rechnerorganisation/Parallelrechner Prof. Dr. A. Bode |
| FaRM
FPGA
based
Dr. Carsten Trinitis, Georg Acher |
| Objectives | Projects | Tools | Staff |
|
Information |
| Objectives |
The FaRM-project investigates in the use
of Field Programmable Gate Arrays (FPGAs) as accelerators for microprocessors
and rapid prototyping.
| Projects |
JIFFY: Java Just-In-Time-Compiler in FPGAs
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).
However, a standard processor is needed anyway in a cheap NC to run the operating system and other non-Java applications. Addionally, the extra cost of a totally new environment (eg. developing new hardware drivers) makes the silicon-based JVM not very attractive.
To make JIT compilation for NCs faster
and easier, the possibilities for JIT in FPGAs are being investigated.
There are some requirements that make
this task complex if full versatility should be achieved:
| Staff |
| Publications |
| Student´s Information |
| (none) | Webmaster |