Jump to content

Тайник жертвы

Кэш жертвы — это небольшой, обычно полностью ассоциативный кеш, размещенный на пути пополнения кеша ЦП . Он хранит все блоки, удаленные из этого уровня кэша, и первоначально был предложен в 1990 году. В современных архитектурах эту функцию обычно выполняют кэши уровня 3 или 4.

Кэширование жертв — это аппаратный метод повышения производительности кэшей, предложенный Норманом Джуппи . Как упоминалось в его статье: [1]  

При отсутствии кэширования между кэшем и путем его повторного заполнения размещается полностью ассоциативный кэш. Промахи в кэше, попавшие в кэш промахов, имеют штраф в один цикл, в отличие от штрафа за многоцикловые промахи без кэша промахов. Кэширование жертвы — это улучшение кэширования промахов, при котором в небольшой полностью ассоциативный кеш загружается жертва промаха, а не запрошенная строка кэша. [1]

Кэш жертвы — это аппаратный кеш, предназначенный для уменьшения конфликтных промахов и увеличения задержки попадания для кешей с прямым отображением. Он используется в пути пополнения кэша уровня 1, где любая строка кэша, удаленная из кэша, кэшируется в кэше жертвы. В результате кэш жертвы заполняется только тогда, когда данные удаляются из кэша уровня 1. Когда в кэше уровня 1 происходит промах, пропущенная запись проверяется в кэше жертвы. Если доступ дает попадание, содержимое строки кэша уровня 1 и соответствующей строки кэша жертвы меняются местами.

Хотя изначально Джоуппи предложил повысить производительность кэша с прямым отображением уровня 1, современные микропроцессоры с многоуровневой иерархией кэша используют кэш уровня 3 или 4, который действует как кэш-жертва для кэша, расположенного выше него в иерархии памяти. Intel Хрустальный колодец [2] из своих процессоров Haswell представил встроенный кеш уровня 4, который служит кэшем-жертвой для кеша уровня 3 процессора. [3] Кэш уровня 3 размером 4–12 МБ используется в качестве кэша-жертвы в микропроцессорах POWER5 (IBM).

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

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

Выполнение

[ редактировать ]

Поведение кеша-жертвы при соответствующем взаимодействии с кешем соответствующего уровня показано ниже:

Попадание в кэш: нет действий

Промах в кэше, попадание в жертву: блок находится в кэше жертвы, а блоки в кэше заменяются друг другом. Эта новая запись в кэше жертвы становится самым последним использованным блоком.

Пример реализации

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

Пример:

Предположим, что это кэш L1 с прямым отображением, в котором блоки A и B указывают на один и тот же набор. Он связан с двухзаписным полностью ассоциативным кэшем жертвы с блоками C и D в нем.

След, по которому нужно идти: А, Б, А, Б…

Из диаграммы видно, что в случае попадания в кэш жертвы (VC) блоки A и B меняются местами. Наименее используемый блок VC остается без изменений. Следовательно, это создает иллюзию ассоциативности с кэшем L1 с прямым отображением, что, в свою очередь, уменьшает количество конфликтных промахов.

В случае двух кешей, L1 и L2, с монопольной политикой кэширования (L2 не кэширует те же области памяти, что и L1), L2 действует как кэш-жертва для L1.

Влияние на производительность

[ редактировать ]

Измеряя улучшение производительности с помощью кэша жертвы, Jouppi [1] предполагался кэш с прямым отображением уровня 1, дополненный полностью ассоциативным кешем. Для используемого им набора тестов в среднем 39% промахов кэша данных уровня 1 оказываются конфликтными промахами, а в среднем 29% промахов инструкций уровня 1 оказываются конфликтными промахами. [1] Поскольку конфликтные промахи составляют большой процент от общего числа промахов, обеспечение дополнительной ассоциативности путем дополнения кэша уровня 1 кэшем жертвы обязательно значительно улучшит общий коэффициент промахов .

[4] Экспериментальные результаты получены на основе двухстороннего и полностью ассоциативного кэша с прямым отображением размером 32 КБ, дополненного кэшем жертвы размером 256 блоков (8 КБ) и запуска на нем 8 случайно выбранных SPEC тестов 95. Хотя результаты нельзя обобщить для всех тестов, добавление кэша-жертвы обеспечивает снижение частоты промахов в диапазоне от 10% до 100% для всех конфигураций кэша. Однако результаты, похоже, стабилизируются за пределами размера кэша жертвы в 50 блоков, что доказывает, что Джуппи [1] наблюдение, что преимущества кэша жертвы достигают плато после первых нескольких блоков жертвы.

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

При сравнении различных конфигураций кэша было обнаружено, что в некоторых случаях добавление небольшого кэша-жертвы может дать выигрыш в производительности, эквивалентный тому, который наблюдается при умножении размера кэша на 2. [4]

  1. ^ Jump up to: а б с д и Джуппи, НП (1 мая 1990 г.). Повышение производительности кэша с прямым отображением за счет добавления небольшого полностью ассоциативного кэша и буферов предварительной выборки . 17-й ежегодный международный симпозиум по компьютерной архитектуре, 1990 г. Труды. стр. 364–373. дои : 10.1109/ISCA.1990.134547 . ISBN  0-8186-2047-1 .
  2. ^ «Продукты (ранее Crystal Well)» . Intel® ARK (технические характеристики продукта) . Проверено 16 ноября 2016 г.
  3. ^ Шимпи, Ананд Лал. «Обзор графики Intel Iris Pro 5200: протестирован Core i7-4950HQ» . Проверено 16 ноября 2016 г.
  4. ^ Jump up to: а б с «Жертвовое кэширование для больших кэшей и современных рабочих нагрузок». 1996. CiteSeerX   10.1.1.27.9810 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5898894774268fc320ae2e87f7afd4c7__1711900440
URL1:https://arc.ask3.ru/arc/aa/58/c7/5898894774268fc320ae2e87f7afd4c7.html
Заголовок, (Title) документа по адресу, URL1:
Victim cache - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)