При промахе данные копируются по любому свободному адресу из



Однозначно заданного набора. Если свободных адресов в наборе нет, то выполняется вытеснение данных. Поскольку кандидатов на выгрузку несколько (все записи из данного набора), алгоритм замещения может учесть интенсивность обращений к данным и тем самым повысить вероятность попаданий в будущем. Таким образом в данном способе комбинируется прямое отображение на набор и случайное отображение в пределах набора.

Кэш-память, какого типа называют наборно-ассоциативной (множественно- ассоциативной, частично - ассоциативной).

Схемы алгоритмов выполнения запросов в системах с кэш-памятью

На рис.1.14 приведен обобщенный алгоритм работы кэш-памяти.

Большая часть ветвей этой схемы уже была подробно рассмотрена выше, поэтому остановимся здесь только на некоторых особых случаях.

Стр.18

Из схемы алгоритма видно, что когда выполняется запись, кэш

Просматривается только с целью согласования его содержимого и

Содержимого основной памяти. Если происходит промах, то запросы на

Запись не вызывают никаких изменений в содержимом кэш. В некоторых же реализациях кэш-памяти при отсутствии данных в кэш они копируются туда из основной памяти независимо от того, выполняется запрос на чтение или на запись.

В соответствии с описанной логикой работы кэш-памяти следует, что при возникновении запроса сначала просматривается кэш, а затем, если произошел промах, выполняется обращение к основной памяти. Однако часто реализуется и другая схема работы кэш: поиск в кэш и в основной памяти начинается одновременно, а затем, в зависимости от результата просмотра кэш, операция в основной памяти либо продолжается, либо прерывается.

При выполнении запросов к оперативной памяти во многих

Стр.19

Вычислительных системах используется двухуровневое кэширование

(рис.1.15). Кэш первого уровня имеет меньший объем и более высокое

Быстродействие, чем кэш второго уровня. Кэш второго уровня играет роль основной памяти по отношению к кэш первого уровня.

                   

          

На рис. 1.16 показана схема алгоритма выполнения запроса на чтение в системе памяти с двухуровневым кэш. Сначала делается попытка обнаружить данные в кэш первого уровня. Если произошел промах, поиск продолжается в кэш второго уровня. Если же нужные данные отсутствуют и здесь, тогда происходит считывание данных из основной памяти. Очевидно,что время доступа к данным оказывается минимальным, когда кэш- попадание происходит уже на первом уровне, несколько большим - приобнаружении данных на втором уровне. И самое большое время доступа составляет обращение к оперативной памяти, если нужных данных нет ни в том, ни в другом кэш. При считывании данных из оперативной памяти происходит их копирование в кэш второго уровня, а если данные считываются из кэш второго уровня, то они копируются в кэш первого уровня.           

При работе такой иерархической организованной памяти необходимо обеспечить непротиворечивость данных на всех уровнях. Кэш разных уровней могут согласовывать данные разными способами. Пусть, например, кэш первого уровня использует сквозную запись, а кэш второго уровня - обратную запись. (Именно такая комбинация алгоритмов согласования применена в процессоре Pentium при одном из возможных вариантов его работы.

Стр.20

На рис. 1.17 приведена схема выполнения запроса на запись в такой


Дата добавления: 2018-04-15; просмотров: 336; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!