Прерывание

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

 

Прерывание (interrupt, INT) – это приостановка центральным процессором выполнения приоритетной программы для обработки события, которое поступило от одного из устройств.

 

Механизм прерываний реализован следующим образом:

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

 

Контроллер прерываний (Programmable Interrupt Controller, PIC) – это микросхема (или встроенный в процессор модуль), которая выполняет обработку запросов на прерывание от различных устройств.

 

Каждому прерыванию присваивают число, называемое номером прерывания. Некоторые из номеров прерывания зарезервированы за определенными устройствами, некоторые можно освободить и использовать для других устройств. Обозначается прерывание символом IRQ.

 

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

 

1. Немаскируемые прерывания (Non-Maskable Interrupt, NMI). Прерывания с высшим приоритетом. Прерывания данного типа обрабатываются в случаях возникновения аварийных ситуаций, вызванных ошибками в работе памяти или других устройств.

 

2. Маскируемые (аппаратные) прерывания. В эту группу относят прерывания от периферийных устройств. Обрабатываются контроллером прерываний. Стандартный контроллер прерываний позволяет обращаться к 16 прерываниям от различных устройств. Сегодня имеется возможность использовать расширенный контроллер прерываний APIC.

 

APIC (Advanced Programmable Interrupt Controller) – расширенный программируемый контроллер прерываний, позволяющий использовать 24 аппаратных прерываний вместо 16.

 

Примером аппаратного прерывания может быть сигнал от таймера, звуковой карты, нажатие клавиши клавиатуры.

 

Аппаратные прерывания и зарезервированные за ними устройства

 

Номер

Прерывания

Устройство

0

Системный таймер

1

Клавиатура

2

Контроллер прерываний

3

Порт СОМ1

4

Порт СОМ2

5

Нет

6

Контроллер дисковода для дискет

7

Порт LPT

8

Часы реального времени RTC

9

Нет

10

Нет

11

Нет

12

Мышь PS/2

13

Математический сопроцессор

14

Первичный канал контроллера IDE

15

Вторичный канал контроллера IDE

 

3. Программные прерывания. Это прерывание, которое может осуществить программа с помощью специальной инструкции. Для обработки программных прерываний не используется контроллер прерываний (они реализуются программным способом).

Опции BIOS Setup для настройки прериваний находятся здесь.



 

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

Оцените сайт

Оцените сайт
 

Поиск