Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Полностью ассоциативное распределение.
При таком способе размещения данных каждая строка основной памяти может быть размещена на месте любой строки кэш-памяти. Структура кэш-памяти с полностью ассоциативным распределением выглядит как показано на рис 8.20.
Рис. 8.20. Структура кэш-памяти с полностью ассоциативным распределением При полностью ассоциативном распределении механизм преобразования адресов должен давать ответ на вопрос, существует ли копия строки с произвольным адресом в кэш-памяти, и, если существует, то по какому адресу. Для этого необходимо, чтобы теговая память являлась ассоциативной памятью. Входной информацией для ассоциативной памяти тегов является тег А (14-ти разрядный адрес строки), а выходной информацией – адрес строки внутри кэш-памяти (С). Каждое слово теговой памяти состоит из 14-разрядного тега и 7-разрядного адреса С строки внутри кэш-памяти. Ключом для поиска адреса строки внутри кэш-памяти является тег А (старшие 14 разрядов адреса основной памяти). При совпадении ключа А с одним из тегов Т теговой памяти (случай попадания) происходит выборка соответствующих данному тегу адреса С и обращение к памяти данных. Входной информацией для памяти данных является 11-ти разрядное слово ВС (7 бит адреса строки В + 4 бита адреса слова в данной строке С). В случае несовпадения ключа ни с одним из тегов теговой памяти (случай промаха) формируется запрос к основной памяти на выборку строки с соответствующим адресом и считывание этой строки. По этому способу при замене строк кандидатом на удаление могут быть все строки в кэш-памяти.
Частично ассоциативное распределение. При данном способе размещения, несколько соседних строк (фиксированное число, не менее двух) из 128 строк кэш-памяти образуют структуру называемую группой. Структура кэш-памяти, основанная на использовании частично ассоциативного распределения, показана на рис. 8.21. В данном случае в одну группу Е входят 4 строки А, В, С, D.
Рис. 8.21.Структура кэш-памяти, основанная на использовании частично ассоциативного распределения. Адрес строки НЕ основной памяти (14 бит) разделяется на две части: Н-тег (старшие 9 бит) и Е - адрес группы (младшие 5 бит). Адрес строки внутри кэш-памяти, состоящий из 7 бит, разделяется на адрес группы Е (5 бит) и адрес строки внутри группы (2 бит: 00, 01, 10, 11). Для помещения в кэш-память строки, хранимой в ОП по адресу НЕF, необходимо выбрать группу с адресом Е. При этом не имеет значения, какая из четырех строк в группе может быть выбрана. Для выбора группы используется метод прямого распределения, а для выбора строки в группе используется метод полностью ассоциативного распределения. Когда центральный процессор запрашивает доступ по адресу НЕF, то осуществляется обращение к массиву тегов по адресу Е, выбирается группа из четырёх тегов (а, b, с, d), каждый из которых сравнивается со старшими 9 битами (Н) адреса строки. На выходе четырех схем сравнения формируется унитарный код совпадения ( Н=А – код: 1000, Н=В – код: 0100, Н=С – код: 0010, Н=D – код: 0001), который на шифраторе преобразуется в двухразрядный позиционный код, служащий адресом для выбора банка данных (00, 01, 10, 11) – адрес строки внутри группы. Одновременно осуществляется обращение к массиву данных (банкам V1, V2, V3, V4, ) по адресу ЕF (9 бит) и считывание из банка V2 требуемой строки или слова. При пересылке новой строки в кэш-память удаляемая из нее строка выбирается из четырех строк соответствующего набора (группы). Распределение секторов. По этому способу основная память разбивается на секторы, состоящие из фиксированного числа строк, кэш-память также разбивается на секторы, состоящие из такого же числа строк. Допустим, в секторе 16 строк, а в строке – 16 слов. Структура кэш-памяти с распределением секторов представлена на рис. 8.22. В адресе основной памяти 10 старших бит задают адрес сектора А, следующие 4 бита – адрес строки В в секторе и младшие 4 бита – адрес слова С в строке. При данной организации кэш-памяти, распределение секторов в кэш-памяти и основной памяти осуществлено полностью ассоциативно, то есть, каждый сектор А основной памяти может соответствовать любому сектору D в кэш-памяти. К каждой строке V, хранящейся в кэш-памяти, добавляется один бит достоверности (действительности); он показывает, совпадает или нет содержимое этой строки с содержимым строки в основной памяти, которая в данный момент анализируется на соответствие строки кэш-памяти. Если слова, запрашиваемого центральным процессором при доступе, не существует в кэш-памяти (бит достоверности, выбранный по адресу ВD равен 0), то сначала центральный процессор проверяет, был ли сектор А, содержащий это слово, помещен ранее в кэш-память. Если он отсутствует, то один из секторов кэш-памяти заменяется на этот сектор. Рис. 8.22. Структура кэш-памяти с распределением секторов. Если все сектора кэш-памяти используются, то выбирается один какой-нибудь сектор, и при необходимости только некоторые строки этого сектора возвращаются в основную память, а этот сектор можно использовать дальше. Когда осуществляется доступ к сектору А в кэш-памяти и строка В, содержащая нужное слово С, пересылается из основной памяти, то бит достоверности устанавливается до пересылки строки. Все биты достоверности других строк этого сектора сбрасываются. Если сектор А, содержащий слово В доступ к которому запрашивается, уже находится в кэш-памяти, то, в том случае когда бит достоверности строки, содержащей это слово, равен 0, этот бит устанавливается и строка пересылается из основной памяти в данную область кэш-памяти. В том случае, когда бит достоверности уже равен 1, нужное слово можно считать из кэш-памяти.
Популярное:
|
Последнее изменение этой страницы: 2016-04-11; Просмотров: 984; Нарушение авторского права страницы