Лекция
Привет, Вы узнаете о том , что такое пузырь в конвейере, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое пузырь в конвейере , настоятельно рекомендую прочитать все из категории Теория цифровых автоматов.
В проектировании конвейерных компьютерных процессоров задержка конвейера — это задержка выполнения инструкции для устранения опасности .
В стандартном пятиступенчатом конвейере на этапе декодирования блок управления определяет, считывает ли декодированная инструкция данные из регистра, в который в данный момент выполняется инструкция. Если это условие выполняется, блок управления приостанавливает выполнение инструкции на один такт. Он также приостанавливает выполнение инструкции на этапе выборки, чтобы предотвратить перезапись инструкции на этом этапе следующей инструкцией в программе. [ 2 ]
В архитектуре фон Неймана , которая использует регистр счетчика команд (СПК) для определения текущей инструкции, выбираемой в конвейере, чтобы предотвратить выборку новых инструкций, когда инструкция на этапе декодирования была приостановлена, значение в регистре СПК и инструкция на этапе выборки сохраняются, чтобы предотвратить изменения. Значения сохраняются до тех пор, пока инструкция, вызывающая конфликт, не пройдет этап выполнения. [ 3 ] Такое событие часто называют « пузырьком» , по аналогии с воздушным пузырем в трубе с жидкостью.
В некоторых архитектурах этап выполнения конвейера должен постоянно выполнять какое-либо действие на каждом цикле. Об этом говорит сайт https://intellect.icu . В этом случае «пузырь» реализуется путем подачи инструкций NOP («не выполнять операцию») на этап выполнения до тех пор, пока «пузырь» не будет вытеснен.
Ниже приведено два выполнения одних и тех же четырех инструкций в четырехэтапном конвейере, но по какой-то причине задержка выборки фиолетовой инструкции во втором цикле приводит к образованию «пузыря», задерживающего выполнение всех последующих инструкций.

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

Исследование, описанное в статье про пузырь в конвейере, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое пузырь в конвейере и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Теория цифровых автоматов
Из статьи мы узнали кратко, но содержательно про пузырь в конвейере
Комментарии