На какой уровень кеша извлекается PREFETCHT2?
Документация для PREFETCHT2
, который является предварительной выборкой с подсказкой T2, говорит (выделение мое):
T0 (временные данные) - предварительная выборка данных на всех уровнях иерархии кэша.
T1 (временные данные относительно пропусков кэша первого уровня) - предварительная выборка данных в кэш уровня 2 и выше.
T2 (временные данные относительно пропусков кэша второго уровня) - предварительная выборка данных в кэш уровня 3 и выше или выбор, зависящий от реализации.
NTA (невременные данные по всем уровням кэша) - предварительная загрузка данных во временную структуру кэша и в местоположение, близкое к процессору, минимизируя загрязнение кэша.
Более ранняя версия документа имела идентичный текст для T1 и T2, указывая, что они сделали то же самое.
Итак, на современных процессорах Intel и AMD, действительно ли T2 попадает в L3 (а не в L2)? Или в игру вступает "выбор, зависящий от реализации"?