Схема использования адреса при обращении к КЭШ
Схема линейности памяти
КЭШ прямого отображения
КЭШ – память
Предназначена для временного хранения команд и данных. Прри эффективном использовании в ней хранится информация, которая потребуется в ЦП в ближайшее время. Емкость КЭШ значительно меньше ОП.
Имеет место два принципа организации КЭШ – памяти: прямое отображение и ассоциативное. Последнее эффективнее, но дороже. Поэтому возможны три разновидности:
1. КЭШ прямого отображения
2. КЭШ ассоциативный (маленький и дорогой)
3. Множественно ассоциативный (набрано ассоциативный – комбинация двух приемников)
Байт 0 | ||
| ||
Байт К |
| |
К+1 | ||
2К |
| |
2К+1 | ||
Двумерная схема КЭШ памяти:
Блок 0 | Байт 0 | Байт 1 | … | К-1 |
Блок 1 | Байт К | Байт к+1 | … | 2К-1 |
Блок 2 | Байт 2К | Байт 2к+1 | … | 3К-1 |
КЭШ – память прямого отображения делится на строки одинаковой длины (16, 128 и более байт). Байты в горизонтальной последовательности строки имеют длину К=2к. КЭШ содержит L строк.
ОП разбивается условно на строки, их принято называть блоками. Двухмерная схема ОП (плоская память) делится на модули. Размер КЭШ – n. Трехмерная память получается, если модули расположены параллельно. В такой схеме адрес памяти, состоящий из М ячеек можно представить, состоящий из 3х частей.
N модуля | N блока | N байта | |
M – N | N - K | K | К – число байт |
M – число модулей |
Обмен данными между ОП и КЭШ производится блоками (128Кб). Набор модулей горизонтальными плоскостями разбивается на слои. В каждом слое блоки с одинаковыми номерами внутри модулей(слой n1, все блики n1).
КЭШ – память состоит из двух частей: банка тэгов(каталог) и банка КЭШ’а. Каждой строке банка сопоставлена одна строка каталога. Тэг состоит из двух полей, одно поле номер модуля, второе поле для хранения признака.
V – признак действительности
M – признак модифицированности
Если V = 0, содержимое строки КЭШ не соответствует блоку памяти (пусто).
Когда контроллер обращается к кэш – памяти, он делит адрес на 3 части, А-N модуля, B-N строки, disp – N байта в строке.
По индексу В контроллер находит нужный тэг и сравнивает адресную часть α со старшей частью адреса А.
Способен хранить одновременно любые комбинации блоков. Состоит из двух частей: каталога и банка. Каталог хранит полный адрс блока и смещение слова в блоке. Каталог имеет n входов, адрес строки подается одновременно на все входы и сравнивается с каждой строкой. При совпадении по значению disp в строке отсчитывается смещение. При чтении информации из банка передается в выходной регистр. При записи в обратном направлении.
Схема работы КЭШ’а
В КЭШ вызывается тот блок, к которому произошло обращение. Сначала контроллер ищет свободную строку в банке, куда будет записан новый блок. Если есть строка V = 0, то копируем в нее. Если нет, замещается одна из строк. Выбор производится по анализу R в строках каталога, замещается давно используемая.
В КС используется многоуровневая КЭШ память. L1расположена на одном кристалле с ЦП и емкость 8, 16, 32 Кб. Размер памяти команд и данных фиксирован в раздельном КЭШ’е. В качестве КЭШ первого уровня принимается наборно ассоциативные КЭШ, на 4, 8 и более входов. КЭШ второго уровня как правило расположен вне кристалла. Его емкость 512 кб и более. Это набороно ассоциативный КЭШ. Бывают уровни 3, 4.