Кіріспе
Процессорға жіберілген аппараттық сигнал, жұмыс істеп жатқан бағдарламаны тоқтатып, кірісті өңдеу үшін. Компьютерде үзіліс сұранысы (немесе 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 құрылғыларын енгізу арқылы автоматты конфигурация арқылы бұл мәселе шешілді.
In a computer, an interrupt request (or IRQ) is a hardware signal sent to the processor that temporarily stops a running program and allows a special program, an interrupt handler, to run instead. Hardware interrupts are used to handle events such as receiving data from a modem or network card, key presses, or mouse movements. Interrupt lines are often identified by an index with the format of IRQ followed by a number. For example, on the Intel 8259 family of programmable interrupt controllers (PICs) there are eight interrupt inputs commonly referred to as IRQ0 through IRQ7. In x86 based computer systems that use two of these PICs, the combined set of lines are referred to as IRQ0 through IRQ15. Technically these lines are named IR0 through IR7, and the lines on the ISA bus to which they were historically attached are named IRQ0 through IRQ15 (although historically as the number of hardware devices increased, the total possible number of interrupts was increased by means of cascading requests, by making one of the IRQ numbers cascade to another set or sets of numbered IRQs, handled by one or more subsequent controllers). Newer x86 systems integrate an Advanced Programmable Interrupt Controller (APIC) that conforms to the Intel APIC Architecture. These APICs support a programming interface for up to 255 physical hardware IRQ lines per APIC, with a typical system implementing support for only around 24 total hardware lines. During the early years of personal computing, IRQ management was often of user concern. With the introduction of plug and play devices this has been alleviated through automatic configuration.
Шолу
Дербес компьютер жабдықтарымен жұмыс істегенде, құрылғыларды орнату және алып тастағанда, жүйе үзіліс сұраныстарын пайдаланады. Жүйелік 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) пайдаланады.