Configurable JAVA processor for Embedded Systems

Description:

Summary

Microelectronic chips have found home in a plethora of embedded applications such as handheld devices, set top boxes, process automation, automotive and medical devices. Due to a rapid growth in consumer electronic applications, the focus of technology is shifting towards mobile applications with emphasis on System on Chip (SoC) implementations.

The design space in such applications is characterised by fast growing demand of functionality and performance, while still experiencing severe power constraints. Time to market becomes even more important, making the reduction of design costs a formidable task. This has compelled designers to use computing solutions which allow extensive reuse of hardware and software components in a system level co-design environment.

Simplicity and portability offered by Java improves productivity resulting in reduced development time and cost. This has fuelled its use in a range of embedded applications, but issues such as slow performance and unpredictable execution characteristics are still limiting its adoption in real-time embedded applications. The principal problem lies in the interpreted/emulated nature of Java execution hosted on traditional processors. This project aims at developing a direct execution Java processor platform which offers real-time execution characteristics with application specific configurability offering on-demand performance.

The Science and Innovation

This project involves the development of a standalone Native Java Processor (NJP) platform which enables deterministic execution of Java programs while offering high overall performance. The target architecture accommodates Java’s complex instruction set (CISC) style opcodes as well as simple stack based instructions in a single pipelined execution engine. The execution unit also defines extended instructions to support native application programmers interfaces (APIs) for low level functions such as memory and hardware access. The architecture is further enhanced by providing native support Java specific primitives for context switching, multithreading, automatic memory management etc.

The project includes development of a complete tool chain for automating: compilation of native code and Java API, profiling for static and dynamic metrics, bytecode transformation, system optimisation, coverage verification and linking of the runtime image for deployment.

Application specific configurability incorporated in the system allows efficient utilisation of hardware resources which enable power and performance tuning.

The Intellectual Property

Australian Provisional patent 2012900708 (27/2/2012)

Patent Information:
Category(s):
Information Technology
For Information, Contact:
Sharon Joseph
IP Manager
La Trobe University
s6joseph@latrobe.edu.au
Inventors:
Ani Desai
Jugdutt Singh
Keywords:
Computer Software