Объяснение технологий

Как работает CPU Cache и что такое L1, L2 и L3?

Как работает CPU Cache и что такое L1, L2 и L3?

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

Что касается процессоров, то учитываются не только транзисторы и частоты, но и кэш.

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

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

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

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

Далее у нас есть оперативная память, обычно известная как RAM. Это намного быстрее, чем основное хранилище.

Наконец, процессор имеет даже более быстрые блоки памяти внутри себя, которые мы называем кешем.

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

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

Как работает CPU Cache?

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

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

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

Кэш затем выполняет перемотку данных внутри ЦП. Иерархия памяти существует и в кеше.

(Если вам интересно узнать, как работает сам ЦП, ознакомьтесь с нашей статьей, в которой объясняются основы ЦП .)

Уровни кэша: L1, L2 и L3

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

Кэш L1 (уровень 1) — это самая быстрая память, которая присутствует в компьютерной системе. С точки зрения приоритета доступа, кэш L1 содержит данные, которые ЦПУ, скорее всего, понадобятся при выполнении определенной задачи.

Что касается размера, кэш L1 обычно достигает 256 КБ. Тем не менее, некоторые действительно мощные процессоры теперь принимают его около 1 МБ. Некоторые серверные чипсеты (например, топовые процессоры Intel Xeon) теперь имеют где-то 1-2 МБ кэш-памяти первого уровня.

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

Дизайн кеша Intel Skylake
Изображение предоставлено Intel

Кэш L2 (уровень 2) медленнее, чем кэш L1, но больше по размеру. Его размер обычно варьируется от 256 КБ до 8 МБ, хотя более новые и мощные процессоры, как правило, обходят это. Кэш второго уровня содержит данные, которые, вероятно, будут доступны для ЦП в следующий раз. В большинстве современных процессоров кэши L1 и L2 присутствуют на самих ядрах процессора, причем каждое ядро ​​получает свой собственный кэш.

Кэш-память 3-го уровня — это самая большая кэш-память, а также самая медленная. Он может варьироваться от 4 до 50 МБ. Современные ЦП имеют выделенное пространство на кристалле ЦП для кеша L3, и оно занимает большую часть пространства.

Кэш-хит или мисс и латентность

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

Если он не находит данные, он пытается получить к ним доступ из основной памяти. Это называется пропуском кеша.

Теперь, как мы знаем, кэш предназначен для ускорения передачи информации между основной памятью и процессором. Время, необходимое для доступа к данным из памяти, называется задержкой. L1 имеет самую низкую задержку, будучи самой быстрой и ближайшей к ядру, а L3 имеет самую высокую. Задержка увеличивается очень много, когда происходит потеря кэша. Это потому, что процессор должен получать данные из основной памяти.

По мере того, как компьютеры становятся быстрее и лучше, мы наблюдаем снижение задержки. Теперь у нас есть оперативная память DDR4 с низкой задержкой и сверхбыстрые твердотельные накопители с низким временем доступа в качестве основного хранилища, которые значительно сокращают общую задержку. Если вы хотите узнать больше о том, как работает ОЗУ, вот наше краткое и грязное руководство по оперативной памяти

Ранее в конструкциях кешей использовались кэши L2 и L3 вне ЦП, что отрицательно сказывалось на задержке.

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

Будущее Кеша

Дизайн кэша постоянно развивается, особенно когда память становится дешевле, быстрее и плотнее. Intel и AMD внесли свою долю экспериментов с дизайном кеша, а Intel даже экспериментировала с кешем L4. Рынок процессоров движется вперед быстрее, чем когда-либо.

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

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

Возможно, вы даже слышали об Intel Optane, который можно использовать как своего рода гибридный внешний кэш. Если у вас нет, ознакомьтесь с нашей статьей, в которой рассматриваются потенциальные приложения Intel Optane.

Похожие посты
Объяснение технологий

Как работает жесткий диск? [Технология объяснила]

Объяснение технологий

Что такое программное обеспечение с открытым исходным кодом? [MakeUseOf Объясняет]

Объяснение технологий

Разрешения графического дисплея - что означают цифры? [MakeUseOf Объясняет]

Объяснение технологий

Как переформатировать внешний жесткий диск, не теряя на нем все