Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вопросы к зачету.docx
Скачиваний:
235
Добавлен:
13.06.2017
Размер:
1.45 Mб
Скачать

29. Прерывания. Организация прерываний в эвм.

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

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

Прерывание- событие при котором меняется нормальная последовательность команд в ЦП.

1) управление передается ОС

2) ОС заполняет состояние прерванного процесса

3) ОС анализирует или останавливается на время для выполнения другой подпрограммы.

В зависимости от источника возникновения сигнала прерывания делятся на:

- асинхронные, или внешние (аппаратные)

- синхронные, или внутренние

- программные

Внешние прерывания в зависимости от возможности запрета делятся на

- маскируемые

- немаскируемые

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

Порядок обработки прерывания

Основными функциями системы прерываний являются:

• запоминание состояния прерываемой программы;

• осуществление перехода к прерывающей программе;

• восстановление состояния прерванной программы;

• возврат к прерванной программе.

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

Прерывающая программа, как правило, состоит из трех частей:

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

3. Завершающей, обеспечивающей продолжение работы прерванной программы.

Приоритетное обслуживание запросов прерывания

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

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

Запрос с относительным приоритетом является первым кандидатом на обслуживание после завершения выполнения текущей программы.

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

Соседние файлы в предмете Аппаратные средства вычислительной техники