Основные стадии выполнения команды. Рабочий цикл процессора
Функционирование процессоров в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует выполнению одной команды программы. Завершив рабочий цикл для текущей команды, процессор переходит к выполнению рабочего цикла для следующей команды программы.
В общем виде команды, выполняемые процессором, имеют следующий формат:
Код операции | Адресный код |
В зависимости от того, сколько полей содержит адресный код различают команды: безадресные, одноадресные, двухадресные и т.д.
Схема рабочего цикла процессора представлена на рисунке.
На схеме показаны варианты рабочего цикла для четырех групп команд: основных (арифметические, логические и пересылочные операции); передачи управления; ввода-вывода; системных (устанавливающих состояние процессора, маску прерывания, слово состояния программы и др.)
Рабочий цикл начинается с распознавания состояния процессора – «счет» или «ожидание». Далее производится проверка наличия немаскированных прерываний.
В состоянии «ожидание» никакие программы не выполняются – процессор ждет поступления прерывания, после чего управление передается прерывающей программе, переводящей процессор в состояние «счет».
В состоянии «счет» при наличии немаскированных прерываний происходит выход из нормального рабочего цикла и переход к процедуре обработки запросов прерывания.
При отсутствии прерываний в состоянии «счет» последовательно выполняются этапы рабочего цикла: выборка очередной команды и определение по коду операции ее группы, подготовка операндов (формирование исполнительных адресов и выборка операндов из памяти), обработка операндов в АЛУ и запоминание результата.
На этапе выборки очередной команды образуется согласно естественному порядку адрес следующей за ней команды (продвинутый адрес), при этом счетчик команд инкрементируется.
В процессе выполнения заданной командой операции формируется признак результата операции, используемый командами условного перехода при организации ветвлений в программах.
Указанная выше последовательность составляет основной вариант рабочего цикла, реализуемый при выполнении основных команд.
При выполнении команд передачи управления проверяется заданное условие. Если условие не выполняется, то следующую команду указывает продвинутый адрес, установленный ранее в СчК. Если условие выполняется, то в СчК передается адрес, заданный командой передачи управления.
Команды ввода-вывода инициируют в канале операцию обмена информацией между ядром ЭВМ (основной памятью) и периферийным устройством.
Системные команды осуществляют переключения состояния процессора (программы) путем загрузки нового слова в регистр состояния процессора.
Рис. 2.13 Рабочий чикл процессора. |
Дата добавления: 2014-12-21; просмотров: 2474;