Micro-preemption synthesis: an enabling mechanism for multi-task VLSI systems

Task preemption is a critical enabling mechanism in multi-task VLSI systems. On preemption, data in the register files must be preserved in order for the task to be resumed. This entails extra memory to preserve the context and additional clock cycles to save and restore the context. In this paper, we present techniques and algorithms to incorporate micro-preemption constraints during multi-task VLSI system synthesis. Specifically, we have developed: (i) Algorithms to insert and refine preemption points in scheduled task graphs subject to preemption latency constraints. (ii) Techniques to minimize the context switch overhead by considering the dedicated registers required to save the state of a task on preemption and the shared registers required to save the remaining values in the tasks. (iii) A controller based scheme to preclude preemption related performance degradation. The effectiveness of all approaches, algorithms, and software implementations is demonstrated on real examples.

[1]  Andrew R. Pleszkun,et al.  Implementing Precise Interrupts in Pipelined Processors , 1988, IEEE Trans. Computers.

[2]  Larry L. Peterson,et al.  Implementing Atomic Sequences on Uniprocessors Using Rollforward , 1996, Softw. Pract. Exp..

[3]  Miodrag Potkonjak,et al.  Heterogeneous built-in resiliency of application specific programmable processors , 1996, ICCAD 1996.

[4]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[5]  Miodrag Potkonjak,et al.  Synthesis of application specific programmable processors , 1997, DAC.

[6]  S SohiGurindar Instruction Issue Logic for High-Performance, Interruptible, Multiple Functional Unit, Pipelined Computers , 1990 .

[7]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[8]  J. M. Rabaey,et al.  A 2.4 GOPS data-driven reconfigurable multiprocessor IC for DSP , 1995, Proceedings ISSCC '95 - International Solid-State Circuits Conference.

[10]  G.D. Hillman DSP56200: An algorithm-specific digital signal processor peripheral , 1987, Proceedings of the IEEE.

[11]  David W. Anderson,et al.  The IBM System/360 model 91: machine philosophy and instruction-handling , 1967 .

[12]  Yale N. Patt,et al.  Checkpoint Repair for High-Performance Out-of-Order Execution Machines , 1987, IEEE Transactions on Computers.

[13]  Jonathan Rose,et al.  Synthesis methods for field programmable gate arrays , 1993 .

[14]  Robert J. Baron,et al.  Computer Architecture; Case Studies , 1992 .

[15]  Daniel P. Lopresti,et al.  SPLASH: A Reconfigurable Linear Logic Array , 1990, ICPP.