Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
рыбак.docx
Скачиваний:
35
Добавлен:
21.09.2019
Размер:
2.35 Mб
Скачать
    1. Структуры машинных команд. Трех-, двух-, одноадресные системы команд процессоров.

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

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

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

- команды арифметических операций (выполняют сложение и вычитание)

- команды логических (поразрядных) операций (И, ИЛИ, НЕ и др.) (выполняют сложение и вычитание)

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

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

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

- команды задания режима процессора

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

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

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

  1. Одноадресные команды, оперирующие только с одним операндом (очистить ячейку памяти, изменить знак числа и др.)

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

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

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

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

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

  1. Трехадресные команды (сложить содержимое двух ячеек и результат поместить по третьему адресу)

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

  1. Четырехадресные команды (см. пример выше + адрес команды, которая должна выполниться следом)

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

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

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