Кеш-память и иерархия памяти компьютера
💻 Информатика · 7 класс
Что такое кеш-память
Кеш-память (от слова cache — запас) — это небольшая, но очень быстрая память, расположенная рядом с процессором или прямо внутри него. В неё временно копируются данные, которые процессор использует чаще всего. Благодаря этому процессор не ждёт сравнительно медленную оперативную память, а берёт нужное прямо из кеша.
Главная причина существования кеша в том, что разные виды памяти сильно различаются по скорости и объёму. Чем память быстрее, тем она дороже и тем меньше её удаётся разместить. Сделать всю память такой же быстрой, как кеш, было бы слишком дорого.
Иерархия памяти
Память компьютера выстроена «лесенкой» — от самой быстрой к самой медленной. Эту лесенку называют иерархией памяти:
| Уровень | Скорость | Объём |
|---|---|---|
| Регистры процессора | наибольшая | очень малый |
| Кеш-память | очень высокая | малый |
| Оперативная память | высокая | средний |
| Внешняя память (диск) | низкая | большой |
Чем выше уровень, тем быстрее доступ, но тем меньше объём. Данные «поднимаются» снизу вверх по мере того, как становятся нужны процессору, и «опускаются» обратно, когда перестают использоваться.
Как работает кеш
Когда процессору нужны данные, он действует по такой схеме:
1) ищем данные в кеше
2) если есть (попадание) -> берём сразу, быстро
3) если нет (промах) -> читаем из ОЗУ и копируем в кеш
Случай, когда нужные данные уже лежат в кеше, называют попаданием, а когда их там нет — промахом. Чем чаще случаются попадания, тем быстрее работает программа. Поэтому в кеше стараются хранить именно то, что используется повторно.
Зачем хранить часто используемое
Программы устроены так, что обычно работают с одними и теми же данными много раз подряд: повторяют циклы, обращаются к одним переменным. Это свойство называют локальностью. Кеш использует его: один раз прочитанные данные остаются под рукой и при следующем обращении берутся мгновенно.
Частая ошибка. Кеш — это не отдельный диск и не папка, которую можно открыть. Это аппаратная память внутри процессора, работающая автоматически. Управлять ею вручную пользователь не может.
Уровни кеша
- кеш первого уровня — самый маленький и самый быстрый;
- кеш второго уровня — больше по объёму, но чуть медленнее;
- кеш третьего уровня — ещё больше и общий для ядер процессора.
Чем дальше уровень кеша от ядра, тем он больше и медленнее. Так получается плавный переход от очень быстрой памяти к более вместительной.
Кратко о главном
- Кеш-память — быстрая память рядом с процессором для часто используемых данных.
- Память выстроена иерархией: регистры, кеш, оперативная память, внешняя память.
- Чем быстрее память, тем меньше её объём и выше цена.
- Попадание в кеш ускоряет работу, промах заставляет читать из оперативной памяти.
- Кеш работает автоматически, опираясь на повторное использование данных.