Sentinel scheduling: A model for compiler-controlled speculative execution

SA Mahlke, WY Chen, RA Bringmann… - ACM Transactions on …, 1993 - dl.acm.org
SA Mahlke, WY Chen, RA Bringmann, RE Hank, WMW Hwu, BR Rau, MS Schlansker
ACM Transactions on Computer Systems (TOCS), 1993dl.acm.org
Speculative execution is an important source of parallelism for VLIW and superscalar
processors. A serious challenge with compiler-controlled speculative execution is to
efficiently handle exceptions for speculative instructions. In this article, a set of architectural
features and compile-time scheduling support collectively referred to as sentinel scheduling
is introduced. Sentinel scheduling provides an effective framework for both compiler-
controlled speculative execution and exception handling. All program exceptions are …
Speculative execution is an important source of parallelism for VLIW and superscalar processors. A serious challenge with compiler-controlled speculative execution is to efficiently handle exceptions for speculative instructions. In this article, a set of architectural features and compile-time scheduling support collectively referred to as sentinel scheduling is introduced. Sentinel scheduling provides an effective framework for both compiler-controlled speculative execution and exception handling. All program exceptions are accurately detected and reported in a timely manner with sentinel scheduling. Recovery from exceptions is also ensured with the model. Experimental results show the effectiveness of sentinel scheduling for exploiting instruction-level parallelism and overhead associated with exception handling.
ACM Digital Library