СТРУКТУРА И ФОРМАТ КОМАНД
При выборе формата команд необходимо учесть:
- адресность машины;
- способы адресации;
- количество команд;
- месторасположение операнда.
Структура команды:
КОП | Адресная часть |
КОП – код операции. Адресностью машины определяется количество адресных частей.
Способы адресации:
1. Относительная
2. Прямая
3. Косвенная
4. Непосредственная
1. Адресная часть при относительной адресации подразделяется:
Адресная часть | ||
ПА | База | Смещение |
ПА – признак адресации. Одно поле связано с адресацией базы, другое – с расположением смещения относительно некоторой базы. В смещении может храниться само смещение или адрес регистра, где хранится смещение.
2. Прямая адресация.
ПА | Адресная часть |
3. Косвенная адресация.
ПА | L | Адрес |
Разрядность поля адреса зависит от объема ОП. Поле L отвечает за глубину косвенной адресации; т.е. это количество обращений к памяти, необходимых для выборки операнда или определения исполнительного адреса. Если L – по умолчанию, и равно, например, 2, то это поле можно убрать; таким образом можно сократить длину команды или увеличить адресную часть.
4. Непосредственная адресация.
ПА | Операнд |
Операнд хранится в поле команды; также можно хранить операнд в следующей за командой ячейке. Если 2 операнда – то, соответственно, они хранятся в двух последующих ячейках.
Существует 3 формата команд:
- RR – оба операнда находятся в разных регистрах;
- SS – оба операнда находятся в памяти;
- SR – один операнд находится в памяти, другой – в регистре.
RR
SS
SR
Необходимо выполнить согласование формата команды с памятью и с шиной. В качестве шины – шина данных и шина адреса.
Пусть память имеет 16-ти разрядное слово, а команда – 17 разрядов. Тогда команда в памяти будет располагаться так:
15 0
/////////////////// |
// |
\\\\\\\\\\\\\\\\\\\ |
\\ |
4. ОБОБЩЕННЫЙ АЛГОРИТМ
ФУНКЦИОНИРОВАНИЯ ЭВМ
( п.1 )
да
|
ческая опе-
рация
нет
на ( п.2 )
да
|
Обработка адресной
части 1 – это вычис- ( п.3 )
ление исполнитель-
ного адреса 1-го
|
да
нет
да
нет
|
да
( п.4 )
|
да да
нет ( п.5 ) нет
( п.6 )
на ( п.1 )
ЛО - логические
нет нет операции;
( п.2 ) на ( п.7 ) ПО - посылочные
да да операции.
|
на ( п.3 )
да
( п.8 )
|
да
да на ( п.5 )
|
на ( п.1 )
Если посылочная операция выполняет пересылку операнда, то:
с ( п.8 ):
|
ввода-вы-
вода
КБП - команды
безуслов-
на ( п.4 ) ного пере-
хода
( п.7 ): да да
нет
нет
|
|
да на ( п.10 )
| ||||||
|
| |||||
( п.9 )
да да
нет нет
нет нет
|
|
ПП – программное
прерывание
|
условного
перехода
на ( п.4 )
( п.10 ):
нет да
на ( п.5 )
да нет
нет
нет
да
|
|
на ( п.9 ) на ( п.4 )
на ( п.6 ) на ( п.5 )