Организация циклов выполнения команд

Командные и машинные циклы

Команда представляет собой совокупность микрокоманд, которые в виде двоичных кодов хранятся в постоянном запоминающем устройстве (ПЗУ) блока управления микропроцессора. Выполнение команды можно рассматривать как процесс считывания из ПЗУ микрокоманд, инициирующих работу некоторых функциональных узлов микропроцессора на отдельных временны́х интервалах (тактах). Время, затрачиваемое на выполнение команды, называется командным циклом. Команды имеют разную длительность командных циклов, так как содержат различное число микрокоманд. Это обстоятельство отражается в форматах команд, имеющих длину 1, 2 и более байт. В командном цикле можно выделить две основные фазы:

  • • фазу выборки команды. В этой фазе счетчик команд, или программный счетчик, выставляет на адресную шину адрес первого байта команды. Микропроцессор вырабатывает сигнал чтения памяти, благодаря которому содержимое адресуемой ячейки памяти по шине данных поступает в регистр команд. Счетчик команд формирует адрес, указывающий на следующий элемент объектного кода. Фаза выборки одинакова для всех команд;
  • • фазу выполнения команды, начинающуюся с дешифрации команды. В результате дешифрации первого байта определяется вид (код) операции и в устройстве управления формируются необходимые для ее выполнения управляющие сигналы. Действия микропроцессора в данной фазе и ее продолжительность зависят от вида операции. Для выполнения операции может потребоваться дополнительное обращение к памяти или внешним устройствами за данными, пересылка данных в соответствующие регистры микропроцессора, непосредственное выполнение операции в АЛУ, вывод результатов в память или внешнее устройство и т.д.

Различная длительность командных циклов и неоднородность их отдельных фаз явились причиной организации машинных циклов для выполнения команд. Каждый машинный цикл представляет собой цикл обращения к системной магистрали. В машинном цикле производятся выборка очередной команды или байта (слова) данных из основной памяти, запись в память, ввод или вывод данных. Командный цикл может содержать различное число машинных циклов. В первом машинном цикле Ml происходит выборка первого байта команды, дешифрация кода команды и ее исполнение, если данные находятся во внутренних регистрах микропроцессора. Если выполнение команды требует обращения к основной памяти или внешним устройствам, то используется два, три и более машинных циклов. Машинные циклы, как и командные, также не являются однородными, поэтому на их выполнение затрачивается различное число тактов. Таким образом, при выполнении команды все действия микропроцессора синхронизированы вложенными друг в друга циклами трех уровней: командными, машинными и тактовыми.

 
< Пред   СОДЕРЖАНИЕ     След >