Published Online: 15 JAN 2008
Copyright © 2007 by John Wiley & Sons, Inc.
Wiley Encyclopedia of Computer Science and Engineering
How to Cite
August, D. I. and Vachharajani, N. 2008. Speculation. Wiley Encyclopedia of Computer Science and Engineering. .
- Published Online: 15 JAN 2008
To execute instructions in microprocessors efficiently, speculation is often employed to guess information that is not yet available. Within the processor, execution continues to assume the speculated value is correct. The true value, however, is being computed in parallel, and when the computation is complete, it is compared against the speculative value. If the guess was correct, then two dependent parts of the program can execute in parallel. On the other hand, if the guess was wrong (misspeculation), the processor must take appropriate steps to recover, and the dependent program parts are executed serially, often with additional delay and with a misspeculation penalty. Speculation can be categorized into three groups: control speculation, value speculation, and data access speculation.
- control speculation;
- value speculation;
- data access speculation;
- branch prediction;