期刊:Wiley Encyclopedia of Computer Science and Engineering日期:2008-01-15
标识
DOI:10.1002/9780470050118.ecse411
摘要
Abstract To execute instructions in microprocessors efficiently,speculationis 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 twodependentparts 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 amisspeculation penalty. Speculation can be categorized into three groups: control speculation, value speculation, and data access speculation.