Hardware Java-specific processors have been shown to provide the performance benefits over their software counterparts that make Java a feasible environment for executing even the most computationally expensive systems. In most cases, the core of these processors is a simple stack machine on which stack operations and logic and arithmetic operations are carried out. More complex bytecodes are implemented either in microcode through a sequence of stack and memory operations or in Java and therefore through a set of bytecodes. This paper investigates the state-of-the-art in Java processors and identifies two areas of improvement for specialising these processors for real-time applications. This is achieved through a combination of the implementation of real-time Java components in hardware and by using application-specific characteristics expressed at the Java level to drive a co-design strategy. An implementation of these propositions will provide a flexible Ravenscar-compliant virtual machine that provides better performance while still guaranteeing real-time requirements.

BibTex Entry

@inproceedings{Borg2005a,
 address = {London, UK},
 author = {Andrew Borg and Neil Audsley and Andy Wellings},
 booktitle = {Perspectives in Pervasive Computing},
 month = {October},
 organization = {IEE},
 pages = {3--10},
 publisher = {Cambridge University Press},
 title = {Real-time Java for Embedded Devices: The JAVAMEN Project},
 year = {2005}
}