Структура КЭШ - памяти в i486

 

       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 увеличивает быстродействие, но усложняет схему (особенно в многопроцессорных системах).

 


Повышение быстродействия ОП динамического типа  

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: