Sol·licitud d'interrupció

De la Viquipèdia, l'enciclopèdia lliure
Diagrama que mostra el flux d'una rutina d'interrupció.

En un ordinador, una sol·licitud d'interrupció (o IRQ) és un senyal de maquinari enviat al processador que atura temporalment un programa en execució i permet que s'executi un programa especial, un controlador d'interrupcions. Les interrupcions de maquinari s'utilitzen per gestionar esdeveniments com ara rebre dades d'un mòdem o una targeta de xarxa, pressions de tecles o moviments del ratolí.[1]

Les línies d'interrupció sovint s'identifiquen mitjançant un índex amb el format d' IRQ seguit d'un número. Per exemple, a la família Intel 8259 de controladors d'interrupció programables (PIC) hi ha vuit entrades d'interrupció que es coneixen habitualment com a IRQ0 a IRQ7. En els sistemes informàtics basats en x86 que utilitzen dos d'aquests PIC, el conjunt combinat de línies s'anomena IRQ0 a IRQ15. Tècnicament, aquestes línies s'anomenen IR0 a IR7, i les línies del bus ISA al qual històricament estaven connectades s'anomenen IRQ0 a IRQ15 (tot i que històricament a mesura que augmentava el nombre de dispositius de maquinari, el nombre total possible d'interrupcions es va augmentar mitjançant la cascada). sol·licituds, fent que un dels números IRQ en cascada a un altre conjunt o conjunts d'IRQ numerats, gestionats per un o més controladors posteriors).[2]

Una animació que mostra el flux d'una interrupció d'una manera simplificada.

Els sistemes x86 més nous integren un controlador d'interrupció programable avançat (APIC) que s'ajusta a l'arquitectura Intel APIC. Aquests APIC admeten una interfície de programació per a un màxim de 255 línies IRQ de maquinari físic per APIC, amb un sistema típic que implementa suport per a només unes 24 línies de maquinari totals.[3]

Durant els primers anys de la informàtica personal, la gestió d'IRQ era sovint una preocupació dels usuaris. Amb la introducció de dispositius plug and play això s'ha alleujat mitjançant la configuració automàtica.[4]

Visió general[modifica]

Quan es treballa amb maquinari de l'ordinador personal, instal·la i elimina dispositius, el sistema es basa en les sol·licituds d'interrupció. Hi ha paràmetres predeterminats que es configuren a la BIOS del sistema i que el sistema operatiu reconeix. Aquests paràmetres predeterminats poden ser alterats pels usuaris avançats. La moderna tecnologia plug and play no només ha reduït la necessitat de preocupar-se per aquestes configuracions, sinó que també ha eliminat pràcticament la configuració manual.[5]

IRQ x86[modifica]

Els primers ordinadors que utilitzaven els processadors Intel 8086/8088 només tenien un únic PIC i, per tant, estan limitats a vuit interrupcions. Això es va ampliar a dos PIC amb la introducció dels ordinadors basats en 286.

Normalment, als sistemes que utilitzen el PIC Intel 8259, s'utilitzen 16 IRQ. Els IRQ 0 a 7 estan gestionats per un Intel 8259 PIC, i els IRQ 8 a 15 per un segon Intel 8259 PIC. El primer PIC, el mestre, és l'únic que senyalitza directament la CPU. El segon PIC, l'esclau, en canvi, senyala al mestre a la seva línia IRQ 2, i el mestre passa el senyal a la CPU. Per tant, només hi ha 15 línies de sol·licitud d'interrupció disponibles per al maquinari.

La manera més senzilla de veure aquesta informació a Windows és utilitzar el Gestor de dispositius o la Informació del sistema (msinfo32.exe). A Linux, els mapes d'IRQ es poden veure executant cat /proc/interrupts o utilitzant la utilitat procinfo .

  • IRQ 0 – temporitzador del sistema (no es pot canviar)
  • IRQ 1 – teclat al port PS/2 (no es pot canviar)
  • IRQ 2 – senyals en cascada dels IRQ 8-15 (qualsevol dispositiu configurat per utilitzar IRQ 2 utilitzarà realment IRQ 9)
  • IRQ 3 – Controlador de port sèrie per al port sèrie 2 (compartit amb el port sèrie 4, si n'hi ha)
  • IRQ 4 – Controlador de port sèrie per al port sèrie 1 (compartit amb el port sèrie 3, si n'hi ha)
  • IRQ 5 – port paral·lel 3 o targeta de so
  • IRQ 6 – controlador de disquet
  • IRQ 7 – port paral·lel 1 (compartit amb el port paral·lel 2, si n'hi ha). S'utilitza per a impressores o per a qualsevol port paral·lel si no hi ha impressora. També es pot compartir potencialment amb una targeta de so secundària amb una gestió acurada del port.

Referències[modifica]

  1. «What is an interrupt request (IRQ) and how does it work? – TechTarget Definition» (en anglès). [Consulta: 10 setembre 2023].
  2. «What Is an Interrupt Request (IRQ)?» (en anglès). [Consulta: 10 setembre 2023].
  3. «IRQ Definition - What is an IRQ?» (en anglès). [Consulta: 10 setembre 2023].
  4. «IRQ» (en anglès). https://www.computerhope.com.+[Consulta: September 13, 2019].
  5. «Interrupt Request - an overview | ScienceDirect Topics» (en anglès). https://www.sciencedirect.com.+[Consulta: 10 setembre 2023].