КЭШ-память (от Сасhе – тайник) – это способ организации буферной памяти, ис-пользующей ассоциативный принцип обращения к ней и к ОП в процессе выполне-ния программы. Ассоциативный принцип заключается в том, что имеется шаблон выборки, ключ, например «1» в третьем разряде и «0» в пятом. При обращении к памяти с использованием ключа будут найдены все ЯП, у которых третий разряд равен «1», а пятый – «0» независимо от их расположения в ассоциативной памяти. Этот принцип позволяет легко находить данные на любом уровне памяти.
Большинство прикладных программ имеет циклический характер и многократно используют одни и те же данные, поэтому наличие КЭШа уменьшает количество обращений к более медленной ОП и увеличивает производительность процессора.
КЭШ-память построена на триггерах и имеет небольшую ёмкость. КЭШ хранит данные и адреса в тегах. Структура Кэш-памяти приведена на рисунке 2.16.
При каждом обращении к ОП специальный контроллер проверяет по тегу наличие этой копии в КЭШе. Если она имеется, то вырабатывается сигнал Hit (попадания в КЭШ) и происходит обращение к кэшу, если нет – то вырабатывается сигнал промаха (Miss) и выполняются одновременно чтение из ОП и размещение в КЭШе.
Рисунок 2.12 – Структура кэш-памяти
Обмен с ОП может осуществляться двумя способами:
1. Обращение к ОП сочетается с одновременным поиском данных в теге, при попадании в тег обращение аннулируется.
2. Обращение к ОП осуществляется только после выявления КЭШ-промаха.
В современных компьютерах КЭШ выполняется по двухуровневой схеме, содер-жащей первичный КЭШ, встраиваемый в процессор, и вторичный КЭШ, устанавли-ваемый на системной плате. При этом часто используются различные КЭШи для команд и данных (гарвардская архитектура).
Современная многоуровневая организация памяти выглядит следующим образом:
1. Регистровая память ёмкостью 64-256 байт и временем доступа 1 такт.
2. КЭШ первого уровня ёмкостью 32 Кбайт и временем доступа 1-2 такта.
3. КЭШ второго уровня ёмкостью 256 Кбайт и временем доступа 3-5 тактов.
4. Основная память ёмкостью до 4 Гбайт и временем доступа 12-55 тактов.