Из каких частей состоит команда эвм кратко охарактеризуйте их назначение

Обновлено: 02.07.2024

Команда ЭВМ представляет собой код, определяющий операцию вычислительной машины, и данные, участвующие в операции. В явной и неявной форме команда содержит также информацию об адресе, по которому помещается результат операции, и об адресе следующей команды.

По характеру выполняемых операций можно выделить следующие группы команд:

команды арифметических операций для чисел с фиксированной или плавающей запятой;

команды десятичной арифметики;

команды передачи данных;

команды операций ввода/вывода;

команды логических операций;

команды передачи управления;

команды задания режима работы машины и др.

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


Рис. 8. Структуры команд:

а - обобщенная; б - четырехадресная; в - трехадресная;

г - двухадресная; д - одноадресная; е – безадресная.

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

Чтобы команда содержала в явном виде всю необходимую информацию о задаваемой операции, она должна, как это показано на рис. 8,б, содержать следующую информацию: А1, А2 - адреса операндов, А3 - адрес результата, А4 - адрес следующей команды (принудительная адресация команд).

Такая структура приводит к большей длине команды и неприемлема для прямой адресации операндов основной памяти.

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

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

В одноадресной команде (рис. 8, д) подразумеваемые адреса имеют уже и результат операции, и один из операндов. Один из операндов указывается адресом в команде, в качестве второго используется содержимое регистра процессора, называемого в этом случае регистром результата или аккумулятором. Результат операции записывается в тот же регистр.

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

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

Существует два различных принципа поиска операндов в памяти: ассоциативный и адресный.

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

Адресный поиск предполагает, что искомый операнд извлекается из ячейки, номер которой формируется на основе информации в адресном поле команды.

Следует различать понятия исполнительного адреса и адресного кода.

Адресный код (АК) – это информация об адресе операнда, содержащегося в команде.

Исполнительный адрес (АК)– это номер ячейки памяти, к которой фактически производится обращение.

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

Адресуемые в командах операнды хранятся в основной памяти (ОП) и регистровой памяти (РП) (рис.9).


Рис. 9. Схема хранения в памяти адресуемых операндов

По наличию адресной информации в команде различают явную и неявную адресацию.

При явной адресации операнда в команде есть поле адреса этого операнда, в котором задается адресный код Ак. При неявной адресации адресное поле в команде отсутствует, адрес операнда подразумевается кодом операции.

Основное назначение метода неявной адресации - уменьшение длины команды за счет исключения части адресов. При этом методе код операции точно задает адрес операнда. Например, из команды исключается адрес приемника результата. При этом подразумевается, что результат в этой команде помещается на место второго операнда.

По кратности обращения в память (R) различают непосредственную (R = 0), прямую (R = 1) и косвенную (R > 2) адресацию.

При этом непосредственной адресации операнд располагается в адресном поле команды. Обращение к регистровой памяти (РП) или оперативной памяти (ОП) не производится. Непосредственная адресация удобна для задания констант, длина которых меньше или равна длине адресного поля команды.

При прямой адресации (рис. 10) обращение за операндом в РП или ОП производится по адресному коду в поле команды, то есть исполнительный адрес операнда совпадает с адресным кодом команды (Аи = Ак).


Рис.10. Схема прямой адресации

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

Способы формирования адресов ячеек памяти (Аи) разделяются на абсолютные и относительные.

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


Рис. 11. Косвенная адресация

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

суммирование кодов составляющих адреса (Аи = Б + С; Аи - И + С; Аи = Б + И + С);

совмещение (конкатенация) кодов составляющих адреса (Аи = Б/С).

При базировании способом суммирования в команде адресный код Ак разделяется на две составляющие: Аб - адрес регистра в регистровой памяти, в котором хранится база Б (базовый адрес) и С - код смещения относительно базового адреса (рис. 12).


Рис. 12. Схема формирования относительного адреса

способом суммирования кодов базы и смещения.

СМ – сумматор, РАОП – регистр адреса ОП, Б – база (базовый адрес), С – смещение, Аб – адрес регистра базы.

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

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


Рис. 13. Схема формирования относительного адреса

способом совмещения кодов базы и смещения.

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

В этом случае адрес i-гo операнда в массиве определяется как сумма начального адреса массива (задаваемого полем смещения С) и индекса И, записанного в одном из регистров РП, называемом теперь индексным регистром. Адрес индексного регистра задается в команде полем адреса индекса — Аин (аналогично Аб ).

В каждом i-м цикле содержимое индексного регистра изменяется на величину постоянную (часто равную 1). Использование индексной адресации значительно упрощает программирование циклических алгоритмов.

Достаточно часто при относительной адресации применяется комбинированная индексация с базированием, при которой адрес операнда вычисляется как сумма трех величин (рис. 14) Аи = Б + И + С. Аи - адрес индексного регистра.


Рис.14. Схема формирования дополнительного адреса при индексной адресации и базировании


Одно определение понятия процессора было дано во введении.

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

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

В современных компьютерах процессор (ядро ЭВМ) есть не формальное объединение АЛУ и ЦУУ, а результат развития структуры ЭВМ, призванный обеспечивать высокое быстродействие и широкие функционально-логические возможности обработки информации. В частности, появление новых ЭВМ привело к необходимости появления компьютере и в процессоре

1) системы прерывания;

2) новых уровней памяти;

3) средств защиты памяти;

4) использования специальных типов индексации, адресации информации;

5) кэш-память команд, ветвлений, предсказаний обменов и т.д.;

6) специальных процедур управления вычислительным процессом

Все эти подсистемы и устройства частично или целиком входят в процессор. Главное же новое структурное явление в процессоре – СОЗУ.

Поэтому ныне процессор имеет более развитую структуру, повторяющую в известном смысле структуру машины фон Неймана.

3.1. Система команд ЭВМ.

Система команд ЭВМ определяется структурой и форматами команд, а также списком (перечнем) команд и способами адресации.

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

Поскольку, в конечном счёте, команда тем или иным образом вводится в ЭВМ и ею воспринимается, то конечный вид команды – цифровой код.

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

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

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

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

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

10. Структуры команд ЭВМ. Адресность ЭВМ. Место адресного сопроцессора в структуре ЭВМ

Все команды можно разбить на 5 основных групп:

1. Основные (команды обработки). 2. Команды пересылки (команды обмена между процессором и ОП). Примечание: в CISC , таких команд может и не быть (причиной этому является возможность непосредственного обращения к памяти). 3. Команды управления (может привлекаться ОБ, а может и не привлекаться). 4. Команды ввода-вывода (может отсутствовать в случае организации адресного пространства ввода-вывода с отображением в ОЗУ, вместо них используются команды пересылки). 5. Системные команды (управление ресурсами системы, работа в сети).

Типовая команда, в общем случае, должна указывать: подлежащую выполнению операцию; адреса исходных данных (операндов), над которыми выполняется операция; адрес, по которому должен быть помещен результат операции.

В соответствии с этим команда состоит из двух частей: операционной и адрес­ной,(рис. 2.37).

Рис. 2.37. Структура команды

Формат команды определяет ее структуру, то есть количество двоичных раз­рядов, отводимых под всю команду, а также количество и расположение отдель­ных полей команды. Полем называется совокупность двоичных разрядов, кодиру­ющих составную часть команды. При создании ВМ выбор формата команды влияет на многие характеристики будущей машины. Оценивая возможные форматы, нуж­но учитывать следующие факторы:

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

Длина команды

В рамках системы команд одной ВМ могут использоваться разные форматы команд. Обычно это связано с применением различных способов адресации. В таком случае в состав кода команды вводится поле для задания способа адресации (СА), и обобщенный формат команды приобретает вид, показанный на рис. 2.38.

Рис. 2.38. Обобщенный формат команды

Общая длина команды Rk может быть описана следующим соотношением:

(2.1) l -количество адресов в команде; - количество разрядов для записи i - ro ; -разрядность поля кода операции; R СА - разрядность поля способа адресации

В большинстве ВМ одновременно уживаются несколько различных форматов команд.

Разрядность поля кода операции

Количество двоичных разрядов, отводимых под код операции, выбирается так, чтобы можно было представить любую из операций. Если система команд предпо­лагает N коп, различных операций, то минимальная разрядность поля кода опера­ции R КОп определяется следующим образом:


где int означает округление в большую сторону до целого числа.

Ра зрядность адресной части

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


Разрядности полей R А i и R СА рассчитываются по формулам:

где N i — количество ячеек памяти, к которому можно обратиться с помощью i -г0 адреса; NCA количество способов адресации ( int означает округление в большую сторону до целого числа).

Количество адресов в команде


Лекции


Лабораторные


Справочники


Эссе


Вопросы


Стандарты


Программы


Дипломные


Курсовые


Помогалки


Графические

Доступные файлы (1):

Архитектура ЭВМ Лекции.doc

2.8 Типы и форматы команд


    • команды пересылки данных;

    • команды арифметической и логической обработки;

    • команды работы со строками;

    • команды SIMD;

    • команды преобразования;

    • команды ввода/вывода;

    • команды управления потоком команд.

    2.8.1 Команды пересылки данных


    • адреса источника и получателя операндов – адреса ячеек памяти, номера регистров процессора или информация о том, что операнды расположены в стеке;

    • длина подлежащих пересылке данных (обычно в байтах или словах), заданная явно или косвенно;

    • способ адресации каждого из операндов, с помощью которого содержимое адресной части команды может быть пересчитано в физический адрес операнда.

    2.8.2 Команды арифметической и логической обработки

    В данную группу входят команды, обеспечивающие арифметическую и логическую обработку информации в различных формах ее представления. Для каждой формы представления чисел в АСК обычно предусматривается некий стандартный набор операций.


    • Z (Zero) — нулевой результат;

    • N (Negative) — отрицательный результат;

    • V (oVerflow) — переполнение разрядной сетки;

    • С (Carry) — наличие переноса.

    • двухместные арифметические операции (операции с двумя операндами): сложение, вычитание, умножение и деление;

    • одноместные арифметические операции (операции с одним операндом): вычисление абсолютного значения (модуля) операнда, изменение знака операнда;

    • операции сравнения, обеспечивающие сравнение двух целых чисел и выработку признаков, характеризующих соотношение между сопоставляемыми величинами (=, <>, >, =).

    Отметим, что выполнение арифметических команд может дополнительно сопровождаться перемещением данных из устройства ввода в АЛУ или из АЛУ на устройство вывода.


    • основные арифметические операции;

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

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

    В дополнение к побитовым логическим операциям, практически во всех АСК предусмотрены команды для реализации операций логического, арифметического и циклического сдвигов.

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

    При арифметическом сдвиге данные трактуются как целые числа со знаком, причем бит знака не изменяет положения. При сдвиге вправо освободившиеся позиции заполняются значением знакового разряда, а при сдвиге влево — нулями. Арифметические сдвиги позволяют ускорить выполнение некоторых арифметических операций. Так, если числа представлены двоичным дополнительным кодом, то сдвиги влево и вправо эквивалентны соответственно умножению и делению на 2.

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

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

    2.8.3 SIMD-команды

    Первой на мультимедийный бум отреагировала фирма Intel, добавив в систему команд своего микропроцессора Pentium ММХ 57 SIMD-команд. Название МMX (MultiMedia eXtention – мультимедийное расширение) разработчики обосновывали тем, что при выборе состава новых команд были проанализированы алгоритмы, применяемые в различных мультимедийных приложениях. Команды ММХ обеспечивали параллельную обработку упакованных целых чисел. При выполнении арифметических операций каждое из чисел, входящих в группу, рассматривается как самостоятельное, без связи с соседними числами. Учитывая специфику обрабатываемой информации, команды ММХ реализуют так называемую арифметику с насыщением: если в результате сложения образуется число, выходящее за пределы отведенных под него позиций, оно заменяется наибольшим двоичным числом, которое в эти позиции вмещается.

    Следующим шагом стало создание новых наборов SIMD-команд, работающих также с операндами, представленными в виде упакованных чисел с плавающей запятой. Такие команды в соответствующих приложениях повышают производительность процессора примерно вдвое. Первой подобную технологию в середине 1998 года предложила фирма AMD. Это мультимедийное расширение включало в себя 21 SIMD-команду и получило название 3DNow!. Расширение 3DNow! в дополнение к SIMD-обработке целочисленной информации типа ММХ позволяло оперировать парой упакованных чисел в формате с плавающей запятой.

    2.8.4 Команды ввода/вывода

    Команды этой группы могут быть подразделены на команды управления периферийным устройством (ПУ), проверки его состояния, ввода и вывода.

    Команды управления периферийным устройством служат для запуска ПУ и указания ему требуемого действия. Трактовка подобных инструкций зависит от типа ПУ.

    Команды проверки состояния ввода/вывода применяются для тестирования различных признаков, характеризующих состояние модуля ввода/вывода и подключенных к нему ПУ. Благодаря этим командам центральный процессор может выяснить, включено ли питание ПУ, завершена ли предыдущая операция ввода/вывода, возникли ли в процессе ввода/вывода какие-либо ошибки и т. п.

    Собственно обмен информацией с ПУ обеспечивают команды ввода и вывода. Команды ввода предписывают модулю ввода/вывода получить элемент данных (байт или слово) от ПУ и поместить его на шину данных, а команды вывода — заставляют модуль ввода/вывода принять элемент данных с шины данных и переслать его на ПУ.
    ^

    2.8.5 Команды управления системой


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

    2.8.6 Команды управления потоком команд

    Концепция фон-неймановской вычислительной машины предполагает, что команды программы, как правило, выполняются в порядке их расположения в памяти. Для получения адреса очередной команды достаточно увеличить содержимое счетчика команд на длину текущей команды. В то же время основные преимущества ЭВМ заключаются именно в возможности изменения хода вычислении в зависимости от возникающих в процессе счета результатов. С этой целью в АСК вычислительной машины включаются команды, позволяющие нарушить естественный порядок следования и передать управление в иную точку программы. В адресной части таких команд содержится адрес точки перехода (адрес той команды, которая должна быть выполнена следующей). Переход реализуется путем загрузки адреса точки перехода в счетчик команд (вместо увеличения содержимого этого счетчика на длину команды).


    • безусловные переходы;

    • условные переходы (ветвления);

    • вызовы процедур и возвраты из процедур.

    ^ Условный переход происходит только при соблюдении определенного условия, в противном случае выполняется следующая по порядку команда программы. Большинство производителей ЭВМ в своих ассемблерах обозначают подобные команды словом branch (ветвление). Условием, на основании которого осуществляется переход, чаще всего выступают признаки результата предшествующей арифметической или логической операции. Каждый из признаков фиксируется в своем разряде регистра флагов процессора. Возможен и иной подход, когда решение о переходе принимается в зависимости от состояния одного из регистров общего назначения, куда предварительно помещается результат операции сравнения. Третий вариант — это объединение операций сравнения и перехода в одной команде.

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

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

    2.8.7 Форматы команд


    • подлежащую выполнению операцию;

    • адреса исходных данных (операндов), над которыми выполняется операция;

    • адрес, по которому должен быть помещен результат операции.

    • общее число различных команд;

    • общую длину команды;

    • тип полей команды (фиксированной или переменной длины) и их длина;

    • простоту декодирования;

    • адресуемость и способы адресации;

    • стоимость оборудования для декодирования и исполнения команд.

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

    Общая длина команды RK может быть определена следующим соотношением:

    где l – количество адресов в команде; RAi – количество разрядов для записи i-го адреса; RКОп – разрядность поля кода операции; RСА – разрядность поля способа адресации.

    Количество двоичных разрядов, отводимых под код операции, выбирается так, чтобы можно было представить любую из операций. Если система команд предполагает NКОп различных операций, то минимальная разрядность поля кода операции определяется следующим образом:
    RКОп = int(log2(NКОп)),
    где int означает округление в большую сторону до целого числа.

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

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

    Разрядности полей и рассчитываются по формулам:
    RAi = int(log2(Ni)), RCA = int(log2(NCA)),
    где Ni, – количество ячеек памяти, к которому можно обратиться с помощью i-ro адреса; NСА – количество способов адресации.

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

    К сожалению, и в трехадресном формате длина команды может оказаться весьма большой. Так, если адрес ячейки основной памяти имеет длину 32 бита, а длина кода операции – 8 бит, то длина команды составит 104 бита (13 байт).

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

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

    Применение единственного регистра для хранения одного из операндов и результата является ограничивающим фактором, поэтому помимо аккумулятора часто используют и другие регистры ЦП. Так как число регистров к ЦП невелико, для указания одного из них в команде достаточно иметь сравнительно короткое адресное поле. Соответствующий формат носит название полутораадресного или регистрового формата.

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

    Читайте также: