Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_i_otvety_MPT.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.94 Mб
Скачать

7. Понятие о системе команд микропроцессоров. Основные группы команд. Способы адресации операндов в микропроцессорах.

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

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

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

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

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

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

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

В двухадресных командах указываются адреса двух операндов. Результат операции записывается на место одного из операндов, значение которого при этом теряется. При такой адресации достигается не только сокращение разрядности команды, но и повышается производительность МП, так как исключаются лишние пересылки. Следует отметить, что при переходе к двухадресным командам в их адресное поле необходимо вводить дополнительные разряды, кодирующие назначение адресуемых операндов: кто из них является источником, а кто – приемником информации. Двухадресные команды широко используются в микропроцессорах семейства x86 компании Intel.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]