Вопрос 13:Системы кодирования команд. Структура одно-, двух-, трех-,четырехадресной ЭВМ. Естественный и принудительный порядок выполнения программы
Формат команды – это структура команды, позволяющая распознать назначение отдельных ее полей.
Исходя из определения, команда должна содержать информацию о выполняемой операции, адресах операндов и адресе ячейки ЗУ для записи результата.
Обычно ЭВМ с одноадресной системой команд имеют особую структуру, в состав которой входит специальный регистр (регистр результата – РР ). Он служит для хранения результата операции и используется в качестве одного из операндов при выполнении операции
Схема выполнения операции на ЭВМ с одноадресной системой команд имеет вид:
(А) * (РР) -> А или (А) * (РР) -> РР.
Формат двухадресной команды . Выполнение операции с помощью такой команды проходит по следующей схеме:
(А1) * (А2) -> А1 или (А1) * (А2) -> А2
Схема выполнения трехадресной команды имеет вид:
(А1)*(А2)->А3.
Рассмотренные форматы команд используются при так называемом естественном порядке выполнения программы. При этом подразумевается, что после выполнения любой команды, не меняющей в явном (виде порядок выполнения программы, очередная команда выбирается из ячейки ЗУ, располагающейся сразу же вслед за ячейкой (или ячейками), содержащей код текущей команды. При четырехадресной системе кодирования команд первые три адреса выполняют те же функции, что и в трехадресной команде, а четвертый указывает адрес ячейки, где хранится следующая выполняемая команда. Такая система обеспечивает принудительный порядок выполнения команд программы. Она хотя и повышает гибкость программирования, но практического применения не получила. Основной причиной этого является существенное увеличение размера каждой команды и, соответственно, увеличение объема ЗУ, необходимого для размещения программы.
Вопрос 14: Цикл выполнения команды. Взаимодействие основных узлов и устройств ЭВМ при автоматическом выполнении команды в трехадресной ЭВМ.
В составе ЭВМ кроме традиционных устройств компьютера с классической архитектурой (оперативное запоминающее устройство, арифметико-логическое устройство и основные схемы устройства управления) выделим следующие блоки:
· регистровая память (РП);
· блок формирования адреса операнда (БФАО);
· двадцатиразрядные сумматоры для получения физических адресов данных (SФАД) и физических адресов команд (SФАК).
Допустим, что ее первый байт находится в ячейке ОЗУ с адресом [IP] = i.
Первый этап. Код IP передаётся на сумматор SФАК. На этот же сумматор поступает код сегментного регистра команд из РП, умноженный на 16. На выходе SФАК сформируется код физического адреса ОЗУ, по которому находится первый байт команды. Код с выхода SФАК поступает на регистр адреса ОЗУ. Из ОЗУ выбирается первый байт команды и посылается в регистр команд . И в завершении этого этапа к IP добавляется 1.
Второй этап. В начале второго этапа с помощью ДшКОп расшифровывается код операции выполняемой команды. Если выполняемая команда не нарушает естественного порядка выполняемой программы, то осуществляется формирование адреса первого операнда и выборка этого операнда из РП или ОЗУ ЭВМ.
В данной команде для первого операнда используется регистровый относительный режим адресации. В этом случае коды полей второго байта из регистра команд поступают в БФАО и таким образом коммутируют оборудование БФАО, что на его выходе появляются сигналы, обеспечивающие считывание определенных кодов, которые поступают на сумматор физического адреса данных SФАД. Сформированный на SФАД код поступает на РА ОЗУ. Происходит выборка байта данных, который направляется в АЛУ. Выполнение второго этапа завершено.
Третий этап. Выбор второго операнда.
четвертый - выполнение операции в АЛУ;
пятый - запись результата в оперативную или регистровую память ;
шестой - формирование адреса следующей выполняемой команды.
ЭВМ готова к выполнению следующих команд программы.