http://npc-news.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.
С каждым устройством ввода — вывода связана область памяти называемая векторами прерываний.
Выполняющий программу процессор может при необходимости приостановить процесс, чтобы обработать поступающую информацию.
При обработке сигнала совершается необходимое действие, а затем продолжается работа приостановленной программы.
Для того чтобы упорядочить обработку прерываний для каждого из них устанавливается приоритет.


Добавить комментарий

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>