4х входовая наборно ассоциативная КЭШ с методом записи Buffered Write Throught
Состоит из трех блоков:
· блока данных;
· блока ТЕГов;
· блока достоверности и LRU (строки)
Блок данных состоит из 128 множеств по 4 входа в каждом
строки КЭШ выровнены на 16 байт (индекс начинается в А4)
строка КЭШ содержит 16 байт, начиная с адреса кратного 16
Блок ТЕГов состоит также из 4х массивов по 128 ТЕГов. ТЕГ содержит 21 бит физич. адреса.
Блок достоверности состоит из 7 бит на каждое множество: 4 бита отмечают строки как достоверные или недостоверные, три бита следят за использованием данных в множестве (для записи).
LRU
0 0 X замена строки L0
0 1 X замена строки L1
1 X 0 замена строки L2
1 X 1 замена строки L3
В КЭШ реализован алгоритм псевдо LRU замены:
если при чтении данных из ОП (КЭШ промах) имеются биты V = 0, то данные кэшируются в соответствующий блок, если все строки заняты, то освобождаемая строка определяется битами LRU.
|
|
В МП 486 при чтении внешней ОП автоматически считывается не одно, а четыре двойных слова (16 байт) (для запоминания строки КЭШ). При этом если на первое считывание требуется 3 такта, то на каждое следующее по 1 такту шины.
КЭШ может быть отключен, очищен с помощью специальных команд процессора.
Внешняя КЭШ для превышения эффективности должен иметь строки длиной не менее 16 байт.
Анализ эффективности КЭШ-памяти
Эффективность КЭШ зависит от ее размера, длины строки, соотношения времен считывания слова из КЭШ и блока из ОП, от метода записи информации в ОП и от типа КЭШ (прямая, ассоциативная, наборно-ассоциативная).
Эффективность КЭШ проявляется в уменьшении среднего времени, затраченного на выборку слова из ОП.
tсчит.ср. = tкэш + tоп.бл / kср
kср — среднее число обращений к КЭШ между двумя последовательными обращениями к ОП.
tоп.бл / kср -> уменьшаться
kср — увеличивается; tоп.бл — уменьшается
при увеличении длины строки kср увеличивается, но tоп.бл увеличивается поэтому обычно используется 2 метода:
1. ширина ШД МП = 0.5 ширины ШД ОП — КЭШ (const, kср ~= 2)
2. ШД МП — КЭШ = ШД КЭШ — ОП, но tоп.бл < n tоп
n — длина строки КЭШ (в ШД)
Обычно после получения первого слова МП продолжает работу, а контроллер КЭШ считывает оставшиеся данные. Однако, если в следующий машинный цикл МП запросит данные, то он будет ожидать конца ввода в КЭШ.
При увеличении длины строки увеличивается коэффициент КЭШ-попаданий, но до определенного предела (JMP, CALL и tоп.бл увеличивается).
|
|
Большой объем КЭШ эффективен при увеличении линий (строк) в множестве либо применяем полностью ассоциативную структуру (локальность программы).
Метод Write Back увеличивает быстродействие, но усложняет схему (особенно в многопроцессорных системах).
Повышение быстродействия ОП динамического типа