uawikipc.ru

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

У більшості систем 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-контролера зображена на малюнку.

APIC-архітектура-x86

Відео: # 7. Переривання DOS / 3. Введення в асемблер - 21h / Програмування з нуля

Фактично APIC-контролер складається з декількох компонентів: APIC введення-виведення, що одержує переривання від пристроїв, локальних APIC-контролерів, які отримують переривання від APIC введення-виведення на шині і переривають роботу того центрального процесора, з яким вони пов`язані, і i8259A-сумісного контролера переривань, який переводить APIC-введення в сигнали, еквівалентні PIC-контролера. Оскільки в системі може бути кілька APIC-контролерів вводу-виводу, у материнських плат зазвичай є частина основних логічних пристроїв, розташованих між ними і процесорами.

Ці логічні пристрої відповідають за реалізацію алгоритмів процедур переривань, які поряд з балансуванням навантаження апаратних переривань між процесорами і спробою отримати переваги від локалізації, доставляють переривання від пристроїв того ж самого процесора, якому щойно було направлено попереднє переривання того ж типу. Звичайні програми можуть перепрограмувати APIC-контролери введення-виведення, застосувавши фіксований алгоритм маршрутизації, що обходить логіку набору мікросхем.

Відео: Лекція 5: Порти і переривання, робота з BIOS і DOS. сопроцессор

Windows робить це шляхом програмування APIC-контролерів в режимі маршрутизації «переривання одного процесора в наступному наборі».

Поділитися в соц мережах:
Схожі
» » Контролер переривань x86