Speculative execution
Beginner
Doing work early based on a guess, and throwing it away if the guess was wrong.
Novice
Executing instructions before it is certain they should run, usually past a predicted branch. If the prediction was right, the results are kept; if wrong, they are discarded and execution restarts on the correct path.
Expert
Architectural state is protected by in-order commit, but microarchitectural state (caches, predictors, buffers) changed by transient instructions is not rolled back, which Spectre and Meltdown exploit.
Explained in Branch prediction and out-of-order execution (Architectures).
See also: Branch prediction, Reorder buffer (ROB), Spectre (and Meltdown).