При промахе данные копируются по любому свободному адресу из
Однозначно заданного набора. Если свободных адресов в наборе нет, то выполняется вытеснение данных. Поскольку кандидатов на выгрузку несколько (все записи из данного набора), алгоритм замещения может учесть интенсивность обращений к данным и тем самым повысить вероятность попаданий в будущем. Таким образом в данном способе комбинируется прямое отображение на набор и случайное отображение в пределах набора.
Кэш-память, какого типа называют наборно-ассоциативной (множественно- ассоциативной, частично - ассоциативной).
Схемы алгоритмов выполнения запросов в системах с кэш-памятью
На рис.1.14 приведен обобщенный алгоритм работы кэш-памяти.
Большая часть ветвей этой схемы уже была подробно рассмотрена выше, поэтому остановимся здесь только на некоторых особых случаях.
Стр.18
Из схемы алгоритма видно, что когда выполняется запись, кэш
Просматривается только с целью согласования его содержимого и
Содержимого основной памяти. Если происходит промах, то запросы на
Запись не вызывают никаких изменений в содержимом кэш. В некоторых же реализациях кэш-памяти при отсутствии данных в кэш они копируются туда из основной памяти независимо от того, выполняется запрос на чтение или на запись.
В соответствии с описанной логикой работы кэш-памяти следует, что при возникновении запроса сначала просматривается кэш, а затем, если произошел промах, выполняется обращение к основной памяти. Однако часто реализуется и другая схема работы кэш: поиск в кэш и в основной памяти начинается одновременно, а затем, в зависимости от результата просмотра кэш, операция в основной памяти либо продолжается, либо прерывается.
|
|
При выполнении запросов к оперативной памяти во многих
Стр.19
Вычислительных системах используется двухуровневое кэширование
(рис.1.15). Кэш первого уровня имеет меньший объем и более высокое
Быстродействие, чем кэш второго уровня. Кэш второго уровня играет роль основной памяти по отношению к кэш первого уровня.
На рис. 1.16 показана схема алгоритма выполнения запроса на чтение в системе памяти с двухуровневым кэш. Сначала делается попытка обнаружить данные в кэш первого уровня. Если произошел промах, поиск продолжается в кэш второго уровня. Если же нужные данные отсутствуют и здесь, тогда происходит считывание данных из основной памяти. Очевидно,что время доступа к данным оказывается минимальным, когда кэш- попадание происходит уже на первом уровне, несколько большим - приобнаружении данных на втором уровне. И самое большое время доступа составляет обращение к оперативной памяти, если нужных данных нет ни в том, ни в другом кэш. При считывании данных из оперативной памяти происходит их копирование в кэш второго уровня, а если данные считываются из кэш второго уровня, то они копируются в кэш первого уровня.
|
|
При работе такой иерархической организованной памяти необходимо обеспечить непротиворечивость данных на всех уровнях. Кэш разных уровней могут согласовывать данные разными способами. Пусть, например, кэш первого уровня использует сквозную запись, а кэш второго уровня - обратную запись. (Именно такая комбинация алгоритмов согласования применена в процессоре Pentium при одном из возможных вариантов его работы.
Стр.20
На рис. 1.17 приведена схема выполнения запроса на запись в такой
Дата добавления: 2018-04-15; просмотров: 336; Мы поможем в написании вашей работы! |

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