Как работает кэш процессора? Что такое кэш L1, L2 и L3?
В последние годы компьютерные процессоры значительно продвинулись вперед. Транзисторы становятся меньше с каждым годом, и достижения достигают точки, когда закон Мура становится ненужным.
Когда дело доходит до процессоров, важны не только транзисторы и частоты, но и кэш.
Возможно, вы слышали о кэш-памяти, когда обсуждались процессоры (центральные процессоры). Однако мы не уделяем достаточно внимания этим номерам кэш-памяти ЦП, и они не являются основным моментом рекламы ЦП.
Итак, насколько важен кэш ЦП и как он работает?
Что такое кэш-память процессора?
Проще говоря, кэш памяти ЦП – это просто действительно быстрый тип памяти. На заре вычислений скорость процессора и скорость памяти были низкими. Однако в 80-е годы скорость процессоров начала быстро расти. В то время системная память (RAM) не могла справиться с растущими скоростями ЦП или соответствовать им, и поэтому родился новый тип сверхбыстрой памяти: кэш-память ЦП.
Теперь ваш компьютер имеет внутри несколько типов памяти.
Существует основное хранилище, такое как жесткий диск или твердотельный накопитель, в котором хранится основная часть данных – операционная система и программы.
Затем у нас есть оперативная память, обычно известная как ОЗУ . Это намного быстрее, чем основное хранилище, но это только краткосрочный носитель. Ваш компьютер и программы на нем используют оперативную память для хранения часто используемых данных, помогая выполнять действия на вашем компьютере правильно и быстро.
Наконец, ЦП имеет внутри себя даже более быстрые блоки памяти, известные как кэш памяти ЦП.
Компьютерная память имеет иерархию, основанную на ее скорости работы. Кэш ЦП находится на вершине этой иерархии, будучи самым быстрым. Он также находится ближе всего к тому месту, где происходит центральная обработка, являясь частью самого процессора.
Компьютерная память также бывает разных типов.
Кэш-память – это форма статической ОЗУ (SRAM), в то время как обычная системная оперативная память известна как динамическая ОЗУ (DRAM). Статическая RAM может хранить данные без необходимости постоянного обновления, в отличие от DRAM, что делает SRAM идеальным для кэш-памяти.
Как работает кэш процессора?
Программы и приложения на вашем компьютере представляют собой набор инструкций, которые процессор интерпретирует и выполняет. Когда вы запускаете программу, инструкции передаются из основного хранилища (вашего жесткого диска) в ЦП. Здесь в игру вступает иерархия памяти.
Данные сначала загружаются в ОЗУ, а затем отправляются в ЦП. В наши дни процессоры способны выполнять огромное количество инструкций в секунду. Чтобы в полной мере использовать свою мощность, ЦП необходим доступ к сверхбыстрой памяти, в которой задействован кеш ЦП.
Контроллер памяти берет данные из ОЗУ и отправляет их в кэш ЦП. В зависимости от вашего процессора, контроллер находится на процессоре или на чипсете северного моста на материнской плате.
Затем кэш памяти выполняет обмен данными внутри ЦП. Иерархия памяти существует и в кэше ЦП.
Уровни кэш-памяти ЦП: L1, L2 и L3
Кэш-память ЦП разделена на три «уровня»: L1, L2 и L3. Иерархия памяти снова соответствует скорости и, следовательно, размеру кеша.
Итак, влияет ли размер кеш-памяти процессора на производительность?
Кэш L1
Кэш L1 (уровень 1) – это самая быстрая память, которая присутствует в компьютерной системе. Что касается приоритета доступа, кэш L1 содержит данные, которые, скорее всего, потребуются ЦП при выполнении определенной задачи.
Размер кеша L1 зависит от ЦП. Некоторые топовые потребительские процессоры теперь имеют кэш-память L1 1 МБ, например Intel i9-9980XE, но они стоят огромных денег и их все еще мало. Некоторые серверные чипсеты, например линейка Intel Xeon, также имеют кэш-память L1 объемом 1-2 МБ.
Не существует «стандартного» размера кеш-памяти L1, поэтому перед покупкой необходимо проверить спецификации ЦП, чтобы определить точный размер кеш-памяти L1.
Кэш L1 обычно делится на две части: кэш инструкций и кэш данных. Кэш инструкций имеет дело с информацией об операции, которую должен выполнить ЦП, в то время как кэш данных содержит данные, над которыми должна быть выполнена операция.
Кэш L2
Кэш L2 (уровень 2) медленнее, чем кеш L1, но больше по размеру. Если размер кэша L1 может измеряться в килобайтах, то в современных кэшах памяти L2 – в мегабайтах. Например, AMD Ryzen 5 5600X с высоким рейтингом имеет кэш L1 384 КБ и кэш L2 3 МБ (плюс кэш L3 32 МБ).
Размер кэша L2 зависит от ЦП, но обычно его размер составляет от 256 КБ до 8 МБ. Большинство современных процессоров имеют кэш L2 размером более 256 КБ, и этот размер сейчас считается небольшим. Кроме того, некоторые из самых мощных современных процессоров имеют больший объем кеш-памяти L2, превышающий 8 МБ.
Когда дело доходит до скорости, кэш L2 отстает от кеша L1, но по-прежнему намного быстрее, чем ваша системная RAM. Кэш памяти L1 обычно в 100 раз быстрее, чем ваша оперативная память, а кеш L2 примерно в 25 раз быстрее.
Кэш L3
В кэш L3 (уровень 3). Раньше кэш-память L3 фактически находилась на материнской плате. Это было очень давно, когда большинство процессоров были только одноядерными. Теперь кэш L3 в вашем процессоре может быть огромным, с топовыми потребительскими процессорами с кешами L3 до 32 МБ. Некоторые кэши L3 ЦП серверов могут превышать это значение, составляя до 64 МБ.
Кэш L3 – самый большой, но также самый медленный блок кэш-памяти. Современные процессоры включают кэш L3 на самом процессоре. Но в то время как кэш L1 и L2 существует для каждого ядра на самом чипе, кеш L3 больше похож на общий пул памяти, который может использовать весь чип.
На следующем изображении показаны уровни кэш-памяти ЦП для ЦП Intel Core i5-3570K:
Обратите внимание, как кэш L1 разделен на две части, а кеш L2 и L3 больше соответственно.
Сколько мне нужно кэш-памяти ЦП?
Хороший вопрос. Как и следовало ожидать, чем больше, тем лучше. Последние процессоры, естественно, будут включать в себя больше кэш-памяти ЦП, чем предыдущие поколения, а также потенциально более быструю кеш-память. Вы можете научиться эффективно сравнивать процессоры . Существует много информации, и изучение того, как сравнивать и сравнивать разные процессоры, может помочь вам принять правильное решение о покупке.
Как данные перемещаются между кешами памяти ЦП?
Большой вопрос: как работает кеш-память процессора?
Проще говоря, данные передаются из ОЗУ в кэш L3, затем в L2 и, наконец, в L1. Когда процессор ищет данные для выполнения операции, он сначала пытается найти их в кэше L1. Если ЦП находит это, условие называется попаданием в кэш. Затем он переходит к поиску в L2, а затем в L3.
Если ЦП не находит данные ни в одном из кешей памяти, он пытается получить к ним доступ из системной памяти (ОЗУ). Когда это происходит, это называется промахом кеша.
Теперь, как мы знаем, кеш предназначен для ускорения обмена информацией между основной памятью и процессором. Время, необходимое для доступа к данным из памяти, называется «задержкой».
Кэш-память L1 имеет самую низкую задержку, будучи самой быстрой и ближайшей к ядру, а L3 – самой высокой. Задержка кеш-памяти увеличивается, когда происходит промах кеш-памяти, поскольку ЦП должен получить данные из системной памяти.
Задержка продолжает уменьшаться по мере того, как компьютеры становятся быстрее и эффективнее. ОЗУ DDR4 с низкой задержкой и сверхбыстрые твердотельные накопители сокращают время задержки, делая всю вашу систему быстрее, чем когда-либо. При этом также важна скорость вашей системной памяти.
Будущее кэш-памяти ЦП
Дизайн кэш-памяти постоянно развивается, особенно по мере того, как память становится дешевле, быстрее и плотнее. Например, одним из последних нововведений AMD является память Smart Access и Infinity Cache , которые повышают производительность компьютера.