首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >corei3中的硬件预取

corei3中的硬件预取
EN

Stack Overflow用户
提问于 2011-07-12 09:38:12
回答 2查看 2.4K关注 0票数 3

corei3是否通过硬件预取器支持硬件预取?如果是,我如何启用/禁用它?

EN

回答 2

Stack Overflow用户

发布于 2012-03-12 19:42:33

英特尔核心i3处理器绝对支持硬件预取,尽管英特尔的文档在细节方面往往很薄弱。品牌名称“核心i3”指的是基于"Nehalem“的处理器和基于"Sandy”的处理器,因此您必须检查特定的型号才能知道您正在处理的是哪一个。

为了使事情变得更复杂,新的英特尔处理器(Nehalem/Westmere/Sandy )有几个不同的硬件预取器--至少有三个在英特尔架构软件开发人员手册第3B卷(发布253669)中提到。表30-25 "MSR_OFFCORE_RSP_x请求类型字段定义“提到"DCU预取”和"L2预取器“。这些也在附录A-2表A2中提到,表A-2描述了核心i7、i5和i3处理器的性能计数器事件。表A-2中的事件4EH提到了"L1流线器和基于IP的HW预取器“。在附录A.4,表A-6中相应的条目(对于事件4EH)中还有一些关于这个主题的单词,表A-6描述了Westmere处理器的性能计数器。

附录B-2,表B-3在同一文档中讨论了用于Intel Core微体系结构的MSRs (模型专用寄存器),但看起来其中许多都进入了较新的版本。寄存器1A0h显示4位控制预取行为:

  • 位9:硬件预取器禁用
  • 位19:相邻缓存线预取禁用
  • 位37: DCU预取器禁用
  • 位39: IP预取器禁用

启用和禁用预取器的工具在:How do I programmatically disable hardware prefetching?中讨论。

票数 6
EN

Stack Overflow用户

发布于 2013-10-17 00:17:52

是的,在Corei3/i7机器中确实存在硬件预取程序,但是不能在i3/i7中禁用它们。通过bios更改msr位(2)来禁用预取(1)的两种方法。英特尔不再支持i3/i7中的两种禁用方式。

来自评论的链接:https://software.intel.com/en-us/articles/disclosure-of-hw-prefetcher-control-on-some-intel-processors披露了一些英特尔处理器H/W预取器控制信息- Viswanathan (英特尔),2014年9月24日

本文公开了一种基于Nehalem、Westmere、Sandy、Ivy Bridge、Haswell和Broadwell等微体系结构的可用于控制英特尔处理器上可用的各种h/w预取器的MSR设置。

上面提到的处理器支持4种类型的h/w预取器来预取数据。有两个与数据缓存相关的预取器(也称为DCU预取器、DCU IP预取器)和两个与L2缓存相关的预取器(L2硬件预取器、L2相邻缓存线预取器)。

每个核心上都有一个特定于模型的寄存器(MSR),地址为0x1A4,可以用来控制这4个预取器。此寄存器中的位0-3可用于启用或禁用这些预取器。此MSR的其他位被保留。。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6662140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档