Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация ЭВМ, история.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
6 Мб
Скачать
☆

2.2 Команда, форматы команд

Команда – это описание элементарной операции, которую должен выполнить компьютер.

Структура команды.

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

В общем случае команда содержит следующую информацию:

  • код выполняемой операции;

  • указания по определению операндов или их адресов;

  • указания по размещению получаемого результата.

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

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

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

В адресной части команды может быть указан, например:

  • операнд;

  • адрес операнда;

  • адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда) и т.д.

Рассмотрим структуру возможных вариантов нескольких типов команд.

Трёхадресные команды.

Код

операции

Адрес первого операнда

Адрес второго операнда

Адрес результата

Двухадресные команды.

Код

операции

Адрес первого операнда

Адрес второго операнда

Одноадресные команды.

Код

операции

Адрес первого операнда

Безадресные команды.

Код

Операции

Рассмотрим бинарную операцию сложения: с = a + b.

Для каждой переменной в памяти определим условные адреса:

переменные

Адреса

Значение

A

A1

5

B

A2

-7

C

A3

-2

Пусть 53 – код операции сложения.

В этом случае структура трёхадресной команды выглядит следующим образом:

  • Трёхадресные команды.

Код

Операции

(КОП)

Адрес первого операнда

Адрес второго операнда

Адрес результата

53

A1

A2

A3

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

  • из ячейки памяти, адрес которой хранится в счётчике команд, выбирается очередная команда; содержимое счётчика изменяется и теперь содержит адрес следующей по порядку команды;

  • выбранная команда передаётся в устройство управления на регистр команд;

  • устройство управления расшифровывает адресное поле команды;

  • по сигналам УУ значения операндов считываются из памяти и записываются в АЛУ на специальные регистры операндов;

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

  • результат операции в данном случае отправляется в память( в одноадресных и двухадресных ЭВМ остаётся в процессоре);

  • все предыдущие действия выполняются до достижения команды ОСТАНОВ.