【发布时间】:2013-01-13 19:00:56
【问题描述】:
Last Branch Record 是指寄存器对 (MSR) 的集合,这些寄存器对 (MSR) 存储与最近执行的分支相关的源地址和目标地址。它们在 Intel Core 2、Intel Xeon 和 Intel Atom 处理器系列中均受支持。 http://css.csail.mit.edu/6.858/2012/readings/ia32/ia32-3b.pdf 文档有更多信息,如果您有兴趣。
类似 LBR 的功能是否仅在 Intel 微处理器中可用,或者类似的功能是否存在于 ARM 等中?
【问题讨论】:
-
LBR 在这种情况下是一种分析/调试机制,对吗?这不是内部/常规分支预测的某些方面吗?
-
是的,我不认为它是分支预测机制的一部分。它只是最近使用的分支队列。
-
ARM 在某些处理器上也具有跟踪功能。 infocenter.arm.com/help/index.jsp?topic=/…
-
@auselen 当您的代码将
jmp带到一个无意义的地址和/或采用call并在它崩溃时弄乱了堆栈,您通常无法判断是什么导致它.最后一个分支功能可让您立即找到它。
标签: x86 arm intel cpu-architecture cpu-registers