IRQ

IRQ je zkratka z anglického Interrupt ReQuest. Označuje signál, kterým požádá zařízení procesor o pozornost, tedy požádá o přerušení probíhajícího procesu za účelem provedení důležitější akce.

IRQ se provádí následovně: Zařízení sdělí řadiči přerušení, že potřebuje provést přerušení. Řadič přerušení poté upozorní CPU, že jsou čekající přerušení. Když se CPU dostane do stavu kdy je ochotné přerušení přijmout, přeruší probíhající výpočet, zeptá se řadiče na nejdůležitější nezamaskované čekající přerušení a spustí jeho obsluhu. Ta typicky odloží právě probíhající proces, provede základní obsluhu zařízení, informuje řadič přerušení o dokončení obsluhy přerušení, obnoví stav procesu a pokračuje dále.

Přerušení často bývají identifikovány indexem s formátu zkratky IRQ následované číslem přerušení. Například pro programovatelné řadiče z rodiny Intel 8259 existuje 8 přerušení, které bývají běžně označované jako IRQ0 až IRQ7. V počítačových systémech založených na x86 architektuře, které používají 2 z programovatelných řadičů jsou přerušení číslována od IRQ0 do IRQ15.

Některé procesory mají řadič přerušení integrovaný, ale častější je uvedený stav, kdy je řadič logicky oddělen. Řadič obvykle vyhodnocuje priority přerušení, umožňuje některá přerušení ignorovat a pamatuje si, která přerušení čekají na vyřízení.

x86 IRQ

Pro seznam přerušení a diskuzi ohledně hardwarových IRQ pro systémy x86 se podívejte do článku Intel 8259.

Na systémech, které využívají Intel 8259 je typicky využito 16 IRQ. IRQ 0 až 7 jsou spravovány jedním Intel 8259 programovatelným řadičem přerušení a IRQ 8 až 16 druhým Intel 8259 PIC. První PIC, primární, tzv. master, je jediný, který přímo komunikuje s procesorem, kdežto druhý, tzv. slave, namísto procesoru signalizuje prvnímu pomocí přerušení IRQ 2, a master předává tento signál přímo procesoru. Existuje tedy 15 IRQ dostupných pro hardware.

Na novějších systémech s použitím tzv. Intel APIC Architecture je typicky k dispozici 24 IRQ a 8 dalších je využito pro předávání PCI přerušení tak, aby se vyhnulo konfliktu mezi dynamicky konfigurovanými PCI přerušeními a staticky konfigurovanými ISA přerušeními. Na dřívějších APIC systémech existovalo pouze 16 IRQ nebo pouze s Intel 8259 řadiči PCI přerušení byly předávány do 16 IRQ s použitím PIR obvodu integrovaného do southbridge.

Nejjednodušší způsob, jak zjistit tyto informace na Microsoft Windows,, je použít Správce zařízení nebo Systémové informace Microsoft. Na systémech Linux, IRQ mapování může být zobrazeno použitím příkazu cat /proc/interrupts nebo procinfo programy.

Master PIC

  • IRQ 0 — systémový časovač.
  • IRQ 1 — přerušení klávesnice.
  • IRQ 2 — předává signály z IRQs 8–15
    každé zařízení konfigurované tak, aby používalo IRQ 2 ve skutečnosti používá přerušení IRQ 9
  • IRQ 3 — sériový port controller pro COM2.
  • IRQ 4 — řadič sériového portu COM1.
  • IRQ 5 — LPT port 2  nebo  zvuková karta
  • IRQ 6 — řadič disketové mechaniky (viz disketa)
  • IRQ 7 — LPT port 1  nebo zvuková karta.

Slave PIC

  • IRQ 8 — hodiny reálného času
  • IRQ 9 — open interrupt / available  nebo  SCSI host adapter
  • IRQ 10 — open interrupt / available  nebo  SCSI  nebo  NIC
  • IRQ 11 — open interrupt / available  nebo  SCSI  nebo  NIC
  • IRQ 12 — myš na PS/2
  • IRQ 13 — matematický koprocesor  nebo  integrovaná floating point unit  nebo  meziprocesorové přerušení.
  • IRQ 14 — primární ATA kanál
  • IRQ 15 — sekundární ATA kanál
    ATA rozhraní obvykle obsluhuje hard disky a CD-ROM mechaniky

Reference

V tomto článku byl použit překlad textu z článku Interrupt_request na anglické Wikipedii.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.