Другое

Кэш L1, L2, L3: что это такое и для чего нужен кэш в современном мире?

Lorem ipsum dolor

Иногда в процессе эксплуатации компьютера встречаются такие понятия, как кэш L1, L2, L3. Вопрос:«Что это такое?» больше не поставит вас в тупик, если вы дочитаете статью до конца.

Кэш L1, L2, L3 — это кэш процессора разных ступеней.

 

Что такое кэш?

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

  1. Hadr-диск, который хранит в себе все основные файлы компьютера: начиная от операционной системы и заканчивая всеми установленными программами. По своей производительности это довольно медленная память.
  2. Оперативная память, она же RAM, как правило, имеет меньший объем, но более высокую производительность, чем память hard-диска.
  3. Память процессора, которая среди пользователей называется «кэш». Это самая «скоростная» память.

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

 

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

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

В момент запуска программы с hard-диска инструкции «перехватывает» оперативная память. Далее она по иерархии «передает» эти инструкции «выше», то есть непосредственно в процессор. Процессор способен обрабатывать очень много подобных инструкций в секунду времени. Однако, чтобы обработка инструкций не «тормозила», у процессора должна быть собственная сверхбыстрая память, то есть кэш, который сейчас есть в каждом современном процессоре.

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

С иерархией памяти в компьютере вроде все понятно, но что же такое кэш L1, L2, L3?

 

Что это такое «кэш L1, L2, L3»?

Итак, инструкции программы попали в кэш процессора. Но тут есть собственная иерархия памяти, которая, также как и в компьютере, основывается на скорости функционирования кэша.

Получается, что кэш L1, L2, L3 — это иерархия памяти процессора:

  1. L1 — это самый шустрый кэш процессора. В нем сохраняются те инструкции, которые могут понадобиться процессору для работы программы в любую секунду.
  2. L2 — это уже не такой шустрый кэш, как L1, однако он существенно превосходит его по объему. В данном кэше сохраняются инструкции, которые могут понадобиться процессору для работы программы в обозримом будущем.
  3. L3 — это самый медлительный и самый масштабный по объему кэш процессора. Этот тип кэша содержит в себе сведения, которые вряд ли понадобятся процессору в ближайшее время.

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

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

Нужно отметить еще два понятия, связанных с кэшем:

  1. Попадание в кэш — это когда процессор находит нужные инструкции в каком-либо своем кэше: L1, L2, L3.
  2. Задержка — это время, необходимое процессору на поиск нужной инструкции в своем кэше. В L1 самая минимальная задержка, в L2 больше, в L3 еще больше, и дальше по иерархии.

 

Для чего нужен кэш в процессоре в современном мире?

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

Именно поэтому многие компании процессоров улучшают архитектуру своих устройств и увеличивают объем кэша в процессоре, чтобы как можно больше было попаданий в кэш и чтобы уменьшить время задержек. По статистике, средний процент попаданий в кэш в современном процессоре составляет 94-96%. Чтобы увеличить этот процент, многие компании идут даже на эксперименты, например, компания Intel в один модельный ряд своих процессоров внедрила кэш L4, но все это пока так и осталось на уровне эксперимента.

 

Заключение

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

Схожие статьи

Экспертные системы — это полноценная замена специалиста или нет?
Другое

Экспертные системы — это полноценная замена специалиста или нет?

TensorFlow для начинающих: установка, нюансы работы и примеры
Другое

TensorFlow для начинающих: установка, нюансы работы и примеры

Другое

Где искать работу начинающему программисту

Как писать юнит-тесты. Рабочие примеры и подробное руководство
Другое

Как писать юнит-тесты. Рабочие примеры и подробное руководство

×