Цикл выполнения команды
В ВМ программа реализуется центральным процессором посредством последовательного исполнения образующих эту программу команд. Действие, требуемое для выборки, т.е. извлечения из памяти и выполнения команды, называется циклом команды. В общем случае цикл команды включает в себя несколько составляющих, этапов:
1. выборка команды
2. формирование адреса следующей команды
3. декодирование команды
4. вычисление адресов операндов
5. выборка операндов
6. исполнение операции
7. формирование признака результата
8. запись результата
Рассмотрим каждый из этих этапов:
1. Цикл начинается со считывания из памяти по адресу, хранящемуся в счетчике команд, очередной команды. Двоичный код команды помещается в регистр команды и с этого момента начинается ее реализация.
2. Для большинства ВМ характерно размещение соседних команд в смежных ячейках памяти. Если извлеченная команда не нарушает естественного порядка выполнения программы, т.е. не является командой условного или безусловного перехода, то для вычисления адреса следующей команды достаточно увеличить содержимое счетчика команд на длину текущей выполняющейся команды. Если извлеченная команда это команда перехода, условного или безусловного, то формирование адреса следующей команды переносится на этап исполнения операции.
3. Декодирование команды – прежде всего декодирование кода операции.
· Какие действия нужны для выполнения команды.
· Если команда использует операнды, то откуда их взять: из регистра или оперативной памяти.
· Если команда формирует результат, то куда его направить.
По результатам декодирования происходит подготовка схем ЭВМ к выполнению установленных действий.
4. Если операнды находятся в ОП, то осуществляется вычисление их исполнительных адресов. При этом учитывается используемый способ адресации (самые сложные вычисления – для индексной адресации).
5. Вычисление исполнительного адреса используется для считывания операндов из памяти и занесения их в определенные регистры процессора. Наиболее часто операнды предварительно заносятся в специальные вспомогательные регистры процессора, а их пересылка на вход АЛУ производится на этапе исполнения команды.
6. Реализация указанной в программе операции.
7. Определение признака результата операции. Результат может быть меньше, больше или равен нулю. Признак заносится в специальный регистр – регистр признака результата.
8. Данный этап присутствует только в цикле команд, который предполагает получение результата.
Важным элементом выполнения команд является организация прерываний и приоритетов. При организации мультипрограммного режима существуют две проблемы:
1. защита памяти
2. прерывания и приоритеты
При одновременном выполнении программ обеспечивается более равномерная и эффективная загрузка ресурсов, прежде всего центрального процессора (например: считывание с жесткого диска – задержка единицы миллисекунды, что соответствует потере нескольких тактов процессора).
Прерывание выполнения программы более приоритетной должно обеспечивать:
· Завершение выполнения команды прерывания команды (в этом случае достаточно запомнить адрес выполненной последней команды).
· Возврат к прерванной программе, он выполняется по принципу программного управления, с учетом запомненного адреса выполненной команды.
· Необходимая глубина прерывания (до 16 отстранений).
Дата добавления: 2015-08-14; просмотров: 4327;