В 2014 году Intel опубликовала информацию об отключении ч / б предварительной выборки с 0x1a4 мс (1a4 мс) для Nehalem, Westmere, Sandy Bridge, Ivy Bridge, Haswell, Broadwell (и, возможно, более новых ядер). Ссылка была найдена bholanath здесь :
https://software.intel.com/en-us/articles/disclosure-of-hw-prefetcher-control-on-some-intel-processors Раскрытие управления предварительным сборщиком H / W на некоторых процессорах Intel - Виш Вишванатан (Intel), 24 сентября 2014 г.
В этой статье раскрывается настройка MSR, которая может использоваться для управления различными ч / б-устройствами предварительной выборки, доступными на процессорах Intel на основе следующих микроархитектур: Nehalem, Westmere, Sandy Bridge, Ivy Bridge, Haswell и Broadwell.
Вышеупомянутые процессоры поддерживают 4 типа ч / б предварительных выборок для предварительной выборки данных. Имеется 2 средства предварительной выборки, связанные с кэшем данных L1 (также известный как DCU предварительный модуль DCU, предварительный модуль IP DCU ) и 2 средства предварительной выборки, связанные с кэшем L2 (аппаратный модуль предварительного выбора L2, средство предварительной выборки смежной линии L2) .
На каждом ядре имеется регистр, зависящий от модели (MSR) с адресом 0x1A4, который можно использовать для управления этими 4 устройствами предварительной выборки. Биты 0-3 в этом регистре могут использоваться для включения или отключения этих предварительных сборщиков. Другие биты этого MSR зарезервированы.
Они локальны для каждого ядра процессора и могут быть изменены пользователем root с помощью драйвера ядра msr
linux. Они используются Intel для измерения задержки памяти в NUMA с помощью инструмента Intel MLC:
Например, средство Intel Memory Latency Checker (http://www.intel.com/software/mlc)) изменяет средства предварительной выборки посредством записи в MSR 0x1a4 для измерения точных задержек и восстанавливает их в исходное состояние при выходе.