【计算机系统结构】 Instructions Retired 退役指令

退役指令是一个重要的硬件性能事件,它表示多少个指令已经完成执行。

现代处理器执行着比程序流所需多很多的指令。称为猜测执行(speculative execution)。指令通过程序执行流的完成来证明其是确实需要的。

在核心的乱序执行流水线,离开退役单元意味着指令是被最后执行,他们的结果在系统结构上而言是正确的可见的,就好像它们按顺序执行一样。如下图:
【计算机系统结构】 Instructions Retired 退役指令

只有指令或uops 在正确的执行路径上,可见寄存器才有退役与写回操作。在识别出错误预测之后,刷新错误预测路径上的指令和uop,然后处理正确的路径。正确执行路径的指令退役可被处理,当满足如下2个条件:

  1. 与要退役的指令相关联的uop已经完成,允许整个指令的退役,或者在生成大量uop的指令的情况下,足以填充退役窗口。
  2. 较老的指令和他们的正确地预测路径的uops已经完成。

参考
Instructions Retired