Что такое WAW Hazard? - PullRequest
       76

Что такое WAW Hazard?

1 голос
/ 28 мая 2019

Опасность Wikipedia (компьютерная архитектура) статья:

Запись после записи (WAW) (i2 пытается записать операнд до того, какзаписано i1) Опасность записи после записи (WAW) может возникнуть в среде параллельного выполнения.

Пример Например:

i1. R2 <- R4 + R7   
i2. R2 <- R1 + R3   

Обратная запись (WB) из i2 должно быть отложено до завершения выполнения i1.

Я не понял этого.

В чем проблема, если i2 выполняется до i1?

Ответы [ 2 ]

6 голосов
/ 28 мая 2019

Это не исполнение в этом проблема; Это только обратная запись, которая предотвращает выполнение этих инструкций не по порядку (если вы не делали переименование регистра).

Окончательный результат в R2 (как видно из других более поздних инструкций после этой пары) должен соответствовать порядку программы, поэтому он должен иметь результат 2-й инструкции.


Это , почему современные центральные исполнительные процессоры не по порядку используют переименование регистров (алгоритм Томасуло) , а не просто табло: это полностью сводит на нет опасности WAW и WAR. См. Первый раздел моего ответа на Почему mulss занимает только 3 цикла в Haswell, в отличие от таблиц инструкций Агнера? для другого теоретического объяснения того, как переименование регистров делает повторное использование одного и того же регистра для разных результатов не проблема.

Также см. Деоптимизация программы для конвейера в процессорах семейства Intel Sandybridge , где я также объясняю, что антизависимости WAW и WAR не могут вызывать зависания на современных исполнительных процессорах не в порядке.

При записи в память (вместо регистров) буфер хранилища скрывает опасности WAW и WAR.

6 голосов
/ 28 мая 2019

Обе операции влияют на R2.Если i2 обратная запись происходит до обратной записи i1, но обратная запись i1 в конечном итоге происходит, то R2 будет иметь результат R4 + R7 вместо значения R1 + R3.

Опасность WAW связана с тем, что значения результата перезаписываются последующей записью, которая не должна была перезаписывать это значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...