Аппаратная предварительная выборка в corei3
Поддерживает ли corei3 аппаратную предварительную выборку с помощью аппаратной предварительной выборки? Если да, как мне включить / отключить его?
2 ответа
Процессоры Intel Core i3 определенно поддерживают аппаратную предварительную выборку, хотя в документации Intel, как правило, очень мало деталей. Фирменное наименование "Core i3" относится как к процессорам на базе Nehalem, так и к процессорам Sandy Bridge, поэтому вам нужно проверить конкретный номер модели, чтобы узнать, с какой вы имеете дело.
Чтобы усложнить задачу, новые процессоры Intel (Nehalem/Westmere/Sandy Bridge) имеют несколько различных аппаратных предварительных загрузчиков - по крайней мере три упомянуты в Руководстве разработчика программного обеспечения для архитектуры Intel, том 3B (публикация 253669). В таблице 30-25 "Определение поля типа запроса MSR_OFFCORE_RSP_x" упоминаются "Предварительная выборка DCU" и "Предварительная выборка L2". Они также упоминаются в Приложении A-2, Таблица A-2, где описываются события счетчика производительности для процессоров Core i7, i5 и i3. Событие 4EH в Таблице A-2 упоминает, что существуют как "предварительные сборщики H1-стримера, так и IP-протоколы (IPP)". На эту тему есть еще несколько слов в соответствующей записи (для события 4EH) в Приложении A.4, Таблица A-6, которая описывает счетчики производительности для процессоров Westmere.
Приложение B-2, таблица B-3 в том же документе обсуждает MSR (регистры, специфичные для модели) для микроархитектуры Intel Core, но похоже, что многие из них переносятся в более новые версии. Регистр 1A0h показывает, что 4 бита управляют поведением предварительной выборки:
- Бит 9: Отключение аппаратного предварительного извлечения
- Бит 19: Отключение предварительной выборки в соседней строке кэша
- Бит 37: предварительный выбор DCU отключен
- Бит 39: IP Prefetcher отключен
Инструменты для включения и отключения предварительной выборки обсуждаются в: Как программно отключить аппаратную предварительную выборку?
Да, аппаратный prefetcher существует в машине Core i3/i7, но вы не можете отключить их в i3/i7. Два способа отключить предварительную выборку (1), изменив бит msr (2) в BIOS. Intel перестала поддерживать оба способа отключения в i3/i7.
Ссылка из комментария: https://software.intel.com/en-us/articles/disclosure-of-hw-prefetcher-control-on-some-intel-processors Раскрытие информации о контроллере предварительной выборки H/W на некоторых процессорах Intel - Vish Вишванатан (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 зарезервированы.