Время исполнения произвольной команды разобьем на 6 частей:
G – выборка команд,
D – декодирование команд,
A – преобразование адреса (логический адрес в физический адрес),
O – выборка операндов,
E – выполнение команды,
Р – сохранение результата.
Рис.6.18. Структура процессора с конвейеризацией команд
Причины нарушения работы конвейера:
1). Нет связи по данным:
Когда используются результаты предыдущей команды в следующей команде.
Устраняется путем выявления связи между командами и трассировки результатов на предыдущую стадию. Используются специальные регистры, недоступные программе в регистровом файле (РФ).
2). Связь по адресам.
Адрес операнда определяется как результат предыдущей команды в конвейере.
3). Ветвление (нарушение последовательности команд):
Приводит к перезагрузке конвейера путем запуска его работы сначала.
4). Конфликты доступа к памяти:
3 стадии одновременно (G, O, P) осуществляют обращение к ОП.
5). Длительность стадий должна быть одинакова, а поэтому длительные во время выполнения команды приводят к приостановке работы конвейера.