Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к ГОСАМ ВМКСС 0704.docx
Скачиваний:
20
Добавлен:
27.04.2019
Размер:
2.8 Mб
Скачать

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

Типовые структуры команд.

  1. Четырёхадресная (Для данной структуры характерна принудительная выборка команд)

    КОП

    Адрес 1

    операнда

    Адрес 2

    операнда

    Адрес

    результата

    Адрес следующей

    команды

  2. Трехадресная (Здесь используется естественная адресация команд)

    КОП

    Адрес 1 операнда

    Адрес 2 операнда

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

  3. Двухадресная (Результат всегда помещается на место одного из операндов (подразумеваемый адрес))

    КОП

    Адрес 1 операнда

    Адрес 2 операнда

  4. Одноадресная (Адрес второго операнда и результата подразумевается (например, аккумулятор))

    КОП

    Адрес 1 операнда

  5. Безадресная (Адреса всех операндов подразумеваются (предстековая адресация))

КОП

Способ расширения кодов операций:

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

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

7

0

MOV r1,r2

а)

КОП

Адрес 1 операнда

Адрес 2 операнда

01

DDD

SSS

01 - признак команды MOV

7

0

ADD r

б)

КОП

Адрес 1 операнда

100000

SSS

7

0

EI

в)

КОП

11111011

00,11,10 – признак расширенного КОП. Один или несколько КОП должны указывать на наличие полностью расширенного КОП.

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

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