Аппаратное прерывание – прерывание, выполняемое в результате запроса, поступающего от периферийного оборудования.
Контроллер прерываний – устройство, которое обрабатывает сигналы аппаратных прерываний.
В отличие от программных прерываний аппаратные всегда возникают асинхронно от выполняющейся программы. Запросы на прерывания передаются по специальным сигнальным линиям, которые называются IRQ-линиями (Interrupt Request – запрос на прерывание).
Программируемый контроллер прерываний 8259, используемый в машинах IBM AT, предназначен для обработки до 8 приоритетных уровней прерываний. Возможно каскадирование микросхем, при этом общее число уровней прерывания будет достигать 64.
В машинах IBM AT имеется 15 линий сигналов прерывания, для обслуживания которых используются ведущая и одна ведомая микросхемы. Для каскадирования используется линия IRQ2 ведущей микросхемы. Ведомой микросхеме программным методом присваивается код, равный номеру входа IRQ ведущей микросхемы, с которым соединен выход запроса прерывания INT ведомой микросхемы. Внутри микросхемы приоритет зависит от номера IRQ и задается программно.
Для идентификации прерываний различных устройств им присваивают номера от 0 до 15. По этим номерам процессор узнает, какое устройство выдает запрос на прерывание. Естественно, что при этом все будет функционировать безупречно, если с каждым конкретным устройством будет связано определенное прерывание. Действует стандартное правило: каждому компоненту ПК-системы должно быть назначено свое собственное прерывание.
Исключением являются системы, которые могут работать по методу разделения прерываний. К ним относятся шина EISA, a также системы, соответствующие спецификации Plug and Play фирмы Intel. Разумеется, трудно найти программное обеспечение, которое могло бы управлять разделением прерываний, поэтому стандартное правило «каждому устройству – свое собственное прерывание» должно выполняться (рис. 13).
Рис. 13. Распределение линий сигналов прерывания в машинах IBM AT
Приоритеты прерываний распределены в следующем порядке (по убыванию приоритета):
IRQ0 — прерывание таймера;
IRQ1 — прерывание от клавиатуры;
IRQ8 — прерывание от часов реального времени;
IRQ9 — прерывание от контроллера графической платы;
IRQ10 — зарезервированная линия;
IRQ11 — зарезервированная линия;
IRQ12 — зарезервированная линия;
IRQ13 — прерывание от математического сопроцессора;
IRQ14 — прерывание от контроллера жестких дисков;
IRQ15 — прерывание от IDE-контроллера (CD-ROM);
IRQ3 — прерывание от последовательного порта COM2;
IRQ4 — прерывание от последовательного порта COM1;
IRQ5 — зарезервированная линия;
IRQ6 — прерывание от контроллера гибких дисков;
IRQ7 — прерывание от параллельного порта (от принтера).
Часть линий прерываний жестко закреплена за устройствами определенных типов, а другая часть находится в полном распоряжении пользователя.
Даже стандартная ПК-система с самым распространенным набором компонентов предоставляет весьма ограниченный выбор свободных прерываний. С учетом звуковой, сетевой плат и дополнительного хост-адаптера SCSI список свободных прерываний исчерпывается.
Возможность свободного использования зарезервированных линий создает определенные проблемы, называемые конфликтами прерываний. Такой конфликт может возникнуть в результате ошибки пользователя в процессе установки контроллера какого-либо нового устройства: может возникнуть ситуация, когда два контроллера посылают запросы прерываний на одну и ту же линию, и процессор не знает, какое из устройств послало сигнал. Для предотвращения конфликта перед установкой нового устройства необходимо использовать специальную программу, которая определяет, какие из линий прерываний в системе свободны, а затем настроить новый контроллер на одну из свободных линий путем соответствующей установки переключателей на контроллере.
Статьи к прочтению:
Проверка легенд — \
Похожие статьи:
-
Тема 9. обработка прерываний в контроллере
В качестве сигналов прерывания, поступающих в контроллер прерывания, могут быть сигналы, формируемые модулями, входящими в контроллер (модуль таймера,…
-
Программируемый контроллер прерываний кр580вн59
БИС программируемого контроллера прерываний (ПКП) представляет собой устройство, реализующее до восьми уровней запросов на прерывание с возможностями…