Кіріспе

Процессорға жіберілген аппараттық сигнал, жұмыс істеп жатқан бағдарламаны тоқтатып, кірісті өңдеу үшін. Компьютерде үзіліс сұранысы (немесе IRQ) – процессорға жіберілген аппараттық сигнал, ол жұмыс істеп жатқан бағдарламаны уақытша тоқтатады және оның орнына арнайы бағдарлама – үзіліс өңдеушісін іске қосуға мүмкіндік береді. Аппараттық үзілістер модемнен немесе желілік картадан деректерді қабылдау, пернелерді басу немесе тышқанның қозғалысы сияқты оқиғаларды басқару үшін қолданылады. Үзіліс желілері көбінесе IRQ форматындағы индекспен, содан кейін санмен анықталады. Мысалы, Intel 8259 бағдарламаланатын үзіліс контроллерлер (PIC) отбасында сегіз үзіліс кірісі бар, олар IRQ0-ден IRQ7-ге дейін деп аталады. Осы екі PIC-ті пайдаланатын x86 негізделген компьютерлік жүйелерде желілердің біріктірілген жиынтығы IRQ0-ден IRQ15-ке дейін деп аталады. Техникалық тұрғыдан алғанда, бұл желілер IR0-ден IR7-ге дейін, ал олар тарихи түрде қосылған ISA шинасындағы желілер IRQ0-ден IRQ15-ке дейін аталады (бірақ тарихи тұрғыдан аппараттық құрылғылардың саны артқан сайын, үзілістердің жалпы мүмкін саны каскадтық сұраулар арқылы арттырылды, IRQ нөмірлерінің бірі басқа IRQ нөмірлерінің жиынтығына немесе жиынтықтарына каскадта беріліп, оларды бір немесе бірнеше келесі контроллерлер басқарды). Жаңа x86 жүйелері Intel APIC архитектурасына сәйкес келетін Advanced Programmable Interrupt Controller (APIC) интеграциялайды. Бұл APIC-тер бір APIC-ке 255 физикалық аппараттық IRQ желісін қолдайды, ал әдеттегі жүйе жалпы аппараттық желілердің 24 шамасында ғана қолдау көрсетеді. Персональды есептеудің алғашқы жылдары IRQ басқару жиі пайдаланушыларды алаңдататын. Plug and play құрылғыларын енгізу арқылы автоматты конфигурация арқылы бұл мәселе шешілді.

Шолу

Дербес компьютер жабдықтарымен жұмыс істегенде, құрылғыларды орнату және алып тастағанда, жүйе үзіліс сұраныстарын пайдаланады. Жүйелік BIOS-та орнатылған және операциялық жүйе танитын әдепкі параметрлер болады. Тәжірибелі пайдаланушылар осы әдепкі параметрлерді өзгерте алады. Қазіргі заманғы «қосып, пайдалану» технологиясы осы параметрлерге қатысты алаңдаушылықты азайтып қана қоймай, дерлік қолмен конфигурациялау қажеттілігін де жойды.

x86 IRQ-тар

Intel 8086/8088 процессорларын пайдаланатын алғашқы компьютерлерде тек бір PIC болды, сондықтан олар сегіз үзіліске ғана шектелді. Бұл 286 процессорлары негізіндегі компьютерлердің пайда болуымен екі PIC-ге дейін кеңейтілді. Әдетте, Intel 8259 PIC қолданатын жүйелерде 16 IRQ пайдаланылады. 0-ден 7-ге дейінгі IRQ-ны бір Intel 8259 PIC, ал 8-ден 15-ке дейінгі IRQ-ны екінші Intel 8259 PIC басқарады. Бірінші PIC, яғни басты контроллер, тікелей CPU-ға сигнал жібереді. Екінші PIC, яғни бағынышты контроллер, өз IRQ 2 желісі арқылы басты контроллерге сигнал жібереді, ал басты контроллер осы сигналды CPU-ға жеткізеді. Сондықтан аппараттық құрылғылар үшін барлығы 15 үзіліс сұрау желісі қолжетімді. IOAPIC жүйелерімен жабдықталған APIC-те әдетте 24 IRQ болады, ал қосымша 8 IRQ PCI үзілістерін бағыттау үшін қолданылады, бұл динамикалық түрде конфигурацияланған PCI үзілістері мен статикалық түрде конфигурацияланған ISA үзілістері арасындағы қақтығыстарды болдырмауға мүмкіндік береді. Тек 16 IRQ-ға ие болған немесе тек Intel 8259 үзіліс контроллерлерін пайдаланған алғашқы APIC жүйелерінде PCI үзіліс желілері BIOS-қа енгізілген PIR (PCI үзіліс маршруттау) кестесі арқылы 16 IRQ-ға бағытталды. Windows 95 OSR2 сияқты операциялық жүйелер PCI IRQ басқаруын жүзеге асыру үшін PIR кестесін пайдалана алады; кейіннен PIR кестесі ACPI-мен алмастырылды. MSI жүйелерімен жабдықталған APIC-те әдетте 224 үзіліс қолжетімді. Windows жүйесінде осы ақпаратты қараудың ең оңай жолы – Құрылғы Менеджерін немесе Жүйе Ақпаратын (msinfo32.exe) пайдалану. Linux жүйесінде IRQ сәйкестіктерін cat /proc/interrupts командасын орындау арқылы немесе procinfo утилитасын пайдалану арқылы көруге болады.

Қақтығыстар

IBM-мен үйлесімді ерте компьютерлерде IRQ қақтығысы – екі құрылғы бір үзіліс сұранысын (немесе IRQ) бағдарламаланатын үзіліс контроллеріне (PIC) үзіліс туралы хабарлауға тырысқанда туындайтын, бұрын жиі кездесетін аппараттық қате. PIC бір желіде тек бір құрылғыдан үзіліс сұрауларын күтеді, сондықтан бір желіде бірнеше құрылғы IRQ сигналдарын жіберсе, IRQ қақтығысы туындап, компьютер тоқтап қалуы мүмкін. Мысалы, егер жүйеге модем кеңейту картасы қосылып, оған IRQ4 тағайындалса, ол әдетте 1-сериялық портқа тағайындалады, бұл IRQ қақтығысына себеп болуы мүмкін. Алғашқыда IRQ 7 дыбыс картасын пайдалану үшін танымал таңдау болды, бірақ кейін IRQ 7 принтер портына (LPT1) кедергі келтіретіні анықталғандықтан IRQ 5 қолданыла бастады. IRQ желісін босату үшін басқа құрылғыға қолдану үшін сериялық порттар жиі өшіріледі. IRQ 2/9 – MPU 401 MIDI порты үшін дәстүрлі үзіліс желісі, бірақ ол ACPI жүйелік басқару үзілісімен (SCI Intel чипсеттерінде IRQ9-ға тікелей қосылған) қайшылыққа түседі; бұл ISA MPU 401 карталарын және қатты кодталған IRQ 2/9 драйверлерін ACPI қосылған жүйеде үзіліс режимінде пайдалануға болмайды дегенді білдіреді. Кейбір жағдайларда екі ISA құрылғысы бір уақытта қолданылмаса, бірдей IRQ-ны бөлісе алады. Бұл мәселені шешу үшін кейінгі PCI шинасы IRQ-ны бөлісуге мүмкіндік береді. PCI Express физикалық үзіліс желілеріне ие емес және операциялық жүйелерге қолжетімді болса, хабарлама арқылы жіберілетін үзілістерді (MSI) пайдаланады.