Abstract
Simultaneous Speculation Scheduling (S3) is a combined compiler and architecture technique to control multiple path execution. It can be used for dual path branch speculation in case of unpredictable branches and for multiple path speculative execution of loop iterations in case of loop-carried dependences that make parallel execution otherwise impossible. We apply S3 In situations where purely static techniques cannot prove data independence. S3 can be seen as a cost-effective alternative to purely dynamic speculation techniques. We explain the S3 technique and discuss the requirements on possible target architectures. We further compare S3 to other speculation techniques.
Index Terms
- A combined compiler and architecture technique to control multithreaded execution of branches and loop iterations
Recommendations
An evaluation of speculative instruction execution on simultaneous multithreaded processors
Modern superscalar processors rely heavily on speculative execution for performance. For example, our measurements show that on a 6-issue superscalar, 93% of committed instructions for SPECINT95 are speculative. Without speculation, processor resources ...
The Superthreaded Processor Architecture
The common single-threaded execution model limits processors to exploiting only the relatively small amount of instruction-level parallelism available in application programs. The superthreaded processor, on the other hand, is a concurrent multithreaded ...
Comments