Please log in.
Before you can vote, you need to register. Please log in or create an account.
Computer: CPU
Hardware Java Machine   (+1)  [vote for, against]
A CPU that understands Java Byte codes

There's a lot of programs written in Java.

Why not design a new CPU whose native machine code which maps 1:1 to Java Byte codes ?

Wouldn't we have a really fast platform for Java to run on ?

(Or do Garbage collectors not perform any better in hardware?)
-- monojohnny, Jun 26 2006

Java accelerator chips (2001) http://news.com.com/2100-1001-268154.html
[jutta, Jun 26 2006]

Java hardware (2004) http://www2.sys-con...102/cook/index.html
[jutta, Jun 26 2006]

Fujitsu picoJava-II™Core Based Chip http://www.fujitsu....product/micom/java/
I'm mostly linking to it because it has some of the worst graphics I've seen in a long time. [jutta, Jun 26 2006]

Sun scraps Java chip http://www.javaworl...idgns-javachip.html
Sun had that idea a while back, but scrapped it because of complexity. [danpat, Jun 27 2006]

ARM Jazelle instruction set extension http://www.arm.com/...d/jazelle_home.html
You can still get ARM CPU cores with java bytecode hardware... [prufrax, Jun 27 2006]

I may be way off base, but isn't Java interpreted precisely because the current generation of computers don't have Java support in hardware?
-- st3f, Jun 27 2006


Java is semi-interpreted ; source-code is compiled to byte-code; the JRE converts this byte-codes (on the fly with the JIT) to machine-code.

So in theory you could do away with the JIT and put in a hardware device to do this....
-- monojohnny, Jun 27 2006


Thanks for the links....looks like the idea is kinda-baked, although the articles look really old....I wonder why this never happened....
-- monojohnny, Jun 27 2006


Nothing much happens without first overcoming the opposing economic forces. That java runs in a layer over another OS, shows the old "build a better mousetrap, and the world will beat a path to your door" analogy, extended to the domain of codewriters and hardware designers.
-- reensure, Jun 27 2006


google on:
Embedded Java
JStik
JStamp
aJile
SaJe
Javelin

Not an exhaustive list, by any means.

Actually, the garbage collection gets to be more of a problem in hardware environment. Search on "Real Time Java" for more info.
-- lurch, Jun 27 2006


I'm not sure what parrot primitives are, but it looks possible to compile perl->java byte codes, same for python and Ruby....

So even more reason then ! :-)

The embedded java stuff looks like its aimed for small devices - any server-based stuff been done already.

I guess I should stop posting now, since the idea is clearly baked....
-- monojohnny, Jun 27 2006


This is baked in lots of mobile hardware. Your cell phone probably does this.

Besides, the line between hardware and software can blur. What is implemented more in hardware? A semi-java implementing CPU, or a Transmeta chip that emulates some higher CPU functions in software over a really cheap core?
-- ironfroggy, Jun 28 2006


/Why not design a new CPU whose native machine code maps 1:1 to Parrot primitives?/

Cool, i would be for that.
-- webfishrune, Jun 28 2006


As for the Parrot comments: Parrot will never see much usage. It is competing against the CLR and Java Runtime, and competing languages, like Python, are moving away from virtual machines all-together, with efforts like Skinshed, PyPy, and FePy.
-- ironfroggy, Jun 29 2006


One point no one is mentioning is that Java programs are often intended to be run in a safe sandbox away from important PC components. (Like say, main memory, or non volitile storage.) They are often considered "unsafe". Running them at CPU is intrinsically givng access to hardware and everthing below that. The word "unsafe" springs to mind.

Which is why java chips are designed for isolated applications.
-- Galbinus_Caeli, Jun 29 2006



random, halfbakery