Классификация способов адресации по кратности обращения в память. 


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



ЗНАЕТЕ ЛИ ВЫ?

Классификация способов адресации по кратности обращения в память.



Различаются:

1. Непосредственная, R – кратность, R=0

2. Прямая адресация R=1

3. Косвенная R>=2

1. При этом способе операнд располагается в адресном поле команды, обращение к регистровой или оперативной памяти не производится, удобно для задания констант, длина которых меньше или равно длине адресного поля. Уменьшается время выполнения операций, сокращается объем памяти.

2. Обращение за операндом в регистровую или основную память, производится по адресному коду в поле команды, т.е. исполнительный адрес совпадает с адресным кодом Ai=Ak.

 

Код оп. Ak

 

   
Адрес исполнительный операнд
   

Этот метод обеспечивает простоту программирования, однако имеет недостатки: т.к. для адресации ячейкам памяти большой емкости требуется длинное адресное поле.

Адресный код команды указывает адрес ячейки памяти, в которой находится не сам операнд, а адрес операнда, который называется указателем операнда.

Адресация к операнду через цепочку указателей (косвенных адресов) называется косвенной.

 

Коп Ak

 

РП ОП

 
А операнд
 
 
операнд
 

 

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

 

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

Способы формирования исполнительного адреса можно разделить на абсолютные и относительные.

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

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

Б – код базы

И – код индекса

С – код смещения

Которые используются в различных сочетаниях:

Пример: (Б+С), (И+С), (Б,И+С).

При относительной адресации применяются два способа вычисления Ai:

1) Суммирование кодов, составляющих адреса.

2) Совмещение (конкатенация) кодов составляющих адреса. Ai=Б/С.

Относительная адресация:

1) Базирование способом суммирования

В команде адресный код Ak разбивают на 2 составляющих, это Ab – адрес регистра в регистровой памяти, в котором хранится базовый адрес, где б – база. С – код смещения относительно базового адреса.

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

Базирование способом совмещения составляющих

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

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

Индексная адресация

Для работы программ с массивами требующими однотипных операций над элементами массива, используется индексная адресация. Схема индексной адресации аналогична базированию путем суммирования. Адрес i-го операнда в массиве определяется как сумма начального адреса массива, задается полем смещения С и индекса И, записанного в одном из регистров регистровой памяти, которые называются индексным регистром. Адрес индексного регистра задается в команде полем адреса индекса. И аналогично базе.

В ряде случаев для эффективной работы применяется комбинированная индексация с базированием, при которой адрес операнда вычисляется как сумма 3-х составляющих, т.е. Ai=Б+И+С

 



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 292; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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