Ремонт, сервис, услуги » Информация » Контроллер прерываний x86




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

Автор: addministr от 1-06-2014, 09:40

Категория: Информация



В большинстве систем x86 используется либо программируемый контроллер прерываний (ProgrammableInterruptController, PIC) i8259A, либо один из вариантов усовершенствованного программируемого контроллера прерываний (AdvancedProgrammableInterruptController, APIC) i82489. Современные контроллеры комплектуются контроллером APIC. Стандарт PIC возник с появлением IBM PC. PIC i8259A работает только с одно процессорными системами и имеет только 8 линий прерываний. Но в архитектуре IBM PC определена возможность использования дополнительного второго PIC-контроллера, называемого ведомым, чьи прерывания мультиплексируются в одну из линий прерываний ведущего PIC-контроллера. Тем самым общее число прерываний доводится до 15 (7 на ведущем и 8 на ведомом контроллере, мультиплексируемые на восьмую линию прерывания ведущего контроллера). С мультипроцессорными системами работают APIC- и SAPIC-контроллеры (StreamlinedAdvancedProgrammableInterruptControllers — модернизированные усовершенствованные программируемые контроллеры прерываний — мы вскоре рассмотрим), имеющие 256 линий прерываний.

Intel и ряд других компаний определили мультипроцессорную спецификацию — MultiprocessorSpecification (MPSpecification), конструкторский стандарт для мультипроцессорных систем x86, в основу которого заложено применение APIC. Для обеспечения совместимости с однопроцессорными операционными системами и кодом начальной загрузки, который запускает мультипроцессорную систему в однопроцессорном режиме, APIC-контроллеры поддерживают режим совместимости с 15 прерываниями и доставки прерываний только основному процессору. Архитектура APIC-контроллера изображена на рисунке.

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


Фактически APIC-контроллер состоит из нескольких компонентов: APIC ввода-вывода, получающего прерывания от устройств, локальных APIC-контроллеров, получающих прерывания от APIC ввода-вывода на шине и прерывающих работу того центрального процессора, с которым они связаны, и i8259A-совместимого контроллера прерываний, который переводит APIC-ввод в сигналы, эквивалентные PIC-контроллеру. Поскольку в системе может быть несколько APIC-контроллеров ввода-вывода, у материнских плат обычно есть часть основных логических устройств, расположенных между ними и процессорами. Эти логические устройства отвечают за реализацию алгоритмов процедур прерываний, которые наряду с балансировкой нагрузки аппаратных прерываний между процессорами и попыткой получить преимущества от локализации, доставляют прерывания от устройств тому же самому процессору, которому только что было направлено предыдущее прерывание того же типа. Обычные программы могут перепрограммировать APIC-контроллеры ввода-вывода, применив фиксированный алгоритм маршрутизации, обходящий логику набора микросхем. Windows делает это путем программирования APIC-контроллеров в режиме маршрутизации «прерывания одного процессора в следующем наборе».



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Архив | Связь с админом | Конфиденциальность

RSS канал новостей     Яндекс.Метрика