Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Способы адресации




- непосредственная адресация, когда адресная часть команды используется непосредственно для размещения операнда, как правило, какой-нибудь константы.
- прямая регистровая адресация, когда операнд находится в регистре, номер которого указывается в адресной части команды. При программировании на ассемблере используются буквенные обозначения регистров. Длина адресного поля зависит от количества РОН.
- неявная адресация, когда местоположение операнда предопределено кодом операции. Обычно операнд находится в специальном регистре процессора, например, в регистре-аккумуляторе или в вершине стека.
- прямая адресация, когда в адресной части команды непосредственно указывают адрес ячейки ОП. Основными недостатками прямой адресации является зависимость размера адресного поля от емкости ОП и его большое значение, т.к. емкость ОП современных ЭВМ измеряется мегабайтами. Поэтому прямая адресация обычно используется только для фиксированной части ОП, т.е. с помощью прямого адреса фиксированной длины можно адресовать часть ОП - т.н. страницу ОП.
- страничная адресация, когда физический адрес ячейки ОП формируется из двух полей: номера страницы (старшие разряды адреса) и номера ячейки в странице (младшие разряды адреса). Номер страницы определяется содержимым регистра, номер которого указывается в адресном поле команды. Номер ячейки в пределах страницы указывается в адресном поле команды. При таком способе разбиения ОП на страницы фиксированного размера называемого сегментацией, не происходит пересечения страниц по физическим адресам.
- относительная или базовая адресация, когда физический адрес получается сложением базового адреса сегмента, сдвинутого влево на несколько разрядов со смещением. Базовый адрес указывается в специальном регистре процессора - базовом регистре. Смещение указывается в адресной части команды. Следует отметить, что страничная адресация является частным случаем относительной (базовой) адресации, при котором сдвиг влево базового адреса производится на число разрядов, равное числу разрядов смещения. Основное назначение относительной адресации - обеспечить перемещаемость программ и данных при динамическом распределении ОП в мультипрограммном режиме работы компьютера.
- косвенная адресация,когда указывается не прямой, а косвенный адрес операнда, т.е. адрес адреса операнда, называемый указателем. По косвенному адресу, находящемуся в адресной части команды, производится первое обращение к ОП и извлекается адрес операнда, а затем уже по этому адресу производится второе обращение и извлекается операнд. Недостаток косвенной адресации – дополнительное обращение к памяти и, как следствие, уменьшение быстродействия процессора.
- косвенная регистровая адресация,когда указатель адреса операнда хранится не в ОП, а в регистре процессора, номер который указывается в адресной части команды. Поскольку время обращения к регистрам процессора обычно в 5…10 раз меньше, чем к ячейкам ОП, то время выборки операнда увеличивается незначительно – на 10…20%. Достоинствами косвенной адресации являются возможность обработки адреса операнда, уменьшение длины адресной части команды при косвенной регистровой адресации, т. к. адрес регистра значительно короче адреса ячейки памяти.
- индексная адресация, когда физический адрес ячейки ОП формируется сложением базового адреса, указанного в адресной части команды или в базовом регистре и смещения, находящегося в специальном регистре процессора, который называетя индексным. Достоинством индексной адресации является возможность модификации исполнительного адреса путём выполнения операций с индексными регистрами. Этот метод адресации эффективен при работе с массивами данных.
- индексно - относительная адресация, когда совместно используются индексная и относительная адресации. При индексно - относительной адресации физический адрес ячейки памяти формируется как сумма трех величин. Базовый адрес получается, как и в случае относительной адресации, т.е. сдвигом содержимого базового регистра, номер которого указан в адресной части команды и сложением его со смещением, расположенным в адресной части команды или регистре, номер которого указан в адресной части. Затем полученный адрес складывается с содержимам индексного регистра, номер которого указан в адресной части команды.

 

2. Система команд, формат инструкций

Система команд процессора

Архитектура системы команд процессора (ISA - Instruction Set Architecture) охватывает систему команд процессора и регистры, через которые процессор становится доступным для программирования.

Машинные команды, выполняемые процессором, обычно подразделяются следующим образом:

· передача данных (из регистра в регистр, из памяти в регистр и наоборот)

· арифметико логические операции (сложение, вычитание, ротация битов операндов, сдвиг вправо, сдвиг влево и т. д.)

· доступ к отдельным битам

· доступ к строкам

· команды управления (уловного и безусловного перехода, подпрограммы и т. д.)

· ввод-вывод

· управление работой процессора.

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

Выполнение программы в процессоре состоит следующих этапов:

· Считывание команды из памяти (Instruction Fetch)

· Декодирование команды в микрооперации (Instruction Decode)

· Исполнение команды (Execute)

· Запись результатов (Store).

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


Поделиться:

Дата добавления: 2015-02-10; просмотров: 243; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты