Современные высокопроизводительные компьютеры
5.6, б. Диаграмма работы конвейера при структурном конфликте
Конфликты по данным, остановы конвейера и реализация механизма обходов Одним из факторов, который оказывает существенное влияние на производительность конвейерных систем, являются межкомандные логические зависимости. Такие зависимости в большой степени ограничивают потенциальный параллелизм смежных операций, обеспечиваемый соответствующими аппаратными средствами обработки. Степень влияния этих зависимостей определяется как архитектурой процессора (в основном, структурой управления конвейером команд и параметрами функциональных устройств), так и характеристиками программ. Конфликты по данным возникают в том случае, когда применение конвейерной обработки может изменить порядок обращений за операндами так, что этот порядок будет отличаться от порядка, который наблюдается при последовательном выполнении команд на неконвейерной машине. Рассмотрим конвейерное выполнение последовательности команд на рисунке 5.7. ADD R1,R2,R3 IF ID EX MEM WB
SUB R4,R1,R5 IF ID EX MEM WB
AND R6,R1,R7 IF ID EX MEM WB
OR R8,R1,R9 IF ID EX MEM WB
XOR R10,R1,R11 IF ID EX MEM WB
Рис. 5.7, а. Последовательность команд в конвейере и ускоренная пересылка данных (data forwarding, data bypassing, short circuiting) ADD R1,R2,R3 IF ID EX MEM WB
R W
SUB R4,R1,R5 IF ID EX MEM WB
R W
AND R6,R1,R7 IF ID EX MEM WB
R W
OR R8,R1,R9 IF ID EX MEM WB
R W
XOR R10,R1,R11 IF ID EX MEM WB
R W
Рис.
|