Кэш-память — определение, типы, как работает

2017

Гайд по кэш-памяти процессора (CPU кэш): L1, L2, L3. Рассмотрим, в чем разница между кэшем и оперативной памятью. Узнаем, какой объем кэша процессора нужен для работы и гейминга. Познакомимся с технологией AMD 3D V-Cache. Разберемся зачем процессорам Intel в будущем понадобится кэш L4. Научимся проверять объем кэш-памяти в ОС Windows и Linux.

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

  1. кэш-память;
  2. первичная (оперативная) память — ОЗУ, RAM;
  3. вторичная память — накопители, в том числе жесткие (HDD) и твердотельные (SSD) диски, флешки.

Чем кэш процессора отличается от ОЗУ и накопителя

В оперативной памяти хранятся только те данные и инструкции, которые компьютер обрабатывает в данный момент. При отключении питания данные сбрасываются. Вторичную память также называют внешней, она применяется для постоянного хранения информации. Емкость накопителя обычно заметно больше объема ОЗУ: в 10—100 раз. Оперативная память быстрее, но стоит дороже. Поэтому нужен диск большой емкости по более доступной цене.

Кэш-память — самый высокоскоростной тип полупроводниковой памяти, который еще больше ускоряет обработку данных центральным процессором (ЦП). Работает как буфер между оперативной памятью и ЦП. Меньше по объему, но быстрее, чем ОЗУ. Используется для хранения тех данных и программ, которые очень часто требуются центральному процессору. Сегменты данных и программы передаются в кэш-память с диска с помощью операционной системы, откуда их сможет быстро получить ЦП. Если процессор получает данные или инструкции из кэш-памяти, ему не требуется доступ к ОЗУ и производительность компьютера повышается.

Кэш-попадания и промахи

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

Какие типы кэш-памяти используются в процессорах

Кэш-память подразделяется на уровни: чем меньше цифра после «L» в спецификациях — тем ближе данная память к процессору.

Как работает кэш процессора

Кэш процессора нередко называют сверхоперативной памятью. Данные передаются из ОЗУ в кэш L3 (самый объемный и самый медленный), затем в L2 и, наконец, в L1. Когда процессор ищет данные для выполнения операции, то сначала пытается найти их в кэше 1-го кровня. Если не находит, обращается к L2, а затем в L3. Рассмотрим особенности каждого уровня кэш памяти.

Кэш L1 — первого уровня

Кэш первого уровня называют также кэш-памятью 1-го уровня, первичной кэш-памятью или Level 1 Cache. Находится в самом ЦП — самая быстрая, поскольку работает с той же скоростью, что и процессор. И задержка минимальная. Кэш L1 примерно в 100 раз быстрее ОЗУ. Кэш-память первого уровня подразделяется на два типа: кэш-память инструкций (L1i) и кэш-память для хранения данных (L1d), необходимых ЦП. Объем данного уровня кэш-памяти наименьший: обычно от нескольких килобайт до 1 МБ. ЦП, у которого есть только L1 называют процессором с одноуровневым кэшем.

Кэш L2 — второго уровня

Кэш второго уровня или вторичный кэш часто более объемный, чем L1. Данную память называют также Level 2 Cache. Может находится внутри ЦП или на отдельной микросхеме или сопроцессоре вне ЦП. В случае, когда находится вне ЦП, подключается к процессору с помощью высокоскоростной шины. Поэтому не возникает задержек из-за трафика по главной системной шине. По скорости кэш L2 уступает кэш-памяти 1-го уровня, но примерно в 25 раз превосходит по скорости оперативную память. Объем: от нескольких сотен килобайт до 16 МБ. Если у процессора есть кэш L1 и L2, то такой кэш называют двухуровневым.

Кэш L3 — третьего уровня

Кэш L3 (Level 3 Cache) называют еще и кэшем третьего уровня, реже: третичным кэшем, Ternary Cache (T-Cache). L3 — специальная память, которая была разработана для повышения производительности кэша L1 и L2. Предусмотрена не во всех процессорах, преимущественно в высокопроизводительных чипах. Медленнее кэша 1-го и 2-го уровней, но быстрее оперативной памяти. Объем больше, чем у вторичного кэша: от 1 до 128 мегабайт. При наличии у процессора кэш-памяти L1, L2 и L3 — кэш трехуровневый. Кэш заметно увеличивает быстродействие ноутбука или настольного ПК. Вскоре у процессоров может появиться и четвертый уровень кэша.

Инновационная кэш-память Intel/AMD

Рассмотрим передовые технологии, связанные с кэш-памятью CPU.

Кэш L4 может появиться в Intel Meteor Lake 14-го поколения

В современных процессорах обычно не более трех уровней кэш-памяти, но вскоре может появиться и четвертый. Предположительно Intel добавить кэш L4 в будущие процессоре Meteor Lake 14 Gen. Четвертый уровень кэша будет предназначен исключительно для ядер центрального процессора. Интегрированная графика (iGPU) Intel не будет иметь доступа к L4. Такое решение пойдет на пользу скорости процессора. На сегодня встроенная графика делит кэш третьего уровня с ЦП, что несколько снижает производительность центрального процессора.

Что такое 3D кэш

AMD выпустила несколько продуктов с суффиксом «3D». Первым стал AMD был Ryzen 7 5800X3D. Затем компания выпустила ряд чипов линейки Ryzen 7000, самым мощным из которых стал 16-ядерный Ryzen 9 7950X3D. AMD заявляет, что данные чипы стали мощными благодаря технологии 3D V-Cache, которая позволяет кэшу третьего уровня (L3) достичь объема 128 МБ. Стандартные чипы Zen 3 и Zen 4 содержат до 32 МБ кэш-памяти L3. Кэш чипа с двойным кристаллом (например, Ryzen 9 7900X) — до 64 МБ, что уже довольно много.

AMD представила «трехмерный» 3D V-Cache в 2021 году и показала прототип Ryzen 9 с колоссальными 192 МБ кэш-памяти L3. У первого коммерческого продукта с 3D V-Cache объем кэша 3-го уровня был поменьше, но все равно внушительным — 96 МБ. В 2023 году выпущены Ryzen 7 7800X3D с 96 МБ L3 и 7900X3D и 7950X3D — 128 МБ L3. Брендинг «3D» означает, что несколько слоев кэш-памяти наложены друг на друга. Таким образом возрос объем кэш-памяти, к которой ЦП имеет доступ в любой момент. Геймеры отмечают прирост производительности в играх, но подчеркивают, что система прилично греется.

Сколько кэш-памяти нужно для игр и работы

Тактовая частота ЦП, количество ядер, IPC и конструкция ядра более важны для хорошей игровой производительности, чем объем кэш-памяти. Чтобы играть практически во все игры текущего поколения достаточно от 8 МБ до 16 МБ кэ-памяти. 8 МБ кэша достаточно практически для любых рабочих нагрузок. Поскольку во многих актуальных процессорах от 12 МБ до 32 МБ кэша, данному требованию удовлетворяет почти каждый современный чип. Но продвинутые геймеры нередко разгоняют процессоры своих мощных ПК. Здесь-то как раз большой кэш CPU может сильно помочь.

Работа кэш-памяти при разгоне процессора

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

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

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

Также можно обратить внимание на тактовую частоту кэш-памяти. Некоторые процессоры могут иметь более быструю кэш-память для L1 и L2-кэша, что может повысить производительность при разгоне процессора.

Увеличение размера кэш-памяти или использование более быстрой кэш-памяти не только повышает производительность при разгоне, но также может увеличить тепловыделение и энергопотребление процессора. Поэтому необходимо тщательно оценить возможности охлаждения и стабильности системы, прежде чем изменять настройки кэш-памяти при разгоне процессора. Может понадобится эффективное охлаждение, например, рассмотренная «Блогом системного администратора» «водянка» DeepCool LS520:

DeepCool LS520
Статьи
Обзор DeepCool LS520 — охлаждение мощного ПК

Несколько раз ко мне обращались с просьбой увеличить объем кэша процессора. Необходимо пояснить, почему это нереально без замены чипа.

Как увеличить размер кэш-памяти процессора

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

Больше статей и видео в нашем Дзен-канале

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

Также важно знать, что увеличение размера кэш-памяти не всегда приводит к значительному увеличению производительности процессора. Например, увеличение кэш-памяти на 10% может дать всего лишь 1—2% увеличения производительности.

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

Как посмотреть кэш

Пользователи Windows 11 могут проверить объем кэш-памяти двумя простыми способами — через Диспетчер задач и с помощью команды.

Как узнать объем кэша в Диспетчере задач Windows

Нажмите на клавиатуре Ctrl + Shift + Esc, чтобы открыть Диспетчер задач Windows. Нажмите «Подробнее».

Перейдите на вкладку «Производительность». Откройте раздел «ЦП» в левой панели. В нижней правой части окна указан объем отдельно для каждого уровня кэша процессора (Кэш L1, Кэш L2 и Кэш L3). Если кэш второго и третьего уровня отсутствует, будет показан только L1.

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

Смотрим размер кэш памяти в командной строке (Command Prompt) Windows

Нажмите Win + R, чтобы открыть окно «Выполнить». Введите cmd нажмите OK, чтобы открыть утилиту Command Prompt — командную строку Windows.

Введите команду:

wmic cpu get L2CacheSize, L3CacheSize

Нажмите Enter. Размер кэша второго уровня будет показан под надписью L2CacheSize, а третьего уровня — под L3CacheSize.

Пользователи Linux могут проверить кэш память с помощью простой команды.

Как посмотреть объем кэш памяти процессора в Linux

Откройте Терминал и введите команду:

lscpu

Нажмите Enter, чтобы получить сведения о процессоре вашего компьютера. В числе прочего будет показан и размер кэш-памяти. Для первого уровня: отдельно L1d (кэш данных L1) и L1i (кэш инструкций L1).

Какие алгоритмы кэширования используются в процессорах

Алгоритм кэширования — это способ, которым процессор выбирает, какие данные нужно хранить в кэш-памяти и как их туда поместить. Разные алгоритмы кэширования имеют свои преимущества и недостатки, поэтому производители процессоров используют разные комбинации этих алгоритмов, чтобы сделать кэш-память максимально быстрой и эффективной:

Алгоритм прямого отображения (Direct Mapping) —самый простой алгоритм кэширования, при котором каждая ячейка кэш-памяти соответствует определенной ячейке оперативной памяти. Однако этот алгоритм может привести к проблеме конфликта, когда две разные ячейки оперативной памяти попадают в одну и ту же ячейку кэш-памяти.

Алгоритм полностью ассоциативной кэш-памяти (Fully Associative): при использовании данного алгоритма каждая ячейка оперативной памяти может быть размещена в любой ячейке кэш-памяти. Этот алгоритм более сложен, но он решает проблему конфликта.

Алгоритм n-ассоциативной кэш-памяти (N-way Set Associative). Данный алгоритм является компромиссом между прямым отображением и полностью ассоциативной кэш-памятью. Кэш-память разбивается на несколько наборов, каждый из которых может содержать несколько ячеек. Каждый набор содержит ячейки, соответствующие определенному диапазону адресов оперативной памяти.

Алгоритм псевдоассоциативной кэш-памяти (Pseudo-Associative) — улучшенная версия прямого отображения, которая использует несколько ячеек кэш-памяти для каждого диапазона адресов оперативной памяти. Этот алгоритм позволяет уменьшить проблему конфликта, но все же может вызывать ее в некоторых случаях.

Какой процессор в вашем ноутбуке или настольном ПК? Напишите в комментариях.

5 1 голос
Рейтинг статьи

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Рекомендуем прочитать