Процессоры 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 отключен
Инструменты для включения и отключения предварительной выборки обсуждаются в:
Как программно отключить аппаратную предварительную выборку?