Когда мы говорим о производительности компьютера, одним из ключевых факторов является скорость обработки данных процессором. И здесь на помощь приходит кэш CPU – небольшая, но очень важная часть процессора, которая играет решающую роль в ускорении работы компьютера.
Как работает кэш ЦП и что такое кэш L1, L2 и L3? Готовы разобраться в том, как работает кэш CPU и какие преимущества он может принести? Тогда продолжайте чтение и приготовьтесь к захватывающему погружению в технический мир компьютерных процессоров!
Что такое кэш процессора
Кэш процессора относится к памяти, встроенной непосредственно в CPU. Он отличается от системной памяти (ОЗУ), которая установлена на материнской плате и, на самом деле, намного медленнее, чем кэш-память ЦП.
Давайте разберем некоторые из этих различий.
Чем кэш ЦП отличается от системной памяти (RAM, VRAM, ETC)
Если оперативная память ПК является системной памятью, зачем центральному процессору собственный выделенный встроенный кэш?
В конце концов, оперативная память с каждым годом становится только быстрее, причём как DDR4, так и DDR5 RAM раздвигают пределы частоты DRAM.
Ответ на удивление прост: системная память по-прежнему недостаточно быстра, и даже несмотря на то, что она установлена ближе к ЦП, чем любой из других компонентов, это расстояние по-прежнему имеет значение с точки зрения передачи сигнала.
Кэш ЦП необходим, потому что к тому времени, когда ваше хранилище и ОЗУ разобрались, что вы делаете, ваш ЦП ещё должен разбить то, что он делает в режиме реального времени, на двоичный машинный язык.
Это требует некоторой опережающей скорости со стороны ЦП, даже если кэш-память ЦП обычно измеряется десятками мегабайт, а не дюжиной или более гигабайт, как системная оперативная память.
Как работает кэш процессора
Таким образом, цель кеша ЦП состоит в том, чтобы разбить всё, что происходит на вашем ПК, на простые 1 и 0, с которыми ЦП фактически работает.
Для сравнения, выделенная системная оперативная память может хранить практически любые данные, от используемых приложений до видеофайлов и т.д., когда вы выполняете рендеринг видео.
Кэш ЦП предназначен для управления фактическими инструкциями в реальном времени, которые подаются на ЦП, а больший размер кеша ЦП снижает потребность в частом доступе ЦП к системной памяти, повышая производительность в рабочих нагрузках, чувствительных к кешу ЦП.
Подробнее об этом чуть позже!
Что такое кэш L1, L2 и L3
Кэш L1
Кэш L1 или Кэш первого уровня – это основной кэш ЦП. Это самый быстрый «уровень» кэша ЦП, а также самый маленький объём памяти. Чем быстрее/ниже уровень кэша, тем меньше циклов требуется вашему процессору для доступа к нему.
Для внешнего пользователя эти «циклы» соответствуют отдельным герцам на процессорах, способных обрабатывать несколько гигагерц циклов в секунду, это означает, что современный ЦП обрабатывает миллиарды циклов в секунду.
Так что на самом деле разница между кэшем L1 и L2, о которой мы здесь говорим, заметна только на стороне машины. Однако, эта разница всё ещё имеет значение, так что давайте поговорим о кэше L2!
Кэш L2
Кэш L2 или Кэш второго уровня, является вторичным кэшем ЦП. Он медленнее, чем кэш-память уровня 1, но всё же довольно быстр и обеспечивает значительный прирост объёма памяти.
В зависимости от того, есть ли у вашего ЦП кэш-память L3 или нет, кэш-память L2 будет либо распределена между отдельными ядрами ЦП, либо будет совместно использоваться всеми ядрами ЦП. До недавнего времени процессоры Intel использовали только кэш-память L2, в то время как AMD использует кэш-память L3 уже несколько лет.
В наши дни Intel также использует Cache L3, хотя он распределяется по-разному в зависимости от того, является ли ядро ЦП P-Core или E-Core.
Кэш L3
Наконец, поговорим о кэше L3, также известном как кэш третьего уровня.
Кэш L3 медленнее, чем кэш уровня 1 и 2, но служит цели сделать их обоих быстрее, предоставляя им самый большой пул памяти на ЦП.
Кэш L3 также используется всеми ядрами ЦП, тогда как кэш L1 и L2 обычно встроены в отдельные ядра.
Как кэш процессора влияет на производительность
Теперь, когда мы рассмотрели основы того, что такое кэш ЦП, давайте поговорим о том, как он может повлиять на производительность.
Я думаю, что лучшим примером для этой статьи будет AMD Ryzen 5800X и его вариант 5800X3D .
Это более или менее одинаковые ЦП с точки зрения архитектуры ядра ЦП и количества ядер, но 3D-вариант может похвастаться гораздо большей кэш-памятью L3 (колоссальные 96 МБ в 3D по сравнению с 32 МБ на стандартном 5800X).
Это значительно упрощает количественную оценку того, как повышение кэш-памяти ЦП влияет на производительность, поскольку, как правило, кэш-память ЦП постепенно увеличивается вместе с другими характеристиками ЦП по мере того, как вы поднимаетесь по стеку продуктов.
Технически ЦП потребовал некоторых изменений, чтобы сделать возможным увеличение кэш-памяти L3. Базовый и повышающий блоки в 3D снижены до 3,4 ГГц и 4,5 ГГц, соответственно, по сравнению со спецификацией 3,8-4,7 ГГц исходного 5800X.
Кроме того, 3D вообще не поддерживает разгон. Это довольно незначительное снижение тактовой частоты, но всё же стоит отметить.
Как же влияет на производительность повышение кэш-памяти ЦП без существенного изменения остальной части ЦП? Давайте посмотрим поближе.
С точки зрения создания контента, повышение кэш-памяти L3 либо не обеспечивает существенного прироста производительности в большинстве рабочих нагрузок (поскольку кэш-память изначально не была узким местом), либо активно снижает производительность из-за других жертв, которые пришлось принести для увеличенный кэш L3, например, более низкие тактовые частоты.
Однако, для игр увеличение кэш-памяти L3 оказывается весьма полезным.
Согласно проведенному тесту 5800X3D с 41 игрой, увеличение кэш-памяти L3 весьма существенно для игровой производительности, если игра правильно оптимизирована.
Даже самая интенсивная игра в этом списке, Microsoft Flight Simulator, показывает колоссальный прирост производительности, в среднем, на 21%.
Те, кто особенно хорошо разбирается в игровых тестах, также должны знать о важности повышения минимумов на 1%, поскольку они указывают, когда игровой движок изо всех сил пытается отобразить всё на экране.
Увеличенный кэш L3 очень помогает в этих сценариях, как показано ниже:
Какой вывод?Очевидно, что вы не можете реально увеличить кэш процессора, не меняя весь процессор.
Для покупателя гораздо разумнее смотреть на тесты для ваших рабочих нагрузок при оценке того, какой ЦП лучше всего соответствует вашим потребностям, а не на то, какой из них просто имеет больше или меньше кэш-памяти.
Тем не менее, 5800X и 5800X3D предоставили нам беспрецедентный взгляд на то, как на самом деле может повлиять на производительность процессора упущенная из виду спецификация кэш-памяти процессора.
Оказывается, это действительно хорошо для игр и некоторых рабочих нагрузок, таких как кодирование H.264. Но, в целом, кэш-память процессора не должна быть вашим основным приоритетом при покупке процессора, даже если больший кэш-память процессора лучше для игровой производительности.
Часто задаваемые вопросы
Существует ли кэш L4?
Если вы внимательно следили за этой статьей, вы могли заметить, что кэш L1 и L2 долгое время был стандартом, а кэш L3 использовался только для процессоров AMD до более поздних поколений процессоров Intel.
Без наличия кэша L3 кэш L2, в значительной степени, выполнял ту же роль на старых процессорах.
Таким образом, кэш L4 является ещё одним уровнем более высокой емкости и более низкой скорости встроенной памяти ЦП. Это довольно редко и совсем не распространено в процессорах для настольных ПК, но оно существует, особенно если рассматриваемый процессор для настольных ПК имеет встроенную графику.
Со временем это может даже стать более распространенным явлением, поскольку Intel объявила, что их процессоры 14-го поколения будут использовать кэш L4.
Всегда ли кэш-память L2 и кэш-память L3 включены в ЦП?
Кэш L3, да.
Кэш L2, почти всегда да. Однако, в прошлом L2-кэш также обнаруживался на сопроцессоре в непосредственной близости от ЦП.
В наши дни все «L-кэши» находятся на самом ЦП, а ОЗУ и видеопамять графического процессора являются единственными источниками памяти, доступными для остальной части системы и ЦП после использования собственного кэша.
Правда в том, что мне нужно было сократить довольно много информации, исследуемой для этой статьи, в интересах сохранения краткости и доступности для более широкой аудитории.
Более глубокие тонкости кэширования ЦП и инструкций ЦП немного… выходят за рамки этой статьи, особенно если вы не программист или инженер. Тем не менее, мы надеемся, что приведенная здесь информация поможет понять, как кэш ЦП влияет на производительность!