Hardware
speculation
·Hardware-based
speculation combines three key ideas: dynamic branch prediction to choose which
instructions to execute, speculation to allow the execution of instructions
before the control dependences are resolved and dynamic scheduling to deal with
the scheduling of different combinations of basic blocks.
·Hardware-based
speculation follows the predicted flow of data values to choose when to execute
instructions. This method of executing programs is essentially a data-flow
execution: operations execute as soon as their operands are available.
·The
approach is implemented in a number of processors (PowerPC 603/604/G3/G4, MIPS
R10000/R12000, Intel Pentium II/III/ 4, Alpha 21264, and AMD K5/K6/Athlon), is
to implement speculative execution based on Tomasulo’s algorithm.
·The
key idea behind implementing speculation is to allow instructions to execute out
of order but to force them to commit in order and to prevent any
irrevocable action until an instruction commits.
·In
the simple single-issue five-stage pipeline we could ensure that instructions
committed in order, and only after any exceptions for that instruction had been
detected, simply by moving writes to the end of the pipeline.
No comments:
Post a Comment