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