JOP - Java Optimized Processor
|
Home |
Preference
The goal of this development is a simple and small processor optimized to execute Java byte code. Java byte code needs a different structure of the processor than a compiled (C, C++) program. Considering this it should be possible to develop a more powerfull processor for Java than a general purpose processor (with the same hardware resources i.e. chip area). The processor core should be small enough to fit in a 'mainstream' FPGA. So it is possible to use Java for embedded applications. Knowing the processor core it should be easy to implement a real time enabled JVM. It's not the goal to execute every byte code direct in hardware. This would lead to a very complex design. The execution of JVM instructions is done in micro code. The micro code instructions must be general enough to execute the sometimes very complex JVM instructions. Since threads are an integrated part of the Java programming language we will see more applications using them. When the processor core is small it will make sense to integrate more JOPs in a single chip to enhance performance. Targets and Non TargetsTargets:
Non Targets:
Three different VersionsFirst Approach: A general purpose accu/register machineA simple accu machine with many registers and a 32 bit datapath. All JVM instructions are done in software (micro code).Second Approach: More specific for the JVMBased on the first design with fewer registers and added hardware (stack, JVM instruction fetch and decode,...).Third Approach: A stack machineMoving the ALU to the stack results in a stack machine with direct support for basic JVM instructions.
|
| |
Copyright © 2000-2007, Martin Schoeberl
|