A Time-Predictable Object Cache

Static cache analysis for data allocated on the heap is practically impossible for standard data caches. We propose a distinct object cache for heap allocated data. The cache is highly associative to track symbolic object addresses in the static analysis. Cache lines are organized to hold single objects and individual fields are loaded on a miss. This cache organization is statically analyzable and improves the performance. In this paper we present the design and implementation of the object cache in a uniprocessor and chip-multiprocessor version of the Java processor JOP.

[1]  Martin Schoeberl,et al.  Design Space Exploration of Object Caches with Cross-Profiling , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[2]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[3]  Benedikt Huber,et al.  WCET driven design space exploration of an object cache , 2010, JTRES '10.

[4]  Mario Wolczko,et al.  An Object-Based Memory Architecture , 1990, POS.

[5]  R. Wilhelm,et al.  Predictability Considerations in the Design of Multi-Core Embedded Systems ∗ , 2010 .

[6]  Martin Schoeberl,et al.  Time-predictable Cache Organization , 2009, 2009 Software Technologies for Future Dependable Distributed Systems.

[7]  Wolfgang Puffitsch,et al.  Data caching, garbage collection, and the Java memory model , 2009, JTRES '09.

[8]  Benedikt Huber,et al.  Worst‐case execution time analysis for a Java processor , 2010, Softw. Pract. Exp..

[9]  Heung Seok Chae,et al.  An adaptive load balancing management technique for RFID middleware systems , 2010 .

[10]  Martin Schoeberl,et al.  A Java processor architecture for embedded real-time systems , 2008, J. Syst. Archit..

[11]  Peter Reichel,et al.  Secure, Real-Time and Multi-Threaded General-Purpose Embedded Java Microarchitecture , 2007, 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007).

[12]  Per Stenström,et al.  Timing anomalies in dynamically scheduled microprocessors , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[13]  N. Ranganathan,et al.  Supporting object accesses in a Java processor , 2000 .

[14]  Matthew L. Seidl,et al.  An object-aware memory architecture , 2006, Sci. Comput. Program..

[15]  Guy L. Steele,et al.  Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) , 2005 .

[16]  Martin Schoeberl,et al.  A real-time Java chip-multiprocessor , 2010, TECS.

[17]  Sascha Uhrig,et al.  jamuth: an IP processor core for embedded Java real-time systems , 2007, JTRES.

[18]  Martin Schoeberl,et al.  The embedded Java benchmark suite JemBench , 2010, JTRES '10.