#### Классификация конфликтов данных (RAW/WAW/WAR/RAR). Пусть А стоит раньше В в потоке инструкций. - **RAW (Read After Write)** - истинная зависимость по данным. ![WAW](../data/5.png) В пытается читать операнд-источник данных прежде, чем А туда пишет, поэтому В получает неправильное значение (старое). A (Write) Data B (Read) $\star$ - **WAW (Write After Write)** - зависимость по именам регистров. В пытается записать операнд прежде, чем он записан A, т.е запись происходит в неправильном порядке. ![WAW](../data/6.png) - **WAR (Write After Read)** - зависимость по именам регистров. ![WAW](../data/7.png) В пытается записать результат в приемник прежде, чем он считывается A, поэтому А получает неправильное значение (новое). A (Read) $\qquad$ B (Write) $\qquad$ Data - **RAR (Read After Read)** - нет конфликта.