基于英特尔微架构的英特尔处理器应支持缓存硬件预取。
我正在使用 Q8200,但在 BIOS 中找不到任何选项来启用/禁用预取器。另外我修改了 MSR 0x1A0但它似乎对性能没有影响(我通过内存基准测试来测量)。
因此,我怀疑 Q8200 没有任何缓存硬件预取器。此外,在Q8000系列数据表从未提及缓存预取器。
有人可以证实或否认我的疑问吗?
答案1
查看该微架构的性能计数器事件(第 19.10 章英特尔手册 3)您可以找到一个名为L2_LD。(核心、预取、缓存行状态)内容是
此事件统计来自 L1 数据缓存的 L2 缓存读取请求,以及L2 预取器。事件可以计算发生次数:
• 对于此核心或两个核心。
• 由于需求请求和L2 硬件预取 请求一起或单独。
• 在不同 MESI 状态下访问缓存行。
L2 缓存是约克菲尔德-6M(这是实现核心微架构的核心)。
第 35.1 章还确认了 MSRIA32_MISC_ENABLE(1a0h)有位 9 用于禁用预取器。
因此预取器就在那里。
该数据表是为电气工程师准备的,它没有描述 CPU 的功能,因为它太复杂了,值得将其分离到第二卷中。
对预取器等内部 CPU 行为进行基准测试非常棘手。预取器仅由特定模式触发。
您最好通过性能事件来测量预取器引起的 L2 缓存请求。
如何实现这一点超出了本答案的范围,但你可以看看性能工具。