Методы адресации, выполнение команд, прерывания, переместимость
Способы адресации классифицируют:
по наличию адресной информации в команде (явная и неявная адресация).
по кратности обращения в оперативную память.
по способу формирования адресов ячеек памяти.
При явной адресации операнда в команде есть поле адреса этого операнда.
При неявной v адресное поле в команде отсутствует, а адрес операнда подразумевается кодом операции. Например, из команды может быть исключен адрес приемника адресата, при этом подразумевается, что результат записывается на месте второго операнда.
По кратности обращения в оперативную память различают: непосредственную адресацию (direct addressing) прямую адресацию (immediate addressing) косвенную адресацию (indirect addressing).
Непосредственная адресация
При непосредственной адресации операнд располагается непосредственно в адресном поле команды.
Прямая адресация
При прямой адресации обращение за операндом производится по адресному коду в поле команды. При этом исполнительный адрес совпадает с адресом кода команды.
Косвенная адресация
При косвенной адресации код команды указывает адрес ячейки памяти, в которой находится не сам операнд, а его адрес, называемый указателем.
Способы формирования адресов ячеек памяти можно разделить на абсолютные и относительные.
Абсолютные способы формирования предполагают, что двоичный код адреса ячейки памяти может быть целиком извлечен либо из адресного поля команды, либо из какой-нибудь другой ячейки в случае косвенной адресации.
Относительные способы формирования предполагают, что двоичный код адресной ячейки памяти образуется из нескольких составляющих:
Б v код базы,
И v код индекса,
С v код смещения.
Эти составляющие используются в различных сочетаниях.
Относительная адресация
При относительной адресации применяется способ вычисления адреса путем суммирования кодов, составляющих адрес.
А = Б + И + С
А = Б + С
А = И + С
Индексная адресация
Для работы программ с массивами, требующими однотипных операций над элементами массива, удобно использовать индексную адресацию.
Адрес i-того операнда в массиве определяется как сумма начального адреса массива операнда, задаваемого смещением S, и индекса I , записанного в одном из регистров регистровой памяти, называемым индексным регистром.
Адрес индексного регистра задается в команде полем адреса индекса Аи.
В каждом i-том цикле содержимое индексного регистра изменяется на постоянную величину, как правило, это 1.
В некоторых моделях ЭВМ относительная адресация выполняется без суммирования по следующей схеме:
Автоиндексная адресация
При автоиндексации косвенный адрес, находящийся в регистре РП, автоматически увеличивается (автоинкрементная адресация), или уменьшается (автодекрементная адресация) на постоянную величину до или после выполнения операции.
Стековая адресация
Стековая память широко используется в современных ЭВМ. Хотя адрес обращения в стек отсутствует в команде, он формируется схемой управления:
Для чтения записи доступен только один регистр v вершина стека. Этот способ адресации используется, в частности, системой прерывания программ при вложенных вызовах подпрограмм.
Стековая память реализуется на основе обычной памяти с использованием указателя стека и автоиндексной адресации.
Запись в стек производится с использованием автодекрементной адресации, а чтение - с использованием автоинкрементной адресации.
Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.[1]
В зависимости от источника возникновения сигнала прерывания делятся на:
асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши;
внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;
программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения
6.Микропроцессоры, микро и мини ЭВМ, ЕС ЭВМ, семейства ЭВМ[1,2]..............
Микропроце́ссор — процессор (устройство, отвечающее за выполнение арифметических, логических и операций управления, записанных в машинном коде), реализованный в виде одной микросхемы[1] или комплекта из нескольких специализированных микросхем[2] (в противоположность реализации процессора в виде электрической схемы на элементной базе общего назначения или в виде программной модели). Первые микропроцессоры появились в 1970-х и применялись в электронных калькуляторах, в них использовалась двоично-десятичная арифметика 4-х битных слов. Вскоре их стали встраивать и в другие устройства, например терминалы, принтеры и различную автоматику. Доступные 8-битные микропроцессоры с 16-битной адресацией позволили в середине 1970-х создать первые бытовые микрокомпьютеры.
Компьютеры серии ЕС ЭВМ (Единая система электронных вычислительных машин, произносится «еэ́с эвээ́м») являлись аналогами компьютеров фирмы IBM серий IBM System/360/370, выпускавшихся в США c 1964 года. Были программно и аппаратно (аппаратно — только на уровне интерфейса внешних устройств) совместимы со своими американскими прообразами.
Компьютеры серии ЕС ЭВМ входили, в соответствии с годами выпуска, в т. н. «Ряд 1», «Ряд 2», «Ряд 3», «Ряд 4». К «Ряду 1» (аналог серии IBM System/360) принадлежали модели 1010, 1020, 1030, 1032, 1040, 1050, 1060 (на самом деле выпускалась в рамках Ряд 2) и основанные на них усовершенствованные модели, напр., ЕС-1022. К «Ряду 2» (аналог серии IBM System/370) принадлежали модели 1015, 1025, 1035, 1045, 1055, 1065. К «Ряду 3» принадлежали модели 1036, 1046, 1066, 1068.
Аппаратная основа всех компьютеров — платы с микросхемами размером 140х150 мм (т. н. «Типовые Элементы Замены» (ТЭЗ) или «Радиоэлектронные модули 1-го уровня»). Конструктивно компьютеры представляли собой большие стойки («шкафы», или «Радиоэлектроные модули 3-го уровня») примерно в рост человека (1200х750х1600 мм для ЕС-1030 и 1200х860х1600 мм для ЕС-1046) и соответствующие им по размерам периферийные устройства — принтеры, накопители на магнитных лентах, накопители на магнитных дисках.