Что такое принцип относительной адресации

Стековая адресация

Стековая память широко
используется в современных ЭВМ. Хотя адрес
обращения в стек отсутствует в команде, он
формируется схемой управления:

Что такое принцип относительной адресации

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

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

Запись в стек производится с
использованием автодекрементной адресации, а
чтение — с использованием автоинкрементной
адресации.

Назад | | Вперед

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

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

Что такое принцип относительной адресации

Адрес i-того
операнда в массиве определяется как сумма
начального адреса массива операнда, задаваемого
смещением S, и индекса I , записанного в
одном из регистров регистровой памяти,
называемым индексным регистром.

Адрес индексного
регистра задается в команде полем адреса индекса
Аи.

В каждом i-том
цикле содержимое индексного регистра изменяется
на постоянную величину, как правило, это 1.

В некоторых моделях ЭВМ
относительная адресация выполняется без
суммирования по следующей схеме:

Что такое принцип относительной адресации

Форматы команд

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

КОП А3

7

КОП А1 А3
15

6

5

КОП А1 А2 А3
23

17

16

12

11

6

5

Форматом
команды называется заранее обговоренная
структура полей в её кодах, позволяющая ЭВМ
распознавать составные части кода.

Главным элементом кода
команды является код операции
(КОП), что определяет, какие действия будут
выполнены по данной команде. Под него выделяется N
старших разрядов формата. В остальных разрядах
размещаются А1 и А2 v адреса
операндов. А3 — адрес результата.

Распределение полей в
формате команды может изменяться при смене
способа адресации. Длина команды зависит от
числа адресных полей. По числу адресов команды
делятся на:

безадресные
одно-,
двух-, трехадресные

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

Множество реализуемых
машинных действий образует её систему
команд. Система команд часто определяет
области и эффективность применения ЭВМ. Состав и
число команд должны быть ориентированы на
стандартный набор операций, используемых
пользователем для решения своих задач.

По функциональному
назначению в системе команд ЭВМ различают
следующие группы:

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

Группа команд передачи
управления обеспечивает принудительное
изменение порядка выполнения команд в программе.

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

Большинство
алгоритмов может быть реализовано небольшим
базовым набором команд. Вместе с тем система
команд должна быть полной, т.е. содержать все
команды, которые необходимы для интерпретации
алгоритма в машинных кодах. ЭВМ общего
назначения имеет универсальный набор команд и
применяется в основном для решения тривиальных
(стандартных) задач.

Существуют 2 различных
принципа поисков операндов в памяти:
ассоциативный и адресный.

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

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

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

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

Способы адресации
классифицируют:

по наличию адресной информации в
команде (явная и неявная адресация).

по кратности обращения в
оперативную память.

по способу формирования адресов
ячеек памяти.

При явной
адресации операнда в команде есть поле адреса
этого операнда.

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

По кратности обращения
в оперативную память различают:

непосредственную адресацию (direct
addressing)

прямую адресацию (immediate addressing)

косвенную адресацию (indirect addressing)