Что такое кэш процессора? Почему кэш L1, L2 и L3 имеет значение?

Кэш ЦП — это крошечная временная память, расположенная на самом кристалле ЦП. Он хранит предварительно выбранные данные, которые, вероятно, потребуются процессору для быстрого доступа. Это необходимо для того, чтобы оперативная память не ограничивала процессор.

Современные процессоры обычно реализуют кэш процессора на трех уровнях: Л1, Л2и Л3. Они играют важную роль в определении производительности процессора (особенно для определенных задач, таких как игры).

Итак, давайте посмотрим, как работает кэш ЦП, почему это важно и какой объем кэша ЦП вам понадобится для ваших рабочих нагрузок.

Что делает кэш процессора

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

«Проблема» в том, что современные процессоры чрезвычайно мощны (способны выполнять миллиарды инструкций в секунду).

Например, AMD Райзен 9 3950X имеет базовую тактовую частоту 3,5 ГГц (3,5 миллиарда циклов в секунду). Он может выполнять более ста инструкций за один раз. один тактовый цикл.

Однако доступ к данным из ОЗУ может занять сотни циклов. Это много потерянных циклов, из-за которых процессор останавливается.

Если бы ЦП приходилось каждый раз обращаться к данным из ОЗУ, это создало бы серьезное узкое место и снизило бы производительность системы. Здесь в игру вступает кэш процессора.

ЦП анализирует шаблоны доступа, чтобы предсказать, какие данные и инструкции ему, скорее всего, понадобятся в следующий раз. Затем он перемещает их из ОЗУ в кэш ЦП еще до того, как они действительно понадобятся (это называется предварительная выборка).

В зависимости от уровня доступ к данным из кэша ЦП может быть более чем в сто раз быстрее, чем из ОЗУ. Таким образом, задержка процессора значительно снижается.

Кэш L1, L2 и L3

Современные процессоры реализуют 3 уровня кэша процессора для максимизации производительности. Это позволяет им достичь оптимального размера кэша, задержки и частоты обращений.

  • Л1 – самый быстрый, но самый маленький, на ядро ​​(всего 128 КБ – 2 МБ)
  • Л2 – средняя задержка и емкость, может быть на ядро ​​или совместное использование (всего 256 КБ – 32 МБ)
  • Л3 – самый медленный, но самый большой, общий (всего 1–128 МБ)

Вы можете получить точные цифры для вашего процессора онлайн или с помощью инструментов профилирования системы, таких как CPU-Z и ХВИНФО.

Статистика кэша процессора ryzen 7 5700g Статистика кэша Ryzen 7 5700G в CPU-Z и HWiNFO

На моем Райзен 7 5700Gвы можете видеть, что он разделен на Данные L1 и L1 Инструкции. По 32 КБ обоих кэшей встроено во все 8 ядер. Это означает, что общий кэш L1 составляет 512 КБ.

Поскольку кэш L1 является самым маленьким/самым быстрым уровнем памяти, ЦП сначала проверяет, находятся ли необходимые данные в L1. Если данные присутствуют, они немедленно считывают или записывают в L1. Это называется попадание в кэш.

Иногда требуемых данных нет в L1. Это называется промах в кэше. В этом случае ЦП проверяет следующий самый быстрый уровень кэша, то есть L2.

Кэш L2 больше, но медленнее по сравнению с L1. Его можно реализовать для каждого ядра или в виде общего пула. В 5700G он разделен на 8 потоков (512 КБ на ядро), что в сумме составляет 4 МБ.

Если промах кэша происходит в L2, ЦП затем проверяет L3. Это самый большой уровень кэша ЦП, но он также имеет самую высокую задержку. Например, 5700G имеет кэш-память третьего уровня объемом 16 МБ, реализованную в виде общего пула.

Если промах кэша происходит снова, ЦП проверяет ОЗУ, а затем накопитель.

Уровни кэша процессора вблизи

Прежде чем двигаться дальше, давайте посмотрим, как выглядят уровни кэша ЦП на реальном кристалле ЦП, чтобы лучше понять ситуацию.

Если вы разберете ЦП и отшлифуете нижний слой кристалла ЦП, вы сможете обнажить настоящие схемы ЦП.

Например, нижний слой i9-13900К Кристалл процессора выглядит примерно так:

снимок процессора i9 13900k Процессор Intel Core i9-13900K, снятый Фрицченсом Фрицем

Поверните изображение против часовой стрелки, чтобы крупный план стал горизонтальным. Затем сравните это с этой условной интерпретацией. Вы увидите, как именно реализованы различные уровни кэша.

процессорный кристалл i9 13900k с аннотациями Оригинальный штамп, сделанный Фрицченсом Фрицем, этикетки добавлены JmsDoug.

Проверяя данные с помощью инструментов профилирования системы, вы получите еще более четкое представление о распределении кэша ЦП.

В случае i9-13900K вы можете увидеть, как кэши L1 и L2 распределяются по P-ядрам и E-ядрам.

Статистика кэша процессора i9 13900k Распределение кэша Intel Core i9-13900K в CPU-Z

Сколько кэша процессора вам нужно

Кэш ЦП явно важен для производительности ЦП. Но что это значит для конечного пользователя? Всегда ли процессоры с более высоким кэшем лучше?

Все зависит от того, для чего вы будете использовать процессор.

При выборе процессора следует учитывать множество факторов: тактовую частоту, количество ядер, поколение процессора, архитектуру, TDP, кэш и так далее. Все они взаимосвязаны и вместе определяют производительность процессора.

Поэтому, как правило, трудно выделить один элемент, например кэш, и приписать ему производительность. Но есть исключения.

Возьмем, к примеру, игровые процессоры AMD X3D. Райзен 5800X и 5800X3D во многом похожи. Единственное отличие — немного более низкая тактовая частота, но тройной кэш L3 на 5800X3D (32 МБ против 96 МБ).

Тесты этих процессоров показывают, что производительность различается в зависимости от рабочей нагрузки.

  • В синтетических тестах и ​​задачах повышения производительности, таких как редактирование видео, дополнительный кеш не имеет значения. Это связано с тем, что частота попаданий L3 уже очень высока для последовательных данных.
  • Фактически, немного более низкая частота означает 5800X3D может работать даже хуже.
  • Но 5800X3D отлично подходит для таких задач, как игры где ЦП необходимо часто обращаться к случайным данным из L3.
  • В среднем дополнительный кэш приводит к увеличению среднего FPS на 10–15 % и 20% или более высокое улучшение 1% минимум. Это невероятные результаты, учитывая, что единственная разница — это более высокий кэш.

Еще раз повторю: не существует установленного числа для наилучшего объема кэша. Это может практически не оказать никакого влияния или иметь огромное значение в зависимости от рабочей нагрузки. Итак, это просто зависит от того, для чего вы будете использовать процессор.

Большинство потребительских процессоров имеют стандартный объем кэш-памяти ЦП, предназначенный для работы большинства людей. Какой бы процессор вы ни планировали приобрести, проверьте тесты онлайн и посмотрите, как он работает в задачах, для которых вы чаще всего будете его использовать.

Если есть аналогичные варианты с более высоким или меньшим кешем, проверьте тесты и для них. Затем решите, какой из них лучше подойдет ваши варианты использования.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *