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 IRQ0IRQ7 . 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 IRQ0IRQ15 . Technicky jsou tyto řádky pojmenovány IR0IR7 a řádky na sběrnici ISA, ke kterým byly historicky připojeny, jsou pojmenovány IRQ0IRQ15 (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

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í

externí odkazy