Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 20

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 14 15 16 17 18 19 < 20 > 21 22 23 24 25 26 .. 528 >> Следующая

регистра, используемого в качестве адресного, поэтому размер команды
оказывается небольшим (как при регистровой адресации). Однако выборка
операнда (чтение из ОЗУ или запись в него) требует выполнения циклов
передачи по системной шине, что снижает производительность системы.
Различные варианты косвенно-регистровой адресации позволяют производить
обработку линейных (строк) и двумерных (матриц) массивов данных,
обеспечивая обращение к необходимому элементу массива по его
относительному положению.
Непосредственная адресация также вызывает увеличение размера команды на
число байт заданного операнда. Из-за этого возрастает объем памяти команд
и время выборки команды. Однако при этом операнд поступает
непосредственно в процессор, т. е. не требуется выполнение
дополнительного цикла обращения к ОЗУ. Данный способ адресации широко
используется для введения различных констант, используемых при обработке
данных.
Различные типы микропроцессоров часто реализуют разнообразные варианты
этих способов адресации. В ряде микропроцессоров используется косвенно-
регистровая адресация с пост-инкрементом или пре-декрементом. При этом
содержимое регистра, хранящего адрес, автоматически увеличивается на п
(здесь п = 1, 2 или 4 - число байтов операнда) после его выборки (пост-
инкремент) или уменьшается на п перед выборкой операнда (пре-
7Q
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
декремент). Такая адресация удобна при обработке массивов данных,
расположенных в памяти. В некоторых микропроцессорах реализуется
относительная адресация с индексированием (аналогична косвенно-
регистровой с индексированием и смещением). В микропроцессорах Pentium
выполняется косвенно-регистровая адресация с индексированием и смещением,
где возможно масштабирование - умножение содержимого индексного регистра
на заданный в команде множитель.
Команды микропроцессора могут быть безадресными, одноадресными и
двухадресными.
Безадресными являются команды, для выполнения которых не требуется
операнд (например, команда останова HALT) или размещение операнда
определяется структурой микропроцессора и задается непосредственно кодом
операции. Например, в микропроцессорах, использующих регистр-аккумулятор,
выполнение ряда команд над одним операндом предполагает, что он
размещается в этом регистре.
Одноадресные команды содержат адрес одного операнда. Эти команды
используются для выполнения операций над одним операндом, например,
сдвигов, логической инверсии, изменения знака и ряда других. В
микропроцессорах с аккумуляторной организацией обработки данных такие
команды служат также для выполнения операций над двумя операндами, один
из которых находится в аккумуляторе.
В двухадресных командах содержатся адреса двух операндов. Если при этом
один из операндов выбирается из памяти, то другой операнд хранится в
регистре (регистровая адресация) или содержится непосредственно в команде
(непосредственная адресация). Результат операции записывается на место
одного из операндов, значение которого при этом теряется.
Следует отметить, что в некоторых типах микропроцессоров реализуются
также трехадресные команды, где задаются отдельные адреса размещения двух
операндов и результата операции. Такие команды используют только
регистровую адресацию и выполняются в микропроцессорах с RISC-
архитектурой, имеющих значительный объем РЗУ, например, в PowerPC.
Микропроцессоры выполняют набор команд, которые реализуют следующие
основные группы операций:
• операции пересылки;
• арифметические операции;
• логические операции;
• операции сдвига;
• операции сравнения и тестирования;
• битовые операции;
• операции управления программой;
• операции управления процессором.
При описании команд обычно используются их мнемонические обозначения
(мнемокоды), которые служат для задания команды при программировании на
языке ассемблера. Для различных версий ассемблера мнемокоды некоторых
команд могут отличаться. Например, для команды вызова подпрограммы
используется мнемокод CALL или JSR ("Jump to SubRoutine"). Однако
мнемокоды большинства команд для основных типов микропроцессоров
совпадают или отличаются незначительно, так как они являются сокращениями
соответствующих английских слов, определяющих выполняемую операцию. В
данном разделе будут в основном использоваться мнемокоды команд, принятые
для процессоров Pentium.
Команды пересылки. Основной командой этой группы является команда MOV,
которая обеспечивает пересылку данных между двумя регистрами или между
регистром и ячейкой памяти. В некоторых микропроцессорах реализуется
пересылка между двумя ячейка
СИСТЕМА КОМАНД И СПОСОБЫ АДРЕСАЦИИ ОПЕРАНДОВ
ми памяти, а также групповая пересылка содержимого нескольких регистров в
память или их загрузка из памяти. Например, микропроцессоры семейства
68ххх компании "Motorola" выполняют команду MOVE, обеспечивающую
пересылку из одной ячейки памяти в другую, и команду MOVEM, которая
производит запись в память или загрузку из памяти содержи-v мого
Предыдущая << 1 .. 14 15 16 17 18 19 < 20 > 21 22 23 24 25 26 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed