Кэши памяти - размеры отдельных уровней

278
Tyler

Мне было просто интересно, когда такая программа, как CPU-Z или CPU-ID, определяет уровни вашего кэша и говорит, например:

Размер D1-кэша L1: 16 КБ "x 8" (ассоциативный набор с 4 путями) Размер I-кэша L1: 64 КБ "x 4" (ассоциативный набор с 2 путями)

На что ссылаются x 8 и x 4? Пожалуйста, предоставьте немного фона, если это возможно. У меня есть несколько мыслей о том, что это могло бы означать, но я не хочу продолжать оставаться в курсе.

Мне интересно, как я уже описываю различные уровни кэша моего процессора в статье.

Для тех, кто ценит визуальные эффекты, вот изображения программы: http://image.prntscr.com/image/b6d216efd51449efb7da115cea064824.png http://image.prntscr.com/image/ae3a164e2cbb48a1a192c445d6179c1c.png

Большое спасибо!

1
Вы спрашиваете о различных способах их описания или ищете авторитетный ответ? music2myear 7 лет назад 0

1 ответ на вопрос

0
misha256

Возьмем для примера процессор AMD FX-8350 с 8 ядрами.

«Кэш» может быть выделен для одного ядра или распределен между ядрами.

Когда CPU-Z говорит, что x8это означает, что существует 8 таких кешей, то есть каждое ядро ​​получает кеш для себя. x4означает 4 кеша, поэтому каждый из этих кешей распределяется между 2 ядрами.

Если бы была x2запись, это означало бы 2 кэша, каждый из которых был разделен между 4 ядрами. И кэш L3 эффективно x1(CPU-Z просто оставляет это пустым), так что этот кеш распределяется между всеми ядрами. Я надеюсь это имеет смысл. AMD говорит это так :

  • 16-килобайтный 4-сторонний ассоциативный кэш данных L1 с защитой от записи и ECC на ядро
  • Кэш инструкций L1 с 64-кбайтной ассоциативной защитой четности, разделенный между двумя ядрами
  • 1024-килобайтный 16-канальный ассоциативный ECC-защищенный кэш L2, разделяемый между двумя ядрами
  • Максимальный 64-полосный ассоциативный кэш-память объемом 8192 КБ (8 МБ), разделяемая между всеми ядрами на узле

Похожие вопросы