Команды работы со строками. Для работы со строками в АСК обычно предусматриваются команды, обеспечивающие перемещение, сравнение и поиск строк.
Команды SIMD. В отличие от обычных команд, оперирующих двумя числами, SIMD-команды обрабатывают сразу две группы чисел (в принципе их можно называть групповыми командами). Операнды таких команд обычно представлены в одном из упакованных форматов.
Команды преобразования. Команды преобразования осуществляют изменение формата представления данных.
Команды ввода/вывода. Команды этой группы делят на:
- команды управления периферийным устройством (ПУ);
- проверки его состояния;
- ввода и вывода.
Команды управления системой. Команды, входящие в эту группу, относятся к привилеги-рованными и могут выполняться, только когда центральный процессор ВМ находится в привилегированном состоянии или выполняет программу, находящуюся в привилегированной области памяти (обычно привилегированный режим используется лишь операционной системой).
Команды управления потоком команд. В системе команд ВМ можно выделить три типа команд, способных изменить последовательность вычислений:
- безусловные переходы;
- условные переходы (ветвления);
- вызовы процедур и возвраты из процедур.
4. Форматы команд
Формат команды определяет ее структуру, то есть количество двоичных разрядов, отводимых под всю команду, а также количество и расположение отдельных полей команды. Полем называется совокупность двоичных разрядов, кодирующих составную часть команды. В соответствии с этим команда состоит из двух частей: операционной и адресной. В рамках системы команд одной ВМ могут использоваться разные форматы команд. Обычно это связано с применением различных способов адресации. В таком случае в состав кода команды вводится поле для задания способа адресации (СА).
Для определения количества адресов, включаемых в адресную часть используют термин адресность. Самые «широкие» команды – трехадресные. В них указывают: адрес первого операнда, адрес второго операнда и адрес ячейки, куда заносится результат операции. Может быть добавлен еще один адрес, указывающий место хранения следующей инструкции. В итоге имеет место четырехадресный формат команды.
Если по умолчанию взять в качестве адреса результата адрес одного из операндов, то можно обойтись без третьего адреса, и в итоге получаем двухадресный формат команды. Команду можно еще более сократить, перейдя к одноадресному формату. Для хранения первого операнда и результата выделяют специальный регистр процессора - аккумулятор. Применение единственного регистра для хранения одного из операндов и результата является не очень удобным, поэтому помимо аккумулятора часто используют и другие регистры ЦП. Соответствующий формат носит название полутора адресного или регистрового формата. Если для обоих операндов указать четко заданное местоположение, а также в случае команд, не требующих операнда, можно получить нуль адресный формат команды. В таком варианте адресная часть команды вообще отсутствует или не используется.
Do'stlaringiz bilan baham: |