Predictable programming on a precision timed architecture

In a hard real-time embedded system, the time at which a result is computed is as important as the result itself. Modern processors go to extreme lengths to ensure their function is predictable, but have abandoned predictable timing in favor of average-case performance. Real-time operating systems provide timing-aware scheduling policies, but without precise worst-case execution time bounds they cannot provide guarantees. We describe an alternative in this paper: a SPARC-based processor with predictable timing and instruction-set extensions that provide precise timing control. Its pipeline executes multiple, independent hardware threads to avoid costly, unpredictable bypassing, and its exposed memory hierarchy provides predictable latency. We demonstrate the effectiveness of this precision-timed (PRET) architecture through example applications running in simulation.

[1]  Edward A. Lee,et al.  Pipeline interleaved programmable DSP's: Architecture , 1987, IEEE Trans. Acoust. Speech Signal Process..

[2]  Stephen Dean Brown,et al.  A Multithreaded Soft Processor for SoPC Area Reduction , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[3]  Luca Benini,et al.  Increasing Energy Efficiency of Embedded Systems by Application-Specific Memory Hierarchy Generation , 2000, IEEE Des. Test Comput..

[4]  Alexander G. Dean,et al.  Supporting demanding hard-real-time systems with STI , 2005, IEEE Transactions on Computers.

[5]  Martin Schoeberl,et al.  JOP: A Java Optimized Processor , 2003, OTM Workshops.

[6]  Stephen A. Edwards,et al.  The Case for the Precision Timed (PRET) Machine , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[7]  Henry Hoffmann,et al.  The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs , 2002, IEEE Micro.

[8]  Olivier Temam,et al.  Chaos in computer performance , 2005, Chaos.

[9]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[10]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[11]  BiniEnrico,et al.  Schedulability Analysis of Periodic Fixed Priority Systems , 2004 .

[12]  David A. Patterson,et al.  The case for the reduced instruction set computer , 1980, CARN.

[13]  J. Gregory Steffan,et al.  Improving Pipelined Soft Processors with Multithreading , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[14]  Anant Agarwal,et al.  Software-based instruction caching for embedded processors , 2006, ASPLOS XII.

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

[16]  Giorgio C. Buttazzo,et al.  Schedulability analysis of periodic fixed priority systems , 2004, IEEE Transactions on Computers.

[17]  S. Johannessen Time synchronization in a local area network , 2004, IEEE Control Systems.

[18]  Eric Rotenberg,et al.  Virtual simple architecture (VISA): exceeding the complexity limit in safe real-time systems , 2003, ISCA '03.

[19]  Henrik Theiling,et al.  Reliable and Precise WCET Determination for a Real-Life Processor , 2001, EMSOFT.

[20]  Lothar Thiele,et al.  Design for Timing Predictability , 2004, Real-Time Systems.

[21]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[22]  Michael Harder,et al.  An Esterel processor with full preemption support and its worst case reaction time analysis , 2005, CASES '05.

[23]  A PattersonDavid,et al.  The case for the reduced instruction set computer , 1980 .

[24]  Dong Hui,et al.  REMIC - design of a reactive embedded microprocessor core , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[25]  Stephen A. Edwards,et al.  A Processor Extension for Cycle-Accurate Real-Time Software , 2006, EUC.

[26]  Andreas Steininger,et al.  Processor support for temporal predictability - the SPEAR design example , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[27]  Günter Grünsteidl,et al.  TTP - A Protocol for Fault-Tolerant Real-Time Systems , 1994, Computer.