← Все вопросы

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

Задан 33 месяца назад779 просмотров2 ответа
5

В характеристиках процессора видел «кэш L1, L2, L3» и какие-то мегабайты. У нас же уже есть оперативка для данных. Зачем процессору ещё какая-то отдельная память внутри?

2 ответа

9
✓ Принятый ответ — помог автору

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

Проблема в том, что даже оперативка для процессора медленная. Пока он сбегает за данными в ОЗУ, проходит много тактов, и он простаивает. Чтобы не ждать, CPU держит «под рукой» копию самых нужных данных в кэше — оттуда он берёт их почти мгновенно.

Уровни (L1, L2, L3) — это слои по принципу «ближе = быстрее, но меньше»:

  • L1 — самый маленький и самый быстрый, прямо в ядре;
  • L2 — побольше и чуть медленнее;
  • L3 — самый большой, общий на все ядра, медленнее L1/L2, но всё равно быстрее ОЗУ.

Логика поиска данных: сначала смотрим в L1, нет — в L2, нет — в L3, и только если нигде нет — лезем в медленную оперативку. Чем чаще нужное находится в кэше, тем быстрее работает процессор. Поэтому больший кэш часто даёт реальный прирост скорости.

4

Бытовая аналогия: оперативка — это холодильник, а кэш — это тарелка с едой прямо перед тобой на столе. За тем, что ешь прямо сейчас, не надо вставать к холодильнику — оно уже под рукой. Кэш маленький (на стол много не влезет), но доступ к нему мгновенный, и это экономит кучу «походов» в медленную память.

Ваш ответ

Войдите, чтобы ответить на вопрос.