- •В этих структурах обращение к портам по записи и чтению производится обычными командами обращения к памяти. При этом портам обычно приписываются адреса в старшем диапазоне.
- •Адресация многобайтовых объектов в оперативной памяти.
- •Адресация с использованием счетчика команд.
- •Способы адресации.
- •6) Укороченная адресация.
- •10) Автоинкрементная и автодекрементная адресации.
- •11) Индексация.
- •Нумерация полей памяти.
11) Индексация.
Для реализуемых на ЭВМ методов решения математических задач и обработки данных характерна цикличность вычислительных процессов, когда одни и те же процедуры выполняются над различными операндами, упорядоченно расположенными в памяти. Поскольку операнды, обрабатываемые при повторениях цикла, имеют разные адреса, без использования индексации требовалось бы для каждого повторения составлять свою последовательность команд, отличающихся адресными частями.
Программирование циклов существенно упрощается, если после каждого выполнения цикла обеспечено автоматическое изменение в соответствующих командах их адресных частей согласно расположению в памяти обрабатываемых операндов. Такой процесс называется модификацией команд, и основан на возможности выполнения над кодами команд арифметических и логических операций.
Управление вычислительным циклом должно обеспечивать повторение цикла нужное число раз, а затем выход из него.
Автоматическая модификация команд и управление вычислительными циклами в современных ЭВМ обеспечиваются механизмом индексации. Это понятие включает в себя специальный способ кодирования команд, командные и аппаратурные средства задания и выполнения модификации команд и управления вычислительными циклами. Упомянутые средства часто называют индексной арифметикой.
Для выполнения индексации в машину вводятся так называемые индексные регистры. Исполнительный адрес при индексации формируется путем сложения адресного кода команды (смещения) с содержимым индексного регистра (индексом), а при наличии базирования - и с базовым адресом.
Для управления индексацией используются команды, задающие операции над содержимым индексных регистров - команды индексной арифметики. Можно отметить основные виды индексных операций:
- засылка в соответствующий индексный регистр начального значения индекса;
- изменение индекса;
Режимы адресации.
-
Вырожденные режимы адресации.
К этой группе относятся режимы, в которых доступ к операнду не содержит адресации как таковой. Разновидности:
· операнд-регистр.
· операнд-константа.
-
Косвенно-регистровый режим со смещением.
Адрес операнда образуется путем сложения регистра и адресного поля команды. Этот режим имеет другие названия, например, базовая адресация.
-
Базово-индексный режим.
В этом режиме адрес операнда образуется сложением двух или большего количества регистров и, возможно, еще и адресного смещения. Такой режим может использоваться для адресации массивов - один регистр содержит базовый адрес массива, второй - индекс. Иногда значение индексного режима умножается на размер операнда.
Банки памяти.
Банки памяти используются, когда адресное пространство процессора мало. Например, у многих микроконтроллеров адрес имеет длину всего 8 бит.
Адресация дополнительной памяти в этой ситуации обеспечивается дополнительным адресным регистром. Этот регистр дает дополнительные биты адреса, которые и обеспечивают адресацию дополнительной памяти. Регистр этот называется расширителем адреса или селектором банка, а область памяти, которую можно адресовать, не изменяя селектор банка, - банком памяти. Значение регистра-селектора называют номером банка.
