在里面 英特尔手册,提到了许多性能事件,这些事件的描述类似于“错误预测的分支指令已经退役”。到底是什么 retired
在这方面意味着什么?
请注意,我已经看过英特尔了 绩效分析指南,其中指出“退休”具有非常精确的含义(第8页),参考第7页的图表,但我认为我缺乏背景知识来准确理解其含义 Retirement / Writeback
。这个过程究竟是什么?它涉及什么?
在里面 英特尔手册,提到了许多性能事件,这些事件的描述类似于“错误预测的分支指令已经退役”。到底是什么 retired
在这方面意味着什么?
请注意,我已经看过英特尔了 绩效分析指南,其中指出“退休”具有非常精确的含义(第8页),参考第7页的图表,但我认为我缺乏背景知识来准确理解其含义 Retirement / Writeback
。这个过程究竟是什么?它涉及什么?
在上下文中“退休”是指:指令(微操作,μop)离开“退休单位”。这意味着 乱序 CPU管道最终执行指令,其结果正确且可见 建筑国家 好像他们按顺序执行。在性能上下文中,这是您应该检查的数字,以计算实际执行的指令数(具有有用的输出)。如果您的上下文是节能的,您可以检查在OOO管道(“ISSUED”计数器或“EXECUTED”计数器)中开始执行的指令数,并将该数字与退役操作的计数进行比较;高差异表明CPU做了很多无用的工作并且使用了过多的功率。
退休单位的简短说明如下: http://users.utcluj.ro/~baruch/book_ssce/SSCE-Intel-Pipeline.pdf
5.4.7.4。退休单位
退出单元将推测性执行的微操作的结果写入用户可见的寄存器,并从重新排序缓冲区中移除微操作。与保留站一样,报废单元不断检查重排序缓冲区中的微操作状态,查找已执行的并且不再与指令池中的其他微操作有任何依赖关系。然后它按照原始程序顺序退出已完成的微操作。
退休单位可以在每个时钟周期退休三次微操作(/ < - 这可能已过时/)。在退出微操作时,它将结果写入处理器的寄存器文件和/或存储器。在写完结果后,从重新排序缓冲区中移除微操作。
有关单位的更多详细信息在这里(由Agner Fog提供) http://www.agner.org/optimize/microarchitecture.pdf 章节为您的CPU退休