Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
01:07, 14 апреля 2011

Контроллер прерываний компьютера

В первых компьютерах IBM PC использовалась микросхема контроллера прерываний I8259 (Interrupt Controller), которая имеет восемь входов для сигналов прерываний (IRQO-IRQ7).

Как известно, в одно и то же время микропроцессор может обслуживать только одно событие, и в этом ему помогает контроллер прерываний, который устанавливает для каждого из своих входов определенный уровень важности — приоритет. Наивысший приоритет имеет линия запроса прерывания IRQO, а наименьший — IRQ7, то есть приоритет убывает в порядке возрастания номера линии.

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

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

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

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

Программа на русском Sweet Home 3D

0
332
0