如何在Atom N270处理器中禁用预取器

时间:2016-04-13 19:54:53

标签: performance testing linux-kernel linux-device-driver processor

我正在尝试使用Atom处理器(N270)在我的系统中禁用硬件预取。

我按照How do I programatically disable hardware prefetching in core2duo链接关注该方法?

我能够执行,

./rdmsr 0x1a0  
366b52488

然而,这会给出错误消息

./wrmsr -p0 0x1a0 0x366d52688
wrmsr: Cpu 0 can't set MSR from 0x1a0 to 0x366d52688

虽然我能够设置bit-0和bit-3,但是不允许修改其他位。

./wrmsr -p0 0x1a0 0x366b52489

根据Nehalem,Westmere,Sandy Bridge,Ivy Bridge,Haswell和Broadwell的链接disable prefetcher in i3/i7硬件预取器,可以通过MSR在0x1a4地址禁用。

在Atom处理器中,不允许读取0x1a4。

./rdmsr 0x1a4

rdmsr: Cpu 0 can't read MSR from 0x000001a4

我想知道如何可能没有与如何在Atom处理器中禁用硬件预取器相关的信息 虽然Atom N270和Core2duo处理器是在同一年(2008年)发布的,但英特尔公布了如何禁用Core2Duo中的硬件预取器。

如何在Atom处理器中禁用prefetcher的任何文档链接都会有很大帮助?提前谢谢你。

1 个答案:

答案 0 :(得分:2)

查找此类信息的唯一可靠来源是英特尔架构软件开发人员手册。有一整章致力于MSR(在最新版本中是第35章)。

  1. 您找到的0x1a4或0x1a0 MSR地址取决于机器(这就是它被称为模型特定寄存器的原因),这意味着它们可能仅在某些型号上可用,或者可能在将来的型号中删除。
  2. 如果您选择“在45 NM和32NMINTEL®ATOMTM处理器系列中的MSRS”这一章,它与您的Atom N270相匹配。您将无法找到与预取器设置相关的任何MSR。所以它意味着在官方的英特尔CPU版本中它不可用(虽然在某些工程样本中可能会找到它)。
  3. 可能有两个原因导致它不可用,或者它不是非常需要的功能,因此删除它可以节省一些硅门;或者可能是因为英特尔认为这个功能最好是默认的,不能向公众配置(受供应商或用户滥用,导致在某些情况下性能不佳)。
  4. BTW,有关0x1a4 MSR地址的信息可以在IA SDM第35.5章和第35.2章中的0x1a0中找到