Micropreemption synthesis: An enabling mechanism for multitask VLSI systems

Kyosun Kim, R. Karri, M. Potkonjak

Research output: Contribution to journalArticle

Abstract

Task preemption is a critical enabling mechanism in multitask very large scale integration (VLSI) systems. On preemption, data in the register files must be preserved 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, techniques and algorithms to incorporate micropreemption constraints during multitask VLSI system synthesis are presented. Specifically, algorithms to insert and refine preemption points in scheduled task graphs subject to preemption latency constraints, 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, and a controller-based scheme to preclude the preemption-related performance degradation by: 1) partitioning the states of a task into critical sections; 2) executing the critical sections atomically; and 3) preserving atomicity by rolling forward to the end of the critical sections on preemption have been developed. The effectiveness of all approaches, algorithms, and software implementations is demonstrated on real examples. Validation of all the results is complete in the sense that functional simulation is conducted to complete layout implementation.

Original languageEnglish (US)
Pages (from-to)19-30
Number of pages12
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume25
Issue number1
DOIs
StatePublished - Jan 1 2006

    Fingerprint

Keywords

  • Clock cycles
  • Context switch overhead
  • Controller-based scheme
  • Micropreemption synthesis
  • Multitask VLSI system synthesis
  • Multitask very large scale integration systems
  • Preemption latency constraints
  • Register files
  • Task graphs
  • Task preemption

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering

Cite this