Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers

ArticlesJava Chips: The Hardware Solution


May 1998 / Cover Story / How To Soup Up Java / Java Chips: The Hardware Solution

The Java virtual machine (JVM) isn't virtual anymore -- it's real. New Java chips can execute Java bytecode as their native machine language, making it unnecessary to interpret or compile the bytecode into some other CPU's machine language.

In theory, this could allow Java to run as fast as native code on other CPUs -- if Java chips were as powerful as other CPUs. In practice, most Java chi ps will be sub-$50 processors, because they're designed for network computers (NCs), TV set-top boxes, smartcards, and other embedded devices. Only one company, Sun Microelectronics, is known to be developing a high-end Java processor (ultraJava).

Nine companies are working on Java chips: Sun, NEC, IBM, Fujitsu, LG Semicon, Rockwell, Siemens, Patriot Scientific, and International Meta Systems (IMS). Seven of them (Sun, NEC, IBM, Fujitsu, LG Semicon, Rockwell, and Siemens) are designing their chips around Sun's picoJava core, which is available for licensing. Patriot modified an existing processor to run Java, and IMS is working on an independent design.

Sun plans to ship its first Java chip, the microJava 701, in the second half of this year. Later, Sun plans to introduce additional 700-series microJava chips, plus some lower-end 500-series and 300-series chips. For the high end, Sun is designing the ultraJava for 1999 or later. It's for graphics workstations and will compete against high-end CPUs of other architectures, says Harlan McGhan, technical marketing manager.

So far, nobody has shipped actual products with Java chips. Sun has announced the JavaBlaster, a $99 ISA card that turns old PCs into Java-based computers, but it won't appear until after the microJava 701 ships. Siemens is designing a picoJava-based smartcard. Rockwell might use its JEM1 chip in navigation and communications systems. Patriot has shipped more than two dozen development kits for its PSC1000.

Java chips aren't limited to running software written in Java, any more than other CPUs are. Programmers can use any high-level language that has a bytecode compiler. In fact, Sun is introducing C/C++ compilers that generate bytecode. The picoJava architecture defines about half a dozen extended bytecode instructions to support C/C++ and low-level hardware functions, such as memory writes, on-board cache control, access to control registers, and power-up/power-down diagnostics.

Is this heresy ? No, says Sun. Java chips must support those functions so developers can write OSes, device drivers, and other low-level programs. Regular Java can't do it because Java source compilers don't generate the extended bytecodes. Even if they did, the bytecode verifiers built into JVMs would reject the extended bytecodes as illegal. This preserves the safety of Java applications while permitting developers to write low-level system software for Java chips.

Patriot was the first company to demonstrate a working Java chip (November 1997). Instead of licensing Sun's picoJava core, Patriot took an existing Forth chip and reprogrammed the microcode to recognize bytecodes. The PSC1000 already had a stack architecture, because Forth, like Java, is a stack-oriented language. Patriot's PSC1000 costs less than $10 in volume.

Marc Tremblay, a chip architect at Sun, predicts that low-end Java chips based on the picoJava core will run Java about 20 times faster than interpreters running on a Pentium at the same clock frequency. Tremblay thinks the chips will deliver about five times as much performance as a just-in-time (JIT) compiler running on a Pentium.

Is that fast enough? By the time the chips come out, the best JIT compilers might deliver more performance on fast CPUs than low-end Java chips. However, that won't threaten the two most important markets for the chips: inexpensive devices that can't afford a Pentium-class CPU but still need to run Java at acceptable speeds and low-memory devices that lack the resources for a full-size JVM and a JIT compiler.


Three Ways to Execute Java Code

illustration_link (11 Kbytes)

Java chips execute bytecodes directly , without the need for interpreting or compiling.


Up to the Cover Story section contentsGo to previous article: How To Soup Up JavaGo to next article: Calling Native Code
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network