**Зависимость по именам** возникает, когда 2 инструкции используют один и тот же регистр или место в памяти, т.е. общее имя места.
Между инструкциями, имеющими зависимость по именам, нет потока данных (нет отношения выдает/использует).
Может существовать два типа зависимостей по именам:
- **Антизависимость.**
- Существует, когда $j$ пишет в тот же регистр или место в памяти, которое $i$ читает.
Нарушение антизависимости (относительный порядок чтения/записи изменен): приводит к конфликту WAR и потому относительный порядок чтения/записи и исполнения должен сохраняться.
$i$ считывает значение по имени, $j$ записывает значение по тому же имени. $j$ антизависима от $i$.
Изменение относительного порядка исполнения $i$, $j$ нарушает эту зависимость по именам и приводит к конфликту WAR и некорректному исполнению.
- **Выходная зависимость (зависимость записи).**
- Существует, когда $i$ и $j$ пишут в один и тот же регистр или место в памяти.
Нарушение выходной зависимости (относительный порядок записи изменен): приводит к конфликту WAW и потому порядок записи и исполнения должен сохраняться.
$i$, $j$ пишут по одинаковому имени. Тогда $j$ зависима по выходу от $i$.
Изменение относительного порядка исполнения $i$, $j$ нарушает эту зависимость по именам и приводит к конфликту WAW и некорректному исполнению.