Abstract
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.
Original language | English (US) |
---|---|
Pages (from-to) | 376-408 |
Number of pages | 33 |
Journal | ACM Transactions on Computer Systems (TOCS) |
Volume | 11 |
Issue number | 4 |
DOIs | |
State | Published - Jan 11 1993 |
Keywords
- VlIW processor
- exception detection
- exception recovery
- instruction scheduling
- instruction-level parallelism
- speculative execution
- superscalar processor
ASJC Scopus subject areas
- General Computer Science