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