Классификация команд микропроцессора 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Классификация команд микропроцессора



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

Классификация команд МП представлена на рисунке 8.

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

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

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

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

К командам связанным с обращением к памяти относятся:

ЗАГРУЗИТЬ (ПРОЧИТАТЬ), по которой содержимое одной из ячеек памяти засылается в регистр;

ЗАПОМНИТЬ (ЗАПИСАТЬ), по которой содержимое регистра засылается в ячейку памяти.

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

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

ЗАГРУЗИТЬ НЕПОСРЕДСТВЕННО, по которой в регистр записывается константа, указанная в коде команды;

ПЕРЕСЛАТЬ, по которой содержимое одного регистра пересылается в другой.

К командам ввода-вывода относятся:

ВВОД, по которой содержимое устройства ввода засылается во внутренний регистр МП;

ВЫВОД, по которой содержимое внутреннего регистра МП (обычно аккумулятора) пересылается в устройство вывода.

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

К командам безусловного перехода относятся:

БЕЗУСЛОВНЫЙ ПЕРЕХОД (БП), по которой в программный счетчик записывается содержимое адресного поля команды БП, т.е. обеспечивается переход в программе по адресу, указанному в команде;

БЕЗУСЛОВНЫЙ ПЕРЕХОД С ВОЗВРАТОМ (переход к подпрограмме), по которой в программный счетчик записывается новое содержимое (адрес первой команды подпрограммы), но в отличие от команды БП в памяти сохраняется состояние программного счетчика и некоторых других регистров. При выполнении подпрограммы по ее последней команде ВОЗВРАТ восстанавливается содержимое программного счетчика и всех регистров.

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

УСЛОВНЫЙ ПЕРЕХОД (УП) по адресу. В коде команды УП обязательно указывается проверяемое условие, в качестве которого в МП используются нулевое или ненулевое значение результата, положительный или отрицательный знак результата, наличие или отсутствие сигналов переноса, переполнения и др. При выполнении условия в программный счетчик записывается содержимое адресного поля команды УП, т.е. обеспечивается переход в программе по адресу указанному в команде. При невыполнении условия управление передается следующей команде программы;

УСЛОВНЫЙ ПЕРЕХОД С ВОЗВРАТОМ, которая отличается от команды БЕЗУСЛОВНЫЙ ПЕРЕХОД С ВОЗВРАТОМ тем, что переход к подпрограмме происходит только при выполнении указанного условия.

Обычно в систему команд МП включается еще несколько вспомогательных команд, которые позволяют управлять состоянием регистров или триггеров влияющих на выполнение условных переходов, например: УСТАНОВИТЬ ФЛАГ, СБРОСИТЬ ФЛАГ, УСТАНОВИТЬ СТАРШИЙ РАЗРЯД АККУМУЛЯТОРА, СБРОСИТЬ СТАРШИЙ РАЗРЯД АККУМУЛЯТОРА и др.

Команды обработки данных делятся на арифметические и логические. К арифметическим относятся:

СЛОЖИТЬ содержимое двух регистров или регистра и ячейки памяти;

ВЫЧЕСТЬ из содержимого ячейки памяти или регистра содержимое регистра;

УВЕЛИЧИТЬ НА 1 (ИНКРЕМЕНТ) содержимое ячейки памяти или регистра (указателя стека, индексного регистра, аккумулятора);

УМЕНЬШИТЬ НА 1 (ДЕКРЕМЕНТ) содержимое ячейки памяти или регистра;

СЛОЖИТЬ С УЧЕТОМ ПЕРЕНОСА, по которой выполняется сложение с учетом состояния триггера переноса. Это позволяет легко организовать обработку чисел большой длины;

ВЫЧЕСТЬ С УЧЕТОМ ЗАЕМА;

СДВИГ содержимого ячейки памяти или регистра (обычно на один разряд).

В подгруппу логических команд входят команды:

И (ЛОГИЧЕСКОЕ УМНОЖИТЬ), по которой выполняется операция конъюнкции между содержимым двух регистров или ячейки памяти и регистра;

ИЛИ (ЛОГИЧЕСКИ СЛОЖИТЬ), по которой выполняется операция дизъюнкции между содержимым двух регистров или ячейки памяти и регистра;

НЕРАВНОЗНАЧНОСТЬ, по которой производится поразрядное сравнение содержимого двух регистров или ячейки памяти и регистра;

ИНВЕРСИЯ содержимого ячейки памяти или регистра.

Виды адресации

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

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

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

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

Для согласования адресного поля команды малой разрядности с памятью большого объема (для решения “страничной” проблемы) в МП применяются различные виды адресации:

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

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

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

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

Адресация относительно индексного регистра. Исполнительный адрес образуется суммированием содержимого индексного регистра и адресного поля команды, рассматриваемого как целое со знаком. Индексный регистр загружается специальными командами.

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



Поделиться:


Последнее изменение этой страницы: 2021-05-27; просмотров: 118; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.16.247 (0.01 с.)