logo
Алексеев информатика

3.2. Представление команд в эвм

Программа работы ЭВМ состоит из последовательности команд.

Под командой понимается информация, обеспечивающая выработку управляющих сигналов, формируемых в устройстве управления процессора, для выполнения машиной определенного действия.

Поле команды состоит из двух частей: операционной и адресной. В операционной части указывается код операции (КОП). Код определяет действие, которое должна выполнить ЭВМ (арифметическое – сложение, вычитание, логическое – инверсия и т. д.).

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

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

Количество указываемых в команде адресов может быть различным. В зависимости от числа адресов различают следующие форматы команд: одно-, двух- и трехадресные. Бывают и безадресные команды.

Трехадресная команда, выполняющая, например, операцию сложения, должна содержать код операции сложения и три адреса.

Действия, выполняемые этой командой, описываются следующей последовательностью операций.

1. Взять число, хранящееся по первому адресу А1.

2. Взять число, хранящееся по второму адресу А2, и сложить с первым числом.

3. Результат сложения записать по третьему адресу A3.

В случае двухадресной команды третий адрес отсутствует, и результат можно записать либо по второму адресу (с потерей информации, которая была там записана), либо оставить в регистре сумматора, где производилась операция сложения. Тогда для освобождения регистра сумматора требуется дополнительная команда перезаписи числа по требуемому адресу. При организации сложения двух чисел, хранящихся по адресам А1 и А2 с записью результата в A3 с использованием одноадресных команд, требуется уже три команды.

1. Вызов в сумматор (АЛУ) числа, хранящегося по адресу А1.

2. Вызов числа, хранящегося по адресу А2 и сложение его с первым числом.

3. Запись результата по адресу A3.

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

Увеличивая число адресов в команде, приходится увеличивать длину машинного слова, чтобы отвести в нем необходимые поля для адресной части команд. С увеличением объема памяти ЭВМ увеличивается длина поля, необходимого для указания одного адреса. В то же время не все команды полностью используют адресные поля. Например, для команды записи числа по заданному адресу требуется только одно адресное поле. Неоправданное увеличение длины машинного слова для использования многоадресных команд приводит к уменьшению быстродействия ЭВМ, т.к. необходимо обрабатывать поля большей длины.

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

Современные ЭВМ автоматически выполняют несколько сотен различных команд. Все машинные команды можно разделить на группы по видам выполняемых операций:

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