Четверг, 19.09.2024
Kober
Меню сайта
Поиск
Категории раздела
Шпоры Орг ЭВМ [42]
Шпоры ОС [22]
Главная » Статьи » Шпоры Орг ЭВМ

13 Понятие прерывания программ. Типы прерываний. Характеристики, структуры систем прерываний и их сравнительная оценка.

13 Понятие прерывания программ. Типы прерываний. Характеристики, структуры систем прерываний и их сравнительная оценка.

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

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

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

При обработке внутреннего прерывания МП «известна» его причина, а следовательно известен источник запроса. Поэтому, укрупнено, при внутреннем прерывании МП выполняет следующие действия:

· запоминает в стеке адрес возврата в прерываемую программу;

· определяет начальный адрес обработчика для известного источника запроса и передает управление этому обработчику;

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

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

Прерывание программы – это способность ЭВМ временно прекращать выполнение текущей программы при возникновении какого-либо события, вызывать программу обработки этого события, а затем возвращаться к выполнению прерванной программы.(понятия: прерываемая программа, прерывающая программа)

Типы прерываний

Авария (Abort) Жесткий сброс от схем контроля //IA-64

Ошибка (Fault ) Возникает до завершения инструкции, например, промах в TLB //IA-64

trap – внутренние прерывания  или синхронные прерывания, или программные, или исключения (особые ситуации: деление на 0, переполнение), возникают всегда в одном месте.

interrupt – внешние или асинхронные прерывания, связаны с организацией в/в.

Характеристики:

·   Общее кол-во запросов на прерывания

·   Время реакции – tр время м/ду появлением запроса на прерывание и началом выполнения прерывающей программы

·   Время обслуживания – равно суммарному расходу времени на запоминание и восстановление состояния программы

tобсл = tзап + tвосст

·   Глубина прерывания – max число программ,  которые могут прервать друг друга. Системы с большой глубиной прерываний обеспечивают более быструю реакцию на срочные запросы.

Принцип прерывания программы:


 

Если 2 прерывания идут подряд:  

 

 

 

 

Система с единичной глубиной прерываний 

Система с произвольный глубиной прерываний (но, обычно повторное прерывание с одним и тем же номером отбрасывается)



           

 

 

 

 

 


Структуры систем прерываний:

Структуры различают по способу передачи запроса в ЦП и способу идентификации источника.

1.    Цепочечная (с одной линией запроса)

 

В состав шины управления входит всего одна линия запросов. Одна программа обрабатывает все запросы, последовательно опрашивая все устройства в порядке их внутренней нумерации.

«-» – последовательный опрос (для большого количества устройств). T передачи вектора = T опроса устройств

«+» – простота реализации

 

2.    Структура с одной линией запроса и последовательной цепочкой сигналов подтверждения

Есть ещё одна линия – линия подтверждения прерывания INT A (1- битовая). Если устройство  посылает запрос, то оно разрывает эту линию. CPU, получив вектор, посылает сигнал для замыкания цепи линии подтверждения, далее устройство снимает вектор и в CPU начинает обработку прерываний.

  Вектор – ID источника запроса. Возникает проблема конфликта векторов (каждый завод дает собственные ID устройствам). Технология Plug & Play разрешает данную проблему (устройство должно поддерживать данную технологию), самостоятельно распределяя вектора (вектор – косвенный адрес обработчика).


 


3.       С индивидуальными линиями запроса.

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

PIC имеет индивидуальный вход для каждого запроса. Формирует 1 бит запроса прерывания и вектор. PIC может быть встроен в CPU.

 

4.    Смешанная

Используется для большого количества устройств. Совмещаются второй и третий тип.


 

Структура с последовательным запросом                                              



 


Цепочечная структура



 

Такая структура позволяет быстро анализировать наличие сигнала запроса прерывания и определять наиболее приоритетный запрос из нескольких присутствующих в данный момент. Распределение приоритетов запросов прерываний внешних устройств осуществляется путем их физической коммутации по отношению к процессору. Указание приоритетов – жесткое и не может быть программно изменено. Изменение приоритетов возможно только путем физической перекоммутации устройств.

Слайды: 1) В устройстве возникла необычная ситуация; 2)устройство размыкает цепь распространения сигнала; 3) процессор посылает сигнал подтверждения INTA; 4) устройство снимает запрос прерывания; 5) устр. Выставляет сигнал «вектор» и посылает Вектор по шине данных; 6) ЦП снимает сигнал подтверждения INTA; 7) устр. восстанавливает цепь распространения сигнала INTA; 8) устр. снимает сигнал «Вектор» и сам Вектор; 9) В ЦП начинается процесс обработки прерывания.

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

 

Категория: Шпоры Орг ЭВМ | Добавил: Kober (10.06.2013)
Просмотров: 2202
Архив записей
Copyright MyCorp © 2024
Бесплатный хостинг uCoz