Источники 1, 4, 5, 6,
Источники 1, 4, 5, 6, 7 считаются локальными источниками прерываний и обслуживаются специальным набором регистров APIC, называемым таблицей локальных векторов (LVT - local vector table). Два других источника обрабатываются APIC через механизм сообщений. Эти сообщения в Pentium и P6 передаются по выделенной трехпроводной шине APIC (рис. 13.2). В Pentium 4 для передачи APIC-сообщений используется системная шина, поэтому контроллер прерываний может быть подключен непосредственно к обычному системному интерфейсу (например, PCI).
Рис. 13.2. Взаимодействие встроенного APIC и внешнего контроллера прерываний
Структура встроенного APIC является архитектурным подмножеством микросхемы контроллера прерываний Intel 82489DX. Регистры APIC отображаются на 4-Кбайтный блок оперативной памяти по адресу FEE00000h (может быть изменен через MSR регистры процессора).
Наличие встроенного APIC в процессоре обнаруживается при помощи инструкции CPUID(1). После RESET встроенный APIC включен, однако впоследствии он может быть отключен, тогда процессор будет работать с прерываниями как Intel-386/486 (линии LINT0 и LINT1 будут использоваться как NMI# и INTR#, к которым может быть подключен контроллер прерываний типа 8259A).
Таблица локальных векторов (LVT) состоит из шести 32-битных регистров (в P6 - 5, в Pentium - 4):
- регистр вектора прерывания от таймера;
- регистр вектора прерывания от термодатчика (только в Pentium 4);
- регистр вектора прерывания от монитора производительности (P6 и Pentium 4);
- регистр вектора прерывания LINT0;
- регистр вектора прерывания LINT1;
- регистр вектора прерывания ошибки.
Значения в этих регистрах определяют:
- номер вектора прерывания;
- тип прерывания (fixed - с указанным вектором, SMI - переход в режим системного управления, NMI - немаскируемое, INIT - сброс, ExtINT - внешнее: процессор генерирует цикл INTA и ожидает номер вектора прерывания от внешнего контроллера);
- активный уровень сигнала (низкий или высокий) или триггерный режим (прерывание по фронту или по уровню);
- маску прерывания (прерывание может быть замаскировано).
Эти регистры также отражают состояние прерывания (доставляется ли это прерывание ядру процессора в данный момент).
Кроме того, APIC содержит регистры управления таймером APIC, регистр версии, регистр ошибки, регистры, связанные с обслуживанием прерываний (регистр приоритета, регистр запроса IRR, регистр обслуживания ISR), и регистры, связанные с передачей и приемом IPI.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий