Найти тему
Coop-Land

Как работает кэш СPU и что такое кэш L1, L2 и L3? Коротко

Оглавление

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

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

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

Итак, насколько важна кэш-память процессора и как она работает?

Что такое кэш-память процессора?

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

Сейчас в компьютере имеется несколько типов памяти.

 📷
📷

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

Далее идет память с произвольным доступом, известная как оперативная память. Она намного быстрее, чем первичное хранилище, но является лишь кратковременным носителем информации. Ваш компьютер и его программы используют оперативную память для хранения часто используемых данных, что помогает выполнять действия на компьютере быстро и приятно.

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

Компьютерная память имеет иерархию, основанную на скорости работы. Кэш-память процессора находится на вершине этой иерархии, являясь самой быстрой. Она также находится ближе всего к месту централизованной обработки данных, являясь частью самого процессора. Согласно Tech Target,
«кэш-память работает в 10-100 раз быстрее, чем оперативная память, и требует всего несколько наносекунд для ответа на запрос процессора».

Компьютерная память также бывает разных типов.

Кэш-память является разновидностью статической оперативной памяти (SRAM), в то время как обычная системная оперативная память известна как динамическая оперативная память (DRAM). Статическая оперативная память может хранить данные без необходимости постоянного обновления, в отличие от DRAM, что делает SRAM идеальной кэш-памятью.

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

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

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

Контроллер памяти получает данные из оперативной памяти и отправляет их в кэш процессора. В зависимости от вашего процессора, контроллер находится на процессоре или в чипсете Northbridge на материнской плате.

Затем кэш-память осуществляет обмен данными внутри процессора. Иерархия памяти существует и в кэше процессора.

Уровни кэш-памяти процессора: L1, L2 и L3

 📷
📷

Кэш-память процессора делится на три "уровня": L1, L2 и L3. Иерархия памяти зависит от скорости и, соответственно, от размера кэша.

Итак, имеет ли размер кэш-памяти процессора значение для производительности?

Кэш L1

Кэш-память L1 (Level 1) – это самая быстрая память, которая присутствует в компьютерной системе. С точки зрения приоритета доступа, кэш L1 содержит данные, которые с наибольшей вероятностью понадобятся процессору при выполнении определенной задачи.

Размер кэш-памяти L1 зависит от процессора. Некоторые потребительские процессоры высшего класса сейчас имеют кэш L1 объемом 1 МБ, как, например, Intel i9-9980XE, но они стоят огромных денег и все еще мало распространены. Некоторые серверные чипсеты, например, линейка Intel Xeon, также оснащены кэш-памятью L1 объемом 1-2 МБ.

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

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

Смотрите также:
Следует ли обновлять BIOS? Коротко

Кэш-память L2

Кэш-память L2 (уровень 2) работает медленнее, чем кэш-память L1, но имеет больший размер. Если кэш L1 может измеряться в килобайтах, то современные кэши памяти L2 измеряются в мегабайтах. Например, высоко оцененный Ryzen 5 5600X от AMD имеет 384 КБ кэша L1 и 3 МБ кэша L2 (плюс 32 МБ кэша L3).

Размер кэша L2 варьируется в зависимости от процессора, но обычно его размер составляет от 256 КБ до 32 МБ. Большинство современных процессоров имеют кэш L2 более 256 КБ, и этот размер сейчас считается небольшим. Более того, некоторые из самых мощных современных процессоров имеют больший объем кэш-памяти L2, значительно превышающий 8 МБ. Например,

-4

Что касается скорости, кэш-память L2 отстает от кэша L1, но все равно намного быстрее, чем ваша системная оперативная память. Кэш-память L1 обычно в 100 раз быстрее, чем оперативная память, в то время как кэш-память L2 примерно в 25 раз быстрее.

Кэш-память L3

Переходим к кэшу L3 (уровень 3). В ранние времена кэш-память L3 находилась на материнской плате. Это было очень давно, когда большинство CPU были одноядерными процессорами. Сейчас кэш-память L3 в вашем процессоре может быть огромной: в топовых потребительских процессорах кэш-память L3 достигает 32 МБ, а революционные процессоры AMD Ryzen 7 5800X3D оснащены кэшем L3 объемом 96 МБ. В некоторых серверных CPU кэш L3 может превышать этот показатель, достигая 128 МБ.

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

На следующих изображениях показаны уровни кэш-памяти процессора Intel Core i5-3570K, выпущенного в 2012 году, и процессора AMD Ryzen 5800X, выпущенного восемь лет спустя, в 2020 году. Данные кэш-памяти процессора находятся в правом нижнем углу второго изображения.

Обратите внимание, как кэш L1 разделен на две части, в то время как кэш L2 и L3 больше, соответственно, на обоих процессорах? Однако у AMD Ryzen 5800X кэш L3 более чем в пять раз больше, чем у Intel i5-3570K.

Сколько нужно кэш-памяти процессора?

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

Дизайн кэш-памяти постоянно развивается, особенно по мере того, как память становится все дешевле, быстрее и плотнее. Например, одними из последних инноваций AMD являются Smart Access Memory и Infinity Cache, обе из которых повышают производительность.

Как данные перемещаются между кэш-памятью процессора?

Главный вопрос: как работает кэш-память процессора?
В самых основных терминах, данные поступают из оперативной памяти в кэш L3, затем в L2 и, наконец, в L1. Когда процессор ищет данные для выполнения операции, он сначала пытается найти их в кэш-памяти L1. Если процессор находит его, это состояние называется попаданием в кэш. Затем он переходит к поиску данных в L2, а затем в L3.

Если процессор не находит данные ни в одном из кэшей памяти, он пытается получить доступ к ним из системной памяти (RAM). Когда такое происходит, это называется пропуском кэша.

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

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

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

Смотрите также:
5 лучших недорогих SSD в 2020-2023

Всегда обращайте внимание на кэш-память процессора

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

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