Describes many advances in speculative execution techniques. This book covers research projects as well as commercial implementations that demonstrate the value of this latency-hiding technique. It reviews control speculation techniques that use instruction cache prefetching, branch prediction and predication, and multi-path execution.