5. Методы адресации, выполнение команд, прерывания, переместимость.
Способы адресации классифицируют:
по наличию адресной информации в команде (явная и неявная адресация).
по кратности обращения в оперативную память.
по способу формирования адресов ячеек памяти.
При явной адресации операнда в команде есть поле адреса этого операнда.
При неявной v адресное поле в команде отсутствует, а адрес операнда подразумевается кодом операции. Например, из команды может быть исключен адрес приемника адресата, при этом подразумевается, что результат записывается на месте второго операнда.
По кратности обращения в оперативную память различают: непосредственную адресацию (direct addressing) прямую адресацию (immediate addressing) косвенную адресацию (indirect addressing).
Непосредственная адресация
При непосредственной адресации операнд располагается непосредственно в адресном поле команды.
Прямая адресация
При прямой адресации обращение за операндом производится по адресному коду в поле команды. При этом исполнительный адрес совпадает с адресом кода команды.
Косвенная адресация
При косвенной адресации код команды указывает адрес ячейки памяти, в которой находится не сам операнд, а его адрес, называемый указателем.
Способы формирования адресов ячеек памяти можно разделить на абсолютные и относительные.
Абсолютные способы формирования предполагают, что двоичный код адреса ячейки памяти может быть целиком извлечен либо из адресного поля команды, либо из какой-нибудь другой ячейки в случае косвенной адресации.
Относительные способы формирования предполагают, что двоичный код адресной ячейки памяти образуется из нескольких составляющих:
Б v код базы,
И v код индекса,
С v код смещения.
Эти составляющие используются в различных сочетаниях.
Относительная адресация
При относительной адресации применяется способ вычисления адреса путем суммирования кодов, составляющих адрес.
А = Б + И + С
А = Б + С
А = И + С
Индексная адресация
Для работы программ с массивами, требующими однотипных операций над элементами массива, удобно использовать индексную адресацию.
Адрес i-того операнда в массиве определяется как сумма начального адреса массива операнда, задаваемого смещением S, и индекса I , записанного в одном из регистров регистровой памяти, называемым индексным регистром.
Адрес индексного регистра задается в команде полем адреса индекса Аи.
В каждом i-том цикле содержимое индексного регистра изменяется на постоянную величину, как правило, это 1.
В некоторых моделях ЭВМ относительная адресация выполняется без суммирования по следующей схеме:
Автоиндексная адресация
При автоиндексации косвенный адрес, находящийся в регистре РП, автоматически увеличивается (автоинкрементная адресация), или уменьшается (автодекрементная адресация) на постоянную величину до или после выполнения операции.
Стековая адресация
Стековая память широко используется в современных ЭВМ. Хотя адрес обращения в стек отсутствует в команде, он формируется схемой управления:
Для чтения записи доступен только один регистр v вершина стека. Этот способ адресации используется, в частности, системой прерывания программ при вложенных вызовах подпрограмм.
Стековая память реализуется на основе обычной памяти с использованием указателя стека и автоиндексной адресации.
Запись в стек производится с использованием автодекрементной адресации, а чтение - с использованием автоинкрементной адресации.
Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.[1]
В зависимости от источника возникновения сигнала прерывания делятся на:
асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши;
внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;
программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения
- 1. Классификация элементов и узлов эвм
- 2.Арифметические основы эвм. Типы данных, представление, перевод чисел коды чисел -пряиой обратный дополнительный
- 5. Методы адресации, выполнение команд, прерывания, переместимость.
- 6.Микропроцессоры, микро и мини эвм, ес эвм, семейства эвм[1,2]..............
- 7. Персональные эвм,обзор основных типов,аппаратные елементы
- 8. Организация наборов данных- методы доступа в наборах, записи, блоки, форматы [5,16].....
- 9. Фунции и состав типичной операционной системы, режимы работы
- 10 Основные команды операционной системы
- 11.Классификация структур данных, задачи обработки, массивы,.Списки
- 12.Древовидные и табличные структуры.
- 13.Методы поиска в массиве
- 14. Методы внутренней сортировки
- 15.Внешняя сортировка наборов данных
- 16.Жизненный цикл программы, тз..
- 17.Методы проектирования программ
- 18.Методы тестирования и отладки программ
- 19.Понятие о технологии программирования.Качество по
- 20.Классификация и основы построения по
- 21.Банки данных, архитектура бд
- 22.Субд и их функции.
- 23.Реляционная алгебра и обработка данных
- 24.Пакеты прикладных программ
- 25.Информационно-поисковые системы.
- 26.Системы искусственного интеллекта.Диалог с пользователем
- 27.Программная документация.
- 28.Основные понятия сапр-функциональное и системное наполнение
- 29.Локальные сети, протоколы
- 30.Основные методы решения уравнений
- 30.Основные методы решения уравнений
- 31.Квадратурные формулы, решение задачи Коши
- 32.Структурное программирование