Цикл команд

редактировать

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

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

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

Содержание

  • 1 Роль компонентов
  • 2 Сводка этапов
  • 3 Инициирование
  • 4 Получение этапа
  • 5 Этап декодирования
    • 5.1 Чтение эффективного адреса
  • 6 Выполнение этапа
  • 7 См. Также
  • 8 Ссылки

Роль компонентов

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

На этапе декодирования блок управления (CU) декодирует инструкцию в CIR. Затем CU отправляет сигналы другим компонентам в CPU, таким как арифметико-логический блок (ALU) и блок с плавающей запятой (FPU). ALU выполняет арифметические операции, такие как сложение и вычитание, а также умножение посредством повторного сложения и деление посредством повторного вычитания. Он также выполняет логические операции, такие как И, OR, НЕ, а также двоичные сдвиги. FPU зарезервирован для выполнения операций с плавающей точкой.

Сводка этапов

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

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

Инициирование

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

Этап выборки

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

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

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

Этап декодирования

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

ЦП ЦП. Считывание действующего адреса

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

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

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

Этап выполнения

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

См. Также

Ссылки

Последняя правка сделана 2021-05-24 03:39:34
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте