Is there a processor that runs Java in microcode?

Java is a beautifully crafted OO language, but the first thing I noticed was slow (compared to C ++). This is probably due to the fact that it must go through a different translation level (VM) instead of using it directly in the processor’s own microcode.

My question is: do you know of any attempts to create a Java-specific processor that runs Java initially without requiring a software-implemented VM?

+7
java performance cpu
source share
4 answers

Sun developed the picoJava processor about 10 years ago, but it never went anywhere - there was no market at that time, and modern virtual machines have a rather meaningless concept.

Then came the intangible architecture of ARM Jazelle .

+17
source share

The only link I have found so far in this puzzle is the following article:

http://www.theserverside.com/discussions/thread.tss?thread_id=59958

While at first I was interested to know if there are Java-CPUs and what they are, this thread sheds light on why I did not hear about anything (until I read the answers received here). The last comment made by Alex Besgonov seems to be the best explanation:

Java bytecode is NOT suitable for running on real hardware. It is stack based, so pipelining comes out of the window. In theory, you can do on-the-fly transfer from stack to case-based, but this will require a lot of transistors.

So in fact, it is ALWAYS effective for JIT compiling Java bytecode and then running it on a common processor. There is one exception to the JVM for low-power devices, where JVM hardware speed is not a problem (remember Forth CPU).

Of course, hardware can still provide several features to speed up the JVM. like hardware redirection pointers that allow you to create fast, real-time compaction of a ruthless GC (I assume that Azul hardware has this support).

It is very interesting. Thank you all for your answers.

+5
source share

Azul Systems develops systems from scratch (using huge services) Java, including through the garbage collection with hardware.

There is also GCJ for compiling Java into native code, although this is not a complete implementation of Java.

+5
source share

You might want to try JOP

It is open source and you can try it on your own hardware.

0
source share

All Articles