- Контроллер прерываний
-
Контроллер прерываний (англ. Programmable Interrupt Controller, PIC) — микросхема или встроенный блок процессора, отвечающий за возможность последовательной обработки запросов на прерывание от разных устройств.
Содержание
PIC
Пожалуйста, улучшите и дополните этот раздел. Замечания о том, что нужно улучшить, могут быть на странице обсуждения статьи.Как правило представляет собой электронное устройство, иногда выполненное как часть самого процессора или же сложных микросхем его обрамления, входы которого присоединены электрически к соответствующим выходам различных устройств. Номер входа контроллера прерываний обозначается «IRQ». Следует отличать этот номер от приоритета прерывания, а также от номера входа в таблицу векторов прерываний (INT). Так, например, в IBM PC в реальном режиме работы (в этом режиме работает MS-DOS) процессора прерывание от стандартной клавиатуры использует IRQ 1 и INT 9.
В первоначальной платформе IBM PC используется очень простая схема прерываний. Контроллер прерываний представляет из себя простой счётчик, который либо последовательно перебирает сигналы разных устройств, либо сбрасывается на начало при нахождении нового прерывания. В первом случае устройства имеют равный приоритет, во втором устройства с меньшим (или большим при обратном счёте) порядковым номером обладают большим приоритетом[1].
APIC
Необходимо перенести содержимое этого раздела в статью APIC. После переноса замените этот шаблон шаблоном {{main}} или ссылкой на статью.
Вы можете помочь проекту, осуществив этот перенос.
Если нужно обсудить целесообразность объединения, замените этот шаблон на {{amerge}} и добавьте соответствующую запись на странице ВП:КОБ.В процессоре Pentium был добавлен расширенный контроллер прерываний (APIC, Advanced PIC). Он состоит из модуля, встроенного в сам процессор (в случае многоядерной системы — в каждое ядро), называемого локальный контроллер прерываний (англ. local APIC), и центрального модуля, выполненного в одном экземпляре даже на многоядерном оборудовании, обычно как часть микросхем обрамления процессора (англ. IO APIC).
Проводники IRQ от устройств подсоединены к IO APIC. Для общения local APIС и IO APIC, а также local APIC различных ядер друг с другом, используется передняя (frontside) шина многопроцессорной системы, также используемая для соединения процессоров и контроллера памяти. Варианты использования передней шины для общения APIC между собой — отдельные проводники, или же специальные типы транзакций — менялись от поколения к поколению процессоров Pentium и Core.
APIC использовался в многоядерных/многопроцессорных системах, начиная с Intel Pentium (ядро P54). Начиная с этого процессора, каждый следующий снабжался интегрированным Local APIC-ом.
Преимущества расширенного контроллера прерываний:
- возможность реализации межпроцессорных прерываний — сигналов от одного процессора другому
- поддержка до 256 входов IRQ, в отличие от 16 на классической IBM PC
- крайне быстрый доступ к регистрам текущего приоритета прерывания и подтверждения прерывания. Контроллер прерываний, совместимый с IBM PC, исполнялся как устройство шины ISA с очень медленным доступам к его регистрам (порт 0x20).
APIC поддерживался в ОС Windows, начиная с Windows NT 4.0.
В настоящий момент наблюдается тенденция к отказу от IO APIC, как и проводников IRQ, и переходу на Message Signaled Interrupts.
Примечания
См. также
Литература
- Intel 64 and IA-32 Architectures Software Developer's Manual (в пяти томах):
Ссылки
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её.
Это примечание по возможности следует заменить более точным.Для улучшения этой статьи желательно?: - Дополнить статью (статья слишком короткая либо содержит лишь словарное определение).
Категория:- Технологии процессоров
Wikimedia Foundation. 2010.