Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

При проектировании конвейерных компьютерных процессоров , трубопровод стойло задержки в исполнении с инструкцией для того , чтобы решить опасность . [1]

В стандартном пятиэтапном конвейере во время этапа декодирования блок управления определяет, читает ли декодированная инструкция из регистра, в который записывается инструкция, находящаяся в данный момент на этапе выполнения. Если это условие выполняется, блок управления останавливает выполнение инструкции на один такт. Он также останавливает выполнение инструкции на этапе выборки, чтобы предотвратить перезапись инструкции на этом этапе следующей инструкцией в программе. [2]

В архитектуре фон Неймана, которая использует регистр программного счетчика (ПК) для определения текущей инструкции, выбираемой в конвейере, чтобы предотвратить выборку новых инструкций, когда инструкция на этапе декодирования остановлена, значение в регистре ПК и инструкции на этапе выборки сохраняются, чтобы предотвратить изменения. Значения сохраняются до тех пор, пока инструкция, вызывающая конфликт, не пройдет стадию выполнения. [3] Такое событие часто называют пузырем по аналогии с пузырем воздуха в трубопроводе для жидкости.

В некоторых архитектурах этап выполнения конвейера всегда должен выполнять действие в каждом цикле. В этом случае пузырь реализуется путем подачи инструкций NOP («нет операции») на этап выполнения до тех пор, пока пузырь не пройдет мимо него.

Примеры [ править ]

Хронология [ править ]

Ниже приведены два выполнения тех же четырех инструкций через 4-этапный конвейер, но по какой-либо причине задержка в выборке фиолетовой инструкции в цикле № 2 приводит к созданию пузыря, задерживающего все инструкции после него.

Классический конвейер RISC [ править ]

В приведенном ниже примере показано, как пузырек вставляется в классический конвейер RISC с пятью этапами (IF = выборка инструкции, ID = декодирование инструкции, EX = выполнение, MEM = доступ к памяти, WB = обратная запись в регистр). В этом примере данные, доступные после этапа MEM (4-й этап) первой инструкции, требуются в качестве ввода для этапа EX (3-й этап) второй инструкции. Без пузыря стадия EX (3-я стадия) имеет доступ только к выходу предыдущей стадии EX. Таким образом, добавление пузыря разрешает временную зависимость без необходимости передавать данные назад во времени (что невозможно).

См. Также [ править ]

Ссылки [ править ]

  1. ^ Паттерсон, Дэвид А .; Хеннесси, Джон Л., Организация и дизайн компьютеров (4-е изд.), Морган Кауфманн , стр. 338
  2. ^ Паттерсон, Дэвид А; Хеннесси, Джон Л. (2014), Компьютерная организация и дизайн: аппаратно-программный интерфейс (5-е изд.), Стр. 318, OCLC 1130276006 , получено 25 мая 2020 г. 
  3. ^ Паттерсон, Дэвид А .; Хеннесси, Джон Л., Организация и дизайн компьютеров (4-е изд.), Морган Кауфманн , стр. 373