Požadavek na přerušení (architektura PC) - Interrupt request (PC architecture)
V počítači je požadavek na přerušení (nebo IRQ ) hardwarový signál odeslaný do procesoru, který dočasně zastaví spuštěný program a místo toho umožní spuštění speciálního programu, obsluhy přerušení . Hardwarová přerušení se používají ke zpracování událostí, jako je příjem dat z modemu nebo síťové karty , stisknutí kláves nebo pohyby myši.
Přerušené řádky jsou často identifikovány indexem s formátem IRQ následovaným číslem. Například v rodině programovatelných řadičů přerušení ( PIC ) Intel 8259 existuje osm vstupů přerušení běžně označovaných jako IRQ0 až IRQ7 . V počítačových systémech založených na x86, které používají dva z těchto PIC , se kombinovaná sada řádků označuje jako IRQ0 až IRQ15 . Technicky jsou tyto řádky pojmenovány IR0 až IR7 a řádky na sběrnici ISA, ke kterým byly historicky připojeny, jsou pojmenovány IRQ0 až IRQ15 (i když historicky, jak se zvyšoval počet hardwarových zařízení, celkový možný počet přerušení byl zvýšen pomocí kaskádování požadavky, provedením kaskády jednoho z čísel IRQ do jiné sady nebo sad číslovaných IRQ, zpracovaných jedním nebo více následnými kontroléry).
Novější systémy x86 integrují Advanced Programmable Interrupt Controller (APIC), který odpovídá architektuře Intel APIC. Tyto APIC podporují programovací rozhraní až pro 255 fyzických hardwarových IRQ linek na APIC, s typickým systémem implementujícím podporu pouze pro přibližně 24 celkových hardwarových linek.
Během prvních let používání osobních počítačů byla správa IRQ často předmětem zájmu uživatelů. Se zavedením zařízení typu Plug and Play to bylo zmírněno automatickou konfigurací.
Přehled
Při práci s hardwarem osobního počítače, instalaci a odebírání zařízení se systém spoléhá na požadavky na přerušení. Existují výchozí nastavení, která jsou konfigurována v systému BIOS a rozpoznána operačním systémem. Tato výchozí nastavení mohou pokročilí uživatelé změnit. Moderní technologie plug and play nejenže snížila potřebu starat se o tato nastavení, ale také prakticky eliminovala manuální konfiguraci.
x86 IRQ
Starší počítače využívající procesory Intel 8086/8088 měly pouze jeden PIC, a proto jsou omezeny na osm přerušení. To bylo rozšířeno na dva PIC zavedením 286 počítačů na bázi.
Typicky se na systémech využívajících Intel 8259 PIC používá 16 IRQ. IRQ 0 až 7 jsou spravovány jedním Intel 8259 PIC a IRQ 8 až 15 druhým Intel 8259 PIC. První PIC, hlavní, je jediný, který přímo signalizuje CPU. Druhý PIC, slave, místo toho signalizuje masteru na jeho lince IRQ 2 a master předává signál do CPU. Proto je pro hardware k dispozici pouze 15 řádků s požadavkem na přerušení.
Na APIC se systémy IOAPIC je obvykle k dispozici 24 IRQ a dalších 8 IRQ se používá k směrování přerušení PCI, aby nedocházelo ke konfliktu mezi dynamicky konfigurovanými přerušeními PCI a staticky konfigurovanými přerušeními ISA. Na časných systémech APIC s pouze 16 IRQ nebo pouze s řadiči přerušení Intel 8259 byly linky přerušení PCI směrovány na 16 IRQ pomocí PIR (směrování přerušení PCI) integrovaného do jižního mostu. Na APIC se systémy MSI je obvykle k dispozici 224 přerušení.
Nejjednodušší způsob zobrazení těchto informací ve Windows je použití Správce zařízení nebo Systémové informace (msinfo32.exe). V systému Linux lze mapování IRQ zobrazit spuštěním příkazu cat / proc / interrupts nebo pomocí nástroje procinfo .
Master PIC
- IRQ 0 - systémový časovač (nelze změnit)
- IRQ 1 - klávesnice na portu PS / 2 (nelze změnit)
- IRQ 2 - kaskádové signály z IRQ 8–15 (všechna zařízení nakonfigurovaná pro použití IRQ 2 budou ve skutečnosti používat IRQ 9)
- IRQ 3 - řadič sériového portu pro sériový port 2 (sdílený se sériovým portem 4, pokud je k dispozici)
- IRQ 4 - řadič sériového portu pro sériový port 1 (sdílený se sériovým portem 3, pokud je k dispozici)
- IRQ 5 - paralelní port 2 a 3 nebo zvuková karta
- IRQ 6 - řadič diskety
- IRQ 7 - paralelní port 1. Používá se pro tiskárny nebo pro jakýkoli paralelní port, pokud není k dispozici tiskárna. Může být také potenciálně sdílen se sekundární zvukovou kartou s pečlivou správou portu.
Otrok PIC
- IRQ 8 - hodiny v reálném čase (RTC)
- IRQ 9 - Přerušení řízení systému Advanced Configuration and Power Interface (ACPI) na čipových sadách Intel. Ostatní výrobci čipových sad mohou pro tento účel použít jiné přerušení nebo jej zpřístupnit pro použití periferních zařízení (všechna zařízení nakonfigurovaná pro použití IRQ 2 budou ve skutečnosti používat IRQ 9)
- IRQ 10 - Přerušení je ponecháno otevřené pro použití periferií (otevřené přerušení / dostupné, SCSI nebo NIC )
- IRQ 11 - Přerušení je ponecháno otevřené pro použití periferií (otevřené přerušení / dostupné, SCSI nebo NIC)
- IRQ 12 - myš na portu PS / 2
- IRQ 13 - koprocesor CPU nebo integrovaná jednotka s plovoucí desetinnou čárkou nebo přerušení mezi procesory (použití závisí na OS)
- IRQ 14 - primární kanál ATA (rozhraní ATA obvykle slouží jednotkám pevných disků a jednotkám CD )
- IRQ 15 - sekundární ATA kanál
Konflikty
V časných osobních počítačích kompatibilních s IBM je konflikt IRQ jednou běžnou hardwarovou chybou, která se zobrazí, když se dvě zařízení pokouší použít stejný požadavek na přerušení (nebo IRQ) k signalizaci přerušení do Programovatelného řadiče přerušení (PIC). PIC očekává požadavky na přerušení pouze od jednoho zařízení na linku, takže více než jedno zařízení odesílající signály IRQ po stejné lince obecně způsobí konflikt IRQ, který může zamrznout počítač .
Například pokud je do systému přidána rozšiřující karta modemu a přiřazena k IRQ4, která je tradičně přiřazena k sériovému portu 1, pravděpodobně to způsobí konflikt IRQ. Zpočátku byl IRQ 7 běžnou volbou pro použití zvukové karty , ale později se použil IRQ 5, když se zjistilo, že IRQ 7 bude interferovat s portem tiskárny (LPT1). Tyto porty jsou často zakázáno uvolnit IRQ linku na jiném zařízení. IRQ 2/9 je tradiční přerušovací linka pro MIDI port MPU-401, ale to je v rozporu s přerušením řízení systému ACPI (SCI je pevně propojeno s IRQ9 na čipových sadách Intel); to znamená, že karty ISA MPU-401 s pevně připojeným IRQ 2/9 a ovladače zařízení MPU-401 s pevně zakódovaným IRQ 2/9 nelze v systému s povoleným ACPI použít v režimu řízeném přerušením.
V některých výjimečných podmínkách mohla dvě zařízení ISA sdílet stejné IRQ, pokud nebyla použita současně. K vyřešení tohoto problému umožňuje pozdější sběrnice PCI sdílení IRQ. PCI Express nemá fyzické linky přerušení a používá operační signální přerušení (MSI) pro operační systémy, pokud jsou k dispozici.
Viz také
Reference
Další čtení
- Gilluwe, Frank van. The Undocumented PC, Second Edition , Addison-Wesley Developers Press, 1997. ISBN 0-201-47950-8
- Shanley, Tom; Anderson, Don (1995). Swindle, John (ed.). ISA System Architecture (3. vydání). Mindshare, Inc. / Addison-Wesley Publishing Company . ISBN 0-201-40996-8. ISBN 978-0-201-40996-3 . [1]
- Solari, Edwarde. Architektura a design hardwaru a softwaru PCI a PCI-X, šesté vydání , Research Tech Inc., 2004. ISBN 0-9760865-0-6
externí odkazy
- Příručka vývojáře softwaru pro architekturu Intel® 64 a IA-32, svazek 3A: Průvodce programováním systému, část 1, kapitola 6 - další informace o zpracování přerušení Intel 64 a IA-32
- Seznam přerušení Ralfa Browna