Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции АКС / лекции АКС / Лекция №8_Система команд компьютера режимы адресации и форматы команд.doc
Скачиваний:
57
Добавлен:
26.02.2016
Размер:
83.46 Кб
Скачать

8

Тема № : Система команд компьютера: режимы адресации и форматы команд

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

  1. Как специфицировать адреса операндов;

  2. Как скомпоновать биты в коде команды , чтобы в нем уместилась вся необходимая для выполнения команды информация.

Адресация.

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

  • Непосредственный

  • Прямой

  • Косвенный

  • Регистровый

  • Косвенный через регистр

  • Со смещением

  • Стековый

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

Режимы адресации

  1. Непосредственный

Простейший с точки зрения программиста режим . В этом режиме в код команды включается значение операнда :

Значение операнда (О) = содержимому адресного поля в коде команды (А)

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

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

2. Прямой

Режим прямой (абсолютной) адресации также является одним из простейших. Адресное поле при этом содержит исполнительный адрес операнда:

Исполнительный адрес ячейки, в которой находится операнд (ЕА) = содержимому адресного поля в коде команды (А)

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