Физическое окружение вычислительной техники

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


В первых компьютерах IBM PC использовалась микросхема контроллера прерываний I8259 (Interrupt Controller), которая имеет восемь входов для сигналов прерываний (IRQO-IRQ7). Как известно, в одно и то же время микропроцессор может обслуживать только одно событие, и в этом ему помогает контроллер прерываний, который устанавливает для каждого из своих входов определенный уровень важности — приоритет. Наивысший приоритет имеет линия запроса прерывания IRQO, а наименьший — IRQ7, то есть приоритет убывает в порядке возрастания номера линии.

В IBM PC/AT восьми линий прерывания оказалось уже недостаточно, и их количество было увеличено до 15 путем каскадного включения двух микросхем контроллеров прерываний 18259. Такое каскадное включение осуществлялось путем соединения выхода второго контроллера ко входу IRQ2 первого. Важно понять следующее: линии прерывания IRQ8—IRQ15 (то есть входы второго контроллера) имеют приоритет ниже, чем IRQ1, но выше IRQ3.

В таблице 2 приведено распределение номеров прерываний по устройствам для большинства IBM РС/АТ - совместимых компьютеров.


IRQ

INT

Доступно

Использование


0

08h

нет

Системные часы (18,2 Гц)

1

09h

да

Клавиатура

2

OAh

да

Второй блок IRQ8-15

8

70h

нет

Таймер (1024 Гц)

9

71h

да

Переадресовано на IRQ2

10

72h

да

-

11

73h

да

-

12

74h

'да

-

13

75h

нет

Сопроцессор

14

76h

да

Контроллер винчестера

15

77h

да

-

3

OBh

да

COM2 или COM4

4

OCh

да

СОМ1 или COM3

5

ODh

да

LPT2

6

OEh

да

Контроллер флоппи

7

OFh

да

LPT1

     Таблица 2. Таблица прерываний

Для компьютеров, совместимых с PC/AT, обычно свободны всего четыре линии запроса прерываний: IRQ 10, 11, 12 и 15. Это, разумеется, касается только полноразмерных плат (16 разрядов данных). Для шин ISA и PCI используется одинаковый набор IRQ. Однако для PCI обычно используются прерывания, активные не по фронту, а по уровню, хотя и первая возможность также не исключается. Это позволяет использовать одну линию для передачи нескольких сигналов прерываний. Обычно для устройств PCI автоматически используются оставшиеся прерывания после установки ISA-плат.

Помимо прерываний, есть еще один способ вызывать какие-то события внутри PC без прямого вмешательства CPU. Это канал DMA.



Содержание раздела