- •Общие сведения о эвм
- •Этапы развития эвм
- •Архитектура классической эвм
- •Принцип программного управления
- •Принцип хранимой в памяти программы
- •Обобщенный формат команд
- •Способы адресации команд
- •Процессоры с принудительным порядком выполнения команд
- •Процессоры с естественной адресацией команд Упрощенная структура процессора с естественной адресацией команд приведена на рисунке 2.4.2.
- •2.5.2 Регистровая адресация
Обобщенный формат команд
Команды в ЦВМ могут быть одноадресными, двухадресными и трехадресными (в машинах с так называемой естественной адресацией команд).
Формат одноадресной команды следующий:
КОП |
А - адрес операнда |
Формат двухадресной команды:
КОП |
А1-адрес первого операнда |
А2 - адрес второго операнда |
Формат трехадресной команды:
КОП |
А1- адрес первого операнда |
А2 - адрес второго операнда |
А3-адрес результата |
Каждая команда состоит из операционной части - кода операции (КОП) и адресной части. В операционной части указывается тип выполняемой операции в виде двоичного числа. В адресной части указывается адрес ячейки памяти, в которой размещается операнд (одноадресная команда). Если в команде указывается адреса 1-го и 2-го операндов, то такая команда называется двухадресной. В трехадресной машине указывается еще и адрес результата, то есть ячейка ОП, куда помещается результат.
Какая из систем лучше? В современных машинах большого класса могут сочетаться все типы. Приведенные типы команд относятся к так называемым машинам с естественной адресацией, в которых команды из программы выбираются последовательно одна за другой. Адресация производится с помощью счетчика команд СчК (PC- Program Count). Однако существовали машины и с принудительной адресацией, в которых очередная команда выбиралась по адресу, указанному в предыдущей команде (такой способ адресации сохранен в настоящее время только в так называемых микропрограммных устройствах управления).
Структура команд такой машины имеет вид:
КОП |
А1 |
А2 |
Ар |
Аск |
где Ар- адрес результата;
Аск -адрес следующей команды .
Т.к. приведенная команда использует два операнда, и еще появилось поле адреса результата, то поэтому команда стала четырехадресной:
Способы адресации команд
При размещении команд в ОП для их вызова на исполнение в процессор необходимо формировать адреса ячеек ОП, в которых они хранятся. В соответствии с методом формирования адреса команды процессоры делятся на два типа: процессоры с принудительным порядком выполнения команд (принудительной адресацией команд) и с естественным порядком выполнения команд (естественной адресацией команд).
Процессоры с принудительным порядком выполнения команд
Упрощенная структура процессора с принудительной адресацией команд приведена на рисунке 2.4.1.
Рисунок 2.4.1- Упрощенная структура процессора с принудительной адресацией
Процесс выполнения команд процессором следующий: при включении процессора в регистр адреса (РА) заносится адрес первой выполняемой команды (по сигналу “Сброс” или “Пуск” или каким либо иным способом). По этому адресу из ОП через шину данных в регистр команд (РК) считывается команда, которая содержат код операции (КОП), адрес операнда (Аоп), а так же адрес следующей команды (Аск). Поле КОП команды используется для формирования управляющих сигналов с помощью дешифратора кода операции (ДшКОП) который вырабатывает нужную последовательность управляющих сигналов (УС) y1...yn, необходимых для выполнения команды в процессоре.
Адрес операнда через РА задает номер ячейки ОП, в которой он хранится. Операнд, считанный из ячейки памяти с заданным адресом, поступает на обработку в АЛУ.
Рассмотрим следующий пример. Положим, что процессор имеет следующую систему команд в машинных кодах (для более краткой записи представим систему команд в шестнадцатеричной системе счисления):
01H- вызов операнда из ОП в аккумулятор;
02H- запись содержимого А в ОП;
1АH- команда сложения;
00H – останов выполнения программы.
Пусть необходимо составить программу сложения 2-х чисел, находящихся соответственно в ячейках ОП с адресами 0841H и 0842H и записать результат в ячейку ОП с адресом 0843H. Программа хранится в смежных ячейках памяти, начиная с адреса 1300H. Разрядность (ширина) чтения команд и данных из ОП и записи данных в ОП за одно обращение процессора к ОШ (за один шинный цикл) - 1 байт. В этих условиях требуемая программа будет иметь следующий вид, представленной в таблице 2.4.1:
Таблица 2.4.1- Пример программы сложения 2-х чисел с использованием принудительной адресации
№ яч |
КОП |
Аоп |
Аск |
Комментарий |
1300 |
01 |
0841 |
1305 |
Вызов 1-го операнда из ОП и переход к считыванию следующей команды из ячейки ОП с номером 1305H. |
1305 |
1А |
0842 |
130А |
Вызов 2-го операнда, сложение и переход к считыванию следующей команды из ячейки ОП с номером 130АH. |
130А |
02 |
0843 |
130F |
Запись результата в ОП и переход к ячейке 130FH. |
130F |
00 |
0000 |
0000 |
Останов. |
Нетрудно подсчитать, что при использовании принудительной адресации команд длина программы составляет 20 байт.