Цикл выполнения команды. Служба времени, много тактовая организация цикла команды

Цикл выполнения команды (все зависимости от ЭВМ) включает в себя крупные блоки:

1) Чтение текущей команды из ячейки оперативной памяти

Обычно чтение размещено на специальный регистр.

2) Дешифрация кода операции (команды) для определения выполняемой операции, количество операндов и использованных способов адресации.

3)  Определение местоположения операндов в соответствии с используемыми способами адресации; извлечение операндов и передача их в арифметико-логическое устройство (извлечение в АЛУ)

4) Выполнение операции в АЛУ с получением результата на его выходе, коим является регистр результата.

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

5) Формирование адреса и запись результата в ООП

6) Формирование адреса следующей команды (адрес текущей + величина исполн. команды)

Действия, осуществляемые в процессе цикла команды, носят названия микрооперации, а совокупность этих действий для выполнения команды образует микропрограмму.

Первый этапвыборка исполняемой команды из ОЗУ. Для реализации этого этапа необходимо код со счетчика команд (СК) = kпередать в ОЗУ, обратиться в ячейку ОЗУ с адресом k и содержимое этой ячейки, являющееся кодом этой команды, передать на регистр команд. Соответствующие передачи отмечены на рис. 12.1 цифрой 1: передача кода СК на РА (регистр адреса) ОЗУ, дешифрация адреса на дешифраторе адреса (ДшА), считывание команды из ячейки (k) ОЗУ и передача ее в РК.

Регистр адреса служит для хранения адреса, по которому происходит обращение к ОЗУ, на время этого обращения. Дешифратор преобразует поступающий на него адрес в унитарный код, который непосредственно воспринимается физическими элементами схем памяти. На его выходах всегда имеется одна и только одна возбужденная шина, соответствующая адресу выбираемой ячейки. Регистр команд предназначен для хранения в процессоре считанной из ОЗУ команды на время ее выполнения. На этом этапе после приема команды на РК дешифратор кода операции (ДшКОп) по операционной части выполняемой команды определяет тип команды. Сигнал с ДшКОп таким образом настраивает блок управления операциями (БУОп), что на его выходах формируются управляющие сигналы (УСi), которые необходимы для автоматического выполнения всего цикла команды вплоть до занесения в РК новой команды. Формирование УСi проходит на основе сигналов с датчика сигналов (ДС), который вырабатывает импульсы, равномерно распределенные по своим выходам. Регистр команд, дешифратор кода операции, блок управления операциями, датчик сигналов, счетчик команд составляют устройство управления.

Если данная команда не является командой перехода, то реализуется следующая последовательность этапов как продолжение первого.

Второй этапвыборка первого операнда (a). Необходимо код из поля адреса первого операнда – a из РК передать в ОЗУ, обратиться к ячейке с адресом a в оперативной памяти и код этой ячейки передать в АЛУ. Соответствующие передачи обозначены на рис. 12.1 цифрой 2.

Третий этапвыборка второго операнда (b). Производится по аналогии со вторым этапом. Соответствующие передачи на рис. 12.1 отмечены цифрой 3.

Четвертый этап – выполнение операции в соответствии с полем кода операции команды. Еще в конце первого этапа коммутатор операций определил тип выполняемой команды. Операнды переданы в АЛУ на втором и третьем этапах. Блок управления операциями формирует управляющие сигналы, необходимые для выполнения данной операции в АЛУ. Результат выполненной в АЛУоперации сохраняется в его внутреннем регистре результата (РР), а признаки результата – в регистре признаков АЛУ. Соответствующие передачи и взаимодействия блоков обозначены на рис. 12.1 цифрой 4.

Пятый этап – обращение к ОЗУ и запись по адресу c результата операции. Здесь код поля c регистра команд передается в ОЗУ на РА. Затем в ячейку ОЗУ с адресом c записывается результат операции, находящийся в регистре результата АЛУ. Признаки результата записываются из регистра признаков АЛУ в регистр флагов компьютера, из которого они передаются в БУОп, если очередная считанная в РК команда окажется командой условного перехода. Соответствующие передачи обозначены на рис. 12.1 цифрой 5.

Шестой этап – формирование адреса ячейки ОЗУ, где находится следующая команда программы, то есть замена старого кода в счетчике команд на новый. Так как в ЭВМ предполагается естественный порядок выполнения программы, то следующая команда находится в ячейках ОЗУ, располагающихся сразу же вслед за ячейками, занятыми выполненной командой. Считая, что выполненная команда занимает в памяти ячеек, получим, что суть этого этапа заключается в следующем изменении счетчика команд: . На этом заканчивается цикл выполнения команды: в СК сформирован адрес следующей команды . Выполнение этого этапа может совмещаться с выполнением предшествующих этапов, что и реализовано в большинстве ЭВМ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: