TY - JOUR
T1 - Micropreemption synthesis
T2 - An enabling mechanism for multitask VLSI systems
AU - Kim, Kyosun
AU - Karri, R.
AU - Potkonjak, M.
N1 - Funding Information:
Manuscript received September 3, 2004; revised January 3, 2005. This work was in part supported by the Korea Science and Engineering Foundation (KOSEF) through the Multimedia Research Center at University of Incheon. This paper was recommended by Associate Editor R. Camposano. K. Kim is with the Department of Electronic Engineering, University of Incheon, Incheon 402-749, South Korea (e-mail: [email protected]). R. Karri is with the Electrical and Computer Engineering Department, Polytechnic University, Brooklyn, NY 11201 USA (e-mail: ramesh@india. poly.edu). M. Potkonjak is with the Department of Computer Science, University of California, Los Angeles, CA 90095 USA (e-mail: [email protected]). Digital Object Identifier 10.1109/TCAD.2005.852668
PY - 2006/1
Y1 - 2006/1
N2 - 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.
AB - 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.
KW - Clock cycles
KW - Context switch overhead
KW - Controller-based scheme
KW - Micropreemption synthesis
KW - Multitask VLSI system synthesis
KW - Multitask very large scale integration systems
KW - Preemption latency constraints
KW - Register files
KW - Task graphs
KW - Task preemption
UR - http://www.scopus.com/inward/record.url?scp=31344477588&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=31344477588&partnerID=8YFLogxK
U2 - 10.1109/TCAD.2005.852668
DO - 10.1109/TCAD.2005.852668
M3 - Article
AN - SCOPUS:31344477588
SN - 0278-0070
VL - 25
SP - 19
EP - 30
JO - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
JF - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
IS - 1
ER -