Система прерываний ЭВМ


Современная ЭВМ представляет собой комплекс автономных ус­тройств, каждое из которых выполняет свои функции под управлени­ем местного устройства управления независимо oi других устройств машины. Устройство включается в работу центральным процессо­ром (ЦП). Он передает устройству команду и все необходимые для ее исполнения параметры. После начала работы устройства централь­ный процессор отключается от него и переходит к обслуживанию дру­гих устройств или к выполнению других функций.

Можно считать, что центральный процессор переключает свое внимание с устройства на устройство и с функции на функцию. На что именно обращено внимание ЦП в каждый данный момент, опре­деляется выполняемой им программой.

Во время работы в ЦП поступает (и вырабатывается в нем са­мом) большое количество различных сигналов. Сигналы, которые выполняемая в ЦП программа способна воспринять, обработать и учесть, составляют поле зрения ЦП или, другими словами, входят в зону его внимания.

Например, если процессором исполняется программа сложения двух двойных слов, которая анализирует регистр флагов ЦП, то в ее «поле зрения» находятся флаги микропроцессора, определяющие зна­ки исходных данных и результата, наличие переноса из тетрады или байта, переполнения разрядной сетки и др. Такая программа готова реагировать на любой из сигналов, находящихся в ее зоне внимания (а поскольку именно программа управляет работой ЦП, то она опреде­ляет и «зону внимания» центрального процессора). Но если во время выполнения такой программы нажать какую-либо клавишу, то эта программа «не заметит» сигнала от этой клавиши, так как он не вхо­дит в ее «поле зрения».

Для того чтобы ЦП, выполняя свою работу, имел возможность реагировать на события, происходящие вне его зоны внимания, и на­ступления которых он «не ожидает», существует система прерыва­ний ЭВМ. При отсутствии системы прерываний все заслуживающие внимания события должны находиться в поле зрения процессора, что сильно усложняет программы и требует большой их избыточности. Кроме того, поскольку момент наступления события заранее неизве­стен, процессор в ожидании какого-либо события может находиться длительное время, и, чтобы не пропустить его появления, ЦП не мо­жет «отвлекаться» на выполнение другой работы. Такой режим рабо­ты (режим сканирования ожидаемого события) связан с большими по­терями времени ЦП на ожидание.

Кроме сокращения потерь на ожидание, режим прерываний позво­ляет организовать выполнение такой работы, которую без него реа­лизовать просто невозможно. Например, при появлении неисправнос­тей, нештатных ситуаций режим прерываний позволяет организовать, работу по диагностике и автоматическому восстановлению в момент возникновения нештатной ситуации, прервав выполнение основной работы таким образом, чтобы сохранить полученные к этому време­ни правильные результаты. Тогда как без режима прерываний обра­тить внимание на наличие неисправности система могла только пос­ле окончания выполняемой работы (или ее этапа) и получения непра­вильного результата.

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

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

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

Принцип действия системы прерываний заключается в следующем: при выполнении программы после каждого рабочего такта микропро­цессора изменяется содержимое регистров, счетчиков, состояние от­дельных управляющих триггеров, т.е. изменяется состояние процес­сора. Информация о состоянии процессора лежит в основе многих процедур управления вычислительным процессом. Не вся информа­ция одинаково актуальна, есть существенные элементы, без которых невозможно продолжение работы. Эта информация должна сохранять­ся при каждом «переключении внимания процессора».

Совокупность значений наиболее существенных информационных элементов называется вектором состояния или словом состояния процессора (в некоторых случаях оно называется словом состояния программы),

Вектор состояния в каждый момент времени должен содержать информацию, достаточную для продолжения выполнения программы или повторного пуска ее с точки, соответствующей моменту форми­рования данного вектора.

Вектор состояния формируется в соответствующем регистре про­цессора или в группе регистров, которые могут использоваться и для других целей.

Наборы информационных элементов, образующих векторы состо­яния, отличаются у ЭВМ разных типов. В IBM PC вектор состояния включает содержимое счетчика команд, сегментных регистров, реги­стра флагов и аккумулятора (регистра АХ).

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

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

Запросы на прерывание могут возникать из-за сбоев в аппаратуре (зафиксированных схемами контроля), переполнения разрядной сет­ки, деления на нуль, выхода за установленные для данной программы области памяти, затребования периферийным устройством операции ввода-вывода, завершения операции ввода-вывода или возникнове­ния при этой операции особых условий и т.д.

Некоторые из этих запросов порождаются самой программой, но время их возникновения невозможно предсказать заранее.

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

ПЭВМ IBM PC может выполнять 256 различных прерываний, каж­дое из которых имеет свой номер (двухразрядное шестнадцатеричное число).

Все прерывания делятся на две группы: прерывания с номера OOh по номер IFh называются прерываниями базовой системы ввода-вы­вода (BIOS — Basic Input-Output System); прерывания с номера 20h no номер FFh называются прерываниями DOS. Прерывания DOS имеют более высокий уровень организации, чем прерывания BIOS, они стро­ятся на использовании модулей BIOS в качестве элементов.

Прерывания делятся на три типа: аппаратные, логические и про­граммные.

Аппаратные прерывания вырабатываются устройствами, требу­ющими внимания микропроцессора: прерывание № 2 — отказ питания; № 8 — от таймера; № 9 — от клавиатуры; № 12 — от адаптера связи; № 14 — от НГМД; № 15 — от устройства печати и др.

Запросы на логические прерывания вырабатываются внутри мик­ропроцессора при появлении «нештатных» ситуаций: прерывание № 0 — при попытке деления на 0; № 4 — при переполнении разрядной сетки арифметико-логического устройства; № 1 — при переводе мик­ропроцессора в пошаговый режим работы; № 3 — при достижении программой одной из контрольных точек. Последние два прерывания используются отладчиками программ для организации пошагового режима выполнения программ (трассировка) и для остановки програм­мы в заранее намеченных контрольных точках.

Запрос на программное прерывание формируется по команде «INT п», где п — номер вызываемого прерывания. Запрос на аппа­ратное или логическое прерывание вырабатывается в виде специального электрического сигнала.

 



Дата добавления: 2017-01-26; просмотров: 3047;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.