logo
AOM / Мельник А

3.4.4.2. Базова адресація

При використанні базової адресації (або базування) адресна частина команди вмі­щує два поля. В першому полі знаходиться адреса В регістра із регістрового файлу про­цесора, в якому зберігається база, до якого додається зміщення Dіз другого поля і тим

112

самим формується виконавча адреса операнда (рис. 3.29). Ця адреса поступає на адресні входи основної пам'яті ОП, у відповідну комірку якої в режимі запису записується операнд із регістра даних РгД, а в режимі зчитування зчитується операнд в регістр даних РгД.

Даний спосіб адресації дозволяє працювати з операндами із деякого сегмента пам'яті не змінюючи базу Він ефективний при потребі обробки масиву даних. В якості бази тут виступає адреса першого елементу масиву, а всі інші його елементи вказуються шляхом додавання зміщення до адреси першого елементу масиву.

Якщо основна пам'ять може зберігати М слів, регістровий файл процесора може збе­рігати N слів, а сегмент має розмір L слів, то, використовуючи двійкове кодування, поле В буде займати п біт, де n =]log N[, поле D буде займати 1 біт, де 1 =]log 2L[, а розрядність регістрів буде рівною m =]log M[. Значення в дужках означає більше ціле.

Основна перевага відносної адресації - скорочення довжини команди за рахунок зменшення її адресної частини, а також спрощення розподілу пам'яті при написанні складних програм шляхом добавлення до кожного фрагменту програми відповідного значення базової адреси. Таким чином забезпечується переміщуваність фрагментів про­грами в полі пам'яті.