Connecting Peripheral Interfaces to a Multithreaded Java Microcontroller

We investigate the suitability of hardware multithreading for real-time event handling in combination with a Java micr ocontroller. Our aim is to design all hardware components suc h that the program execution time can be statically calculat ed in a cycle-accurate manner. In the field of microcontrollers it i important to incorporate peripheral interfaces into t he processor die. We explored the special requirements and pro blems of connecting peripheral interfaces to a multithread ed processor core that simultaneously executes more than one t hread in the processor pipeline. We present different solut ions of the connection problem and discuss pros and cons with resp ect to real-time applications.

[1]  Ramesh Radhakrishnan,et al.  Allowing for ILP in an embedded Java processor , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[2]  Alexander Metzner,et al.  The EVENTS Approach to Rapid Prototyping for Embedded Control Systems , 1997 .

[3]  Gurindar S. Sohi,et al.  The use of multithreading for exception handling , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

[4]  Theo Ungerer,et al.  Processor architecture - from dataflow to superscalar and beyond , 1999 .

[5]  Uwe Brinkschulte,et al.  A multithreaded Java microcontroller for thread-oriented real-time event-handling , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[6]  Stamatis Vassiliadis,et al.  The Delft-Java Engine: An Introduction , 1997, Euro-Par.

[7]  William J. Dally,et al.  Concurrent Event Handling through Multithreading , 1999, IEEE Trans. Computers.

[8]  Uwe Brinkschulte,et al.  Interrupt Service Threads - A New Approach to Handle Multiple Hard Real-Time Events on a Multithreaded Microcontroller , 2007 .

[9]  J. Michael O'Connor,et al.  picoJava-I: the Java virtual machine in hardware , 1997, IEEE Micro.

[10]  Uwe Brinkschulte,et al.  Real-time scheduling on multithreaded processors , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[11]  Mike O'Connor,et al.  PicoJava: A Direct Execution Engine For Java Bytecode , 1998, Computer.

[12]  Uwe Brinkschulte,et al.  The Komodo project: thread-based event handling supported by a multithreaded Java microcontroller , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[13]  Jochen Kreuzinger,et al.  Performance Evaluations and Chip-Space Requirements of a Multithreaded Java Microcontroller , 2000 .

[14]  Jürgen Niehaus,et al.  MSparc: Multithreading in Real-Time Architectures , 2000, J. Univers. Comput. Sci..

[15]  Werner Damm,et al.  MSparc: A Multithreaded Sparc , 1996, Euro-Par, Vol. II.