Кэш-память
Кэш-па́мять, кеш-память (англ. cache – тайный склад, запас), устройство быстрой (сверхоперативной) промежуточной памяти компьютера. В кэш-память временно помещаются наиболее часто используемые данные, благодаря чему существенно сокращается время доступа процессора к командам и данным, постоянно хранящимся в основной (оперативной) памяти.
В современных процессорах кэш-память делится на несколько уровней (до трёх). Кэш-память 1-го уровня (L1) работает с тактовой частотой процессора, время доступа к хранящимся в ней данным составляет 2–4 такта, объём, как правило, несколько десятков Кбайт. Кэш-память 2-го уровня (L2) имеет время доступа 7–20 тактов и объём от нескольких сотен Кбайт до нескольких Мбайт. Кэш-память L1 и L2 размещаются либо в самом микропроцессоре, либо в одном корпусе с ним. Это делается для того, чтобы расстояния, которые проходят сигналы в кэш-памяти были как можно короче. Кэш-память 3-го уровня (L3) обычно используется в серверных системах, имеет наименьшее быстродействие и наибольший объём, монтируется отдельно от микропроцессора.
Используя кэш-память, процессор перед выполнением команды анализирует состояние своих регистров данных; в случае отсутствия в них необходимых данных он обращается к кэш-памяти L1, а затем к кэш-памяти L2. При отсутствии данных в кэш-памяти (такая ситуация называется промахом) процессор обращается к оперативной памяти, а если их нет и там, считывает с жёсткого диска. Каждый промах вызывает замедление работы процессора, поскольку он вынужден обращаться к более медленному уровню памяти. Предварительная выборка данных по специальному алгоритму позволяет уменьшить величину промахов до 10 %. Эффективность кэш-памяти зависит от размера её строки (т. н. кэш-строка, т. е. блок данных фиксированного размера, состоящий, например, из четырёх слов длиной 32 или 64 бита каждое), ассоциативности (количества строк кэш-памяти, связанных с одной ячейкой оперативной памяти), алгоритма замещения строк при заполнении кэш-памяти и др. В связи с этим выделяют прямоадресуемую, частично ассоциативную, полностью ассоциативную кэш-память. Сочетание прямоадресуемой кэш-памяти с памятью большей ассоциативности даёт различные виды гибридной кэш-памяти (кэш промахов, кэш замещений, кэш переходов и др.).
Принцип кэширования используется также для ускорения работы накопителей данных (например, жёстких дисков), для уменьшения трафика посредством сохранения часто запрашиваемых веб-страниц на т. н. прокси-серверах и т. п.