96 Глава 2. Архитектура системы команд
ложенную за командой вызова. Такой режим предполагает наличие средств для сохранения текущего состояния содержимого счетчика команд в момент вызова (запоминание адреса точки возврата) и его восстановления при выходе из проце­дуры.
Форматы команд
Типовая команда, в общем случае, должна указывать:
•   подлежащую выполнению операцию;
•   адреса исходных данных (операндов), над которыми выполняется операция;
•   адрес, по которому должен быть помещен результат операции.
В соответствии с этим команда состоит из двух частей: операционной и адрес­ной (рис. 2.37).
Операционная часть
Адресная часть
Рис. 2.37. Структура команды Формат команды определяет ее структуру, то есть количество двоичных раз­рядов, отводимых под всю команду, а также количество и расположение отдель­ных полей команды. Полем называется совокупность двоичных разрядов, кодиру­ющих составную часть команды. При создании ВМ выбор формата команды влияет на многие характеристики будущей машины. Оценивая возможные форматы, нуж­но учитывать следующие факторы:
•   общее число различных команд;
•   общую длину команды;
•  тип полей команды (фиксированной или переменной длины) и их длина;
•    простоту декодирования;
•   адресуемость и способы адресации;
•   стоимость оборудования для декодирования и исполнения команд.
Длина команды
Это важнейшее обстоятельство, влияющее на организацию и емкость памяти, струк­туру шин, сложность и быстродействие ЦП. С одной стороны, удобно иметь в рас­поряжении мощный набор команд, то есть как можно больше кодов операций, опе­рандов, способов адресации, и максимальное адресное пространство. Однако все это требует выделения большего количества разрядов под каждое поле команды, что приводит к увеличению ее длины. Вместе с тем, для ускорения выборки из памяти желательно, чтобы команда была как можно короче, а ее длина была равна или кратна ширине шины данных. Для упрощения аппаратуры и повышения быс­тродействия ВМ длину команды обычно выбирают кратной байту, поскольку в большинстве ВМ основная память организована в виде 8-битовых ячеек. В рам­ках системы команд одной ВМ могут использоваться разные форматы команд. Обычно это связано с применением различных способов адресации. В таком слу-
Форматы команд 97
чае в состав кода команды вводится поле для задания способа адресации (СА), и обобщенный формат команды приобретает вид, показанный на рис. 2.38.
КОл
СА
Адоесная часть
где I— количество адресов в команде; RAколичество разрядов для записи i-ro адреса; к — разрядность поля кода операции; Rqa~ разрядность поля способа адресации.
В большинстве ВМ одновременно уживаются несколько различных форматов команд.
Разрядность полей команды
Как уже говорилось, в любой команде можно выделить операционную и адресную части. Длины соответствующих полей определяются различными факторами, ко­торые целесообразно рассмотреть по отдельности.
Разрядность поля кода операции
Количество двоичных разрядов, отводимых под код операции, выбирается так, чтобы можно было представить любую из операций. Если система команд предпо­лагает Л'копразличных операций, то минимальная разрядность поля кода опера­ции КОп определяется следующим образом:
^KOn=int(log2ATKOn),                                      (2-2)
где int означает округление в большую сторону до целого числа.
При заданной длине кода команды приходится искать компромисс между раз­рядностью поля кода операции и адресного поля. Большее количество возможных операций предполагает длинное поле кода операции, что ведет к сокращению ад­ресного поля, то есть к сужению адресного пространства. Для устранения этого противоречия иногда длину поля кода операции варьируют. Изначально под код операции отводится некое фиксированное число разрядов, однако для отдельных команд это поле расширяется за счет нескольких битов, отнимаемых у адресного поля. Так, например, может быть увеличено число различных команд пересылки данных. Необходимо отметить, что «урезание» части адресного поля ведет к со­кращению возможностей адресации, и подобный прием рекомендуется только в тех командах, где подобное сокращение может быть оправданным.
Разрядность адресной части,
В адресной части команды содержится информация о местонахождении исход­ных данных и месте сохранения результата операции. Обычно местонахождение
4 Зис.470
Hosted by uCoz