Контроллер прерываний
Контроллер прерываний (англ. Programmable Interrupt Controller, PIC) — микросхема или встроенный блок процессора, отвечающий за возможность последовательной обработки запросов на прерывание от разных устройств.
Описание
[править | править код]Как правило, представляет собой электронное устройство, иногда выполненное как часть самого процессора или же сложных микросхем его обрамления, входы которого присоединены электрически к соответствующим выходам различных устройств. Номер входа контроллера прерываний обозначается «IRQ». Следует отличать этот номер от приоритета прерывания, а также от номера входа в таблицу векторов прерываний (INT). Так, например, в IBM PC в реальном режиме работы (в этом режиме работает MS-DOS) процессора прерывание от стандартной клавиатуры использует IRQ 1 и INT 9.
В первоначальной платформе IBM PC используется очень простая схема прерываний. Контроллер прерываний представляет собой простой счётчик, который либо последовательно перебирает сигналы разных устройств, либо сбрасывается на начало при нахождении нового прерывания. В первом случае устройства имеют равный приоритет, во втором устройства с меньшим (или большим при обратном счёте) порядковым номером обладают большим приоритетом[1].
Контроллеры прерываний на платформе x86 отвечают за получение сигналов прерывания от устройств, сопоставление сигнала с вектором IDT, а затем прерывание одного или нескольких процессоров в системе с помощью вектора IDT. Однако платформа x86 имеет некоторые дополнительные особенности. Во-первых, из-за ограничений исходных контроллеров прерываний и шин, используемых на PC-AT, к платформе были добавлены отдельные программируемые маршрутизаторы прерываний, которые размещались между сигналами прерывания PCI и контроллерами прерываний PC-AT. Во-вторых, по мере развития платформы x86 был введен совершенно новый набор контроллеров прерываний, известных как усовершенствованные программируемые контроллеры прерываний (APIC). Чтобы сохранить обратную совместимость, системы с APIC также по-прежнему включают контроллеры прерываний PC-AT, и любая система может использоваться для обработки прерываний в современных системах. Можно даже использовать оба одновременно[2].
См. также
[править | править код]Примечания
[править | править код]- ↑ Intel 8259
- ↑ Interrupt Controllers (Stuff in the Middle) . people.freebsd.org. Дата обращения: 6 сентября 2022. Архивировано 4 февраля 2022 года.
Литература
[править | править код]- Intel 64 and IA-32 Architectures Software Developer’s Manual (в пяти томах):
- Том 3A. System Programming Guide. Chapter 5. Interrupt and exception handling (англ.)
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Это заготовка статьи об информационных технологиях и вычислительной технике. Помогите Википедии, дополнив её. |