gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:31:21 26 4
gpt4 key购买 nike

有没有一种方法可以像在 Intel 系统中那样以编程方式禁用 AMD 系统上的硬件预取器,如 this topic 中所述

专用于 AMD Opteron Barcelona 或 Istanbul 架构。

最佳答案

所有 AMD 系列 10h 处理器(包括 Barcelona 和 Istanbul)都有两个不同的硬件预取器。

  1. 第一个是传统的数据缓存预取器,它识别上升或下降缓存行访问的连续流。可以通过将 MSRC001_1022 的第 13 位设置为“1”来禁用它。

  2. 另一个硬件预取器是“内存 Controller 预取器”。这是一个更通用的预取器,但仅在内存 Controller 内运行(即,它不会将预取数据发送到内核——它只是使内存 Controller 能够在内核请求时更快地返回它)。

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

上述内容记录在 BIOS 和内核开发人员指南中,适用于 10h 系列处理器:http://support.amd.com/us/Processor_TechDocs/31116.pdf

关于linux - 以编程方式禁用 AMD 系统上的硬件预取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2275587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com