加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 以编程方式禁用AMD系统上的硬件预取

发布时间:2020-12-14 00:59:14 所属栏目:Linux 来源:网络整理
导读:有没有办法在AMD系统上以编程方式禁用硬件预取器,就像在 this topic中讨论的英特尔系统一样 专门针对AMD Opteron Barcelona或Istanbul架构. 解决方法 所有AMD系列10h处理器(包括巴塞罗那和伊斯坦布尔)都有两个不同的硬件预取器. 第一个是传统的数据缓存预取
有没有办法在AMD系统上以编程方式禁用硬件预取器,就像在 this topic中讨论的英特尔系统一样

专门针对AMD Opteron Barcelona或Istanbul架构.

解决方法

所有AMD系列10h处理器(包括巴塞罗那和伊斯坦布尔)都有两个不同的硬件预取器.

>第一个是传统的数据缓存预取程序,它可以识别连续的缓存行访问升序或降序流.可以通过将MSRC001_1022的第13位设置为“1”来禁用它.
>其他硬件预取器是“内存控制器预取器”.这是一个更通用的预取器,但仅在内存控制器内运行(即,它不会将预取数据发送到核心 – 它只是使内存控制器在核心请求时更快地返回它).

>此预取器的主要控制是PCI配置空间,功能2,偏移11Ch,功能2中的附加控制,巴塞罗那后处理器的偏移1B0h.
>通过/ dev / mem设备驱动程序更新PCI配置空间中的值,我成功地在“实时”Barcelona系统上禁用和重新启用此预取器. (不要在家里试试!)
>内存控制器预取程序的活动由硬件性能计数器事件1F0h显示,UnitMasks 02和04.
>请注意,上海/伊斯坦布尔/ MagnyCours的内存控制器预取器“连贯”运行(意味着缓存一致性探测操作与内存预取一起发布),而巴塞罗那的内存控制器预取器不发出缓存一致性操作(它们不是’ t发出,直到核心对高速缓存行的请求到达内存控制器).

以上内容记录在BIOS和Kernel Developer’s Guide for Family 10h处理器:http://support.amd.com/us/Processor_TechDocs/31116.pdf中

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读