Аппаратные, логические и программные прерывания | MorevOkne.ru
http://morevokne.ru/

Аппаратные, логические и программные прерывания

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

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

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

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

Программные прерывания. Они полностью реализуются программным способом без участия контроллера прерываний. Эти прерывания, по сути, — подпро­граммы, решающие определенные задачи. Например, все версии BIOS содержат набор программных прерываний, которые выполняют основные операции вво­да/вывода, и любая программа может их использовать, или, другими словами, . вызывать прерывания BIOS. Свои программные прерывания есть у операцион­ной системы, а также у некоторых прикладных программ.

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

Всего существует 16 прерываний от 0 - 15
0 - Наиболее приоритетное связано с системным таймером и не как не может быть использовано другим устройством.
1 - Закреплено за контроллером клавиатуры.
2 - Имеет техническое значение благодаря которому изначальное число прерываний было увеличено с 8 до 16.
3 - Используется вторым последовательным портом, однако если этот порт не нужен, то его можно отключить.
4 - Используется первым последовательным портом.
5 - Изначально является свободным и может использоваться различными устройствами по усмотрению пользователя или ОС.
6 - Закреплено за контроллером FDD. Не может быть использовано другими устройствами.
7 - Используется параллельным портом компьютера. Это прерывание при отключенном порте можно закрепить за другим устройством.
8 - Закреплено за часами реального времени. Это прерывание никогда не используется другими устройствами.
9 - Изначально является свободным, может использоваться платами расширения по усмотрению пользователя или ОС. Контроллер USB порта.
10 - Свободное, платы расширения.
11 - Изначально является свободным, но обычно используется видеоадаптерами.
12 - Жестко закреплено за мышью PS/2
13 - Жестко закреплено за встроенным или внешним математическим сопроцессором.
14 - Жестко закреплено за первым каналом контроллера. Не доступно для других IDE устройств.
15 - Жестко закреплено за вторым каналом IDE.
С каждым устройством ввода - вывода связана область памяти называемая векторами прерываний.
Выполняющий программу процессор может при необходимости приостановить процесс, чтобы обработать поступающую информацию.
При обработке сигнала совершается необходимое действие, а затем продолжается работа приостановленной программы.
Для того чтобы упорядочить обработку прерываний для каждого из них устанавливается приоритет.


Comments are closed.