c - 如何使用调试器 (gdb) 查看进程的分支预测器表?

标签 c gdb processor branch-prediction

我知道大多数现代处理器都维护一个分支预测表 (BPT)。我已经阅读了 gdb 文档,但找不到任何可以提供所需结果的命令。基于此,我有几个问题:

是否有 gdb 命令(或其他方式)来获取进程的 BPT 信息?

如果没有,是否可以查看进程的 BPT?

最佳答案

is it possible to view a process's BPT?

不:至少在 Intel 处理器上,它隐藏在处理器内部,不会以任何方式暴露给用户空间或内核。它甚至没有记录,构成“秘方”。

您可以通过执行 careful experiments and observing various performance counters 收集有关分支预测器的一些详细信息,但您不能直接检查它。

关于c - 如何使用调试器 (gdb) 查看进程的分支预测器表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74031632/

相关文章:

c - 为什么 msgrcv() 将 msqid 设置为 0?

c++ - Arduino 上运行时速度汇编与 C/C++ 的差异

c - size_t 的正确定义是什么?

c - 显示输入文件中的项目

c++ - 使用 gdb 在 Qt Creator 中调试时如何避免输入库的源文件?

debugging - 为什么在 X86 上使用单步指令?

cpu - 指令集随机化的大致工作原理

c - 64 位 Ubuntu 上的利用

android - Renderscript 不工作的设备列表

c - 使用周期计数计算吞吐量