Базовая регистровая адресация

 

В случае базовой регистровой адресации (БРА) регистр, называемый базовым, со­держит полноразрядный адрес, а подполе Ас — смещение относительно этого ад­реса. Ссылка на базовый регистр может быть явной или неявной. В некоторых ВМ имеется специальный базовый регистр и его использование является неявным, то есть подполе R в команде отсутствует (рис. 28).

 

 

Рис. 28. Базовая регистровая адресация с базовым регистром.

 

Более типичен случай, когда в роли базового регистра выступает один из регис­тров общего назначения (РОН), тогда его номер явно указывается в подполе R команды (рис. 29).

Базовую регистровую адресацию обычно используют для доступа к элементам массива, положение которого в памяти в процессе вычислений может меняться. В базовый регистр заносится начальный адрес массива, а адрес элемента массива указывается в подполе Ас команды в виде смещения относительно начального ад­реса массива. Достоинство данного способа адресации в том, что смещение имеет меньшую длину, чем полный адрес, и это позволяет сократить длину адресного поля команды. Короткое смещение расширяется до полной длины исполнитель­ного адреса путем добавления слева битов, совпадающих со значением знакового разряда смещения.

 

 

Рис. 29. Базовая регистровая адресация с использованием одного из РОН.

 

Разрядность смещения RCM и, соответственно, затраты оборудования опреде­ляются из условия RCM = СБРА = int(log2(max(Non ))), где Non, — количество опе­рандов i-й программы.

Затраты времени составляют: ГБРА = tPOH + tСЛ + tЗУ.