Jump to content

Цикл инструкций

(Перенаправлено из инструкции по выборке )

Цикл инструкций (также известный как цикл выборки-декодирования-выполнения или просто цикл выборки-выполнения ) — это цикл, которому следует центральный процессор (ЦП) с момента загрузки до момента выключения компьютера для обработки инструкций. . Он состоит из трех основных этапов: этапа выборки, этапа декодирования и этапа выполнения.

Это простая диаграмма, иллюстрирующая отдельные этапы цикла выборки-декодирования-выполнения. Легенда:

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

Роль компонентов [ править ]

Счетчик программ (PC) — это специальный регистр , в котором хранится адрес памяти следующей команды, которая будет выполнена. На этапе выборки адрес, хранящийся в ПК, копируется в регистр адреса памяти (MAR) , а затем адрес ПК увеличивается, чтобы «указать» адрес памяти следующей выполняемой инструкции. Затем ЦП принимает инструкцию по адресу памяти, описанному MAR, и копирует ее в регистр данных памяти (MDR) . MDR также действует как двусторонний регистр, в котором хранятся данные, полученные из памяти, или данные, ожидающие сохранения в памяти (из-за этого он также известен как регистр буфера памяти (MBR). В конце концов, инструкция в MDR копируется в регистр текущих команд (CIR) , который действует как временная площадка для хранения инструкции, только что полученной из памяти.

На этапе декодирования блок управления (CU) декодирует команду в CIR. Затем CU отправляет сигналы другим компонентам внутри ЦП, таким как арифметико-логическое устройство (ALU) и устройство с плавающей запятой (FPU) . АЛУ выполняет арифметические операции, такие как сложение и вычитание, а также умножение посредством многократного сложения и деление посредством многократного вычитания. [ сомнительно обсудить ] Он также выполняет логические операции, такие как AND , OR , NOT , а двоичные сдвиги также . FPU зарезервирован для выполнения операций с плавающей запятой .

Краткое описание этапов [ править ]

ЦП каждого компьютера может иметь разные циклы, основанные на разных наборах команд, но они будут похожи на следующий цикл:

  1. Этап выборки : следующая инструкция извлекается из адреса памяти, который в данный момент хранится в счетчике программ, и сохраняется в регистре команд. В конце операции выборки ПК указывает на следующую инструкцию, которая будет считана в следующем цикле.
  2. Этап декодирования : на этом этапе закодированная инструкция, представленная в регистре инструкций, интерпретируется декодером.
    • Прочитайте эффективный адрес : в случае инструкции памяти (прямой или косвенной) фаза выполнения будет во время следующего тактового импульса. Если команда имеет косвенный адрес , эффективный адрес считывается из основной памяти, а все необходимые данные извлекаются из основной памяти для обработки и затем помещаются в регистры данных (тактовый импульс: T 3 ). Если команда прямая, во время этого тактового импульса ничего не делается. Если это инструкция ввода-вывода или инструкция регистра, операция выполняется во время тактового импульса.
  3. Этап выполнения : блок управления ЦП передает декодированную информацию в виде последовательности управляющих сигналов соответствующим функциональным блокам ЦП для выполнения действий, требуемых инструкцией, таких как чтение значений из регистров, передача их в АЛУ для выполнения. математические или логические функции над ними и запись результата обратно в регистр. Если задействован АЛУ, он отправляет сигнал состояния обратно в CU. Результат, сгенерированный операцией, сохраняется в основной памяти или отправляется на устройство вывода. На основе обратной связи от АЛУ ПК может быть обновлен до другого адреса, с которого будет получена следующая инструкция.
  4. Повторить цикл

Кроме того, на большинстве процессоров прерывания могут возникать . Это заставит ЦП перейти к процедуре обслуживания прерываний, выполнить ее и затем вернуться. В некоторых случаях инструкция может быть прервана в середине, инструкция не будет иметь никакого эффекта, но будет выполнена повторно после возврата из прерывания.

Инициация [ править ]

Цикл начинается, как только в систему подается питание, с начальным значением ПК, заранее определенным архитектурой системы (например, в процессорах Intel IA-32 предопределенное значение ПК равно 0xfffffff0). Обычно этот адрес указывает на набор инструкций в постоянном запоминающем устройстве (ПЗУ), с которого начинается процесс загрузки (или загрузки ) операционной системы . [2]

Стадия извлечения [ править ]

Шаг выборки одинаков для каждой инструкции:

  1. ЦП отправляет содержимое ПК в MAR и отправляет команду чтения на шину управления.
  2. В ответ на команду чтения (с адресом, равным ПК) память возвращает данные, хранящиеся в ячейке памяти, указанной ПК на шине данных.
  3. ЦП копирует данные из шины данных в свой MDR (также известный как MBR; см. «Роль компонентов» выше). раздел
  4. Через долю секунды ЦП копирует данные из видеорегистратора в регистр команд для декодирования команд.
  5. PC увеличивается так, что указывает на следующую инструкцию. Этот шаг подготавливает процессор к следующему циклу.

Блок управления извлекает адрес инструкции из блока памяти .

Стадия декодирования [ править ]

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

Чтение действующего адреса [ править ]

На этом этапе оценивается, какой тип операции необходимо выполнить. Если это операция с памятью, компьютер проверяет, является ли это прямой или косвенной операцией с памятью:

  • Операция с прямой памятью – Ничего не делается.
  • Косвенная операция с памятью – эффективный адрес считывается из памяти.

Если это инструкция ввода-вывода или регистрации, компьютер проверяет ее тип и выполняет инструкцию.

Этап выполнения [ править ]

ЦП отправляет декодированную инструкцию в виде набора управляющих сигналов соответствующим компонентам компьютера. Если инструкция включает в себя арифметику или логику, используется АЛУ. Это единственный этап цикла инструкций, который полезен с точки зрения конечного пользователя. Все остальное — это накладные расходы, необходимые для выполнения шага выполнения.

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

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

  1. ^ Кристал Чен, Грег Новик и Кирк Шимано (2000). «Трубопровод» . Проверено 26 июня 2019 г.
  2. ^ Боски Агарвал (2004). «Цикл выполнения выборки инструкций» (PDF) . Архивировано из оригинала (PDF) 11 июня 2009 года . Проверено 14 октября 2012 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cd553f97ab7529f6a077c7c7676b5246__1697125860
URL1:https://arc.ask3.ru/arc/aa/cd/46/cd553f97ab7529f6a077c7c7676b5246.html
Заголовок, (Title) документа по адресу, URL1:
Instruction cycle - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)