Почему ассоциативность набора кэша в современных процессорах 8-позиционная ассоциативность набора?

Есть ли какое-то особое преимущество с 8-позиционной ассоциативностью кеша, которое я не вижу? (Также заранее извиняюсь, если это глупый вопрос.)


person mayank    schedule 12.11.2020    source источник


Ответы (1)


Обратите внимание на то, что ледяное озеро создает неровности, которые до 12 способов, 48 КБ (добавление дополнительных способов в каждый набор, та же индексация). В 8-полосном режиме нет ничего волшебного. Предыдущие разработки AMD, такие как K8 и Bulldozer, экспериментировали с различной геометрией L1d и L1i, например, 64k / 2-way. (Однако менее успешно, чем Intel 16k / 4-way, чем 32k / 8-way.)

Для кэша L1d / L1i 8-сторонний позволяет кэшу 32 КБ быть VIPT без псевдонима (см. это), учитывая 4k страниц x86. 32kiB - это хорошая золотая середина со степенью двойки, которая достаточно мала, чтобы быть быстрой, но достаточно большой и достаточно ассоциативной для хорошей скорости попадания, а 8-way - это минимальная ассоциативность, если вы хотите избежать дополнительных уловок, чтобы избежать наложения спектров.

См. Почему размер кэша L1 меньше, чем размер кеша L2 в большинстве процессоров? подробнее о том, почему у нас есть иерархии кешей (потому что невозможно построить огромный кеш размером L2 или L3 с задержкой и количеством портов чтения / записи, которые нам нужны / нужны для L1, и попытка была бы плохим способом потратить ваш бюджет мощности). См. Также Какой метод сопоставления кэша используется в Intel процессор Core i7?


8-полосный тоже достаточно ассоциативен, например большинство циклов над массивами имеют менее 8 общих входных и выходных потоков (которые будут псевдонимами друг друга в L1d, если они исходят из одних и тех же смещений в массивах, выровненных по страницам), и известная проблема - иметь больше. (И некоторые формы наложения 4k различных доступов также являются известной проблемой, которую программное обеспечение в основном пытается избежать.)

Также обратите внимание, что кэш 2-го уровня SKL 256 КБ является только 4-сторонним ассоциативным по сравнению с 1-мегабайтным 16-канальным кэшем SKX L2. (Кэш L2 Skylake улучшен за счет снижения ассоциативности?). И кеши L3 обычно более чем 8-сторонние ассоциативные, но я думаю, вы говорите о кешах L1d / L1i.

person Peter Cordes    schedule 12.11.2020
comment
Большое тебе спасибо. Теперь я это понимаю. - person mayank; 17.11.2020