В какую опасность попадает кеш-промах?

На пяти этапах трубопровода существует три типа опасностей:

1) Управление опасностью: - если/прыжок

2) Опасность данных: RAW (чтение после записи), WAR (запись после чтения), WAW (запись после записи)

3) структурная опасность. Структурные опасности — это когда две инструкции могут пытаться использовать одни и те же ресурсы одновременно (как в вики)

к какому типу опасности относится промах кэша?


person solti    schedule 01.06.2013    source источник
comment
Хороший обзор здесь. Промах кеша как таковой опасности не представляет, хотя вытеснение/когерентность кеша можно считать аналогичной проблемой.   -  person Brett Hale    schedule 01.06.2013
comment
спасибо за ответ, Бретт. Но промах кеша приведет к остановке, верно? Допустим, в ld и st случае.   -  person solti    schedule 01.06.2013
comment
кеш является частью системы памяти и находится вне конвейера, с точки зрения конвейеров это просто доступ к памяти с нормальным (длительным) временем доступа, где попадание в кеш — это просто более быстрый доступ к памяти.   -  person old_timer    schedule 01.06.2013


Ответы (1)


Думайте об опасности как о неверном предсказании — труба спекулятивно продвигается вперед в каждом цикле, предполагая, что конфликтов нет. Это может быть неправильно в описанных вами случаях - если следующий этап происходит от неправильного счетчика программ / указателя inst, или если источник расчета не был обновлен вовремя, или какой-то ресурс не был готов вовремя. Теперь промах кэша обычно не рассматривается в этой таксономии, возможно, потому, что это зависит от реализации. то же самое можно сказать и о выполнении с переменной задержкой. У вас нет готовых данных, поэтому вы просто останавливаетесь, здесь нет реального риска использования устаревших данных или получения фиктивного кода по неправильному пути. Обратите внимание, что доступ к памяти все еще может быть RAW (в этом случае загрузка после сохранения) и считаться угрозой данных, как и RAW с привязкой к регистру.

person Leeor    schedule 05.06.2013