Система адресации

Для обращения к операнду в адресной части команды должна быть ссылка на место расположения операнда. В машине, построенной по принципу «Unibus», обращение к оперативной памяти и ко внешним устройствам производится одинаково, по адресу.

Машина имеет адресное пространство 64Кб, и следовательно, для указания абсолютного адреса требуется 16 разрядов или полное слово. Команда тоже записывается полным словом. Если предположить, что всего имеется 70 команд, то на адресную часть остается в формате команды всего 8 разрядов. Но в эту адресную часть можно записать число не более 511. А это значит, что доступное адресное пространство составит лишь 512 байт, что недопустимо мало. Следовательно, непосредственно в одно машинное слово невозможно записать код команды и адрес операнда. Нельзя записать и операнд, т.к. диапазон представляемых чисел также мал (0, 511).

Для обращения к операнду или к его адресу необходимо использовать еще одно 16-разрядное слово, но оно не может находиться в области абсолютных адресов. Для этого используются регистры общего назначения, в которые можно записать либо адрес, либо сам операнд. Но тогда в команде необходимо указать, как используется РОН, возникает потребность в различных методах адресации. Рассмотрим несколько возможных методов адресации.

Прямой регистровый метод характерен тем, что операнд находится в выбранном РОНе. Обращение к нему будет наиболее простым и быстрым, но регистров мало, и этот метод используется для хранения промежуточных или специально выделенных данных. Схема метода представлена на рисунке:

Прямой регистровый метод

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

Косвенный регистровый метод адресации

  • Индексный метод адресации предполагает суммирование адреса, записанного в РОНе, с некоторым индексом или смещением, записанным либо в следующем слове после команды либо в специальном регистре. Этот регистр может иметь название регистр базы, сегментный регистр и т.п. Использование индекса позволяет обратиться к другой ячейке памяти или к другому регистру ВУ, не изменяя исходный адрес.

Индексный метод широко используется при работе с массивами данных: обращение к нужному элементу массива производится по постоянному адресу (имя массива) с учетом номера элемента (индекс). Схема метода представлена на рисунке:

Индексный метод адресации

Оставить комментарий

Вы должны авторизоваться для отправки комментария.