Методы адресации


Download 235.15 Kb.
bet7/18
Sana13.12.2022
Hajmi235.15 Kb.
#1000783
TuriСамостоятельная работа
1   2   3   4   5   6   7   8   9   10   ...   18
Bog'liq
065-20. группа Белая .А

Индексная адресация. При индексной адресации (ИА) подполе АC содержит адрес ячейки памяти, а ре­гистр (указанный явно или неявно) — смещение относительно этого адреса. Как видно, этот способ адресации похож на базовую регистровую адресацию. Поскольку при индексной адресации в поле АC находится полноразрядный адрес ячейки па­мяти, играющий роль базы, длина этого поля больше, чем при базовой регистро­вой адресации. Тем не менее вычисление исполнительного адреса операнда про­изводится идентично (рис. 10.8, 10.9).

Рис. 10.8. Индексная адресация с индексным регистром.

Рис. 10.9. Индексная адресация с использованием одного из РОН.
Индексная адресация предоставляет удобный механизм для организации ите­ративных вычислений. Пусть, например, имеется массив чисел, расположенных в памяти последовательно, начиная с адреса N, и мы хотим увеличить на единицу все элементы данного массива. Для этого требуется извлечь каждое число из па­мяти, прибавить к нему 1 и вернуть обратно, а последовательность исполнитель­ных адресов будет следующей: N, N+ 1, N+ 2 и т. д., вплоть до последней ячейки, занимаемой рассматриваемым массивом. Значение берется из подполя АC ко­манды, а в выбранный регистр, называемый индексным регистром, сначала зано­сится 0. После каждой операции содержимое индексного регистра увеличивается на 1.
Так как это довольно типичный случай, в большинстве ВМ увеличение или уменьшение содержимого индексного регистра до или после обращения к нему осуществляется автоматически как часть машинного цикла. Такой прием называ­ется автоиндексированием. Если для индексной адресации используются специ­ально выделенные регистры, автоиндексирование может производиться неявно и автоматически. При задействовании для хранения индексов регистров общего назначения необходимость операции автоиндексирования должна указываться в команде специальным битом.
Автоиндексирование с увеличением содержимого индексного регистра носит на­звание автоинкрементной адресации и может быть описано следующим образом:

В первом варианте увеличение содержимого индексного регистра происходит после формирования исполнительного адреса, и этот способ называется постинк­рементным автоиндексированием. Во втором случае сначала производится увели­чение содержимого индексного регистра, и уже новое значение используется для формирования исполнительного адреса. Тогда говорят о преинкрементном авто­индексировании.
Здесь также возможны два варианта, отличающиеся последовательностью вы­полнения операций уменьшения содержимого индексного регистра и вычисления исполнительного адреса: постдекрементное автоиндексирование и предекремент­ное автоиндексирование.
Интересным и весьма полезным является еще один вариант индексной адреса­ции — индексная адресация с масштабированием и смещением: содержимое индекс­ного регистра умножается на масштабный коэффициент и суммируется с АCМас­штабный коэффициент может принимать значения 1,2,4 или 8, для чего в адресной части команды выделяется дополнительное поле. Описанный способ адресации реализован, например, в микропроцессорах фирмы Intel.
Следует особо отметить, что система команд многих ВМ предоставляет воз­можность различным образом сочетать базовую и индексную адресации в каче­стве дополнительных способов адресации.

Download 235.15 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling