Конвейерные процессоры подвержены конфликтам при обработке команд по нескольким причинам:
- Структурные конфликты возникают из-за нехватки ресурсов, когда аппаратура не может поддерживать все возможные комбинации одновременно выполняемых команд. 12 Например, если в процессоре единый конвейер памяти для данных и команд, то команда, содержащая обращение к памяти данных, вступает в конфликт с обращением более поздней команды. 1
- Конфликты по данным появляются, когда зависимость команды от результатов предыдущей проявляется при совмещении команд в конвейере. 12 Такие конфликты возникают, когда конвейер изменяет порядок обращений считывания/записи к операндам, который отличается от порядка, существующего для последовательно выполняемых команд в процессоре без конвейера. 12
- Конфликты по управлению появляются при конвейерном выполнении условных передач управления и других команд, которые изменяют значение программного счётчика. 12
Конфликты конвейера препятствуют выполнению очередной команды из потока команд в предназначенном для неё такте, уменьшают ускорение производительности конвейерной обработки и могут вызвать необходимость остановки конвейера. 12