Вопрос

Некоторые ресурсы, на которые я обращался в Интернете, не согласны с тем, как установить ассоциативное кэширование. работает.

Например, аппаратные секреты, кажется, считают, что это работает так:

  

Затем основная оперативная память делится на   такое же количество блоков доступно в   кеш памяти. Сохраняя 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-образное множество ассоциативно

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top