Glossary

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.