Acasă / prezentare generală a ferestrelor / Două dispozitive într-un singur irq ce să faci. Întreruperi hardware. Controler de întrerupere. Urmărirea sarcinilor cu o utilitate specială

Două dispozitive într-un singur irq ce să faci. Întreruperi hardware. Controler de întrerupere. Urmărirea sarcinilor cu o utilitate specială

Este rar ca un computer, în special un computer de acasă, să-și trăiască întreaga viață fără a suferi vreodată nici un upgrade sau adăugarea de noi dispozitive. În cele mai multe cazuri, desigur, sub rezerva celor mai elementare reguli, o astfel de operație este nedureroasă, fără a cauza probleme speciale. Dar aproximativ fiecare al zecelea (sau chiar al douăzecilea - nu contează) computerul este adus într-o stare de nefuncționare: adesea începe să înghețe, refuză să îndeplinească orice funcție sau chiar cade în cel atât de iubit de noi toți. ecran albastru de moarte. De regulă, cea mai probabilă cauză a unor astfel de probleme constă în conflictele hardware (nou și vechi) care nu au împărtășit nicio resursă hardware. Ei bine, dacă calificările tale îți permit să rezolvi problemele apărute, sau este cineva în apropiere care te poate ajuta, dar dacă nu există așa ceva? Cu toate acestea, nu sunt zei, după cum știți, oalele sunt arse, hai să stăm, să ne gândim - te uiți și răzbești, pentru că totul nu este atât de dificil, deși problema compatibilității celor mai diverse echipamente, de la începuturile sale în mijlocul anilor 80, este încă nu mult nu a scăzut. Articolul propus va ajuta utilizatorul să se ocupe de unul dintre tipurile de resurse hardware necesare echipamentelor și cel mai adesea cauza principală a tuturor tipurilor de conflicte - cu întreruperi hardware (IRQ).

Resurse hardware ale sistemului

Componentele pot necesita trei tipuri principale de resurse hardware diferite pentru a funcționa. Aproape fiecare dispozitiv folosește unul sau mai multe porturi I/O. LA acest caz acesta nu este un port serial sau paralel, ci doar o adresă specială, ceva ca o adresă în RAM. Aceste porturi funcționează echipe speciale procesorul central, cu ajutorul căruia orice informație fie este scrisă în port, fie citită din acesta. Adesea, schimbul de informații între procesor și dispozitiv trece doar prin porturi, iar unele dispozitive preiau o duzină sau chiar mai multe adrese de porturi, fiecare dintre ele servește la îndeplinirea unei anumite funcții.

Canalele de acces direct la memorie (DMA) sunt utilizate mult mai rar. Acest tip de interacțiune este destinat dispozitivelor cu care fac schimb de blocuri mari de date Berbec, De exemplu, unități de disc sau imprimante. Întregul schimb ocolește procesorul central, care doar inițiază operațiunea de schimb și continuă imediat să efectueze alte lucrări. Această abordare poate crește semnificativ performanța întregului sistem.

Iar al treilea tip de resursă sunt întreruperile hardware, care sunt mecanismul de bază pentru răspunsul sistemului la evenimente externe. Întreruperile hardware, numite în mod obișnuit IRQ-uri (Interrupt ReQuests), sunt semnale fizice pe care controlerul dispozitivului le folosește pentru a informa procesorul să proceseze o solicitare. În mod convențional, schema de gestionare a întreruperilor poate arăta astfel:

  • procesorul primește semnalul de întrerupere și numărul acestuia;
  • folosind un tabel special, se găsește adresa programului responsabil cu gestionarea întreruperii cu numărul dat - handler-ul întreruperii;
  • procesorul suspendă execuția sarcinii curente, salvează rezultatele intermediare și trece la execuția handler-ului de întrerupere;
  • procesorul accesează dispozitivul și verifică cauza întreruperii;
  • se lanseaza actiunile solicitate - initializare, configurare dispozitiv, schimb de date etc.;
  • când toate operațiunile necesare sunt finalizate, procesorul revine la sarcina întreruptă.

Spre deosebire de întreruperile software declanșate de un program de aplicație în execuție, întreruperile hardware pot apărea la cele mai neașteptate momente și, mai mult, pot apărea mai multe întreruperi în același timp. Pentru ca sistemul să nu „se gândească prea mult” la ce întrerupere a serviciului în primul rând, există o schemă de prioritate specială. Fiecărei întreruperi i se atribuie propria sa prioritate unică. Dacă sosesc mai multe întreruperi în același timp, atunci sistemul acordă prioritate cea mai mare, amânând procesarea altor întreruperi, mai puțin importante, pentru un timp.

Întreruperea distribuției

Luați în considerare modul în care întreruperile sunt de obicei distribuite într-un computer standard. Unele dintre numere sunt strict legate de anumite dispozitive, unele pot fi lansate și utilizate pentru nevoile dvs. Să începem în ordine:

  • IRQ 0- întrerupeți temporizatorul sistemului. Generat de 18,2 ori pe secundă. Folosit în această calitate încă de la crearea primului PC IBM (acest număr nu este disponibil pentru alte utilizări);
  • IRQ 1- întrerupere de la tastatură. Generat de controlerul tastaturii de fiecare dată când este apăsată o tastă (numărul nu este disponibil pentru alte utilizări);
  • IRQ2în calculatoarele din clasa XT, care foloseau doar 8 linii de întrerupere, a fost rezervată pentru extinderea ulterioară a sistemului și, începând cu calculatoarele din clasa AT, a fost folosit pentru a conecta un al doilea controler. Astăzi IRQ 2 este folosit de sistem pentru compatibilitate cu software-ul mai vechi, numărul nu este disponibil pentru alte utilizări;
  • IRQ 3- întreruperea portului asincron COM 2. Aceeași întrerupere este folosită și de dispozitivele care funcționează prin portul COM 4. Dacă se dorește, acestea pot fi dezactivate, dar nimeni altcineva nu va mai putea atribui oricum IRQ 3;
  • IRQ4 prin analogie cu cea precedentă, această întrerupere este utilizată de dispozitivele care ocupă porturile COM 1 / COM 3;
  • IRQ 5 inițial destinat utilizării de către al doilea port paralel LPT2, dar apoi, când al doilea port paralel a fost abandonat, IRQ 5 a devenit liber. Mai târziu a fost folosit în mod activ de majoritatea plăcilor de sunet ISA. plăcile de sunet PCI moderne folosesc această întrerupere numai pentru compatibilitatea cu jocurile mai vechi, marea majoritate fiind compatibile cu SB Pro. IRQ 5 poate fi folosit în alte scopuri și legat de un slot PCI;
  • IRQ6, începând de la primele PC-uri, este folosit de controlerul de dischetă (numărul nu este disponibil pentru alte utilizări);
  • IRQ7- implicit, întreruperea primului port paralel LPT 1. Dacă portul este dezactivat (dacă imprimanta nu este disponibilă sau este proiectată pentru USB), acesta poate fi utilizat diverse dispozitive. IRQ 7 poate fi legat de un slot PCI;
  • IRQ8- întreruperea ceasului în timp real, introdusă pentru prima dată în IBM AT. Nu este posibilă altă utilizare;
  • IRQ 9și IRQ 10 sunt libere;
  • IRQ 11 rezervat de obicei pentru magistrala USB, dar poate fi folosit în alte scopuri (pentru a face acest lucru, dezactivați suportul USB în BIOS);
  • IRQ 12 utilizat pentru un mouse PS/2, dar poate fi folosit în alte scopuri (dacă un mouse PS/2 nu este disponibil sau este dezactivat);
  • IRQ 13 a fost folosit inițial de coprocesorul aritmetic și este acum rezervat pentru compatibilitate cu software-ul mai vechi (numărul nu este disponibil pentru alte utilizări);
  • IRQ 14și IRQ 15 aplicate de controlerele IDE primare și, respectiv, secundare.

Există mai multe moduri de a afla cum sunt distribuite în prezent numerele de întrerupere în cazul dvs. Când porniți computerul, chiar înainte ca Windows să înceapă să se încarce, apare un tabel cu text de configurare. Imediat după aceasta este o listă de dispozitive PCI cu o indicație a numărului IRQ atribuit acestora.

Sau, dacă încă rulați Windows 9x, atunci există o pictogramă Sistem în panoul de control, faceți clic pe ea - și selectați fila „Dispozitive”. În proprietățile dispozitivului „Computer”, puteți găsi o listă a tuturor dispozitivelor cu IRQ-urile lor. În Windows 2000/XP, nu avem acces direct la gestionarea întreruperilor, așa că pentru a vizualiza lista de IRQ-uri, trebuie să folosim utilitarul de informații standard (Panou de control/Instrumente administrative/Gestionare computer/Informații de sistem/Resurse hardware). Și, în sfârșit, nimeni nu a anulat utilizarea utilităților care testează capabilitățile hardware și software ale unui computer.


Dintre acestea, fără îndoială, cea mai populară este SANDRA, care este capabilă să ofere utilizatorului informații cuprinzătoare, inclusiv întreruperi.

Conflicte de dispozitiv

Fara a intra in prea multe detalii, putem spune ca un conflict este o situatie in care mai multe obiecte incearca simultan sa acceseze aceeasi resursa de sistem. Un conflict de întrerupere apare atunci când mai multe dispozitive folosesc aceeași linie de întrerupere pentru a trimite un semnal de solicitare și nu există niciun mecanism de clasificare a acestor solicitări, provocând fie o defecțiune, fie pur și simplu unul dintre dispozitive să nu mai funcționeze. Pentru a avea o idee clară despre cum pot fi evitate sau eliminate conflictele, trebuie să înțelegeți mecanismul de gestionare a IRQ.

După cum știți, calculatoare personale a început cu IBM PC XT. Arhitectura sa prevedea doar opt linii de întreruperi hardware, care erau controlate de un controler special. Fiecăruia dintre ele i-a fost atribuit propriul său număr unic, care a determinat prioritatea întreruperii și adresa handler-ului său (așa-numitul vector de întrerupere). Următoarea versiune a arhitecturii, IBM PC AT, a completat liniile existente cu încă opt, care au fost controlate de un al doilea controler conectat la una dintre liniile de întrerupere ale primului controler. Din păcate, această arhitectură și-a oprit dezvoltarea în acest moment, astfel încât toate computerele moderne, în ciuda numărului crescut semnificativ de dispozitive suplimentare utilizate în ele, au încă doar șaisprezece linii de întrerupere, dintre care una este rezervată pentru emularea unui al doilea controler.

Inițial, computerul IBM PC AT avea o singură magistrală, prin care dispozitivele puteau comunica cu procesorul și memoria - ISA. Cele mai multe linii de întrerupere au fost alocate dispozitivelor ISA standard, așa că, atunci când a apărut noua magistrală PCI universală, s-a dovedit că au rămas doar patru întreruperi libere pe partea sa, notate ca INT A, INT B, INT C, INT D, deci numai patru dispozitive PCI pot primi întreruperi independente în sistem. Dar, în același timp, trebuie avut în vedere că controlerul IDE se află într-o poziție specială, care nu se numără printre acele patru dispozitive doar pentru că, deși este un dispozitiv PCI din punct de vedere al metodei de transfer de date, propriul său întrerupe IRQ. 14 și IRQ îi sunt alocate în mod rigid. 15, ca și pentru dispozitivele ISA mai vechi. Pentru magistrala AGP, care este o variație a magistralei PCI, INT A este „sacrificat”, iar magistrala USB, ca una dintre componentele sistemului, se conectează la PCI folosind INT D, ceea ce reduce numărul de dispozitive PCI „cinstite” la doar două. Nu trebuie să uităm de subsistemul Power Management / System Management de management al energiei, care necesită și propria întrerupere. Astfel, în viața reală, dacă există mai multe dispozitive PCI care folosesc întreruperi, este imposibil să le furnizezi IRQ-uri hardware unice, iar în astfel de cazuri se folosește o metodă hardware-software bazată pe tehnologia Plug & Play, care teoretic evită conflictele. Deși orice se poate întâmpla în viața reală, iar dispozitivele ISA rămase încă nu pot împărtăși linii de întrerupere, prin urmare sunt principalii provocatori ai conflictelor. Astfel, problema rezolvării conflictelor se reduce la distribuirea corectă a numerelor de întreruperi în cazul unor probleme cu dispozitivele ISA sau driverele „buggy”.

În sistem, numerele IRQ sunt alocate de două ori între liniile fizice. Prima dată când BIOS-ul sistemului face acest lucru este atunci când sistemul pornește. Fiecărui dispozitiv Plug & Play (și aceasta include toate PCI, ISA moderne și toate dispozitivele integrate pe placa de bază) i se atribuie un număr dintre cele disponibile. Dacă nu sunt suficiente numere, mai multe linii devin una comună. Pentru dispozitivele PCI, aceasta nu este o problemă - dacă aveți drivere normale și suport de la sistemul de operare, totul ar trebui să funcționeze bine. Dar dacă mai multe dispozitive ISA primesc același număr, sau un amestec nu mai puțin „exploziv” de dispozitive PCI și ISA, atunci un conflict este pur și simplu inevitabil și atunci va trebui să intervii în procesul de distribuție automată a întreruperilor. În acest caz, trebuie să dezactivați toate dispozitivele ISA neutilizate (în sistemele fără sloturi ISA, acestea sunt totuși prezente: acestea sunt porturile COM1, COM2 și unitatea). De asemenea, puteți dezactiva modurile EPP și ECP ale portului LPT, în timp ce eliberați întreruperea IRQ7. Toate operațiunile de modificare a întreruperilor din Configurarea BIOS sunt efectuate în secțiunea „Configurare PCI / PNP”. Există două moduri de a influența alocarea numerelor IRQ: blocați un anumit număr și atribuiți direct un număr de linie. Prima metodă este disponibilă pentru toate BIOS-urile, elementele de meniu „IRQ x used by:” sunt ajustate (în BIOS-urile noi este ascuns în submeniul „IRQ Resources”). Acele întreruperi care ar trebui să fie atribuite exclusiv dispozitivelor ISA ar trebui setate la „Legacy ISA”. Astfel, la distribuirea numerelor pentru dispozitivele PCI, aceste întreruperi vor fi omise. Ar trebui să faceți acest lucru dacă orice dispozitiv ISA se încăpățânează la aceeași întrerupere cu dispozitivul PCI, motiv pentru care ambele nu funcționează. În acest caz, trebuie să găsiți numărul acestui IRQ și să-l blocați. Dispozitivul PCI trece la noul număr IRQ, în timp ce dispozitivul ISA rămâne același. A doua modalitate de a gestiona numerele IRQ este atribuirea directă, deși ceva mai complicată decât prima, este mult mai eficientă. Este regretabil că nu toate plăcile de bază moderne permit această operațiune. În același submeniu Configurare BIOS, pot exista elemente precum „Slot X use IRQ” (alte nume: „PIRQx use IRQ”, „PCI Slot x priority”, „INT Pin x IRQ”). Această opțiune vă permite să setați întreruperi individual pentru fiecare dispozitiv de pe magistrala PCI și AGP. În acest caz, trebuie respectate următoarele reguli:

  • Fiecare slot PCI poate activa până la patru întreruperi - INT A, INT B, INT C și INT D;
  • Slotul AGP poate activa două întreruperi - INT A și INT B;
  • Este normal ca fiecare slot să fie alocat ca INT A. Întreruperile rămase sunt rezervate dacă dispozitivul PCI/AGP necesită mai mult de o întrerupere sau dacă întreruperea solicitată este ocupată;
  • Slotul AGP și slotul PCI 1 alocă aceleași întreruperi;
  • Sloturile PCI 4 și 5 distribuie, de asemenea, aceleași întreruperi;
  • USB utilizează PIRQ_4.

Mai jos este un tabel care arată relația dintre PIRQ (Solicitare de întrerupere programabilă) și INT (Întrerupere):

Semnal Slot AGP
Slot PCI 1
Slot PCI 2 Slot PCI 3 Slot PCI 4
Slot PCI 5
PIRQ_0 INT A INT D INT C INT B
PIRQ_1 INT B INT A INT D INT C
PIRQ_2 INT C INT B INT A INT D
PIRQ_3 INT D INT C INT B INT A

În mod normal, ar trebui să lăsați opțiunea în poziția AUTO. Dar, dacă devine necesară setarea unui IRQ individual pentru un dispozitiv pe magistrala AGP sau PCI, în primul rând, este necesar să se determine în ce slot este instalat dispozitivul. Apoi, referindu-ne la tabel, puteți seta PIRQ-ul principal. De exemplu, dacă card LAN este setat la slotul 3, atunci PIRQ-ul principal va fi PIRQ_2, deoarece toate sloturile sunt alocate INT A, dacă este posibil. După aceea, IRQ-ul dorit este selectat, atribuindu-i valoarea PIRQ corespunzătoare. Trebuie doar să știți că BIOS-ul va încerca să aloce un PIRQ la INT A pentru fiecare slot. Deci, pentru sloturile AGP și PCI 1, PIRQ-ul principal este PIRQ_0, în timp ce pentru slotul PCI 2, PIRQ-ul principal este PIRQ_1 și așa mai departe. Numerele de întrerupere pentru a doua oară sunt alocate sistem de operare, deși Windows 9x începe să interfereze cu acțiunile efectuate de BIOS doar în cazuri extreme. În Windows 98, sistemul de distribuție IRQ este gestionat folosind managerul de dispozitiv standard. În lista de dispozitive de sistem, trebuie să găsiți magistrala PCI.


Există o filă specială în proprietățile sale. Dacă totul este configurat corect, miniportul va fi menționat acolo ("încărcat cu succes") și va fi activată gestionarea magistralei PCI (Steering). Astfel, Windows „98 are mijloacele de a controla distribuția numerelor de întreruperi între liniile fizice. Dar, deoarece BIOS-ul face cel mai adesea o treabă bună cu aceasta, acest mecanism nu este implicat. Dar uneori este pur și simplu necesar. Când utilizați dispozitive ISA învechite. care nu acceptă tehnologia Plug & Play, este posibil ca BIOS-ul să nu o observe, dând întreruperea ocupată de acesta dispozitivului PCI - din nou un conflict. Pentru a-l rezolva, trebuie să rezervați întreruperea necesară în Windows Device Manager „98.

Pe lângă redundanță, puteți seta direct numărul de întrerupere pentru dispozitiv. Pentru a face acest lucru, trebuie să găsiți fila „Resurse” în proprietățile sale, să dezactivați reglarea automată și să încercați să schimbați numărul de întrerupere atribuit. Atenție, o astfel de operație nu funcționează întotdeauna și poate duce uneori la rezultate complet imprevizibile.

Dar despre Windows 2000 (precum și XP) - o conversație separată. Dacă aveți un computer destul de modern, atunci probabil că acceptă interfața de configurare ACPI. În acest caz, Windows 2000 va ignora, în general, acțiunile BIOS-ului și va „bloca” toate dispozitivele PCI la o întrerupere logică. În general, acest lucru va funcționa bine (când nu există dispozitive ISA), dar uneori pot apărea probleme. Pentru a putea schimba numerele de întrerupere, trebuie fie să modificați nucleul HAL, fie să reinstalați Windows 2000 cu ACPI dezactivat în BIOS. Nucleul este înlocuit după cum urmează: în managerul de dispozitive, selectați „Computer/Computer cu ACPI”, după aceea trebuie să schimbați driverul în „ calculator standard" și reporniți. Dacă acest lucru nu ajută, va trebui să reinstalați Windows 2000 din nou.

Sfaturi finale

După ce ai instalat un nou sistem de operare cu toate driverele de dispozitiv și te-ai asigurat că funcționează fără probleme, merită să notezi totul setările computerului, mai ales dacă s-au făcut modificări la setările implicite. Cel mai sigur este să notezi astfel de informații pe o bucată de hârtie obișnuită. Astfel de informații pot fi foarte utile atunci când se efectuează modificări ale sistemului configurat, precum și pot ajuta la rezolvarea problemelor care pot apărea dacă toate setările „se mută” la instalarea unui echipament nou (uneori se întâmplă și acest lucru). Și, cel mai important, nu uitați: majoritatea problemelor care apar se datorează nivelului scăzut de cunoaștere a computerului al proprietarului computerului. Prin urmare, ar trebui să depuneți întotdeauna eforturi pentru autoeducație, atunci vor fi mai puține probleme, iar cele care apar totuși nu vor părea insolubile.

Un conflict este o situație în care mai multe obiecte încearcă simultan să acceseze o resursă care este destinată doar unuia dintre ele. Un conflict de întrerupere apare atunci când mai multe dispozitive folosesc aceeași linie de întrerupere pentru a trimite un semnal de solicitare și nu există niciun mecanism care să gestioneze cererile concurente. Dacă șoferul, când primește controlul, lucrează cu un alt dispozitiv care a trimis solicitarea, atunci fie apare o defecțiune, fie pur și simplu unul dintre dispozitive nu funcționează.

Apare întrebarea: mai multe dispozitive pot folosi aceeași linie de întrerupere sau este imposibil în principiu? La urma urmei, dacă șoferul poate determina exact de la cine a venit cererea, atunci va răspunde doar la semnalele de la dispozitivul „său”, ignorând toate celelalte. Dar acest lucru trebuie convenit în prealabil într-un fel, altfel conflictul este inevitabil.

Autobuzul PCI local a fost proiectat având în vedere partajarea întreruperilor. Fiecare dispozitiv PCI trebuie să funcționeze corect pe aceeași linie de întrerupere ca și alte dispozitive PCI. Acest lucru se face după cum urmează: prezența unui semnal pe linia de întrerupere nu este determinată de front, i.e. modificarea nivelului de tensiune, ci prin însuși faptul prezenței unei anumite tensiuni. Mai multe dispozitive pot schimba tensiunea din linie deodată, devenind, parcă, într-o coadă pentru service.

Astfel, partajarea aceluiași IRQ de către mai multe dispozitive PCI nu este, prin definiție, un conflict (Figura). Cu toate acestea, uneori apar probleme. În primul rând, nu toate dispozitivele PCI funcționează corect pe aceeași linie de întrerupere ca și altele. În al doilea rând, uneori șoferii au erori care îi împiedică să identifice corect sursa semnalului, interferând cu alți șoferi. În al treilea rând, nu toate dispozitivele funcționează pe magistrala PCI; de exemplu, dispozitivele ISA, care includ, de exemplu, controlere de porturi COM / LPT, nu pot partaja întreruperi cu alții.

Orez. Hartă IRQ Win2000 Device Manager - Chipset IO PIC Intel 440BX

Orez. Win2000 IRQ MAP - IO APIC - Prin chipset KT266a

Ca urmare, sunt posibile situații în care computerul îngheață adesea, refuză să îndeplinească orice funcție sau chiar cade pur și simplu în așa-numitul „ecran albastru al morții”.

Apic (controller de întrerupere programabil avansat)

După cum se arată mai sus, linia de întrerupere este o resursă foarte rară pentru un computer. Cu toate acestea, odată cu dezvoltarea industriei computerelor, numărul diferitelor dispozitive externe din computer crește constant. De exemplu, pe unul placa de baza pot exista 5-6 sloturi PCI, un slot AGP, un controler IDE integrat, un controler SCSI integrat, un adaptor de rețea integrat cu 1/2 port etc. Și toate aceste dispozitive au nevoie de întreruperi. 16 linii IRQ au devenit treptat insuficiente.

APIC este un controler de întreruperi care vă permite să utilizați 24 de întreruperi hardware în loc de 16. Limita de 16 întreruperi hardware, neschimbată din 1982, a împiedicat instalarea într-un computer personal dispozitive suplimentare. La sfarsitul anului 2001 au aparut primele placi de baza cu APIC.

Orez. Sistem de întrerupere într-un mediu multiprocesor.

Descrierea anterioară se referea la PIC-uri concepute pentru sisteme cu un singur procesor. Dacă sistemul include două sau mai multe procesoare, această abordare nu mai este fezabilă și sunt necesare PIC-uri mai complexe.

Toate procesoarele x86 moderne includ un APIC local (APIC local). Fiecare APIC local are registre de 32 de biți, un ceas intern, un temporizator local și două linii IRQ suplimentare, LINT0 și LINT1, rezervate pentru întreruperile APIC locale. Toate APIC-urile locale sunt conectate la un APIC I/O extern.

I/O APIC conține un set de 24 de linii IRQ, un tabel de redirecționare a întreruperilor cu 24 de căi, registre programabile și un bloc de mesaje pentru trimiterea și primirea mesajelor pe magistrala APIC. Spre deosebire de pinii IRQ de pe 8259A, prioritatea de întrerupere nu este legată de un număr de pin.

Fiecare intrare din tabelul de redirecționare a întreruperilor poate fi programată individual pentru a afișa vectorul de întrerupere și prioritatea acestuia, ce procesor se va ocupa de întrerupere și cum va fi selectat acel procesor. Informațiile din tabelul de redirecționare a întreruperilor sunt utilizate pentru a traduce fiecare semnal extern într-un mesaj adresat unuia sau mai multor APIC-uri locale prin magistrala APIC.

Distribuție statică

Semnalul IRQ este furnizat de APIC-ul local listat în intrarea corespunzătoare din tabelul de redirecționare a întreruperilor. O întrerupere este livrată unui anumit CPU, mai multor CPU sau tuturor CPU-urilor.

Alocarea dinamică

Semnalul IRQ este livrat către APIC-ul local al procesorului, care rulează procesul cu cea mai mică prioritate.

Fiecare APIC local are un registru programabil de priorități de lucru care este utilizat pentru a calcula prioritatea procesului curent. Intel se așteaptă ca acest registru să fie actualizat de nucleul sistemului de operare la fiecare comutare de proces.

Pe lângă distribuirea întreruperilor între procesoare multi-APIC, sistemul permite procesorului să genereze întreruperi interprocesor. Când un CPU dorește să trimită o întrerupere către un alt CPU, acesta stochează vectorul de întrerupere și ID-ul APIC local țintă în Registrul de comandă de întrerupere (ICR) al APIC-ului local. Mesajul este apoi trimis prin magistrala APIC către APIC-ul local țintă, care emite întreruperea corespunzătoare CPU-ului său.

În prezent, multe sisteme uniprocesor includ un cip I/O APIC care poate fi configurat în două moduri:

1. Ca standard 8259A PIC conectat la CPU. APIC local este dezactivat și cele două linii LINT0 și LINT1 sunt configurate ca pini INTR și NMI.

2. Ca un standard I/O APIC extern. APIC local este activat și toate întreruperile externe sunt primite prin intermediul APIC I/O.

  • Alieva Elena Viktorovna, student
  • Universitatea Tehnică de Aviație de Stat Ufa
  • INTERRUPTĂ CONTROLLER
  • CONTROLOR
  • ÎNTRERUPERE HARDWARE
  • ÎNTRERUPE

Întreruperea înseamnă întreruperea temporară a procesului principal de calcul pentru a efectua unele acțiuni planificate sau neplanificate cauzate de funcționarea hardware-ului sau programului. Mecanismul de întrerupere este suportat la nivel hardware. Întreruperile hardware apar ca răspuns al microprocesorului la semnal fizic de pe un dispozitiv (tastatură, ceas de sistem, tastatură, HDD etc.), aceste întreruperi sunt asincrone în momentul apariției, adică apar în momente aleatorii. Controlerul de întrerupere este proiectat să proceseze și să arbitreze cererile de servicii primite către procesorul central de la dispozitivele periferice. Întreruperile au o prioritate definită, ceea ce permite controlerului de întrerupere să prioritizeze un dispozitiv față de altul la un moment dat. Într-un computer modern, există până la 16 dispozitive externe și periferice care generează întreruperi.

  • Automatizarea fluxului de lucru al unui depozit al unei întreprinderi de producție
  • Apeluri-tehnologii, caracteristici, aplicație și eficiență
  • Elaborarea unui model al sistemului informatic al departamentului juridic pentru sprijinirea si incheierea contractelor de intreprindere

Introducere

Întreruperea înseamnă întreruperea temporară a procesului principal de calcul pentru a efectua unele acțiuni planificate sau neplanificate cauzate de funcționarea hardware-ului sau programului. Acestea. este un proces care comută temporar microprocesorul la execuția altui program și apoi revine la programul întrerupt. Apăsând o tastă de pe tastatură, inițiem un apel imediat către un program care recunoaște tasta, introduce codul acesteia în buffer-ul tastaturii, din care este citită de un alt program. Acestea. de ceva timp, microprocesorul întrerupe execuția programului curent și trece la manipulatorul de întreruperi, așa-numitul handler de întreruperi. După ce manevrătorul de întreruperi își finalizează activitatea, programul întrerupt va continua execuția din punctul în care a fost întrerupt. Adresa programului de gestionare a întreruperilor este calculată din tabelul de vectori de întreruperi.

Mecanismul de întrerupere este suportat la nivel hardware. În funcție de sursă, întreruperile sunt împărțite în:

  • hardware- apar ca o reacție a microprocesorului la un semnal fizic de la un dispozitiv (tastatură, ceas de sistem, tastatură, hard disk etc.), aceste întreruperi sunt asincrone în timpul apariției, adică. apar în momente aleatorii;
  • software- sunt apelate artificial cu ajutorul comenzii corespunzătoare din program (int), sunt destinate să execute unele acțiuni ale sistemului de operare, sunt sincrone;
  • excepții- sunt reacția microprocesorului la o situație non-standard care a apărut în interiorul microprocesorului în timpul execuției unei instrucțiuni de program (împărțire la zero, întrerupere pe steag TF (urmărire)) .

Sistem de întrerupere hardware

Sistemul de întrerupere este o combinație de software și hardware care implementează mecanismul de întrerupere.

Hardware-ul sistemului de întrerupere include:

  • ieșiri ale microprocesorului - pe ele sunt generate semnale care anunță microprocesorul fie că un dispozitiv extern „cere atenție la acesta” (INTR), fie că este necesară procesarea urgentă a unui eveniment sau eroare catastrofală (NMI).
  • INTR - pin pentru semnalul de cerere de întrerupere de intrare,
  • NMI - pin de intrare NMI
  • INTA - ieșire pentru semnalul de ieșire care confirmă primirea unui semnal de întrerupere de către microprocesor (acest semnal este alimentat la intrarea cu același nume a cipului controlerului 8259A;
  • controler de întrerupere programabil 8259A (conceput pentru a capta semnale de întrerupere de la opt diferite dispozitive externe; este realizat sub forma unui microcircuit; de obicei sunt utilizate două microcircuite conectate în serie, astfel încât numărul de surse posibile de întreruperi externe este de până la 15 plus o întrerupere nemascabilă; el este cel care generează numărul vectorului de întrerupere și emite magistrala de date a acestuia);
  • dispozitive externe (temporizator, tastatură, discuri magnetice etc.)

Manevrarea întreruperii

O întrerupere declanșează o serie de evenimente care apar atât în ​​hardware cât și în software. Pe fig. 1 prezintă o secvență tipică a acestor evenimente.

După ce dispozitivul I/O se termină, se întâmplă următoarele:

  • Dispozitivul trimite un semnal de întrerupere procesorului.
  • Înainte de a răspunde la o întrerupere, procesorul trebuie să finalizeze execuția instrucțiunii curente (vezi Figura 1).
  • Procesorul verifică existența unei întreruperi, o detectează și trimite dispozitivului care a trimis întreruperea un semnal că a primit-o cu succes. Acest semnal permite dispozitivului să-și elimine semnalul de întrerupere.
Figura 1. Diagrama de sincronizare a programului: I/O lentă

Acum procesorul trebuie să se pregătească pentru a transfera controlul către manipulatorul de întreruperi. Mai întâi trebuie să salvezi totul Informații importante astfel încât să puteți reveni ulterior la punctul din programul curent în care a fost întrerupt. Informația minimă necesară este cuvântul de stare a programului și adresa următoarei instrucțiuni de executat, care se află în contorul programului. Aceste date sunt trimise în stiva de control al sistemului.

Figura 2. Gestionarea unei întreruperi simple

Apoi, contorul de programe al procesorului este încărcat cu adresa de intrare a programului de gestionare a întreruperilor, care este responsabil pentru procesarea acestei întreruperi. În funcție de arhitectura computerului și de dispozitivul sistemului de operare, poate exista fie un singur program pentru gestionarea tuturor întreruperilor, fie poate exista un handler separat pentru fiecare dispozitiv și fiecare tip de întrerupere. Dacă există mai multe programe pentru a gestiona întreruperi, atunci procesorul trebuie să stabilească pe care să apeleze. Aceste informații pot fi conținute în semnalul inițial de întrerupere; în caz contrar, pentru a obține informațiile necesare, procesorul trebuie să interogheze pe rând toate dispozitivele pentru a determina care dintre ele a trimis întreruperea.

De îndată ce o nouă valoare este încărcată în contorul de programe, procesorul trece la următorul ciclu de instrucțiuni, procedând să o recupereze din memorie. Deoarece instrucțiunea este preluată din locația al cărei număr este dat de conținutul contorului programului, controlul trece la rutina de întrerupere. Executarea acestui program presupune următoarele operații.

Conținutul contorului de programe și cuvântul de stare al programului întrerupt sunt deja stocate în stiva de sistem. Totuși, acestea nu sunt toate informațiile legate de starea programului executabil. De exemplu, trebuie să salvați conținutul registrelor procesorului, deoarece acești registre pot fi necesari de gestionarul de întreruperi. Prin urmare, este necesar să salvați toate informațiile despre starea programului. De obicei, un handler de întrerupere începe prin a împinge conținutul tuturor registrelor în stivă. Alte informații care ar trebui stocate sunt discutate în Capitolul 3, Descrierea procesului și controlul. Pe fig. este prezentat un exemplu simplu în care programul utilizatorului este întrerupt după executarea unei instrucțiuni din locația N. Conținutul tuturor registrelor, precum și adresa următoarei instrucțiuni (N + 1), însumând M cuvinte, sunt împinse în stivă. . Indicatorul stivei este actualizat pentru a indica noul vârf al stivei. Contorul de programe este, de asemenea, actualizat, indicând începutul rutinei serviciului de întrerupere.

Acum, operatorul de întrerupere își poate începe lucrul. Procesul de gestionare a unei întreruperi include verificarea informațiilor de stare legate de operațiunile I/O sau alte evenimente care au cauzat întreruperea. Aceasta poate include și trimiterea de instrucțiuni suplimentare sau mesaje de notificare către dispozitivele I/O.

După finalizarea procesării întreruperii, valorile salvate anterior sunt preluate din stivă, care sunt din nou introduse în registre, reluând astfel starea în care se aflau înainte de întrerupere.

Ultimul pas este restabilirea din stivă a cuvântului de stare a programului și a conținutului contorului de programe. Ca urmare, următoarea comandă a programului întrerupt va fi executată.

Deoarece întreruperea nu este o subrutină apelată din program, este important pentru o recuperare completă să salveze toate informațiile de stare ale programului întrerupt. Cu toate acestea, o întrerupere poate apărea în orice moment și oriunde în programul utilizatorului. Acest eveniment este imprevizibil.

Controler de întrerupere

Controlerul de întrerupere este proiectat să proceseze și să arbitreze cererile de servicii primite către procesorul central de la dispozitivele periferice. Prin analogie, funcțiile controlerului de întrerupere pot fi comparate cu secretarul unui șef. Secretarul trebuie să decidă pe care dintre vizitatori să admită în primul rând la șef, și pe care și apoi, pe baza priorităților date de șef și a statutului vizitatorului. Deci, într-un sistem informatic, este posibil ca mai multe periferice să fi trimis un semnal de întrerupere sau o cerere de întrerupere. În literatura de specialitate, acest semnal este denumit IRQ (Solicitare de întrerupere).

După cum am menționat mai sus, întreruperile au o anumită prioritate, ceea ce permite controlorilor de întrerupere să acorde preferință unui dispozitiv la un moment dat, și nu altuia. Într-un computer modern, există până la 16 extern și periferice care generează întreruperi. Iată dispozitivele:
–IRQ 0, temporizator sistem; –IRQ 1, tastatură; –IRQ 2, folosit pentru a interoga dispozitivele în cascadă; –IRQ 8, ceas în timp real; –IRQ 9, rezervat; –IRQ 10, rezervat; –IRQ 11, rezervat; –IRQ 12, ps/2 – mouse; –IRQ 13, coprocesor; –IRQ 14, controler de hard disk; –IRQ 15, rezervat; –IRQ 3, porturi COM2, COM4; –IRQ 4, porturi COM1,COM3; –IRQ 5, port LPT2; –IRQ 6, controler drive; –IRQ 7, port LPT1, imprimantă.

Aici semnalele sunt listate în ordinea descrescătoare a priorității. Puteți vedea că după IRQ 2 urmează IRQ 8. Faptul este că la un moment dat controlerul de întrerupere era format din două microcircuite, unul era conectat la celălalt. Acest al doilea microcircuit este conectat la linia IRQ 2, formând o cascadă. Deservește liniile IRQ8-IRQ 15. Și apoi urmează liniile primului microcircuit.

Funcționarea controlerului de întrerupere

Întrerupeți funcționarea controlerului este considerat bazat pe cipuri Intel 8259A, care erau folosite în computerele acum foarte vechi cu procesoare până la seria 386. Aceste computere aveau de obicei 2 cipuri 8259A conectate în cascadă, adică unul la altul. Unul dintre microcircuite conectate prin linia de solicitare a întreruperii direct la procesor este master sau master. Restul, legat de maestru prin concluzii similare, se numesc sclavi.


Figura 3. Schema de conectare a controlerelor de întrerupere și interacțiunea acestora cu procesorul central

Figura 3 prezintă schema de conectare a controlerelor de întrerupere și interacțiunea acestora cu procesorul central. Semnalele de întrerupere de la dispozitivele periferice sau controlerele slave sunt transmise la intrările IR0–IR7 ale controlerului principal. Logica internă a controlorului principal procesează cererile primite în termeni de prioritate. Dacă prioritatea solicitării dispozitivului este suficientă, atunci este generat un semnal la ieșirea INT a controlerului, care este alimentat la intrarea INTR a procesorului. În caz contrar, cererea este blocată.

Dacă procesorul activează întreruperi, atunci după ce execuția instrucțiunii curente este finalizată, acesta generează o secvență de semnale pe linia INTA, care pune controlerul slave într-o stare de imunitate la noile solicitări de întrerupere primite și, în plus, informații de la registrele interne ale controlerului sunt scoase la linia de date, prin care procesorul recunoaște tipul de întrerupere.

Procesorul dă permisiunea de întrerupere controlerului de întrerupere prin intermediul controlerului de magistrală. Semnalul RD este destinat să asigure că controlerul de întrerupere plasează conținutul registrelor interne pe magistrala de date. Pe semnalul WR, controlerul de întrerupere, dimpotrivă, primește date de la magistrala cu același nume și le scrie în registrele interne. În consecință, acest lucru afectează modul de funcționare al controlerului de întrerupere.

Intrarea CS este conectată la magistrala de adrese și acest semnal identifică un controler de întrerupere specific. Intrarea A0 indică portul controlerului de întrerupere din spațiul I/O.

Intrările IR0–IR7 sunt proiectate pentru a primi cereri de întrerupere de la periferice și controlere slave.

Ieșirile CAS0-CAS2 sunt proiectate pentru a identifica un anumit controler slave.

Articolul discută întreruperi hardware și dispozitiv, funcții, funcționarea controlerului de întrerupere. Acest controler de întrerupere a apărut pe primele computere compatibile cu PC. De atunci, atât procesoarele, cât și computerul în sine s-au schimbat în multe privințe, deși au rămas unele puncte. Prin urmare, pentru a fi mai clar, a fost luată în considerare organizarea controlerului de întrerupere 8295A.

Diagrama de mai sus arată semnalele care vin nu numai către controlerele de întrerupere slave și master, ci și către restul slave. Cu toate acestea, computerul sau laptopul dvs. are de fapt 2 controlere de întrerupere, după cum sa menționat mai sus: un master și un slave. Dar vă puteți crea propriile sisteme de computer folosind până la 64 de controlere de întrerupere slave în acest fel.

LA calculatoare moderne acum mult timp întrerupe funcţiile controlerului nu executa cipuri 8259A, dar podul de sud. Cu toate acestea, pentru toate programele și dispozitivele, totul rămâne la fel. Mai mult, controlerul de întrerupere este programabil, iar registrele și porturile interne trebuie accesate în același mod ca și controlerul 8259A.

Concluzie

În această lucrare au fost luate în considerare întreruperile, respectiv hardware-ul procesării întreruperilor și principiul procesării întreruperilor. De asemenea, sunt luate în considerare regulatoarele de întrerupere și principiul funcționării acestora.

Întreruperea înseamnă întreruperea temporară a procesului principal de calcul pentru a efectua unele acțiuni planificate sau neplanificate cauzate de funcționarea hardware-ului sau programului. Mecanismul de întrerupere este suportat la nivel hardware. Întreruperile hardware apar ca o reacție a microprocesorului la un semnal fizic de la un dispozitiv (tastatură, ceas de sistem, tastatură, hard disk etc.), aceste întreruperi sunt asincrone în timpul apariției, adică. apar în momente aleatorii.

Controler de întrerupere este proiectat să proceseze și să arbitreze cererile de servicii primite către procesorul central de la dispozitivele periferice. Întreruperile au o anumită prioritate, ceea ce permite controler de întrerupere acordați preferință la un moment dat unui dispozitiv față de altul. Într-un computer modern, există până la 16 dispozitive externe și periferice care generează întreruperi.

Bibliografie

  1. Lectura. întreruperi. E-mail Resursă. http://hromatron.narod.ru/_lekcii/prerivania_lekcia_g2013.htm
  2. Sistemul se întrerupe | Întrerupere hardware | Gestionarea întreruperii http://life-prog.ru/view_os.php?id=16
  3. Controler de întrerupere. E-mail Resursa http://sdelaycomputersam.ru/Controller_irq.php,
  4. întreruperi. Controler de întrerupere. Dispozitiv, funcții, lucru. E-mail Resursa http://sdelaycomputersam.ru/Controller_irq.php
  5. Structura și inițializarea controlerului de întrerupere Intel 8259A

Cred că mulți utilizatori curioși au întâlnit probabil o astfel de abreviere ca IRQ de mai multe ori. Poate fi găsit, de exemplu, dacă doriți să căutați programul Device Manager din Windows. Dacă selectați orice dispozitiv, de exemplu, o tastatură, selectați elementul de meniu „Proprietăți” cu butonul din dreapta al mouse-ului, iar în fereastra care apare, activați fila „Resurse”, apoi în lista de resurse veți vedea inscripția IRQ 01.

Ce este IRQ și pentru ce este?

Abrevierea IRQ înseamnă Interrupt ReQuest (cerere de întrerupere). Pentru a înțelege de ce este necesar, ar trebui să ne amintim detaliile organizării muncii unui computer personal.

Sistemul circulator al unui computer, prin care procesorul și alte dispozitive fac schimb de informații, este magistrala de sistem. Dar, în general, cum este capabil procesorul să distingă cererile de procesare a informațiilor care vin prin autobuz de la diferite dispozitive?

Pentru aceasta, există un sistem de întreruperi hardware (IRQ). Fiecare întrerupere are un număr specific (numerotarea începe de la 0) și este atribuită unui anumit dispozitiv. Deci, numărul de întrerupere 1 este atribuit tastaturii, de unde denumirea IRQ 01.

Atunci când se primește o solicitare de la dispozitiv, computerul întrerupe (de unde însuși termenul „întrerupere”) procesarea informațiilor curente și începe procesarea pe cea nou primită. Dacă există mai multe întreruperi, atunci acestea sunt procesate în ordinea priorităților atribuite fiecăruia dintre ele. De regulă, cu cât numărul de întreruperi este mai mic, cu atât este mai mare prioritate pentru procesor pentru dispozitivul atribuit acestei întreruperi, dar această regulă nu este întotdeauna respectată.

Servește la procesarea IRQ un cip special, care se numește controler de întrerupere. De regulă, acest microcircuit face parte din unitatea centrală de procesare și, uneori, este alocat ca un cip separat pe placa de bază. Pentru a gestiona fiecare întrerupere din BIOS, există un firmware special numit handler de întrerupere. Adresele tuturor manipulatorilor sunt stocate în așa-numitul tabel de vectori de întrerupere.

Anterior, 8 biți era obișnuit în primele computere din familia XT, așa că un total de 8 întreruperi erau disponibile pentru dispozitive. Odată cu apariția magistralei ISA pe 16 biți, numărul acestora a crescut la 16.

Setarea cererii de întrerupere

Trebuie să spun că întreruperile atribuite unor dispozitive nu sunt fixe și pot fi modificate programatic. De exemplu, IRQ este folosit în mod obișnuit de serie Port com 2 poate folosi, de asemenea, un modem instalat în slotul de expansiune. În computerele și sistemele de operare moderne care acceptă standardul PnP și rulează sub Windows, valorile IRQ pentru dispozitivele conectate la sloturile de magistrală sunt selectate automat.

Dar lucrurile nu erau atât de simple pe vremuri, când utilizatorul trebuia să seteze manual valoarea IRQ în multe programe DOS. De exemplu, la instalare placa de sunet, utilizatorul trebuia să aleagă o întrerupere gratuită dintr-un număr foarte mic de cele disponibile (de obicei era IRQ 5) și să specifice această valoare în programul care se lansează, de exemplu, într-un joc.

În multe BIOS-uri, este posibilă modificarea valorilor implicite IRQ în programul de configurare. Această opțiune este de obicei localizată în secțiunile IRQ Resources sau PCI/PNP Configuration.

Setarea unei valori IRQ pentru un dispozitiv egală cu valoarea IRQ deja ocupată de un dispozitiv duce în majoritatea cazurilor la inoperabilitatea unuia dintre aceste dispozitive sau a ambelor simultan și, uneori, este plină de blocarea computerului.

În magistrala PCI mai modernă, sistemul de control al întreruperilor a fost schimbat radical, iar capacitățile de control al întreruperilor au fost extinse. Datorită tehnologiei IRQ Sharing, a devenit posibilă plasarea mai multor dispozitive pe un canal de întrerupere, iar dispozitivele externe conectate la sloturile PCI au capacitatea de a distribui automat resurse între ele.

În plus, computerele moderne folosesc de obicei un controler de întrerupere programabil avansat (APIC, ) care acceptă 24 de canale de Interrupt ReQuest. Controlerul avansat de întrerupere este realizat sub forma a două microcircuite, dintre care unul se află în procesorul propriu-zis, iar celălalt pe placa de bază. Acest controler de întrerupere a apărut pentru prima dată în sistemele bazate pe procesoare Pentium. Cu toate acestea, suportul pentru vechiul sistem de întrerupere a fost păstrat din motive de compatibilitate. Următorul pas în dezvoltarea principiilor de gestionare a întreruperilor este tehnologia Message Signaled Interrupts, suport pentru care a apărut în linia Windows OS începând cu Windows Vista.

Nu confundați IRQ-urile hardware cu întreruperile software BIOS, care vor fi discutate într-un articol separat. Întreruperile software BIOS sunt de obicei folosite pentru a organiza munca software cu dispozitive de intrare-ieșire și sunt notate prin abrevierea INT. Multe dintre ele sunt similare ca funcție cu IRQ-urile hardware, dar au numere diferite.

Lista numerelor Interrupt ReQuest din schema standard pentru magistrala ISA pe 16 biți:

  1. Temporizator de sistem
  2. Tastatură
  3. Controler de întrerupere opțional (pentru compatibilitate cu magistrala pe 8 biți)
  4. Com 1 și 3 porturi
  5. Com 2 și 4 porturi
  6. Gratuit (în magistrala de 8 biți - controler pentru hard disk)
  7. Controlor dischete(FDD)
  8. Port paralel LPT
  9. Ceas CMOS în timp real
  10. Combinat cu IRQ 2
  11. Liber
  12. Liber
  13. Port mouse PS/2
  14. Coprocesor (folosit cu greu în prezent)
  15. Primul controler IDE
  16. Al doilea controler IDE

Lista de IRQ-uri suplimentare pe care le folosește APIC Extended Interrupt Controller:

  1. Controler USB
  2. Subsistem audio integrat (AC'97 sau HDA)
  3. Controler USB
  4. Controler USB
  5. Placa de retea integrata
  6. Liber
  7. Liber
  8. Controler USB 2.0

Corespondența numerelor IRQ și a întreruperilor BIOS:

Tabel de corelație între hardware IRQ și software INT BIOS

Concluzie

Deci, în acest articol, ați putut afla ce înseamnă abrevierea IRQ și ce sunt întreruperile hardware. Sunt un mecanism încorporat pentru alocarea resurselor computerului și sunt concepute pentru a organiza accesul dispozitivului la procesorul central. Alocarea și reglarea corectă a IRQ evită conflictele între dispozitive și asigură muncă stabilă sisteme.

Managementul priorităților IRQ

Gestionarea cererilor de întrerupere hardware

Majoritatea componentelor atașate direct la placa de bază, inclusiv sloturile PCI, controlerele IDE, porturile seriale, portul pentru tastatură, chiar și CMOS-ul plăcii de bază, au IRQ-uri separate. O cerere de întrerupere hardware, sau IRQ, întrerupe funcționarea normală a procesorului, permițând dispozitivului să funcționeze. Windows 7 vă permite să prioritizați unul sau mai multe IRQ-uri (care sunt mapate la unul sau mai multe dispozitive), îmbunătățind potențial performanța acelor dispozitive.

Pași pentru modificarea priorității IRQ

  1. Începeți prin a rula utilitarul System Information Utility (msinfo32.exe) și deschideți filiala System Information (Informații de sistem) Hardware Resources Interrupts (IRQ-uri) pentru a vedea ce IRQ-uri sunt utilizate pentru ce dispozitive.
  2. Apoi deschideți Editorul de registru (a se vedea capitolul 3) și navigați la ramura HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl.
  3. Creați o nouă valoare DWORD în această secțiune și denumiți parametrul IRQ#Priority, unde # este numărul dispozitivului IRQ pentru care doriți să setați prioritatea (de exemplu, IRQ13Priority corespunde IRQ 13, adică un coprocesor aritmetic) .
  4. Faceți dublu clic pe noua valoare și introduceți numărul de prioritate. Introduceți 1 pentru cea mai mare prioritate, 2 pentru a doua și așa mai departe. Asigurați-vă că nu introduceți același număr pentru două intrări și nu încercați să faceți totul deodată, mai degrabă experimentați cu una sau două valori.
  5. Când ați terminat, închideți Editorul de registry și reporniți computerul.