Advanced Processor Technologies Home
APT Advanced Processor Technologies Research Group

Hardware Support For Embedded Java

Paul Capewell

Abstract

Java is a modern, general purpose object orientated programming language originally designed for embedded systems. Java first saw wide spread adoption in the area of web-based distributed applications because of its portable binaries, security features and convenient programming interfaces. These features also apply to modern mass market embedded and mobile systems. An increase in the power of such devices has led to wide spread adoption of Java in this domain.

This thesis investigates the issues which arise when attempting to execute portable Java binaries on embedded processor architectures. The central theme is acceleration of Java binary translation through the extension of embedded processor pipelines. This is an established method of efficiently reducing power consumption, memory requirements and system cost while increasing Java execution speed.

Existing techniques for hardware assisted binary translation are investigated, and novel approaches to the problem are suggested and evaluated. Current commercial products in this space use simple translation techniques, this ensures low power requirements and system cost. More elaborate translation mechanisms are proposed that can increase execution rate while aiming to have low implementation costs.

Simulations of a simple asynchronous Java decoder design at silicon level calibrate and contrast to the results of higher level simulations of the new translation mechanisms employing asynchronous pipelines. Results show performance increases when employing more advanced translation mechanisms and provide quantified trade-off options which can aid designers of such systems in the future.

The thesis is available as PDF (3.9MB).