Intellectual property developer Insilicon has developed a coprocessor for Java that can run at up to 200MHz, giving portable systems such as PDAs and even smartcards 55 times the performance of a software virtual machine.
The JVXextreme core, demonstrated at DesignCon in Santa Clara, is the second-generation coprocessor which adds logic pipelining to get the speed for some key capabilities.
Insilicon has integrated the loop logic from the Java interpreter into the hardware. Instead of using 27 cycles for the loop logic on every byte code it takes just two, and allows pre-fetching and instruction folding in hardware.
The core also allows up to 64 registers to be used for the Java stack. This compares to four registers in the implementations of Java being added to existing processors, and is a fundamental limit on performance, says Robert Nalesnik, vice-president of marketing at InSilicon.
The core runs at up to 200MHz with 6.5 to 9.1 caffeine marks/MHz running alongside an ARM9 processor. This compares with 1.25 to 1.75 caffeine marks/MHz for the previous JVX coprocessor running with an ARM7 at around 30MHz.
It only has interfaces to ARM7 and ARM9 processors but uses a hardware abstraction layer to port to other architectures without changing the co-processor.
Power consumption is more a function of the number of gates, says Nalesnik, and this has in-creased from 20000 to 35000 gates, increasing the power from 87µW/MHz to 200µW/MHz, while standby power remains the same at 10µW/MHz