Что такое кэш процессора и почему он так важен для игр?
AMD 7800X3D и 7950X3D занимают первое место среди игровых процессоров не потому, что у них больше всего ядер или самая высокая тактовая частота, а потому, что у них больше всего кэша. Но что такое кэш процессора? Это небольшой объем сверхбыстрой памяти с быстрым доступом, встроенный в сам чип, который помогает ему получать данные, необходимые для операций, с невероятной скоростью.
Однако отдача не является линейной — есть причина, по которой 7950X3D не имеет дополнительного кэша на всех своих ядрах. На самом деле, у большого количества дополнительного кэша есть некоторые недостатки, даже если он действительно помогает повысить производительность в играх. Вот все, что вам нужно знать о кеше процессора.
Что такое кэш процессора?
Кэш — это объем памяти, находящейся внутри самого ЦП , либо интегрированной в отдельные ядра, либо распределяемой между некоторыми или всеми ядрами. Это небольшой фрагмент выделенной памяти, который находится непосредственно в процессоре, поэтому вашему процессору не нужно получать информацию из оперативной памяти вашей системы каждый раз, когда вы хотите что-то сделать на своем ПК. Каждый процессор имеет небольшой объем кэш-памяти: процессоры меньшего размера получают, возможно, всего несколько килобайт, тогда как большие процессоры могут иметь кэш-память объемом много мегабайт.
Но зачем нужен кеш, если у нас уже есть быстрый SSD-накопитель и еще более быстрая ОЗУ ? Все дело в производительности. В 1990-х годах скорость оперативной памяти не соответствовала потребностям процессоров, что представляло проблему для разработчиков процессоров. Решением стало добавление локального кэша в сами чипы.
Хотя кэш-память имеет ограниченную емкость по сравнению с оперативной памятью, ее высокая скорость компенсирует это. Единственным недостатком является то, что упаковывать память в крошечный чип дорого, поэтому ее обычно не используют в больших количествах. Однако с помощью 3D V-Cache AMD нашла способ заставить его работать, и теперь у нас есть более производительные игровые чипы, которые могут это доказать.
Как работает кеш? L1, L2, L3 объяснение
Широкое внедрение кэша привело к более тонким реализациям кэша и оперативной памяти, пока мы не пришли к иерархии памяти с кэшем наверху, ОЗУ посередине и хранилищем внизу. Такой многоуровневый подход позволяет физически разместить важные данные для ЦП ближе к процессору, уменьшая задержку и повышая скорость работы вашего ПК.
Кэш имеет свою собственную иерархию или уровни кэша, которые разделены на кэш L1, L2 и L3. Это все виды кэша, но они выполняют немного разные функции.
Кэш L1 — это первый уровень кэша, а также самый маленький, обычно разделенный на инструкции L1 или L1i и данные L1 или L1d. Каждое ядро ЦП имеет свой собственный фрагмент кэша L1, размер которого обычно составляет всего несколько килобайт. Тип данных, хранящихся в кэше L1, — это данные, которые ЦП только что использовал или планирует использовать в ближайшее время. Если процессору нужны данные, которых нет в кэше L1, он переходит на следующий уровень: L2.
Как и кеш L1, кеш L2 часто принадлежит только одному ядру ЦП, но в некоторых ЦП он используется несколькими ядрами. Он также намного, намного больше; например, каждое P-ядро в Core i9-12900K имеет 80 килобайт кэша L1, а также 1,25 мегабайта кэша L2, что почти в 16 раз больше. Однако более крупные кэши имеют более высокую задержку, а это означает, что для установления связи между ядром ЦП и кэшем требуется больше времени. Когда процессоры хотят выполнить задачу за считанные микросекунды или даже наносекунды, немного более высокая задержка кэша L2 имеет значение. Если процессор не может найти запрошенные данные в кэше L2, он запрашивает следующий уровень: L3.
Кэш L3 имеет большое значение: он используется несколькими или всеми ядрами процессора, и он большой. Например, 7950X3D имеет 128 МБ кэш-памяти L3 с прикрученным 3D V-Cache, тогда как у него только 16 МБ кэш-памяти L2. Задержка кэша L3 даже хуже, чем L2, но наличие большого кэша L3 действительно важно, чтобы ЦП не запрашивал необходимые данные из ОЗУ. За исключением хранилища, ОЗУ имеет наихудшую скорость и задержку в иерархии памяти, и всякий раз, когда ЦП требуется доступ к ОЗУ для получения необходимых данных, все может остановиться.
Некоторые процессоры даже имеют кэш L4, но обычно он функционирует как ОЗУ, находящееся в корпусе процессора. Некоторые из первых 14-нм процессоров Intel на базе архитектуры Broadwell включали 128 МБ встроенной памяти DRAM, а серверные процессоры компании Sapphire Rapids могут поставляться с HBM2, который используется как дополнительный уровень кэша.
Имеет ли значение кеш процессора для игр?
Кэш процессора имеет большое значение для игр. Хотя однопоточная производительность, число инструкций на такт (IPC) и тактовая частота традиционно считаются наиболее важными факторами производительности в играх, стало совершенно ясно, что кэш, вероятно, является наиболее важным фактором из всех в соперничестве между AMD и AMD. Интел .
Кэш так важен для игр из-за того, как игры разрабатываются сегодня. В современных играх много случайности, а это значит, что процессору постоянно необходимо выполнять простые инструкции. Без достаточного количества кэша ваша видеокарта вынуждена ждать процессора, поскольку инструкции накапливаются и вызывают узкое место . Вы можете увидеть пример того, насколько велика разница с технологией AMD 3D V-Cache, на графике производительности процессора в играх ниже.
В последние годы мы наблюдаем тенденцию к увеличению кэша для игр. AMD уже много лет увеличивает объем кэш-памяти ЦП и удвоила свои усилия, внедрив технологию 3D V-Cache на Ryzen 7 5800X3D и его преемниках в поколении Ryzen 7000.
Intel догоняет AMD, и ее процессоры последнего поколения имеют больше кэш-памяти, чем когда-либо прежде, что помогает им оставаться конкурентоспособными в играх. Вполне вероятно, что объемы кэша будут продолжать расти в ближайшие годы, что еще больше расширит пределы игровой производительности.