Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Глубина прерывания

Временная диаграмма обработки прерывания

 

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

 

 

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

 

 

 

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

Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний. Работа системы прерываний при различной глубине прерываний (n) представлена на рис. 3. Здесь предполагается, что с увеличением номера запроса прерывания увеличивается его приоритет.

 

 

 

Рис. 3. Работа системы прерываний при различной глубине прерываний.

 

Классификация прерываний

 

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

1. Аппаратные - возникают как реакция микропроцессора на физический сигнал от некоторого устройства (клавиатура, системные часы, жесткий диск и т.д.), по времени возникновения эти прерывания асинхронны, т.е. происходят в случайные моменты времени.

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

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

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

 

Системные программы, адреса которых хранятся в векторах прерываний, в большинстве своем являются всего лишь диспетчерами, открывающими доступ к большим группам программ, реализующих системные функции. Так, видеодрайвер BIOS (вектор 10h) включает программы смены видеорежима, управления курсором, задания цветовой палитры, загрузки шрифтов и многие другие. Особенно характерен в этом отношении вектор 21h, через который осуществляется вызов практически всех функций DOS: ввода с клавиатуры и вывода на экран, обслуживания файлов, каталогов и дисков, управления памятью и процессами, службы времени и т.д. Для вызова требуемой функции надо не только выполнить команду int с соответствующим номером, но и указать системе в одном из регистров (для этой цели всегда используется регистр АН) номер вызываемой функции. Иногда для "многофункциональных" функций приходится указывать еще и номер подфункции (в регистре AL).

 

3. Исключения - являются реакцией микропроцессора на нестандартную ситуацию, возникшую внутри микропроцессора во время выполнения некоторой команды программы.

Внутренние прерывания возбуждаются цепями самого процессора при возникновении одной из специально оговоренных ситуаций, например, при выполнении операции деления на ноль или при попытке выполнить несуществующую команду. За каждым из таких прерываний закреплен определенный вектор, номер которого известен процессору. Например, в IBM PC за делением на 0 закреплен вектор 0, а за неправильной командой - вектор 6. Если процессор сталкивается с одной из таких ситуаций, он выполняет описанную выше процедуру прерывания, используя закрепленный за этой ситуацией вектор прерывания.

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

 

<== предыдущая лекция | следующая лекция ==>
Организация прерываний в ЭВМ | Функционирования компьютера при обработке прерывания
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 1123; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.