Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборка Часть1 / avmis_lec / МПС_Л7(Прерывания)Одинец.doc
Скачиваний:
56
Добавлен:
15.09.2014
Размер:
154.62 Кб
Скачать

Цель лекции:

1. Дать понятие о системе прерываний ЭВМ.

2. Изучить принципы организации исполнения прерывания в ЭВМ

3. Привести примеры прерываний

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

5. Воспитывать у курсантов любовь к Родине – Республике Беларусь, к военной профессии, ответственность за своевременность и качество отработки материала в часы самостоятельной работы.

План лекции

Система прерываний 2

Введение 2

1.Общие сведения о системе прерываний 2

2. Организация исполнения прерываний 6

Заключение 17

Учебная литература:

1. Гурьянов А.В.. и др. Основы построения ЭВМ Мн. МВИЗРУ, С.75-115.

2. Колесниченко О.В., Шишигин И.В. Аппаратные средства РС. – 4-е изд., СПб.: БХВ-Петербург, 2001.-1024с.

Учебно-материальное обеспечение:

наглядные пособия: плакаты

демонстрации: слайды

технические средства обучения: лектор 2000; СВТ.

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

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

1.Общие сведения о системе прерываний

Сигналы, несущие информацию о возникновении особых ситуаций, называется запросами прерывания - {Pi}. Запрос прерывания Рi поступает в блок прерываний УУ, где он запоминается и на его основе формируется специальная операция - операция прерывания, обеспечивающая прерывание текущей программы и переход к исполнению программы анализа возникшей ситуации.

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

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

Сигналы запросов прерывания могут поступать одновременно от нескольких устройств ЭВМ по различным причинам, причем они МОГУТ поступать одновременно. Все сигналы запросов должны быть зафиксированы, а исполниться должен только один из них. Например, одновременно поступили сигнал прерывания от схемы контроля сумматора и сигнал прерывания по причине переполнения разрядной сетки. Очевидно, на второй не имеет смысла реагировать до тех пор, пока не будет устранена неисправность в сумматоре, вызвавшая первый сигнал.

Рис.1. Процесс прерывания программ

Для выделения из множества сигналов запроса, поступивших в процессор, одного из них, который и вызовет прерывание, всем сигналам прерывания присваиваются приоритеты. Приоритет характеризуется целым числом 0,1,2,... . Чем меньше значение числа, тем выше приоритет. Приоритеты распределяются между причинами прерываний по степени важности и определяются в общем случае областью применения ЭБМ. Для выделения сигналов запроса прерывания блок прерываний содержит схему приоритета.

Исходя из этого функциями системы прерываний являются:

прием и запоминание запросов прерывания;

выделение запроса с высшим приоритетом из числа поступивших;

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

организация перехода к выполнению программы, обрабатывающей выделенный запрос прерывания, - программы прерывания;

сброс выделенного запроса прерываний;

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

Некоторые из перечисленных функций реализуются программными средствами. Обычно прерывающая программа (программа обслуживания прерывания) содержит три блока:

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

основной блок, содержащий собственно программу обработки запроса прерывания;

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

Временная диаграмма обработки запроса прерывания представлена на рис.2, где tp - время реакции (интервал времени с момента поступления запроса до момента инициирования прерывающей программы); tз - время запоминания текущего состояния прерванного процесса (время исполнения подготовительного блока); tп - время исполнения основного блока; tв - время восстановления (время выполнения блока восстановления).

Рио.2 Временная диаграмма прерывания программы

Основными характеристиками системы прерывания является время реакции ( tр), время обслуживания (tо= tз + tв) и глубина прерывания.

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

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

  1. Прерывание выполнения программы возможно в некоторых местах программы, которые указывает программист. В этом случае время реакции велико и не зависит от организации системы прерывания.

  2. Прерывание возможно после окончания выполнения любой команды, В этом случае время реакции tр = Тк/2, где Тk -среднее время выполнения команды, a tpmax=Tк. Объем информации, которую необходимо запомнить для организации возврата, сравнительно небольшой.

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

В большинстве ЭВМ применение находит второй способ как наиболее приемлемый по времени обслуживания и времени реакции.

Время обслуживания (to) составляет сумму времени tз + tв. Эта величина характеризует системные потери на организацию процесса прерывания. Необходимо, чтобы to не превышало периода следования запросов.

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

Глубина прерывания - максимальное число прерывающих программ, которые могут прерывать друг друга.

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

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