Sentinel scheduling: A model for compiler-controlled speculative execution
SA Mahlke, WY Chen, RA Bringmann… - ACM Transactions on …, 1993 - dl.acm.org
ACM Transactions on Computer Systems (TOCS), 1993•dl.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 …
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.