Организация прерываний в ЭВМ

Организация прерываний в ЭВМ

Главные стадии выполнения команды. Рабочий цикл микропроцессора

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

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

Код операции Адресный код

Зависимо от того, сколько полей содержит адресный код различают команды: безадресные, одноадресные, двухадресные и т.д. К примеру, в языке ассемблера команда inc si является одноадресной (наращивает содержимое регистра si на единицу). Inc – это код операции, si – адресный код). Безадресная команда – команда AAA. Команда AAA Организация прерываний в ЭВМ создана для корректировки результата сложения неупакованных BCD-чисел и решает деяния над регистром AX и регистром флагов.

Выделяют четыре группы команд: главные (арифметические, логические и пересылочные операции); передачи управления; ввода-вывода; системные (устанавливающих состояние микропроцессора).

Рабочий цикл начинается с определения состояния микропроцессора – «счет» либо «ожидание».

В состоянии Организация прерываний в ЭВМ «ожидание» никакие программки не производятся – микропроцессор ожидает поступления прерывания, после этого управление передается прерывающей программке, переводящей микропроцессор в состояние «счет».

В состоянии «счет» при наличии прерываний происходит выход из обычного рабочего цикла и переход к процедуре обработки запросов прерывания.

При отсутствии прерываний в состоянии «счет» поочередно производятся этапы рабочего цикла Организация прерываний в ЭВМ: подборка очередной команды и определение по коду операции ее группы. На шаге подборки очередной команды появляется (согласно естественному порядку) адресок последующей за ней команды (продвинутый адресок), при всем этом счетчик команд инкрементируется (возрастает на единицу).

Для главных команд формируются исполнительные адреса операндов, подборка операндов из памяти, обработка операндов в Организация прерываний в ЭВМ АЛУ. В процессе выполнения команды формируются признаки результата операции (в регистре флагов) и запоминание результата. К примеру, при выполнении команды ADD может быть установлен в 1 и сброшен в 0 флаг переноса CF в регистре флагов, также итог вычисления суммы будет помещен в место, определяемое операндом-приемником.

При выполнении команд передачиуправления проверяется Организация прерываний в ЭВМ данное условие. Если условие не производится, то последующую команду показывает продвинутый адресок, установленный ранее в СчК (счётчике команд = регистр IP). Если условие производится, то в СчК передается адресок, данный командой передачи управления. В регистре IP лежит адресок последующей команды, которую нужно будет выполнить (мы исполняем текущую, а Организация прерываний в ЭВМ в IP лежит адресок уже последующей команды). Если текущая команда инспектирует какое-либо условие и оно не производится, то значение IP не изменяется. Если условие производится, то в IP помещается адресок той команды, который указан в текущей команде в качестве аргумента. + см листок с примером. К примеру, команда JZ производит анализ фланга Организация прерываний в ЭВМ ZF и в случае, если ZF= 1, производит переход к выполнению команды, на которую показывает .

Команды ввода-вывода инициируют (активируют, приводят в действие) в канале операцию обмена информацией меж ЦП и периферийным устройством.

Системные команды производят переключения состояния микропроцессора (программки) методом загрузки нового слова в регистр состояния микропроцессора. К Организация прерываний в ЭВМ примеру, команда STC (эта команда безадресная) устанавливает флаг переноса CF в единицу.


На рис. 1 представлен рабочий цикл микропроцессора.

Рис. 1. Рабочий цикл микропроцессора

Организация прерываний в ЭВМ

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

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

Рассматриваемый процесс, именуемый прерыванием программ, поясняется на рис.2.

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

· запоминание состояния прерываемой программки и воплощение перехода к прерывающей программке

· восстановление состояния прерванной программки и возобновление её выполнения.

Каждое событие, требующее прерывания, сопровождается сигналом, именуемым запросом прерывания. Если аппаратное прерывание, то сигнал – электронный сигнал, если программное прерывание, то сигнал – машинная команда, она выдается из программки в Организация прерываний в ЭВМ ЦП.

Обобщающий термин прерывание употребляется для 2-ух случаев: 1) аппаратное прерывание — это сигнал от хоть какого устройства системы для микропроцессора, который по этому сигналу должен обслужить данное устройство, и 2) программное прерывание, которое создается программками для вызова сервисных подпрограмм из BIOS либо DOS.

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

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

Программные прерывания включают нужные сервисные программки для проведения операций ввода-вывода. Такового рода прерывания окрестили программными из-за того, что они почти во всем повторяют деяния аппаратных прерываний.

Исходный Организация прерываний в ЭВМ адресок прерывающей программки именуется вектором прерывания. В общем случае, каждому запросу прерывания соответствует собственный вектор прерывания, способный инициировать выполнение соответственной прерывающей программки. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти – таблице векторов прерывания. Таблица векторов прерываний размещается в ОП по нулевому адресу. Номер прерывания передается контроллером прерывания Организация прерываний в ЭВМ в ЦП в виде 8-разрядного числа.

В таблице векторов прерываний для каждого прерывания всегда указывается адресок начала сектора кода (этот адресок представляет собой 16-тиразрядное число), который будет записан в регистре CS микропроцессора, и смещение первой команды программы-обработчика прерывания относительно начала сектора кода этой программы-обработчика. Это смещение Организация прерываний в ЭВМ тоже представляет собой 16-тиразрядное число и будет записано в регистре IP микропроцессора. Таким макаром, таблица векторов прерываний состоит из 4-байтных частей, соответственных каждому типу прерывания. Соответственно, в ОП эта таблица будет занимать 28 4 б = 1024 б.

Когда контроллер прерываний отправляет в ЦП сигнал (электронный) через вывод INTR (этот вывод представляет собой электронный Организация прерываний в ЭВМ контакт ЦП, на который в случае прерывания подается высочайшей напряжение), он должно также поместить тип прерывания в виде 8-разрядного числа на системную магистраль для передачи в ЦП. Микропроцессор, умножив это число на 4, определяет адресок применяемого вектора прерывания и перейдет на сервис прерывания.

Сервис заключается в том, что ЦП, найдя сигнал Организация прерываний в ЭВМ прерывания, помещает в сектор стека регистр флагов, регистр программного сектора (CS) и указатель команд (IP) и перекрывает прием последующих прерываний. Потом ЦП при помощи 8-разрядного числа, установленного на системной магистрали контроллером прерываний, извлекает из таблицы векторов адресок обработчика и возобновляет выполнение с этого адреса. По окончании выполнения подпрограммы обработчика Организация прерываний в ЭВМ прерывания, ЦП восстанавливает из стека содержимое регистров CS, IP и содержимое регистра флагов, вследствие чего возобновляется выполнение прерванной программки.

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

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

Прерывания от 0 до 31 (самые нижние Организация прерываний в ЭВМ уровни) употребляются как прерывания внутренней аппаратуры (прерывания BIOS). Прерывания от 32 до 63 употребляются как прерывания MS-DOS. Все другие прерывания используются наружной аппаратурой, системными драйверами и прикладными программками.

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

Пример. Клавиатура подсоединена к материнской плате через разъём порта, к примеру, РS/2 (пи эс слеш два). Порт – это разъём плюс микросхема, соединенная с этим разъёмом и с магистралью ЭВМ. Эта микросхема обрабатывает сигнал нажатия кнопки (по кабелю от клавиатуры через разъем к Организация прерываний в ЭВМ микросхеме идет электронный сигнал). Дальше, эта микросхема дает сигнал (электронный) контроллеру прерываний (это др. микросхема), который в свою очередь дает сигнал на ЦП черезспециальный контакт (вывод INTR), другими словами что нужно оборвать, и передает в ЦП номер прерывания в виде 8-разрядного числа. ЦП приостанавливает работу текущей программки, записывает Организация прерываний в ЭВМ в сектор стека оперативки содержимое регистров CS, IP и регистра флагов. В это время ЦП множит на 4 поступившее 8-разрядное число, тем определяет адресок начальной ячейки вектора прерываний, другими словами первой ячейки в четырех-байтной группе. Эта группа содержит новые значения для регистров CS и IP (по 2 б для каждого Организация прерываний в ЭВМ регистра). ЦП подменяет содержимое регистров CS и IP новым значениями из вектора. В итоге таковой подмены микропроцессором будет выполнена последующая команда, физический адресок которой определяется новыми значениями CS:IP. Тем запускается программа-обработчик прерывания. Уже эта программка считывает из микросхемы порта код нажатой кнопки и передает его в ЦП. Как Организация прерываний в ЭВМ в этой программе-обработчике повстречается команда окончания обработки прерывания, ЦП восстановит из сектора стека сохраненные ранее значения регистров CS, IP и регистра флагов. Вследствие чего возобновляется выполнение прерванной программки.


organizaciya-predprofilnoj-podgotovki-i-profilnogo-obucheniya-v-sisteme-setevogo-vzaimodejstviya-uchrezhdenij-obshego-srednego-i-visshego-professionalnogo-obrazovaniya-setevaya-profilnaya-shkola-stranica-2.html
organizaciya-prerivanij-v-evm.html
organizaciya-priema-na-obuchenie-po-programmam-nachalnogo-obshegoosnovnogo-obshego-i-srednego-obshego-obrazovaniya.html