Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EiTI_lektsii.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2.46 Mб
Скачать

5.2. Формат, структура и виды команд

Решение задач на ПК реализуется программным способом, т.е. путем выполнения последовательно во времени отдельных операций над информацией, предусмотренных алгоритмом решения задачи.

Алгоритм решения задачи, заданный в виде последовательности команд на языке вычислительной машины (в кодах машины), называется машинной программой.

Команда машинной программы (машинная команда) – это элементарная инструкция машине, выполняемая ею автоматически без каких-либо дополнительных указаний и пояснений.

Форматом команды называется заранее обговоренная структура полей в ее кодах, позволяющая ЭВМ распознавать составные части кода.

Данное, используемое при выполнении команды, называется операндом. Параметрами операнда являются длина (в байтах) и местоположение (регистр процессора, ячейка памяти и др.).

Операнд-источник – операнд, исходное значение которого используется при выполнении команды.

Операнд-приемник – операнд, местоположение которого совпадает с местоположением результата операции.

Машинная команда состоит из двух частей: операционной и адресной.

Операционная часть команды – это группа разрядов в команде, предназначенная для представления кода операции машины.

Адресная часть команды – это группа разрядов в команде, в которых записываются коды адреса (адресов) ячеек памяти машины, предназначенных для оперативного хранения информации, или иных объектов, задействованных при выполнении команды. Эти адреса называют адресами операндов, т.е. чисел, участвующих в операции.

По числу адресов, записываемых в команде, команды подразделяются на трех-, двух-, одноадресные и безадресные (рис. 6).

Рис. 6. Типовые структуры команд:

КОП – код операции

В трехадресной команде:

al и а2 – адреса ячеек (регистров), где расположены соответственно первое и второе числа, участвующие в операции;

а3 – адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.

В двухадресной команде:

al – это обычно адрес ячейки (регистра), где хранится первое из чисел, участвующих в операции, и куда после завершения операции должен быть записан результат операции;

а2 – обычно адрес ячейки (регистра), где хранится второе участвующее в операции число.

В одноадресной команде:

al – в зависимости от модификатора команды может обозначать либо адрес ячейки (регистра), где хранится одно из чисел, участвующих в операции, либо адрес ячейки (регистра), куда следует поместить число – результат операции.

Безадресная команда содержит только код операции, а информация для нее должна быть заранее помещена в определенные регистры машины (безадресные команды могут использоваться только совместно с командами другой адресности).

Пример. СЛ 0103 5102

Это означает: сложить число в ячейке 0103 памяти с числом в ячейки 5102 памяти, а сумму поместить в ячейку 0103.

Команды хранятся в ячейках памяти только в двоичном коде.

Длина кода команды измеряется в машинных словах (байт). Чтобы получить возможность работать с минимальным числом адресных полей, результат, к примеру, можно размещать по месту хранения одного из операндов либо предварительно разместить один или несколько операндов в специально выделенных регистрах процессора.

Состав и число команд должны быть ориентированы на стандартный набор операций, используемых пользователем для решения своих задач.

По видам выполняемых операций команды подразделяются:

1) операции пересылки информации внутри ПК;

2) арифметические операции над информацией;

3) логические операции над информацией;

4) операции обращения к внешним устройствам ПК;

5) операции передачи управления (служат для изменения естественного порядка выполнения команд):

– операции безусловной передачи управления. Требуют выполнения после данной команды не следующей по порядку, а той, адрес которой в явном или неявном виде указан в адресной части;

– операции условной передачи управления. Требуют тоже передачи управления по адресу, указанному в адресной части команды, но только в том случае, если выполняется некоторое заранее оговоренное для этой команды условие. Это условие в явном или неявном виде указано в коде операции;

6) обслуживающие и вспомогательные операции.

Выполнение команды разбивается на следующие этапы:

– из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; при этом содержимое счетчика команд увеличивается на длину команды;

– выбранная команда передается в устройство управления (УУ) на регистр команд;

– УУ расшифровывает адресное поле команды (операнд);

– по сигналам УУ операнды считываются из памяти и записываются в арифметическо-логическое устройство (АЛУ) на специальные регистры операнд;

– УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;

– результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;

– все предыдущие этапы повторяются до команды «стоп».

Большинство алгоритмов может быть реализовано небольшим базовым набором команд. Вместе с тем система команд должна быть полной, т.е. содержать все команды, которые необходимы для интерпретации алгоритма в машинных кодах. ЭВМ общего назначения имеет универсальный набор команд и применяется в основном для решения тривиальных (стандартных) задач.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]