corei3是否通过硬件预取器支持硬件预取?如果是,我如何启用/禁用它?
发布于 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位控制预取行为:
启用和禁用预取器的工具在:How do I programmatically disable hardware prefetching?中讨论。
发布于 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的其他位被保留。。
https://stackoverflow.com/questions/6662140
复制相似问题