Тарифы Услуги Сим-карты

Команда для эвм состоит из. Команды. Типы и форматы команд

2. Структура ЭВМ и взаимодействие ее основных устройств

2.1. Классические основы построения ЭВМ

Основы построения электронных вычислительных машин в их современном понимании были заложены в 30-е – 40-е годы прошлого века английским математиком Аланом Тьюрингом и американцем венгерского происхождения Джоном (Яношем) Нейманом.

2.2. Архитектура классической ЭВМ

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

Основные положения Неймана :

  1. Машины на электронных элементах должны работать не в десятичной, а в двоичной системе счисления.
  2. Программа должна размещаться в одном из блоков машины – в запоминающем устройстве (ЗУ), обладающем достаточной емкостью и соответствующими скоростями выборки и записи команд программы.
  3. Программа так же, как и числа, с которыми оперирует машина, представляется в двоичном коде. Таким образом, по форме представления команды и числа однотипны. Это обстоятельство приводит к следующим важным последствиям:
  • промежуточные результаты вычислений, константы и другие числа могут размещаться в том же ЗУ, что и программа;
  • числовая форма записи программы позволяет машине производить операции над величинами, которыми закодированы команды программы.
  • Трудности физической реализации ЗУ, быстродействие которого соответствовало бы скорости работы логических схем, требует иерархической организации памяти.
  • Арифметические устройства машины конструируются на основе схем, выполняющих операцию сложения. Создание специальных устройств для вычисления других операций нецелесообразно.
  • В машине используется параллельный принцип организации вычислительного процесса (операции над словами производятся одновременно по всем разрядам).
  • Общая структура классической ЭВМ

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


    Рис. 2.4. Структура классической ЭВМ

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

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

    Оперативное ЗУ (ОЗУ) – быстродействующее запоминающее устройство, работающее непосредственно с АУ и УУ.

    Шины МПС

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

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

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

    Команды МПС

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



    Рис 2.5. Формат команды

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

    Главным элементом кода команды является код операции (КОП), он определяет, какие действия будут выполнены по данной команде. Под него выделяется N старших разрядов формата. В остальных разрядах размещаются А 1 и А 2 - адреса операндов. А 3 - адрес результата.

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

    Безадресные,

    Одно-, двух-, трехадресные.

    Длина кода команды измеряется в машинных словах.

    Чтобы минимизировать число адресных полей, результат можно размещать по месту хранения одного из операндов (ADD AX , BX ). Либо предварительно размещать один или несколько операндов в специально выделенных регистрах процессора (аккумуляторах). Также во многих типах операций (например, логических) третий, а часто и второй адрес вообще не используется (RET , IRET , JE xx , INC AL ). Оттранслированные команды записываются в соседние ячейки памяти в порядке их следования в программе.

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

    Принципы работы ЭВМ по структуре фон Неймана

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

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

    После завершения выполнения данной операции, что определяется регистром состояния, в СчК добавляется единица (+1) и в следующем такте из ОЗУ будет выбрана следующая команда программы по порядку номеров ячеек ОЗУ, и затем этот процесс будет повторяться.

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

    Особенности аппаратного и программного управления процессами обработки информации

    Характерная особенность традиционной цифровой системы состоит в том, что алгоритмы обработки и хранения информации в ней жестко связаны со схемотехникой системы. То есть изменение этих алгоритмов возможно только путем изменения структуры системы, замены электронных узлов, входящих в систему, и/или связей между ними. Такая цифровая система часто называется системой на «жесткой логике». Любая система на «жесткой логике» обязательно представляет собой специализированную систему, настроенную исключительно на одну задачу или (реже) на несколько близких, заранее известных задач.

    Это имеет свои преимущества:

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

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

    В то же время большим недостатком цифровой системы на «жесткой логике» является то, что для каждой новой задачи ее надо проектировать и изготавливать заново.

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

    Рис.2.6. Принципы работы ЭВМ по структуре фон Неймана

    Важное преимущество данной системы – универсальность:

    В тоже время присутствуют ряд недостатков:

    1. Любая универсальность обязательно приводит к избыточности. Решение максимально трудной задачи требует гораздо больше средств, чем решение максимально простой и сложность универсальной системы должна быть такой, чтобы обеспечивать решение самой трудной задачи, но чем проще решаемая задача, тем большей становится избыточность системы. Избыточность ведет к увеличению стоимости системы, снижению ее надежности, увеличению потребляемой мощности и т.д.
    2. Кроме того, универсальность, как правило, приводит к существенному снижению быстродействия.

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

    Особенности реализации устройств управления ЭВМ

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

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

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

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

    1) любая операция, реализуемая устройством, является последовательностью элементарных действий - микроопераций;

    2) для управления порядком следования микроопераций используются логические условия;

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

    4) микропрограмма отражает функции устройства, его структуру, и порядок работы устройства во времени.

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

    Основные команды ЭВМ

    Наименование параметра Значение
    Тема статьи: Основные команды ЭВМ
    Рубрика (тематическая категория) Компьютеры

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

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

    Классификация команд ЭВМ

    I. По функциональному назначению

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

    Команды обработки данных

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

    Дополнительные команды

    II. По количеству адресов

    Безадресный

    С первого адреса

    Со второго адреса

    С третьего адреса

    III. По способу кодирования операции

    С фиксированной длиной кода операции

    С переменной длинной кода операции

    IV. По длинœе

    Один байт (слово)

    2 байта (слово)

    3 байта (слово)

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

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

    Отдельную подгруппу составляют команды работы со стеком. Οʜᴎ позволяют включать данные в стек для временного хранения и извлекать данные из стека при крайне важно сти их использования.

    Команды обработки данных

    Данную группу команд можно подразделить на арифметические, логические и команды сдвига.

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

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

    Многие ЦП имеют команды сравнения операнда с 0. В других МП имеются команды проверки или установки состояния отдельных битов в операнде.

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

    Οʜᴎ имеют важное значение, т.к. используются для изменения естественного порядка следования команд и организации циклических участков в программах. Простейшей командой передачи управления является команда безусловного перехода JMP, которая загружает адрес перехода, указанного в команде в программный счетчик.

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

    Команды для работы с подпрограммами. Стек.

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

    Адрес программы, на которую управление передается после окончания работы подпрограммы, принято называть адресом возврата. Для организации подпрограмм большинство ЭВМ используют аппаратно-поддерживаемую структуру данных, называемую стеком. Стек - ϶ᴛᴏ структура данных, организованная по принципу LIFO. В ЭВМ для организации стека выделяется область ОП, а для адресации и доступа к стеку используется регистр-указатель стека.

    Указатель стека хранит адрес ячейки памяти, содержащий последнее помещенное в стек значение. При записи числа в стек указатель стека модифицируется так. Чтобы он указывал на следующую свободную ячейку, в которую записываются данные. При извлечение из стека данные считываются из ячейки, на которую указывает указатель стека, затем указатель стека модифицируется так, чтобы указывать на предпоследнее заполненное значение. Обычно стеки растут в сторону уменьшения адресов, ᴛ.ᴇ. при записи числа указатель стека уменьшается, а при увеличение увеличивается.

    Основные команды ЭВМ - понятие и виды. Классификация и особенности категории "Основные команды ЭВМ" 2017, 2018.

    Представление данных в ЭВМ

    Для оценки количества информации и упорядочения процесса ее обработки используются структурные единицы информации.

    За единицу информации принимается один бит.

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

    Последовательность битов, имеющая определенный смысл, называется полем.

    Поле длиной 8 бит называется байтом.

    Байт, как правило, является минимальной (неделимой) единицей информации, с которой оперирует ЭВМ. Все остальные единицы информации являются его производными (рис. 2.1).

    Рис. 2.1.

    Основной структурной единицей информации, обрабатываемой ЭВМ, является машинное слово.

    В современных ЭВМ длина машинного слова обычно составляет два байта. Как правило, в одном машинном слове может быть представлено либо одно число, либо одна команда. Для обеспечения требуемой точности вычислений и экономии памяти большинство ЭВМ могут оперировать также с двойным словом.

    Последовательность полей, байтов или слов, имеющих одинаковый смысл, образуют массив.

    Группа массивов может объединяться в сегмент. Количество информации в больших массивах оценивается с помощью производных единиц, кратных количеству байтов в степени числа два (1кбайт = 1024 байт = 2 10 байт; 1Мбайт = 1 048 576 байт = 2 20 байт).

    Вычислительная машина оперирует с двумя видами информации: управляющей информацией и числовыми данными.

    Для представления числовых данных в ЭВМ используются естественная и нормальная формы записи чисел.

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

    Рис. 2.2.

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

    Максимальным по абсолютному значению целым числом, представляемым в естественной форме, будет число, определяемое по формуле (2 m - 1) (рис. 2.3).

    Нормальная форма записи числа имеет вид N = m Ч q p , где m мантисса числа (m<1); p порядок; q основание системы счисления.

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

    Рис. 2.3.

    Такая форма представления чисел называется формой с плавающей точкой. В этом случае машинное слово делится на два основных поля. В одном поле записывается мантисса числа, во втором указывается порядок числа с учетом знака порядка (характеристика числа). Один разряд отводится для представления знака числа. Распределение разрядов в четырехбайтовом слове для случая с плавающей точкой приведено на рисунке 2.4.

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

    Рис. 2.4.

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

    Представление команд в ЭВМ

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

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

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

    Рис. 2.5.

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

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

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

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

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

    1) вызов в сумматор числа, хранящегося по адресу A1;

    2) вызов числа, хранящегося по адресу A2, и сложение его с первым числом;

    3) стереть число по адресу A1;

    4) запись результата по адресу A1.

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

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

    Обработка информации в ЭВМ осуществляется путём программного управления.

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

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

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

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

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

      команды передачи данных (MOV AX, 0FFFh);

      команды операций ввода/вывода (IN, OUT);

      команды логических операций (AND, OR, NOT);

      команды передачи управления (управление циклом – LOOP, условные переходы – JAE, JB);

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

    1. Форматы команд эвм

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

    В общем случае команда состоит из:

      операционной части (содержит код операции);

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

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

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

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

    Пример формата команды процессора i486.

    mod r/m - спецификатор режима адресации;

    r/m - регистр памяти;

    SS - масштабный множитель для режима масштабирования индексной адресации;

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

    index - определяет индексный регистр;

    base - определяет базовый регистр.

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

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

    Проследим изменения классических структур команд.

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

    Рис. 3.1. Структуры команд: а) обобщенная, б) четырехадресная, в) трехадресная, г) двухадресная, д) одноадресная, е) безадресная

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

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

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

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

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

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

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