Scratchpad Memories with Ownership

A multicore processor for real-time systems needs a time-predictable way to communicate data between different threads running on different cores. Standard multicore processors support data sharing with shared main memory backed up by caches and cache coherence protocol. This sharing solution is hardly time predictable nor does it scale to more than a few cores.This paper presents a shared scratchpad memory (SPM) for time-predictable communication between cores. The base architecture uses time-division multiplexing for the arbitration of the access to the shared SPM. This allows the timing of programs executing on different cores to be completely independent of each other. We extend this architecture by the notion of ownership. A core can own the SPM. Having exclusive access to the SPM reduces the access time to a single clock cycle. The ownership of the SPM can then be transferred to a different core, implementing low latency communication of bulk data. As an extension, we propose to organize this memory as a pool of SPMs that can be owned by different cores and transferred as needed. We evaluate the proposed architecture within the T-CREST multicore architecture.

[1]  John Wawrzynek,et al.  Chisel: Constructing hardware in a Scala embedded language , 2012, DAC Design Automation Conference 2012.

[2]  Jean-François Deverge,et al.  WCET-Directed Dynamic Scratchpad Memory Allocation of Data , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[3]  Peter Marwedel,et al.  Influence of memory hierarchies on predictability for time constrained embedded software , 2005, Design, Automation and Test in Europe.

[4]  Neil C. Audsley,et al.  Studying the Applicability of the Scratchpad Memory Management Unit , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

[5]  Martin Schoeberl,et al.  A Multicore Processor for Time-Critical Applications , 2018, IEEE Design & Test.

[6]  Edward A. Lee,et al.  Fun with a Deadline Instruction , 2009 .

[7]  Peter Marwedel,et al.  Scratchpad memory: a design alternative for cache on-chip memory in embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[8]  Joseph S. Sventek,et al.  Efficient dynamic heap allocation of scratch-pad memory , 2008, ISMM '08.

[9]  Kees G. W. Goossens,et al.  Argo: A Real-Time Network-on-Chip Architecture With an Efficient GALS Implementation , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Stephen A. Edwards,et al.  Predictable programming on a precision timed architecture , 2008, CASES '08.

[11]  Neil C. Audsley,et al.  Investigating Average versus Worst-Case Timing Behavior of Data Caches and Data Scratchpads , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[12]  Neil C. Audsley,et al.  Implementing time-predictable load and store operations , 2009, EMSOFT '09.

[13]  Isabelle Puaut,et al.  Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison , 2007 .

[14]  Ting Chen,et al.  WCET centric data allocation to scratchpad memory , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[15]  Martin Schoeberl,et al.  A Time-Predictable Memory Network-on-Chip , 2014, WCET.

[16]  Benedikt Huber,et al.  T-CREST: Time-predictable multi-core architecture for embedded systems , 2015, J. Syst. Archit..

[17]  Martin Schoeberl,et al.  Time-predictable synchronization support with a shared scratchpad memory , 2019, Microprocess. Microsystems.

[18]  Benoît Dupont de Dinechin,et al.  Time-critical computing on a single-chip massively parallel processor , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[19]  Nikil D. Dutt,et al.  ShaVe-ICE , 2018, ACM Trans. Embed. Comput. Syst..

[20]  Benedikt Huber,et al.  Patmos: a time-predictable microprocessor , 2018, Real-Time Systems.

[21]  Luca Benini,et al.  Polynomial-time algorithm for on-chip scratchpad memory partitioning , 2003, CASES '03.

[22]  Nikil D. Dutt,et al.  SPMPool , 2016, ACM Trans. Embed. Comput. Syst..

[23]  Rajeev Barua,et al.  An optimal memory allocation scheme for scratch-pad-based embedded systems , 2002, TECS.