PicoJava

From JopWiki

Jump to: navigation, search

picoJava is a native bytecode execution microprocessor from Sun Microsystems. It can execute up to four bytecodes in one cycle through instruction folding. Its source code is available under the Sun Community Source License, meaning that it can be used for research without any license fee.

The processor is currently ported by Wolfgang Puffitsch to an Altera Cyclone FPGA. The appropriate package, Harvey, is still under development, but benchmarks are already working.

[edit] Benchmark Results

The benchmarks, which belong to the JavaBenchEmbedded benchmark suite, have been conveyed on the DE2 board from Altera. On this board, JOP runs at 100 MHz while picoJava runs at 40 MHz. The iload_3 iadd and if_icmplt benchmarks return no result because they run too fast and do not create a measurable overhead.

JOP picoJava
iload_3 iadd 2 clocks no result
iinc 4 clocks 3 clocks
ldc 11 clocks 3 clocks
if_icmplt taken 6 clocks 3 clocks
if_icmplt not taken 6 clocks no result
getfield 26 clocks 3 clocks
getstatic 19 clocks 5 clocks
iaload 17 clocks 3 clocks
invoke 133 clocks 28 clocks
invokestatic 103 clocks 22 clocks
invokeinterface 153 clocks 164 clocks
Sieve 5410 1/s 7656 1/s
Kfl 16094 1/s 23322 1/s
UdpIp 7049 1/s 11736 1/s
Lift 14173 1/s 25244 1/s

[edit] Links

Personal tools