Относительная адресация (базирование)
Исполнительный адрес определяется суммой адресного кода команды и некоторого числа (базового адреса)
Аeffисп=Абаз+Аком
Базовый адрес часто хранится в специальном регистре (базовый регистр). В команде выделяется поле для указания номера базового регистра.
“+” меньшая длина адресного кода, при обращении к любой ячейки памяти. В команде указывается только смещение.
Различают адресацию суммированием и совмещением.
а) используется чаще, но сложение - долго.
б) базовый адрес содержит старшие разряды, а следующий младшие разряды.
“-” не возможна адресация всей ОП.
Укороченная адресация
Адресный код содержит только часть адреса (младшие или старшие разряды). Остальное подразумевается. Может использоваться только совместно с другими способами адресации.
Используется для уменьшения длины команды.
Регистровая адресация
Частный случай укороченной адресации
16 РОН - 4 разряда адреса
Косвенная адресация
Адресный код команды указывает адрес ячейки памяти, в которой находится адрес операнда.
Автоинкрементная и автодекрементная адресация
Эффективна при работе с массивами. Используется, например, при работе с косвенной адресацией, чтобы для обработки каждого элемента массива не загружать новое значение адреса, а использовать автоматическое увеличение или уменьшение на 1 содержимого регистра с адресом.
Адресация слов переменной длины
Для повышения эффективности необходимо, чтобы имелась возможность выполнять операции над данными переменной длины. Адресация таких данных реализуется путем указания в команде местоположения в памяти начала слова и его длины.
Стековая адресация.
Стековая память реализует безадресное задание операндов.
Стек представляет собой группу последовательно пронумерованных регистров или ячеек памяти снабженных указателями стека (регистрами), в которой автоматически поддерживается номер (адрес) последней занятой ячейки (вершина).
При записи заносимое в стек слово помещается в следующую свободную ячейку стека, а при считывании извлекается последнее поступившее в него слово. Принцип LIFO.
Типы архитектур МП. Ортогональность архитектуры МП.
Поскольку ядро МП призвано обрабатывать данные под управлением команд, то очевидно эти данные и команды надо где-то хранить. И чем быстрее ядро сможет получить необходимые данные, и вернуть результат, тем, очевидно, его работа будет эффективнее. В связи с этим, различают следующие архитектуры МП, основанные на различном принципе взаимодействия с операционным блоком:
- регистровая;
- стековая;
- архитектура, ориентированная на память.
Регистровая архитектура.
Регистровая архитектура определяет наличие большого регистрового файла внутри БИС МП (поле памяти с произвольной записью и выборкой информации).
“+” высокая скорость работы.
“+” использование сокращенной адресации (меньше длина команд).
“-” при частой смене программ (мультипрограммирование, задачи управления) эффективность падает, т.к. при переключении необходимо сохранять и перегружать содержимое регистров.
“-” большое количество регистров трудно расположить на кристалле из-за меньшей плотности расположения логических схем, чем схем памяти.
Часто регистровое поле называют регистровым сегментом RSEG.
Стековая архитектура.
Стековая архитектура использует поле памяти с упорядоченной последовательностью записи и выборки информации.
“+” эффективна при работе с подпрограммами (задачи управления).
“-” стек на кристалле мал и быстро переполняется.
Данная архитектура практически не применяется как самостоятельная, а служит дополнением к другим видам архитектур.