Prekid irq. Hardverski IRQ-ovi

Upravljanje IRQ prioritetima

Upravljanje hardverskim zahtjevima za prekid

Većini komponenti izravno spojenih na matičnu ploču, uključujući PCI utore, IDE kontrolere, serijske priključke, priključak tipkovnice, čak i CMOS matičnu ploču, dodijeljeni su zasebni IRQ-ovi. Zahtjev za hardverski prekid ili IRQ prekida normalan rad procesora, dopuštajući uređaju da funkcionira. Windows 7 omogućuje vam davanje prioriteta jednom ili više IRQ-ova (koji se prevode na jedan ili više uređaja), potencijalno poboljšavajući performanse tih uređaja.

Koraci za promjenu IRQ prioriteta

  1. Započnite pokretanjem System Information Utility (msinfo32.exe) i otvorite System Information Hardware Resources Interrupts (IRQ) da vidite koji se IRQ-ovi koriste za koje uređaje.
  2. Zatim otvorite uređivač registra (pogledajte 3. poglavlje) i idite na HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl.
  3. Napravite novu DWORD vrijednost u ovom odjeljku i imenujte parametar IRQ#Priority, gdje je # broj IRQ uređaja za koji želite postaviti prioritet (na primjer, IRQ13Priority odgovara IRQ 13, koji je aritmetički koprocesor).
  4. Dvaput kliknite novu vrijednost i unesite broj prioriteta. Unesite 1 za najviši prioritet, 2 za drugi, itd. Pazite da ne unesete isti broj za dva unosa i nemojte pokušavati učiniti sve odjednom, već eksperimentirajte s jednom ili dvije vrijednosti.
  5. Kada završite, zatvorite uređivač registra i ponovno pokrenite računalo.

Prekidi se dijele na hardverske (maskibilne i nemaskibilne) i softverske. Softverski prekidi, zapravo, nisu prekidi; oni su način pozivanja određenih procedura. Ali procesor obrađuje softverske prekide kao jednu od vrsta prekida.

Nešto što bi, prema PCI specifikacijama, sve PCI kartice trebale moći, ali se u stvarnosti vrlo rijetko implementira, zove se "IRQ-Sharing". U teoriji to znači da više komponenti mora dijeliti isti IRQ. Ali budući da malo PCI kartica međusobno komunicira tako harmonično, Windows 9x dodjeljuje svakoj kartici, koliko je to moguće, vlastiti IRQ. Složenost konfiguracije resursa sustava, njihova raspodjela između mrežnih i zvučnih kartica, 3D akceleratora, standardnih serijskih i paralelnih uređaja, a sada i video i DVD dekodera postupno slabi masovnim uvođenjem USB sabirnice, točnije masovnom distribucijom USB periferija. Istina, sama USB sabirnica zauzima jedan IRQ. Ali ona mora uključiti sve periferne uređaje, bilo da se radi o mišu, tipkovnici, skeneru ili video kameri, u sustav bez daljnjeg utroška resursa.

Drugi termin. "Polling mode" - rad uređaja bez korištenja prekida. To se događa pri radu s jednostavnim SCSI kontrolerima na ISA sabirnici.

Uređaj

Komentari

Sistemski mjerač vremena

Prekid sustava. Generirano 91 puta u 5 sekundi. U ovom se svojstvu koristi od vremena prvog osobnog računala.

Tipkovnica

Prekid sustava koji generira upravljač tipkovnice.

Kontroler prekida

Kaskadno (povezano) na IRQ9. Sukobi mogu nastati kada različiti uređaji moraju raditi na IRQ2 i IRQ9 u isto vrijeme. Njegovo korištenje u sustavu sačuvano je radi kompatibilnosti.

Koristi ga drugi komunikacijski adapter (UART2). Koji uređaj će ga generirati? To može biti drugi serijski port COM2 (integriran na matičnoj ploči), interni modem konfiguriran za COM2 ili COM4 ili infracrveni adapter. Možete onemogućiti UART2, ali nećete moći ničemu dodijeliti IRQ3. Dijeli isti IRQ3 s COM4 (ako je potonji prisutan). Može doći do sukoba ako se koristi istovremeno.

Uređaj

Komentari

Koristi ga prvi komunikacijski adapter. Sve je gotovo identično: generira prvi serijski port COM1, modem na COM1 ili COM3 (osim infraporta). Dijeli isti IRQ4 s COM3 (ako je potonji prisutan). Na sustavima s mišem spojenim na COM1, COM3 se ne bi trebao koristiti.

besplatno

Prekid je izvorno trebao koristiti drugi paralelni port LPT2. Ovo rješenje nije našlo nikakvu praktičnu primjenu, pa je IRQ5 postao besplatni softver. U IBM XT-u, tvrdi disk je visio na IRQ5. Nakon nekog vremena, Creative Labs, stvarajući zvučnu karticu Sound Blaster Pro, pronašao je upotrebu za prekid. Od tada je IRQ5 postao favorit za većinu ISA zvučnih kartica. PCI zvučne kartice također ponekad koriste ovaj prekid za "SB Pro" emulaciju. IRQ5 se može vezati na PCI utor.

Uređaj

Komentari

Kontroler FDD pogona

Prekid je koristio kontroler disketne jedinice još od prvih osobnih računala. Međutim, prekid se još uvijek ne može koristiti: ISA kartice nisu dizajnirane za rad s njim i ne može se dodijeliti PCI utoru.

Prema zadanim postavkama, prvi prekid paralelnog porta je LPT1. Kada je priključak onemogućen (ako pisač nedostaje ili je dizajniran za USB), mogu ga koristiti različiti uređaji: mreža, ISDN kartice. Ovo je također "rezervno" mjesto za zvučne kartice.

Sat stvarnog vremena (RTC)

Prekid sustava od prvog IBM AT-a.

besplatno

Kaskadno s IRQ2. Inače se može koristiti po vlastitom nahođenju.

besplatno

Može se koristiti po nahođenju. Naslijeđeni IDE kontroleri na starijim zvučnim karticama ponekad koriste ovaj IRQ.

Uređaj

Je li vam procesor preopterećen? Za to su krivi sistemski prekidi.

Razlog zašto je procesor preopterećen gotovo cijelu sesiju mogu biti takozvani sistemski prekidi, a to pak znači da je problem u hardveru instaliranom na računalu ili u drajverima za te uređaje. Ali odmah vas upozoravam: čak ni volumen cijelog ovog članka nije dovoljan da se identificiraju svi razlozi (a posebno opcije za njihova rješenja) zašto sistemski prekidi jednostavno ubijaju Windows. Budući da je pristup pronalaženju problema kompliciran korištenjem mnogo složenijeg alata od ovdje opisanog.

Što su sistemski prekidi i kako se možete pokušati nositi s preopterećenjem procesora?

Prekidi sustava pojavljuju se u Upravitelju zadataka kao sistemski proces, ali zapravo nisu takvi. Ovo " " je samo reprezentativno, odražava opterećenje procesora pri radu s prekidima na niskoj razini. To je sastavni dio Windowsa; Unatoč zlokobnom nazivu, sistemski prekidi su obavezan i normalan dio interakcije između CPU-a i ostale opreme.

Uzrok prekida (točnije, s vremena na vrijeme presporog rada) mogu biti uređaji unutar vašeg računala, instalirani programi, a ponekad i sam procesor. Uostalom, prekidi sustava su određeni oblik interakcije između programa/hardvera i samog procesora. Kad god se na sustavu treba pojaviti novi proces, procesor odbacuje sve i izvršava zadatak. Nije važno je li korisnik kliknuo mišem ili je proces pokrenut prema rasporedu, zadatak se odmah dodaje u red čekanja za izvršenje. Po završetku, procesor se vraća u prethodno stanje.

Kao što razumijete, prekidi sustava mogu signalizirati sustavu i korisniku da se trenutno neki izračuni odvijaju s pogreškom, što se odražava u ozbiljnoj potrošnji resursa procesora ovim "procesom". U zdravom sustavu, sistemski prekidi "troše" NE VIŠE od 2% ukupnog rada procesora. Iako sam naišao i na procesore s stopom prekida od 3 do 10%% - sve ovisi o konfiguraciji. Ali ako primijetite da procesor troši najmanje 5 - 10% svoje procesorske snage na prekide od sesije do sesije, to je signal da računalo ima problema.

Prekidi sustava. Kako se nositi s visokim očitanjima?

Svaki od sljedećih koraka zahtijevat će ponovno pokretanje sustava. Ne zato što je to uobičajeno, već zato što se problemi s prekidima često rješavaju jednostavnim ponovnim pokretanjem Windowsa.

  • VOZAČI I JOŠ VOZAČA

Prvi alat koji će vam pomoći utvrditi jesu li pokvareni upravljački programi krivi za prekide sustava koji učitavaju procesor njemački je uslužni program DPC alat za provjeru kašnjenja. Preuzmite ga s ove poveznice:

Nije potrebna instalacija. Suština uslužnog programa je jednostavna. Pokrećemo i počinjemo raditi u Windowsima dok nas prekidi sustava ne počnu ometati. Evo prozora sklopa koji normalno radi:

Ali ovdje se počinju pokazivati:

Uslužni program u polju za komentare na engleskom jeziku savjetuje vam da odete u Upravitelj uređaja i počnete postupno onemogućavati mrežne uređaje, zvučne kartice, USB kontrolere, uređaje bluetooth. Savjetujem vam da poslušate. Nakon svakog isključivanja, bolje pogledajte Upravitelj zadataka i prozor uslužnog programa, pogledajte kako sustav reagira na privremeno isključivanje opreme. Nastavite odspajanjem svih vanjskih uređaja: modema, vanjskih pogona, flash pogona. A ako u nekom trenutku dođe do promjena na bolje, odlučite ažurirati upravljački program za uređaj. Ali da biste izbjegli probleme s pokretanjem Windowsa, bolje je ne onemogućavati ove uređaje (ovi upravljački programi su vitalni, ali su također i upravljački programi, i vrlo je moguće da ćete morati ponovo instalirati upravljačke programe na matičnoj ploči kao cijeli paket, samo kao kada potpuno instalirate Windows):

Program radi na isti način KašnjenjeMon

http://www.resplendence.com/downloads

Zahtijeva instalaciju, ali je također besplatan. Njegov zadatak je tražiti datoteke upravljačkog programa s visokom stopom izračuna utrošenih na poziv odgođene procedure (proces koji se poziva rutinom usluge prekida kao odgovor na sam prekid, ali se ne izvršava nužno odmah). Ovo lukavo ime skriva proces traženja upravljačkih programa, čije datoteke sadrže informacije da upravljački program zahtijeva previše od procesora da servisira svoj uređaj koji mu je posebno dodijeljen. Ovdje je stranica izdavača:

http://www.resplendence.com/latencymon

na kojem, međutim, svojim slijepim očima nisam pronašao link za preuzimanje, te ću vam stoga pružiti mogućnost preuzimanja programa s moje web stranice

BESPLATNO PREUZMITE PROGRAM

Nakon pokretanja, odmah me obavijestio o mogućim problemima s DVD jedinicom - driverom atapi.sys je odgovoran konkretno za to (i usput, pogon ne radi skoro 3 mjeseca...). Upozorava da ćete možda trebati flashati BIOS:

Idi na karticu Vozači i poredajte ih po najranjivijim pokazateljima klikom na stupac DPC broj:

Pogledaj pobliže prve u nizu: oni i Može biti uzrok vaših problema.

  • SVE SE DOGODILO NEŠTO IZNENADA, NAKON REBOOT-a

Bio je jedan trenutak kada nema šanse Nije bilo moguće izolirati uzrok kočnica. Slučaj je pomogao: korisnik je "zgrabio" virus koji je potpuno uništio DirectX, i djelovao krajnje selektivno, ubijajući datoteke sustava Windows, ostavljajući datoteke DirectX igre. Morao sam popraviti sustav ažuriranjem, i gle čuda! – zajedno sa smećem nestali su i sistemski prekidi. Uzeo sam malo vremena, ali rezultat je bio neočekivan. Ispostavilo se da krivci nisu virusi ili upravljački programi, već paketi ažuriranja. Evo njihovih imena:

  • KB3199986
  • KB4013418
  • KB3211320

Inzistiram na tome da je određeni korisnik počeo patiti od preopterećenosti prekidima sustava NAKON INSTALIRANJA BAŠ OVIH AŽURIRANJA. Nešto poput ovoga... hrana za razmišljanje za vas.

  • ISKLJUČUJEMO NEISPRAVNU OPREMU

To također može biti razlog zašto prekidi sustava preopterećuju procesor. Počnite provjeravati nije li prethodna potraga za neispravnim upravljačkim programima uspjela. Sam Windows i njegovi ugrađeni uslužni programi za samodijagnostiku pomoći će vam pronaći probleme s hardverom. O njima sam već pisao u članku. Brzo pogledaj, informacije će biti korisne, ne sumnjaj. Imajte na umu da kabeli koji su se otkačili iz konektora također mogu biti krivac nesreće. Osobno sam se susreo s problemima s pregrijavanjem procesora i "zaboravnošću" pri nadogradnji BIOS-a za potpuno novi Windows 10 (više o tome u nastavku) - što je sve rezultiralo primjetnim prekidima rada sustava.

BILJEŠKA. Ako prekidi sustava muče vaše prijenosno računalo, morat ćete se pobrinuti da nemate problema s pražnjenom baterijom. Pročitajte članak sami.

  • PROVJERITE ZVUČNU ŠEMU U WINDOWSU

Zapravo, govorimo o vraćanju zvučnih efekata u sustavu Windows na zadane. Kliknite desnom tipkom miša na ikonu zvuka i kliknite na Uređaji za reprodukciju:

U kartici Reprodukcija dvaput kliknite na stavku zadanih uređaja (za mene Zvučnici), idite na karticu Dodatne mogućnosti i potvrdite okvir pored Onemogući sve efekte. Prijavi se - OK. Ponovno pokrenite i provjerite:

  • JE LI KRIV BIOS?

To je moguće. BIOS je prvi program koji se pokreće nakon što pritisnete gumb za napajanje računala. Dakle, vrijeme je da provjerite postoje li ažuriranja za vaš BIOS. I tako da traženje potrebne verzije ne oduzima vrijeme, odmah provjerite verziju svog BIOS-a. U naredbenoj konzoli cmd upišite dvije naredbe u nizu:

Informacije o sustavu | findstr /I /c:bios wmic bios dobiti proizvođača, smbiosbiosversion

ja u prvoj momčadi - ovo je veliki latino ja.

Je li to tvrdi disk?

“Prilično, pa čak i vrlo dobro.” Najlakši način je provjeriti disk za pogreške pomoću ugrađenih alata poput chkdsk. Ako su se nakon "izvođenja" prekidi sustava smanjili, uzrok je otkriven. Međutim, u slučaju kada se problem pojavljuje uvijek iznova, unatoč svemu tome chkdsk uvijek otkriva greške, imate problema (s tvrdim diskom, napajanjem ili matičnom pločom) - pripremite se na najgore.

p.s. Pa, sudeći po recenzijama, ljude muči taj problem. Obećavam da ću razviti temu u budućim člancima.

Želim ti uspjeh.

Čitaj: 1.275

Dobro je kada se nakon montaže ili planirane nadogradnje računalo prvi put pokrene i radi stabilno i bez kvarova. Mnogo je gore ako se pojave neočekivani problemi - spontana ponovna pokretanja i zamrzavanja, rušenje programa, neoperabilnost ili "nevidljivost" uređaja itd. Prvi razlog koji obično pada na pamet u ovom slučaju je sukob prekida. Poznajemo li dobro prirodu ove pojave i jesmo li dovoljno spremni za borbu protiv nje?

Što je IRQ
Prekidi su osnovni mehanizam za odgovor sustava na novonastale događaje. Hardverski prekidi, obično zvani IRQ (Interrupt ReQuest), fizički su signali kojima kontroler uređaja obavještava procesor o potrebi obrade zahtjeva. Uobičajeno, sklop za rukovanje prekidima izgleda ovako:
1) procesor prima signal prekida i njegov broj;
2) pomoću posebne tablice pronalazi se adresa programa odgovornog za obradu prekida sa zadanim brojem - rukovatelj prekida;
3) procesor obustavlja trenutni rad i prebacuje se na izvršavanje rukovatelja (u općem slučaju to je neki upravljački program);
4) vozač pristupa uređaju i provjerava uzrok prekida;
5) pokrenute su tražene radnje - inicijalizacija, konfiguracija uređaja, razmjena podataka itd.
6) upravljački program izlazi, a procesor se vraća na prekinuti zadatak.
Očito, da bi mehanizam prekida ispravno radio, moraju biti ispunjena dva uvjeta: prvo, signal zahtjeva mora doći do procesora i, drugo, upravljački program mora ispravno odgovoriti na ovaj signal. U slučaju konflikta drugi uvjet nije ispunjen: signal prekida stiže, ali se odgovor na njega pokazuje netočnim, zbog čega imamo (u najboljem slučaju) neispravan uređaj.

Sukob
Možemo reći da je konflikt situacija u kojoj više objekata istovremeno pokušava pristupiti resursu koji je namijenjen samo jednom od njih. Do sukoba prekida dolazi kada više uređaja koristi istu liniju prekida za slanje signala zahtjeva, a ne postoji mehanizam za obradu konkurentskih zahtjeva. Ako vozač, koji prima kontrolu, ne radi s uređajem koji je poslao zahtjev, tada dolazi do kvara ili jedan od uređaja jednostavno ne radi.
Postavlja se pitanje: može li više uređaja koristiti istu liniju prekida ili je to u osnovi nemoguće? Uostalom, ako vozač može odrediti od koga je točno zahtjev došao, tada će odgovoriti na signale samo sa "svog" uređaja, ignorirajući sve ostale. Ali to se mora na neki način dogovoriti unaprijed, inače je sukob neizbježan.
Lokalna PCI sabirnica dizajnirana je za dijeljenje prekida. Svaki PCI uređaj mora ispravno raditi na istoj liniji prekida kao i drugi PCI uređaji. To se radi na sljedeći način: prisutnost signala na liniji prekida nije određena rubom, tj. promjena naponske razine, već samom činjenicom prisutnosti određenog napona. Nekoliko uređaja može promijeniti napon u liniji odjednom, čekajući u redu za servis.
Dakle, dijeljenje istog IRQ-a s više PCI uređaja nije sukob po definiciji. Međutim, ponekad se i dalje pojavljuju problemi. Prvo, ne rade svi PCI uređaji ispravno na istoj liniji prekida kao ostali. Drugo, ponekad upravljački programi imaju greške koje im onemogućuju ispravno otkrivanje izvora signala, ometajući druge upravljačke programe. Treće, ne rade svi uređaji na PCI sabirnici; na primjer, ISA uređaji, koji uključuju, na primjer, COM/LPT port kontrolere, ne mogu dijeliti prekide s drugima. Da biste jasno razumjeli kako se sukobi mogu izbjeći ili riješiti, morate razumjeti mehanizam kontrole IRQ-a.

Organizacija hardverskih prekida u osobnom računalu
Kao što znate, osobna računala započela su s IBM PC-jem. Njegova arhitektura uključivala je osam hardverskih prekidnih linija (IRQ), kojima je upravljao poseban kontroler. Svakom od njih dodijeljen je broj, koji je određivao prioritet prekida i adresu njegovog rukovatelja (tzv. vektor prekida). Nova arhitektura, IBM PC AT, osigurala je još osam prekidnih linija, za koje je korišten drugi kontroler, spojen na jednu od prekidnih linija prvog kontrolera. Nažalost, ova je arhitektura postala posljednja nakon što je IBM izgubio mogućnost kontrole razvoja platforme koju je stvorio, pa sva moderna računala još uvijek imaju samo šesnaest prekida, od kojih jedan koristi drugi kontroler.
Računalo IBM PC AT imalo je samo jednu sabirnicu preko koje su uređaji mogli komunicirati s procesorom i memorijom – ISA. Većina prekidnih linija dodijeljena je standardnim ISA uređajima, ostatak je rezerviran za budućnost. Kad je ta budućnost stigla, pokazalo se da nova univerzalna PCI sabirnica ima samo četiri slobodna prekida. Stoga je izumljen lukavi mehanizam za dijeljenje prekida (IRQ Sharing) i dinamičko redefiniranje brojeva (IRQ Steering ili Mapping).
Suština mehanizma upravljanja prekidima PCI uređaja je sljedeća. Općenito, postoje četiri fizičke PCI linije prekida, nazvane PIRQ0, PIRQ1, PIRQ2 i PIRQ3. Spojeni su na kontroler prekida. Svaki PCI uređaj sa svoje strane ima četiri konektora, koji se nazivaju INT A, INT B, INT C i INT D. Linije možete spojiti na konektore bilo kojim redoslijedom. Na primjer, za prvi PCI utor možete napraviti sljedeći raspored: PIRQ0 - INT A, PIRQ1 - INT B, PIRQ2 - INT C, PIRQ3 - INT D. A za drugi - drugačije: PIRQ0 - INT B, PIRQ1 - INT C, PIRQ2 - INT D, PIRQ3 - INT A. Obično uređaj zahtijeva samo jednu prekidnu liniju spojenu na INT A. Kada se instalira u prvi utor, uređaj koristi PIRQ0 liniju, au drugom utoru bit će PIRQ1 linija na istoj iglici. Stoga će uređaji u različitim utorima koristiti različite fizičke linije prekida. Hardverski sukob između njih bit će eliminiran.
AGP sabirnica, budući da je u biti specijalizirana modifikacija PCI-ja, također koristi jednu od PIRQ linija - obično PIRQ0.
Za suvremene sustave četiri linije nisu dovoljne, pa novi čipseti često koriste osam PIRQ linija, koje se također u različitim kombinacijama spajaju na PCI utore i uređaje ugrađene u ploču.
PIRQ linije su spojene na kontroler prekida. Njima, kao i drugim linijama, dodijeljeni su logički IRQ brojevi. Ako postoji nekoliko uređaja na istoj fizičkoj liniji (a to je prihvatljivo), tada će svi imati isti IRQ broj. Ako su uređaji na različitim fizičkim linijama, i dalje mogu primati iste IRQ brojeve. Normalni upravljački programi omogućit će im nesmetan rad bez gubitka performansi, budući da PCI sabirnicu još uvijek može uhvatiti samo jedan uređaj. Glavno je prepoznati s kojeg je uređaja signal došao.
Brojevi PIRQ linijama dodjeljuju se automatski zahvaljujući ozloglašenom Plug&Play mehanizmu. Ali postoje i ISA uređaji koji podržavaju Plug&Play. Također imaju mogućnost automatskog primanja IRQ broja. Ali njihova prekidna linija je ekskluzivna za njih, i ako jedna od PIRQ linija primi isti broj, doći će do nerješivog sukoba.
Dakle, saznali smo da PCI uređaji ne bi trebali imati problema s IRQ sukobima. Naravno, ako rade ispravno, ali to nije uvijek slučaj. Osim toga, upravljački programi moraju podržavati mehanizam dijeljenja prekida. ISA uređaji ne mogu dijeliti linije prekida i stoga uzrokuju sukobe. Posljedično, zadatak otklanjanja konflikata svodi se na pravilnu raspodjelu brojeva (izvor problema su ISA uređaji i “krivi” driveri) ili na raspodjelu po različitim fizičkim linijama (“krivi” PCI kontroleri).
Pogledajmo kako su brojevi raspoređeni u sustavu i kako možemo utjecati na taj proces.

Karta prekida
Kao što sam već rekao, većina IRQ brojeva već je zauzeta od strane standardnih uređaja, odnosno dodijeljena njihovim prekidnim linijama. Prođimo kroz to redom:
0 - mjerač vremena sustava (broj je uvijek zauzet);
1 - tipkovnica (broj je uvijek zauzet);
2 - drugi kontroler prekida (uvijek zauzet);
3 - COM2 port (može se onemogućiti i osloboditi broj);
4 - COM1 port (može se onemogućiti i osloboditi broj);
5 - LPT2 priključak (obično je broj slobodan);
6 - kontroler diskete (može se onemogućiti, a broj se može osloboditi);
7 - LPT1 port (ako nije u EPP ili ECP modu, tada je broj slobodan);
8 - sat realnog vremena (uvijek zauzet);
9 - besplatno;
10 - besplatno;
11 - besplatno;
12 - PS/2 miš (može biti besplatan ako nema takvog miša);
13 - koprocesor (uvijek zauzet);
14 i 15 - kontroler tvrdog diska (može se onemogućiti, a broj se može osloboditi).
U tipičnom sustavu dostupni su brojevi 5, 7, 9-11, odnosno pet od petnaest. Osim toga, možete sigurno onemogućiti COM2 i LPT1 priključke, povećavajući broj besplatnih brojeva na sedam. Slobodno ne znači da nije zauzeto, samo je moguće slobodno miješanje između njih.
Svaki sustav ima tri standardna PCI uređaja - ACPI, USB kontrolere i video karticu, od kojih će svaki zauzeti jedan broj. Složeni uređaj (na primjer, zvučna kartica) može zahtijevati nekoliko linija - INT A, INT B itd. za njegove komponente, koje se međusobno neće sukobljavati (uostalom, različite fizičke linije), ali s drugim uređajima - lako.
Postoji nekoliko načina da saznate kako su trenutno raspoređeni brojevi prekida. Na samom početku pokretanja računala pojavljuje se konfiguracijska tekstualna tablica. Odmah nakon njega nalazi se popis PCI uređaja koji pokazuje IRQ broj koji im je dodijeljen (pogledajte snimak zaslona). Druga metoda radi na Windows 9x. Na upravljačkoj ploči nalazi se ikona "Sustav", u apletu koji se poziva nalazi se kartica "Uređaji". Odaberemo svojstva uređaja "Računalo" i tamo će biti navedeni svi uređaji, navodeći njihov IRQ (pogledajte snimak zaslona).
U sustavu Windows 2000 nemamo pristup upravljanju prekidima, tako da za pregled popisa IRQ-ova moramo koristiti standardni informacijski pomoćni program (Upravljačka ploča/Administrativni alati/Upravljanje računalom/Informacije o sustavu/Hardverski resursi).

Distribucija IRQ brojeva pomoću BIOS-a
U sustavu se IRQ brojevi dva puta raspodjeljuju između fizičkih linija. BIOS sustava to prvi put čini kada se sustav podigne. Svakom Plug&Play uređaju (svi PCI, moderni ISA, integrirani uređaji), točnije njegovoj prekidnoj liniji, dodjeljuje se jedan broj od deset mogućih. Ako nema dovoljno brojeva, nekoliko redaka dobiva jedan zajednički. Ako su to PIRQ linije, onda je u redu - ako imate normalne upravljačke programe i podršku operativnog sustava (pogledajte dolje za više informacija o tome), sve će raditi. A ako više ISA uređaja ili PCI i ISA uređaja dobiju jedan broj, onda je sukob jednostavno neizbježan i tada se treba umiješati u proces distribucije.
Prije svega, trebate onemogućiti sve nekorištene ISA uređaje (također ih ima u sustavima bez ISA utora) - COM1, COM2 portove i disk jedinicu. Također možete onemogućiti EPP i ECP načine LPT porta, tada će IRQ7 prekid postati dostupan.
U postavkama BIOS-a trebamo odjeljak "PCI/PNP konfiguracija". Postoje dva osnovna načina za utjecaj na dodjelu IRQ brojeva: blokiranje određenog broja i izravno dodjeljivanje broja PIRQ linije.
Prva metoda dostupna je za sve BIOS-e: pronađite popis stavki “IRQ x used by:” (u novim BIOS-ima skriven je u podizborniku “IRQ Resources”). Oni prekidi koji se trebaju dodijeliti isključivo ISA uređajima trebaju biti postavljeni na "Legacy ISA". Dakle, kada se brojevi distribuiraju PCI uređajima, ovi prekidi će biti preskočeni. Ovo treba učiniti ako bilo koji ISA uređaj tvrdoglavo dijeli isti prekid s PCI uređajem, zbog čega oba ne rade. Zatim pronalazimo broj ovog IRQ-a i blokiramo ga u postavkama BIOS-a. PCI uređaj prelazi na novi IRQ broj, ali ISA uređaj ostaje. Sukob je riješen.
Drugi, praktičniji način upravljanja IRQ brojevima je izravna dodjela. U istom podizborniku BIOS Setup mogu postojati stavke poput “Slot X use IRQ” (drugi nazivi: “PIRQx use IRQ”, “PCI Slot x priority”, “INT Pin x IRQ”).
Uz njihovu pomoć, svakoj od četiri PIRQ linije može se dodijeliti određeni broj. Usput, u novom AwardBIOS 6.00 možete vidjeti koji uređaji (uključujući ugrađene) koriste ovu ili onu liniju. Samo pogledajte desnu stranu zaslona za postavljanje BIOS-a: fotografija pokazuje kako sam zadržao pokazivač miša iznad opcije "Slot 1/5 use IRQ no." i "Display Contr." To jest, prvu PIRQ liniju koristi video kartica. Ako sada stavim bilo koji određeni broj umjesto "Auto", video kartica će se prebaciti na ovaj prekid.

Distribucija IRQ brojeva pomoću Windowsa
Drugi put, brojeve prekida dodjeljuje operativni sustav. Kao što su moji eksperimenti pokazali, Windows 98 počinje ometati radnje koje izvodi BIOS samo u ekstremnim slučajevima. Ako imate normalan BIOS, ovdje opisane tehnike neće biti potrebne.
Treba imati na umu da kako bi mehanizmi dijeljenja IRQ-a i dinamičke dodjele radili ispravno, Windows mora prepoznati skup čipova matične ploče i učitati IRQ Miniport. Što je novija verzija sustava Windows, to više skupova čipova podržava vlastiti miniport (PCIIMP.PCI). Međutim, uvijek je bolje igrati na sigurno i instalirati najnovije upravljačke programe za čipset.
U Windows 98, distribucijskim sustavom IRQ-a upravlja se pomoću standardnog upravitelja uređaja. Na popisu uređaja sustava morate pronaći PCI sabirnicu. U njegovim svojstvima postoji posebna kartica (pogledajte snimak zaslona). Ako je sve ispravno konfigurirano, miniport će biti spomenut ("uspješno pokrenut") i bit će omogućeno upravljanje PCI sabirnicom (Steering). Dakle, Windows "98 ima alate za kontrolu raspodjele brojeva prekida između fizičkih linija. Ali budući da se BIOS najčešće dobro nosi s tim, ovaj mehanizam se ne koristi.
Ali ponekad je to jednostavno potrebno. Kao što sam već rekao, PCI uređaji ne bi trebali biti u sukobu ako koriste isti logički prekid. Druga stvar su ISA uređaji, koji također uključuju COM i LPT portove. Ako uređaj nije Plug&Play, BIOS ga možda neće primijetiti, dajući prekid koji je zauzeo PCI uređaju. Zatim morate rezervirati prekid. To se radi u Windows Device Manager 98: odaberite uređaj "Računalo", pozovite njegova svojstva, prebacite se na drugu karticu i tada je sve jasno.
Osim redundancije, možete izravno postaviti broj prekida za uređaj. Da biste to učinili, morate pronaći karticu "Resursi" u njegovim svojstvima, onemogućiti automatsku konfiguraciju i pokušati promijeniti dodijeljeni broj prekida.
Nažalost, to ne uspijeva uvijek.
Windows 2000 je poseban sustav. Ako imate moderno računalo, ono vjerojatno podržava ACPI konfiguracijsko sučelje. U ovom slučaju, Windows 2000 će potpuno zanemariti akcije BIOS-a i "zakačiti" sve PCI uređaje na jedan logički prekid. Općenito, ovo će raditi odlično (kada nema ISA), ali ponekad se javljaju problemi. Da biste mogli promijeniti brojeve prekida, trebate ili promijeniti HAL kernel ili ponovno instalirati Windows 2000 s ACPI-jem onemogućenim u BIOS-u. Zamjena kernela vrši se na sljedeći način: u upravitelju uređaja odaberite "Računalo" / "Računalo s ACPI-jem", promijenite upravljački program u "Standardno računalo", ponovno pokrenite sustav. Ako ovo ne pomogne, morat ćete ponovo instalirati Windows 2000.
Nadam se da će vam gore navedene informacije pomoći u borbi protiv hardverskih kvarova. I zapamtite: većina problema koji se javljaju povezana je s niskom razinom informatičke pismenosti vlasnika računala. Stoga uvijek trebate težiti samoobrazovanju, tada će biti manje problema, a oni koji se pojave neće izgledati nerješivi.

U ovom članku želio bih govoriti o onome što vas možda nikada neće podsjetiti na sebe, a može vam čak koštati živaca nakon sastavljanja ili nadogradnje računala: smrzavanja, spontana ponovna pokretanja, uporno nevoljkost pokretanja, stalni "plavi ekrani smrti", nemogućnost otkrivanje uređaja, neispravan rad... Popis se može podužiti. Vrlo često se takvi “glitches” događaju upravo zbog prekida, a ako ste zainteresirani za računala, onda svakako trebate znati gdje i zašto se takvi problemi pojavljuju i, što je vjerojatno najvažnije, kako se s njima nositi.

Što je?

Prekidi ili IRQ (Interrupt Request) su signali koji govore procesoru da je potrebno obraditi zahtjev primljen od nekog uređaja, a kontroler tog uređaja sam šalje te signale procesoru, odnosno uz pomoć IRQ-a procesor reagira na razne događaje.

Događa se da se pri razvoju bilo koje tehnologije stvaraju neka ograničenja, naravno ne namjerno, već zbog neke značajke ove inovacije ili jednostavno nedostatka. Isto se dogodilo i s prekidima. U početku, kada je IBM razvijao IBM PC arhitekturu (već 1980.-81. prošlog tisućljeća), nije ih toliko postavljeno (8), a zatim su dodali isti broj, uzimajući jedan "stari" prekid pod kontrolerom novih, ali ne bih rekao da je to bilo dovoljno. A onda je IBM prestao biti jedini koji radi na PC platformi, a kako bi se izbjegla nekompatibilnost s drugima, nitko više nije dodavao prekide.

Kakvi bi problemi mogli biti?

Kada je IBM PC arhitektura tek nastajala, napravljeno je malo prekida, samo osam, kao što sam već napisao, a davani su svakakvim "glupostima", poput COM portova, iako se inženjeri IBM-a pravdaju činjenicom da postoje nije bio neki poseban izbor, morali su ga tražiti kasnije. Očito, nitko nije predviđao takvu budućnost platforme, pa je za njen vrhunac, odnosno mogućnost proširenja, ostavljen samo jedan prekid, koji je zatim zauzeo kontroler druge „osmice“ IRQ. Međutim, vrijedno je napomenuti da se dodatni prekidi mogu (i mogu) osloboditi onesposobljavanjem raznih ISA uređaja koji ih zauzimaju: portovi, disketni pogoni. Dakle, pogreške ili sukobi nastaju kada nekoliko uređaja pokuša raditi na istom prekidu. To je vrlo problematično, jer mnogi moderni uređaji, posebno zvučne kartice i sve vrste multimedijskih procesora, nose nekoliko uređaja odjednom. Čak i najjednostavniji "zvučnici" imaju najmanje četiri uređaja na brodu. Ovako izgleda mapa prekida u modernom računalu:

IRQ Opis
0 Timer
1 Tipkovnica
2 Kontroler IRQ 8-15
3 COM2
4 COM1
5 LPT2
6 FDD kontroler
7 LPT1
8 Sat stvarnog vremena
9 Besplatno
10 Besplatno
11 Besplatno
12 PS/2 (za miša)
13 Koprocesor
14 HDD kontroler
15 HDD kontroler

Dakle, što ovo znači? Možete li instalirati samo tri dodatna uređaja na moderno računalo? Sudeći prema tablici, da, ali nije sve tako strašno. Na primjer, imate li LPT2 priključak? Čisto sumnjam. To znači da ako nema porta, onda je prekid slobodan. Dakle, teoretski se mogu osloboditi sljedeći prekidi:

IRQ Opis
3 Port se može osloboditi isključivanjem u BIOS-u. Mislim da je u većini slučajeva već slobodan.
4 Možete ga i isključiti. Ali koristi se mnogo češće: miševi, modemi, skeneri.
5 O tome sam već pisao. Gotovo uvijek besplatno.
6 Ako sastavljate novo računalo, posebno za dom, koristi od dobrog starog floppera su mnogo manje nego prije nekoliko godina. Mnogi ljudi već imaju CD-RW pogone. Više prostora, pouzdanije, brže, iako je prerano zakopati FDD... Flop se može onemogućiti i osloboditi IRQ.
7 Ako imate USB pisač, možete zakopati...
12 Većina modernih računala ima ovakve miševe. Možete staviti glodavca na COM, ali ćete blokirati još jedan interrupt, možete kupiti miša na USB, ali ovo će biti manična borba za IRQ :)
14 Slab bez vijka? Iako je teoretski moguće...
15 Čak i ako imate samo dva IDE uređaja, bolje ih je odvojiti u dva različita kanala. Radit će brže. Ali prekid se može otpustiti.

Već je lakše. Ali je li ovo dovoljno? Idem u svojstva sustava (imam Windows XP Professional). Start -> Svi programi -> Pribor -> Alati sustava -> Informacije o sustavu. Dalje u prozoru programa: Hardverski resursi -> Prekidi (IRQ). Evo što vidim tamo:

IRQ Opis
0 Sistemski mjerač vremena
1 Standardna (101/102 tipke) ili PS/2 Microsoft Natural tipkovnica
3 Serijski priključak (COM2)
4 Serijski priključak (COM1)
5 Conexant SoftK56 Data Fax Glasovni spikerfon
5
5 VIA Rev 5 USB univerzalni host kontroler
6 Standardni kontroler disketa
8 CMOS i sat
9 Microsoft ACPI kompatibilan sustav
10 Avance AC"97 Audio za VIA (R) audio kontroler
11 ATI RADEON VE DDR
12 PS/2 kompatibilan miš
13 Numerički procesor podataka
14 Primarni IDE kanal
15 Sekundarni IDE kanal

Pitanje je: što moj interni modem, koji, usput, nosi nekoliko uređaja, radi na jednom prekidu (od nedostajućeg LPT2) s dva USB kontrolera odjednom? Evo što.

Rješenje je pronađeno

Početak je devedesetih. Sustavna sabirnica (ISA - Industrial Standard Architecture), koja je radila na frekvenciji procesora, već se iscrpila. A sve zato što je normalno mogao prenositi podatke samo na frekvenciji od 8 MHz, što je bilo sasvim dovoljno za sve vrste PC/XT/AT/286/386. A tako napredan procesor kao što je 486 radio je na puno višoj frekvenciji. Morao sam usporiti ovaj autobus, što je imalo negativan učinak na frekvenciju. Godine 1989. razvijena je 32-bitna EISA sabirnica - Extended Industrial Standard Architecture, koja je radila na frekvenciji od 10 MHz, ali to je bio samo pokušaj da se od kolica napravi bicikl, jednostavno ispravljajući ISA greške. Otprilike u to vrijeme, IBM je stvorio MCA sabirnicu, koja nije zaživjela. VESA sabirnica (ili VL-sabirnica) je također stvorena, ali je mogla raditi samo s Intelom 486. I tako je 1991. godine, kao interni projekt, Intel započeo razvoj potpuno nove lokalne PCI sabirnice - Personal Component Interconnect. Razvijen je, moglo bi se reći, od nule i nije bio samo još jedna zakrpa za ISA, što mu je dalo velike prednosti. Na primjer, radio je na fiksnoj frekvenciji od 33 MHz, a procesor je imao vlastitu sabirnicu velike brzine, što mu je omogućilo pristup predmemorij i RAM-a na frekvenciji na kojoj je trebao, a ne oslanjanje na tehnička ograničenja procesora. lokalni autobus. Nova PCI sabirnica mogla je podnijeti pristojno opterećenje: do deset utora. Svi video adapteri su spojeni na PCI, jer je AGP sabirnica samo "zavrnuti" PCI s višom frekvencijom takta - 66 MHz. Na njega je (preko kontrolera) spojena i ISA sistemska sabirnica koja je prisutna na svim modernim računalima u obliku COM i LPT portova te disketa. Istina, potreba za njom je sve manja: flop diskovi miruju zbog greške CD-R/RW, COM/LPT zbog greške USB-a... Pa i ova PCI sabirnica, bez koje niti jedna moderna matična ploča može učiniti, postala je rješenje za problem prekida.

Kao što znate, računala mogu raditi samo s "1" i "0" ili "postoji signal" i "nema signala". Ako ISA uređaj postavi signal "1" na liniju, tada bez obzira kako postavite svoje jedinice na drugi uređaj na istoj liniji, kontroler neće odgovoriti na njih. Kod PCI kontroler provjerava izvor signala i tek ga onda obrađuje. To vam omogućuje postavljanje nekoliko uređaja na jedan prekid. Teoretski, da, ali imajte na umu da ne biste trebali “vjesiti” starije i novije uređaje na isti IRQ kanal. Također postoji mišljenje da ne biste trebali ništa stavljati na isti prekid sa zvučnom karticom, mogu se pojaviti pogreške. To se, naravno, ne događa uvijek, ali bolje je razmišljati o nečem pouzdanijem.

Stigli smo...

Ti si dobra osoba, ne smeta ti ništa za tvoj kompjuter. Dakle, kupili ste najbolju video karticu, pisač, skener, profesionalni zvuk i pogoršali ovu stvar s modemom, mrežnim adapterom, pa čak i TV tunerom. Tu su krenule “kiksevi”. Kako god ih zamijenili u utorima, ništa ne radi, bez obzira na sve. Što uraditi?

Postavljanje prekida iz BIOS-a

Dakle, na temelju čega se raspodjeljuju prekidi? Prilikom dizanja sustava, BIOS distribuira prekide na sljedeći način: IRQ linije svih uređaja koji podržavaju Plug"n"Play tehnologiju, a to su svi moderni uređaji, dobivaju jedan besplatni prekid. Ako su prekidi gotovi, ali još uvijek ima nepokrivenih uređaja, BIOS ih distribuira u drugom krugu, zbog čega ispada da je nekoliko uređaja dobilo jedan prekid. Sve će raditi izvrsno ako dva PCI uređaja prime jedan prekid, ali što ako PCI + ISA ili ISA + ISA? To je to, sukob. Moramo se dočepati ovog procesa.

Zatim, vrijedi napomenuti da koristim Epox 8K3AP matičnu ploču s Award BIOS 6.00PG. Najprikladniji i najlogičniji način za konfiguriranje IRQ-ova je njihovo ručno dodjeljivanje. Idite na PCI/PnP konfiguracije. Postoje postavke INT Pin n Assignment (ovo je moje, ali možda imate i ovo) i imena kao što su Slot n Use IRQ (točno se sjećam, tako je bilo u Award BIOS v. 4.51 PG); PCI Slot n Priority ili nešto slično). Svaka stavka u ovom izborniku odgovara jednoj od četiri IRQ linije, tako da možete dodijeliti drugačiji prekid svakoj liniji.

Postoji još jedan način za ponovno dodjeljivanje IRQ-ova. Idite na iste PCI/PnP konfiguracije, postoji stavka IRQ resursa (da biste otišli tamo morate postaviti vrijednost parametra Resources controlled by na Manual), a to je upravo ono što nam sada treba. Postojat će postavke za svaki mogući prekid. Prilično sam siguran da će svi brojevi imati opciju vezanu uz PCI sabirnicu, na primjer, PCI/ISA ili PCI uređaj, ovisi o vašoj verziji BIOS-a. Ali trebamo jedan ili više prekida da ostanu propušteni, odnosno rezervirani za ISA uređaje. Dakle, na prekidu koji želite napustiti, jednostavno postavite vrijednost poput Legacy ISA. Kod modernijih računala sve je postalo puno jednostavnije zbog nedostatka ISA utora, što znači da ne možete dodavati vlastite ISA uređaje, a sam sustav će se nositi sa sistemskima, kao što su flop ili serijski/paralelni portovi. U takvim sustavima vrijednost Reserved pojavljuje se umjesto vrijednosti Legacy ISA, odnosno možete jednostavno ostaviti prekid slobodnim. Ovo može biti potrebno u prilično teoretskom slučaju, ako ste dobili uređaj koji ne podržava Plug"n"Play, tada ga BIOS jednostavno neće vidjeti.

Postoji još jedna korisna stavka u istom izborniku. Informacije o instaliranom hardveru pohranjuju se u ESCD (Extended System Configuration Data). Ove se informacije provjeravaju svaki put prije pristupanja tvrdom disku radi pokretanja operativnog sustava. Naravno, kada se konfiguracija promijeni, ESCD se ažurira, a kada dođe do ažuriranja, IRQ-ovi se također mijenjaju. Postavljanje opcije Reset Configuration Data na Enabled će resetirati ESCD prilikom sljedećeg ponovnog pokretanja.

Award 6.00, koji je BIOS instaliran na većini matičnih ploča, ima još jednu zanimljivu "značajku". Ako odete na Postavljanje upravljanja napajanjem "IRQ/Event Activity Detect" IRQs Activity Monitoring, tamo možete konfigurirati koji će uređaji probuditi računalo radi prekida. Tamo također možete vidjeti trenutnu distribuciju IRQ brojeva, ali ne možete se uvijek osloniti na to, a evo zašto:

Postavljanje prekida iz Windowsa

Nakon BIOS-a, Windows gura nos u proces distribucije IRQ brojeva. Kako bi sve radio ispravno, iako se Windows ne miješa uvijek u ovaj proces, UVIJEK morate imati najnovije upravljačke programe za matičnu ploču. Ovo je vrlo važno, pogotovo ako ste izgradili/kupili moderno računalo, s matičnom pločom na novom ili relativno novom čipsetu i na sve to instalirali nekakav Windows 98... Osobno poznajem puno ljudi koji misle nešto poput ovo: na mojoj matičnoj ploči Nema zvona i zviždaljki na ploči, sve je standardno, nisu potrebna "drva za ogrjev"... Ovo je potpuno pogrešno. Da bi sustav ispravno funkcionirao, posebno kada se prekidi dijele, Windows mora prepoznati skup čipova i učitati IRQ Miniport. Ne zaboravite također instalirati svježe ili barem "native" upravljačke programe za sve uređaje, to će pomoći sustavu da ispravno radi.

Ako koristite Windows 9x, da biste saznali jesu li prekidi ispravno raspoređeni ili da biste ih ispravili, idite na svojstva sustava, da biste to učinili, na kartici Uređaji pronađite pomicanje Sistemski uređaji, a zatim PCI sabirnicu. Ako je IRQ Miniport učitan, onda je sve u redu. U Win 9x možete rezervirati prekide, baš kao u BIOS-u. U istom upravitelju uređaja pronađite Računalo i pozovite njegova svojstva. Ali da biste postavili određeni prekid za određeni uređaj, morate otići u njegova svojstva i na kartici Resursi postaviti željeni prekid. Nažalost, to je moguće samo u Win 9x; u Win XP, nisam tražio i nisam mogao pronaći kako poništiti automatsku konfiguraciju.

Ako koristite noviji Win 2000 ili XP, što je po mom mišljenju razumniji izbor, tada biste mogli naići na probleme. Znate li što je ACPI (Advanced Configuration and Power Interface)? Ovo je posebno konfiguracijsko sučelje. Sadrži puno korisnih stvari, ali u Win 2K/XP to vas može stvarno živcirati. Pogotovo ako sustav ima ISA ploče. Zbog njega Windows sve PCI uređaje koji se nalaze u istim konektorima rasporedi na jedan interrupt (zato imam USB s modemom na IRQ 5, a ostalo na ostalima), dobro, barem sadržaj AGP utora. i kodek AC "97 nisu ga gurnuli tamo ;). Zbog toga, ako ne isključite ACPI u BIOS-u prije instaliranja Windowsa, nećete moći ponovno dodijeliti IRQ-ove. Već sam gore napisao kako pogledajte njihovu distribuciju. A da biste promijenili situaciju, morat ćete isključiti ACPI u BIOS-u (stavka ACPI Functions u odjeljku Power Management Setup) i promijeniti upravljački program uređaja Computer with ACPI u Standard Computer Iako, osobno, ne bih volio izgubiti takve funkcije koje su izravno povezane s ACPI-jem, poput automatskog isključivanja računala ili uključivanja s tipkovnice, ponekad ova metoda otkazivanja ACPI-ja ne radi moram ga isključiti u BIOS-u i preurediti Windowse.



Povezane publikacije