推测执行(speculative execution),理学-计算机科学技术-计算机体系结构-微体系结构,当处理器在执行依赖于长延迟事件的任务时,在结果未知的情况下推测结果并继续执行。通常推测执行包括转移预测和高速缓存预取等。当推测正确时,推测执行可显著提高性能;当推测错误时,需要有完备的取消机制防止执行流出错,并会带来一定的额外开销。①推测预测。转移指令(条件转移、寄存器间接转移)的目标地址需要在执行阶段才能确定,当取指部件遇到转移指令时,如果等其执行完才继续取指会导致指令断流,严重影响性能。在取指部件对转移指令的目标地址进行预测,引入推测执行,可保证指令流的供应。当推测正确时,流水线正常工作;当推测错误时,需要取消推测执行的指令对流水线产生的修改,导致功耗的浪费和潜在的性能损失。②高速缓存预取。从内存读取数据有非常长的访存延迟,因此通过推测后续访存的地址进行预取可有效掩盖访存延迟。但当推测错误时,高速缓存预取虽然不会导致错误,但对高速缓存产生了污染,可能导致性能的降低。实现推测执行的前提是要有错误取消机制,处理器保证错误的推测不影响执行的正确性。