Информация о N-way множестве ассоциативных стилей
-
03-07-2019 - |
Вопрос
Некоторые ресурсы, на которые я обращался в Интернете, не согласны с тем, как установить ассоциативное кэширование. работает. Р>
Например, аппаратные секреты, кажется, считают, что это работает так:
Затем основная оперативная память делится на такое же количество блоков доступно в кеш памяти. Сохраняя 512 КБ 4-сторонний набор ассоциативных примеров, Основная оперативная память будет разделена на 2048 блоки, одинаковое количество блоков доступно внутри кеша памяти. Каждый блок памяти связан с набором строк внутри кэша, так же, как в кеше с прямым отображением.
http://www.hardwaresecrets.com/printpage/481/8 р>
Похоже, они говорят, что каждый блок кеша (4 строки кеша) отображается в определенный блок непрерывной оперативной памяти. Они говорят, что несмежные блоки системной памяти (RAM) не могут отображаться на один и тот же блок кэша. Р>
Это изображение того, как аппаратные секреты считают, что это работает http://www.hardwaresecrets.com/fullimage.php?image=7864 р>
Сравните это с картиной википедии с установленным ассоциативным кэшем http://upload.wikimedia.org/ википедия / обыкновенные / 9/93 / кэш% 2Cassociative-фасовочно-both.png . р>
Браун не согласен с аппаратными секретами
Рассмотрим, что может произойти, если каждый строка кэша имела два набора полей: два действительные биты, два грязных бита, два тега поля и два поля данных. Один набор полей может кэшировать данные для одного область основной памяти, а другой для другая область, которая происходит с картой та же строка кэша.
http://www.spsu.edu/cs/faculty/ bbrown / web_lectures / кэш /
То есть несмежные блоки системной памяти могут отображаться в один и тот же блок кэша.
Как создаются отношения между несмежными блоками в системной памяти и блоками кеша. Я где-то читал, что эти отношения основаны на шагах кэша, но я не могу найти никакой информации о шагах кэша, кроме того, что они существуют.
Кто прав? Если на самом деле используется шагание, как оно работает и у меня есть правильное техническое имя? Как мне найти шаг для конкретной системы? это основано на системе подкачки? Может кто-нибудь указать мне URL, который объясняет ассоциативный кеш N-way подробно?
также смотрите: http://www.cs.umd.edu/ класс / sum2003 / cmsc311 / Notes / Память / set.html
Решение
Когда я учу своих студентов архитектуре кеш-памяти, я начинаю с кеша с прямым отображением. Как только это будет понято, вы можете думать о N-образном множестве ассоциативных кэшей как о параллельных блоках прямого отображения кэша. Чтобы понять, что обе цифры могут быть правильными, вам необходимо сначала понять назначение кэшей set-assoc.
Они предназначены для решения проблемы «алиасинга» в кеше с прямым отображением, где несколько ячеек памяти могут отображаться на определенную запись в кеше. Это показано на рисунке в Википедии. Таким образом, вместо удаления записи в кеше мы можем использовать N-way кеш для хранения других «псевдонимов» областей памяти.
По сути, схема аппаратных секретов была бы правильной, если бы порядок замены был таким, чтобы первый кусок основной памяти отображался на путь-1, а затем второй кусок на путь-2 и так далее, и так далее. Тем не менее, одинаково возможно, чтобы первая часть основной памяти была распределена по нескольким путям.
Надеюсь, это объяснение поможет!
PS: смежные области памяти нужны только для одной строки кэша, использующей пространственную локальность. Что касается последней части вашего вопроса, я полагаю, что вы можете смешивать несколько разных концепций.
Другие советы
Политика замены определяет, где в кеше находится копия конкретная запись основной памяти пойдет. Если политика замены свободно выбирать любую запись в кеше для хранения копии, кеш называется полностью ассоциативным. С другой стороны, если каждая запись в основном память может находиться в одном месте в кеше, кеш прямой нанесены на карту. Многие кэши реализуют компромисс, в котором каждая запись в основном память может перейти в любое из N мест в кеше, и описаны как N-образное множество ассоциативно