Трубопроводный стенд
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2012 г. ) |
В конструкции конвейерных компьютерных процессоров остановка конвейера представляет собой задержку выполнения инструкции для устранения опасности . [1]
Подробности
[ редактировать ]В стандартном пятиэтапном конвейере на этапе декодирования блок управления определяет, считывает ли декодированная инструкция из регистра, в который записывается выполняемая в данный момент инструкция. Если это условие выполняется, блок управления приостанавливает выполнение инструкции на один такт. Он также приостанавливает выполнение инструкции на этапе выборки, чтобы предотвратить перезапись инструкции на этом этапе следующей инструкцией в программе. [2]
В архитектуре фон Неймана , которая использует регистр счетчика программ (PC) для определения текущей инструкции, извлекаемой в конвейере, чтобы предотвратить выборку новых инструкций, когда инструкция на этапе декодирования остановлена, значение в регистре PC и инструкции на этапе выборки сохраняются для предотвращения изменений. Значения сохраняются до тех пор, пока инструкция, вызывающая конфликт, не пройдет стадию выполнения. [3] Такое событие часто называют пузырем по аналогии с пузырем воздуха в трубе с жидкостью.
В некоторых архитектурах на этапе выполнения конвейера всегда должно выполняться действие в каждом цикле. В этом случае пузырь реализуется путем подачи инструкций NOP («нет операции») на этап выполнения до тех пор, пока пузырь не будет пропущен мимо него.
Примеры
[ редактировать ]Хронология
[ редактировать ]Ниже приведены два выполнения одних и тех же четырех инструкций через четырехэтапный конвейер, но по какой-то причине задержка в получении фиолетовой инструкции в цикле № 2 приводит к созданию пузыря, задерживающего все инструкции после нее.
Нормальное исполнение | Казнь с пузырём |
Классический конвейер RISC
[ редактировать ]В приведенном ниже примере показано, как пузырь вставляется в классический RISC-конвейер с пятью этапами (IF = выборка инструкции, ID = декодирование инструкции, EX = выполнение, MEM = доступ к памяти, WB = обратная запись в регистр). В этом примере данные, доступные после этапа MEM (4-й этап) первой инструкции, требуются в качестве входных данных этапа EX (3-й этап) второй инструкции. Без пузырька ступень EX (3-я ступень) имеет доступ только к выходу предыдущей ступени EX. Таким образом, добавление пузырька устраняет временную зависимость без необходимости распространения данных назад во времени (что невозможно).
Обход назад во времени | Проблема решена с помощью пузыря |
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Паттерсон, Дэвид А.; Хеннесси, Джон Л., Компьютерная организация и дизайн (4-е изд.), Морган Кауфманн , с. 338
- ^ Паттерсон, Дэвид А; Хеннесси, Джон Л. (2014), Организация и проектирование компьютера: интерфейс аппаратного и программного обеспечения (5-е изд.), Стр. 318, OCLC 1130276006 , получено 25 мая 2020 г.
- ^ Паттерсон, Дэвид А.; Хеннесси, Джон Л., Компьютерная организация и дизайн (4-е изд.), Морган Кауфманн , с. 373