Mājas / logu pārskats / Divas ierīces vienā irq ko darīt. Aparatūras pārtraukumi. Pārtraukšanas kontrolieris. Slodzes izsekošana ar īpašu utilītu

Divas ierīces vienā irq ko darīt. Aparatūras pārtraukumi. Pārtraukšanas kontrolieris. Slodzes izsekošana ar īpašu utilītu

Reti kad dators, it īpaši mājas dators, nodzīvos visu savu mūžu, nekad neveicot jaunināšanu vai jaunu ierīču pievienošanu. Vairumā gadījumu, protams, ievērojot elementārākos noteikumus, šāda operācija ir nesāpīga, neradot īpašas problēmas. Bet apmēram katrs desmitais (vai pat divdesmitais - vienalga) dators tiek nogādāts nestrādājošā stāvoklī: tas bieži sāk sasalt, atsakās veikt kādas funkcijas vai pat vienkārši iekrīt mūsu visu tik iemīļotajā. zils ekrāns no nāves. Parasti visticamākais šādu problēmu cēlonis ir aparatūras konflikti (jauni un veci), kuriem netika koplietoti aparatūras resursi. Nu, ja tava kvalifikācija ļauj atrisināt radušās problēmas, vai tuvumā ir kāds, kas var palīdzēt, bet ja nekā tāda nav? Tomēr tie nav dievi, kā zināms, katli ir sadedzināti, pasēdēsim, domājam - tu paskaties, un izlaužies cauri, jo viss nav tik grūti, lai gan visdažādāko iekārtu savietojamības problēma, kopš tās pirmsākumiem g. 80. gadu vidū, joprojām nav daudz, nav samazinājies. Ierosinātais raksts palīdzēs lietotājam tikt galā ar vienu no aprīkojumam nepieciešamajiem aparatūras resursu veidiem un visbiežāk visu veidu konfliktu galveno cēloni - ar aparatūras pārtraukumiem (IRQ).

Sistēmas aparatūras resursi

Komponentu darbībai var būt nepieciešami trīs galvenie dažādu aparatūras resursu veidi. Gandrīz katra ierīce izmanto vienu vai vairākus I/O portus. AT Šis gadījums tas nav seriālais vai paralēlais ports, bet tikai īpaša adrese, kaut kas līdzīgs adresei RAM. Šīs ostas darbojas īpašas komandas centrālais procesors, ar kura palīdzību jebkura informācija tiek ierakstīta portā vai nolasīta no tā. Bieži vien informācijas apmaiņa starp procesoru un ierīci notiek tikai caur portiem, un dažas ierīces uzņem duci vai pat vairāk portu adrešu, no kurām katra kalpo noteiktas funkcijas veikšanai.

Tiešās atmiņas piekļuves (DMA) kanāli tiek izmantoti daudz retāk. Šis mijiedarbības veids ir paredzēts ierīcēm, kas apmainās ar lieliem datu blokiem RAM, piemēram, diskdziņi vai printeriem. Visa apmaiņa apiet centrālo procesoru, kas tikai uzsāk apmaiņas darbību un nekavējoties pāriet uz citu darbu veikšanu. Šī pieeja var ievērojami palielināt visas sistēmas veiktspēju.

Un trešais resursa veids ir aparatūras pārtraukumi, kas ir pamata mehānisms sistēmas reakcijai uz ārējiem notikumiem. Aparatūras pārtraukumi, ko parasti sauc par IRQ (Interrupt Requests), ir fiziski signāli, ko ierīces kontrolleris izmanto, lai informētu procesoru par pieprasījuma apstrādi. Parasti pārtraukumu apstrādes shēma var izskatīties šādi:

  • procesors saņem pārtraukuma signālu un tā numuru;
  • izmantojot speciālu tabulu, tiek atrasta par pārtraukuma apstrādi atbildīgās programmas adrese ar doto numuru - pārtraukuma apstrādātājs;
  • procesors aptur kārtējā uzdevuma izpildi, saglabā starprezultātus un pārslēdzas uz pārtraukumu apstrādātāja izpildi;
  • procesors piekļūst ierīcei un pārbauda pārtraukuma cēloni;
  • tiek palaistas pieprasītās darbības - inicializācija, ierīces konfigurēšana, datu apmaiņa utt.;
  • kad visas nepieciešamās darbības ir pabeigtas, procesors atgriežas pie pārtrauktā uzdevuma.

Atšķirībā no programmatūras pārtraukumiem, ko aktivizē izpildoša lietojumprogramma, aparatūras pārtraukumi var notikt visnegaidītākajā laikā, turklāt vienlaikus var rasties vairāki pārtraukumi. Lai sistēma "pārāk daudz nedomātu" par to, kurš pārtraukums apkalpot vispirms, ir īpaša prioritāšu shēma. Katram pārtraukumam tiek piešķirta sava unikālā prioritāte. Ja pienāk vairāki pārtraukumi vienlaikus, tad sistēma dod priekšroku augstākajai prioritātei, uz laiku atliekot citu, mazāk svarīgu, pārtraukumu apstrādi.

Pārtraukt izplatīšanu

Apsveriet, kā pārtraukumi parasti tiek izplatīti standarta datorā. Daži numuri ir stingri saistīti ar noteiktām ierīcēm, dažus var atbrīvot un izmantot jūsu vajadzībām. Sāksim secībā:

  • IRQ 0- pārtraukt sistēmas taimeri. Ģenerēts 18,2 reizes sekundē. Izmantots šajā statusā kopš pirmā IBM PC izveides (šis numurs nav pieejams citiem lietojumiem);
  • IRQ 1- tastatūras pārtraukums. Tastatūras kontrolleris ģenerē katru reizi, kad tiek nospiests taustiņš (citam lietojumam numurs nav pieejams);
  • IRQ2 XT klases datoros, kas izmantoja tikai 8 pārtraukumu līnijas, tika rezervēts turpmākai sistēmas paplašināšanai un, sākot ar AT klases datoriem, tika izmantots otra kontrollera pieslēgšanai. Mūsdienās IRQ 2 sistēma izmanto saderībai ar vecāku programmatūru, numurs nav pieejams citiem lietojumiem;
  • IRQ 3- asinhronā porta COM 2 pārtraukums. To pašu pārtraukumu izmanto arī ierīces, kas darbojas caur portu COM 4. Ja vēlaties, tās var atspējot, bet neviens cits tāpat nevarēs piešķirt IRQ 3;
  • IRQ4 pēc analoģijas ar iepriekšējo, šo pārtraukumu izmanto ierīces, kas aizņem COM 1 / COM 3 portus;
  • IRQ 5 sākotnēji bija paredzēts otrajam paralēlajam portam LPT2, bet pēc tam, kad otrais paralēlais ports tika atmests, IRQ 5 kļuva brīvs. Vēlāk to aktīvi izmantoja lielākā daļa ISA skaņas karšu. mūsdienu PCI skaņas kartes izmanto šo pārtraukumu tikai saderībai ar vecākām spēlēm, no kurām lielākā daļa atbalsta SB Pro. IRQ 5 var izmantot citiem mērķiem un piesaistīt PCI slotam;
  • IRQ6, sākot no pirmajiem personālajiem datoriem, izmanto disketes kontrolleris (citam lietojumam numurs nav pieejams);
  • IRQ7- pēc noklusējuma pirmā paralēlā porta pārtraukums LPT 1. Ja ports ir atspējots (ja printeris nav pieejams vai paredzēts USB), to var izmantot dažādas ierīces. IRQ 7 var piesaistīt PCI slotam;
  • IRQ8- reāllaika pulksteņa pārtraukums, pirmo reizi ieviests IBM AT. Cita izmantošana nav iespējama;
  • IRQ 9 un IRQ 10 ir bezmaksas;
  • IRQ 11 parasti rezervēts USB kopnei, taču to var izmantot citiem mērķiem (lai to izdarītu, BIOS atspējojiet USB atbalstu);
  • IRQ 12 izmanto PS/2 pelei, bet var izmantot citiem mērķiem (ja PS/2 pele nav pieejama vai atspējota);
  • IRQ 13 sākotnēji izmantoja aritmētiskais kopprocesors, un tagad tas ir rezervēts saderībai ar vecāku programmatūru (citam lietojumam numurs nav pieejams);
  • IRQ 14 un IRQ 15 ko attiecīgi izmanto primārais un sekundārais IDE kontrolleris.

Ir vairāki veidi, kā noskaidrot, kā pašlaik tiek sadalīti pārtraukumu numuri jūsu konkrētajā gadījumā. Startējot datoru, pat pirms Windows sāk ielādi, tiek parādīta konfigurācijas teksta tabula. Tūlīt pēc tam ir PCI ierīču saraksts ar tām piešķirto IRQ numuru.

Vai arī, ja joprojām izmantojat operētājsistēmu Windows 9x, vadības panelī ir sistēmas ikona, noklikšķiniet uz tās un atlasiet cilni "Ierīces". Ierīces "Dators" rekvizītos varat atrast visu ierīču sarakstu ar to IRQ. Operētājsistēmā Windows 2000/XP mums nav tiešas piekļuves pārtraukumu pārvaldībai, tāpēc, lai skatītu IRQ sarakstu, mums ir jāizmanto standarta informācijas utilīta (Vadības panelis/Administratīvie rīki/Datoru pārvaldība/Sistēmas informācija/Aparatūras resursi). Un, visbeidzot, neviens nav atcēlis utilītu izmantošanu, kas pārbauda datora aparatūras un programmatūras iespējas.


To vidū, bez šaubām, populārākā ir SANDRA, kas spēj sniegt lietotājam vispusīgu informāciju, arī par pārtraukumiem.

Ierīču konflikti

Neiedziļinoties detaļās, mēs varam teikt, ka konflikts ir situācija, kurā vairāki objekti vienlaikus mēģina piekļūt vienam un tam pašam sistēmas resursam. Pārtraukumu konflikts rodas, ja vairākas ierīces izmanto vienu un to pašu pārtraukumu līniju, lai nosūtītu pieprasījuma signālu, un nav mehānisma šo pieprasījumu ranžēšanai, izraisot kļūmi vai vienas ierīces pārtraukšanu. Lai iegūtu skaidru priekšstatu par to, kā konfliktus var novērst vai novērst, jums ir jāsaprot IRQ pārvaldības mehānisms.

Kā tu zini, personālajiem datoriem sākās ar IBM PC XT. Tās arhitektūra paredzēja tikai astoņas aparatūras pārtraukumu līnijas, kuras kontrolēja īpašs kontrolieris. Katram no tiem tika piešķirts savs unikālais numurs, kas noteica pārtraukuma prioritāti un tā apstrādātāja adresi (tā sauktais pārtraukuma vektors). Nākamā arhitektūras versija IBM PC AT papildināja esošās līnijas ar vēl astoņām, kuras vadīja otrs kontrolleris, kas savienots ar vienu no pirmā kontrollera pārtraukumu līnijām. Diemžēl šī arhitektūra šajā brīdī apturēja savu attīstību, tāpēc visos mūsdienu datoros, neskatoties uz ievērojami palielināto tajos izmantoto papildu ierīču skaitu, joprojām ir tikai sešpadsmit pārtraukumu līnijas, no kurām viena ir rezervēta otra kontrollera emulēšanai.

Sākotnēji IBM PC AT datoram bija tikai viena kopne, caur kuru ierīces varēja sazināties ar procesoru un atmiņu - ISA. Lielākā daļa pārtraukumu līniju tika piešķirtas standarta ISA ierīcēm, tāpēc, kad parādījās jaunā universālā PCI kopne, izrādījās, ka tās daļā ir palikuši tikai četri brīvi pārtraukumi, kas apzīmēti kā INT A, INT B, INT C, INT D, tāpēc tikai četras PCI ierīces var saņemt neatkarīgus pārtraukumus sistēmā. Bet tajā pašā laikā jāņem vērā, ka IDE kontrolieris atrodas īpašā stāvoklī, kas nav starp šīm četrām ierīcēm tikai tāpēc, ka, lai gan tā ir PCI ierīce datu pārraides metodes ziņā, tā pati pārtrauc IRQ. 14 un IRQ tam ir stingri piešķirti.15, tāpat kā vecākām ISA ierīcēm. AGP kopnei, kas ir PCI kopnes variants, INT A ir "upurēta" un USB kopne kā viena no sistēmas sastāvdaļas, savienojas ar PCI, izmantojot INT D, kas samazina "godīgo" PCI ierīču skaitu tikai līdz divām. Mēs nedrīkstam aizmirst par Power Management / System Management jaudas pārvaldības apakšsistēmu, kurai arī ir nepieciešams savs pārtraukums. Tādējādi reālajā dzīvē, ja ir vairākas PCI ierīces, kas izmanto pārtraukumus, nav iespējams tām nodrošināt unikālus aparatūras IRQ, un šādos gadījumos tiek izmantota aparatūras-programmatūras metode, kas balstīta uz Plug & Play tehnoloģiju, kas teorētiski ļauj izvairīties no konfliktiem. Lai gan dzīvē var notikt jebkas, un atlikušās ISA ierīces joprojām nevar koplietot pārtraukumu līnijas, tāpēc tās ir galvenie konfliktu provokatori. Tādējādi konfliktu risināšanas problēma tiek samazināta līdz pareizam pārtraukumu numuru sadalījumam, ja rodas problēmas ar ISA ierīcēm vai "buggy" draiveriem.

Sistēmā IRQ numuri starp fiziskajām līnijām tiek piešķirti divreiz. Pirmo reizi sistēmas BIOS to dara sistēmas sāknēšanas laikā. Katrai Plug & Play ierīcei (un tas ietver visas PCI, modernās ISA un visas mātesplatē integrētās ierīces) tiek piešķirts viens numurs no pieejamajiem. Ja skaitļu nav pietiekami daudz, vairākas rindas iegūst vienu kopīgu. PCI ierīcēm tā nav problēma - ja jums ir normāli draiveri un operētājsistēmas atbalsts, visam vajadzētu darboties labi. Bet, ja vairākas ISA ierīces saņem vienādu numuru vai ne mazāk "sprādzienbīstamu" PCI un ISA ierīču maisījumu, tad konflikts ir vienkārši neizbēgams, un tad jums būs jāiejaucas automātiskās pārtraukumu sadales procesā. Šādā gadījumā jums ir jāatspējo visas neizmantotās ISA ierīces (sistēmās bez ISA slotiem tās tomēr ir: tie ir COM1, COM2 porti un disks). Varat arī atspējot LPT porta EPP un ECP režīmus, vienlaikus atbrīvojot IRQ7 pārtraukumu. Visas darbības, lai mainītu pārtraukumus BIOS iestatījumos, tiek veiktas sadaļā "PCI / PNP konfigurācija". Ir divi veidi, kā ietekmēt IRQ numuru piešķiršanu: bloķēt noteiktu numuru un tieši piešķirt līnijas numuru. Pirmā metode ir pieejama visām BIOS, tiek pielāgoti izvēlnes vienumi "IRQ x izmanto:" (jaunajās BIOS tas ir paslēpts apakšizvēlnē "IRQ Resources"). Tiem pārtraukumiem, kas jāpiešķir tikai ISA ierīcēm, jābūt iestatītiem uz "Legacy ISA". Tādējādi, sadalot numurus PCI ierīcēm, šie pārtraukumi tiks izlaisti. Tas jādara, ja kāda ISA ierīce spītīgi nokļūst vienā un tajā pašā pārtraukumā ar PCI ierīci, tāpēc abas ierīces nedarbojas. Šajā gadījumā jums jāatrod šī IRQ numurs un tas jābloķē. PCI ierīce pāriet uz jauno IRQ numuru, bet ISA ierīce paliek nemainīga. Otrs veids, kā pārvaldīt IRQ numurus, ir tieša piešķiršana, lai gan tas ir nedaudz sarežģītāks nekā pirmais, tas ir daudz efektīvāks. Žēl, ka ne visas mūsdienu mātesplates pieļauj šo darbību. Tajā pašā BIOS iestatīšanas apakšizvēlnē var būt tādi vienumi kā "Slot X use IRQ" (citi nosaukumi: "PIRQx use IRQ", "PCI Slot x priority", "INT Pin x IRQ"). Šī opcija ļauj iestatīt pārtraukumus atsevišķi katrai ierīcei PCI un AGP kopnē. Šajā gadījumā ir jāievēro šādi noteikumi:

  • Katrs PCI slots var aktivizēt līdz četriem pārtraukumiem - INT A, INT B, INT C un INT D;
  • AGP slots var aktivizēt divus pārtraukumus - INT A un INT B;
  • Tas ir normāli, ja katrs slots tiek piešķirts kā INT A. Atlikušie pārtraukumi tiek rezervēti, ja PCI/AGP ierīcei ir nepieciešams vairāk nekā viens pārtraukums vai ja pieprasītais pārtraukums ir aizņemts;
  • AGP slots un PCI slots 1 piešķir vienus un tos pašus pārtraukumus;
  • PCI sloti 4 un 5 arī izplata tos pašus pārtraukumus;
  • USB izmanto PIRQ_4.

Zemāk ir tabula, kurā parādīta saistība starp PIRQ (programmējamo pārtraukumu pieprasījumu) un INT (pārtraukumu):

Signāls AGP slots
PCI slots 1
PCI 2. slots PCI slots 3 PCI slots 4
PCI slots 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

Parasti šī opcija ir jāatstāj pozīcijā AUTO. Bet, ja rodas nepieciešamība iestatīt atsevišķu IRQ ierīcei AGP vai PCI kopnē, vispirms ir jānosaka, kurā slotā ierīce ir instalēta. Pēc tam, atsaucoties uz tabulu, varat iestatīt galveno PIRQ. Piemēram, ja Tīkla karte ir iestatīts uz slotu 3, tad galvenais PIRQ būs PIRQ_2, jo visi sloti, ja iespējams, tiek piešķirti INT A. Pēc tam tiek atlasīts vēlamais IRQ, piešķirot tam atbilstošu PIRQ vērtību. Vienkārši ņemiet vērā, ka BIOS mēģinās piešķirt PIRQ katram slotam INT A. Tātad AGP un PCI 1 slotiem galvenais PIRQ ir PIRQ_0, savukārt PCI slotam 2 galvenais PIRQ ir PIRQ_1 un tā tālāk. Tiek piešķirti otrreizējo pārtraukumu numuri operētājsistēma, lai gan Windows 9x sāk traucēt BIOS veiktajām darbībām tikai ārkārtējos gadījumos. Operētājsistēmā Windows 98 IRQ izplatīšanas sistēma tiek pārvaldīta, izmantojot standarta ierīču pārvaldnieku. Sistēmas ierīču sarakstā jāatrod PCI kopne.


Tās īpašībās ir īpaša cilne. Ja viss ir iestatīts pareizi, tur tiks minēts miniports ("veiksmīgi ielādēts") un tiks iespējota PCI kopnes pārvaldība (Steering). Tādējādi operētājsistēmai Windows "98 ir līdzekļi, lai kontrolētu pārtraukumu numuru sadalījumu starp fiziskajām līnijām. Bet tā kā BIOS visbiežāk ar to labi strādā, šis mehānisms nav iesaistīts. Bet dažreiz tas ir vienkārši nepieciešams. Lietojot novecojušas ISA ierīces kas neatbalsta Plug technology & Play, BIOS var to nepamanīt, nododot tās aizņemto pārtraukumu PCI ierīcei - atkal konflikts. Lai to atrisinātu, nepieciešams rezervēt nepieciešamo pārtraukumu Windows ierīču pārvaldniekā "98.

Papildus dublēšanai varat tieši iestatīt ierīces pārtraukuma numuru. Lai to izdarītu, tās rekvizītos jāatrod cilne "Resursi", jāatspējo automātiskā regulēšana un jāmēģina mainīt piešķirto pārtraukuma numuru. Esiet uzmanīgi, šāda operācija ne vienmēr darbojas un dažkārt var novest pie pilnīgi neparedzamiem rezultātiem.

Bet par Windows 2000 (kā arī XP) - atsevišķa saruna. Ja jums ir diezgan moderns dators, iespējams, tas atbalsta ACPI konfigurācijas saskarni. Windows 2000 šajā gadījumā parasti ignorēs BIOS darbības un "pakārt" visas PCI ierīces vienā loģiskā pārtraukumā. Kopumā tas darbosies labi (ja nav ISA ierīču), taču dažreiz var rasties problēmas. Lai varētu mainīt pārtraukumu numurus, ir jāmaina HAL kodols vai atkārtoti jāinstalē sistēma Windows 2000 ar atspējotu ACPI BIOS. Kodols tiek aizstāts šādi: ierīču pārvaldniekā atlasiet "Dators / dators ar ACPI", pēc tam draiveris jāmaina uz " standarta dators" un restartējiet. Ja tas nepalīdz, jums būs atkārtoti jāinstalē Windows 2000.

Pēdējie padomi

Pēc jaunas operētājsistēmas instalēšanas ar visiem ierīču draiveriem un pārliecinoties, ka tā darbojas bez problēmām, ir vērts visu pierakstīt datora iestatījumi, it īpaši, ja ir veiktas kādas izmaiņas noklusējuma iestatījumos. Visticamāk šādu informāciju pierakstīt uz parastas papīra lapas. Šāda informācija var būt ļoti noderīga, veicot jebkādas izmaiņas konfigurētajā sistēmā, kā arī palīdzēt atrisināt problēmas, kas var rasties, ja visi iestatījumi "izkustēsies", uzstādot jaunu aprīkojumu (arī tā dažreiz notiek). Un, pats galvenais, atcerieties: lielākā daļa problēmu, kas rodas, ir saistītas ar datora īpašnieka zemo datorprasmes līmeni. Tāpēc vienmēr jātiecas uz pašizglītību, tad būs mazāk problēmu, un tās, kas tomēr rodas, nešķitīs neatrisināmas.

Konflikts ir situācija, kurā vairāki objekti vienlaikus mēģina piekļūt resursam, kas paredzēts tikai vienam no tiem. Pārtraukumu konflikts rodas, ja vairākas ierīces izmanto vienu un to pašu pārtraukumu līniju, lai nosūtītu pieprasījuma signālu, un nav mehānisma konkurējošu pieprasījumu apstrādei. Ja vadītājs, saņemot kontroli, strādā ar citu ierīci, kas nosūtīja pieprasījumu, tad vai nu rodas kļūme, vai arī viena no ierīcēm vienkārši nedarbojas.

Rodas jautājums: vai vairākas ierīces var izmantot vienu pārtraukumu līniju, vai arī tas principā nav iespējams? Galu galā, ja vadītājs var noteikt, no kura tieši pieprasījums nāca, tas reaģēs tikai uz signāliem no "tās" ierīces, ignorējot visus pārējos. Bet par to kaut kādā veidā ir jāvienojas iepriekš, pretējā gadījumā konflikts ir neizbēgams.

Vietējā PCI kopne tika izstrādāta, ņemot vērā pārtraukumu koplietošanu. Katrai PCI ierīcei pareizi jādarbojas tajā pašā pārtraukumu līnijā kā citām PCI ierīcēm. Tas tiek darīts šādi: signāla klātbūtni pārtraukuma līnijā nosaka nevis priekšpuse, t.i. sprieguma līmeņa izmaiņas, bet gan fakts par noteikta sprieguma esamību. Vairākas ierīces var mainīt spriegumu līnijā vienlaikus, kļūstot it kā apkalpošanas rindā.

Tādējādi viena un tā paša IRQ koplietošana vairākām PCI ierīcēm pēc definīcijas nav konflikts (attēls). Tomēr dažreiz rodas problēmas. Pirmkārt, ne visas PCI ierīces darbojas pareizi tajā pašā pārtraukumu līnijā kā citas. Otrkārt, dažreiz vadītājiem ir kļūdas, kas neļauj viņiem pareizi identificēt signāla avotu, traucējot citiem draiveriem. Treškārt, ne visas ierīces darbojas PCI kopnē; piemēram, ISA ierīces, kurās ietilpst, piemēram, COM / LPT portu kontrolleri, nevar koplietot pārtraukumus ar citiem.

Rīsi. Win2000 ierīču pārvaldnieka IRQ karte — IO PIC Intel 440BX mikroshēmojums

Rīsi. Win2000 IRQ MAP — IO APIC — caur KT266a mikroshēmojumu

Rezultātā iespējamas situācijas, kad dators bieži sasalst, atsakās veikt kādas funkcijas vai pat vienkārši iekrīt tā dēvētajā “nāves zilajā ekrānā”.

Apic (uzlabots programmējams pārtraukumu kontrolieris)

Kā parādīts iepriekš, pārtraukuma līnija ir ļoti ierobežots resurss datoram. Taču, attīstoties datoru industrijai, dažādu ārējo ierīču skaits datorā nepārtraukti pieaug. Piemēram, uz viena mātesplatē var būt 5-6 PCI sloti, AGP slots, integrēts IDE kontrolleris, integrēts SCSI kontrolleris, integrēts 1/2 porta tīkla adapteris utt. Un visām šīm ierīcēm ir nepieciešami pārtraukumi. 16 IRQ līnijas pakāpeniski kļuva nepietiekamas.

APIC ir pārtraukumu kontrolieris, kas ļauj izmantot 24 aparatūras pārtraukumus, nevis 16. 16 aparatūras pārtraukumu ierobežojums, kas nav mainīts kopš 1982. gada, kavēja instalēšanu personālajā datorā papildu ierīces. 2001. gada beigās parādījās pirmās mātesplates ar APIC.

Rīsi. Pārtraukšanas sistēma daudzprocesoru vidē.

Iepriekšējais apraksts attiecās uz PIC, kas paredzēti viena procesora sistēmām. Ja sistēmā ir divi vai vairāki procesori, šī pieeja vairs nav iespējama un ir nepieciešami sarežģītāki PIC.

Visi mūsdienu x86 procesori ietver vietējo APIC (vietējo APIC). Katram lokālajam APIC ir 32 bitu reģistri, iekšējais pulkstenis, vietējais taimeris un divas papildu IRQ līnijas LINT0 un LINT1, kas rezervētas vietējiem APIC pārtraukumiem. Visi lokālie APIC ir savienoti ar ārēju I/O APIC.

I/O APIC satur 24 IRQ līniju komplektu, 24 virzienu pārtraukumu novirzīšanas tabulu, programmējamus reģistrus un ziņojumu bloku ziņojumu nosūtīšanai un saņemšanai APIC kopnē. Atšķirībā no 8259A IRQ tapām, pārtraukuma prioritāte nav saistīta ar tapas numuru.

Katru ierakstu pārtraukumu novirzīšanas tabulā var individuāli ieprogrammēt, lai parādītu pārtraukuma vektoru un tā prioritāti, kurš procesors apstrādās pārtraukumu un kā šis procesors tiks atlasīts. Pārtraukumu novirzīšanas tabulā esošā informācija tiek izmantota, lai katru ārējo signālu pārvērstu ziņojumā, kas adresēts vienam vai vairākiem vietējiem APIC, izmantojot APIC kopni.

Statiskais sadalījums

IRQ signālu piegādā vietējais APIC, kas norādīts attiecīgajā pārtraukumu novirzīšanas tabulas ierakstā. Pārtraukums tiek piegādāts vienam noteiktam CPU, vairākiem CPU vai visiem CPU.

Dinamiskā piešķiršana

IRQ signāls tiek piegādāts procesora lokālajam APIC, kas palaiž procesu ar zemāko prioritāti.

Katram lokālajam APIC ir programmējams darba prioritāšu reģistrs, ko izmanto, lai aprēķinātu pašreizējā procesa prioritāti. Intel sagaida, ka šo reģistru atjauninās operētājsistēmas kodols katrā procesa slēdzī.

Papildus pārtraukumu sadalei starp vairāku API procesoriem, sistēma ļauj CPU ģenerēt starpprocesoru pārtraukumus. Kad CPU vēlas nosūtīt pārtraukumu citam CPU, tas saglabā pārtraukuma vektoru un mērķa vietējo APIC ID sava vietējā APIC pārtraukumu komandu reģistrā (ICR). Pēc tam ziņojums tiek nosūtīts pa APIC kopni mērķa vietējam APIC, kas izdod atbilstošu CPU pārtraukumu.

Pašlaik daudzās vienprocesoru sistēmās ir iekļauta I/O APIC mikroshēma, ko var konfigurēt divos veidos:

1. Kā standarta 8259A PIC, kas savienots ar centrālo procesoru. Vietējais APIC ir atspējots, un divas līnijas LINT0 un LINT1 ir konfigurētas kā INTR un NMI tapas.

2. Kā standarta ārējā I/O APIC. Vietējais APIC ir iespējots, un visi ārējie pārtraukumi tiek saņemti, izmantojot I/O APIC.

  • Alieva Jeļena Viktorovna, students
  • Ufas Valsts aviācijas tehniskā universitāte
  • PĀRTRAUKŠANAS VADĪTĀJS
  • VADĪTĀJS
  • APARATŪRAS PĀRTRAUKTS
  • PĀRTRAUKTS

Pārtraukums nozīmē īslaicīgu galvenā skaitļošanas procesa pārtraukumu, lai veiktu kādas plānotas vai neplānotas darbības, ko izraisa aparatūras vai programmas darbība. Pārtraukšanas mehānisms tiek atbalstīts aparatūras līmenī. Aparatūras pārtraukumi rodas kā mikroprocesora reakcija uz fiziskais signāls no kādas ierīces (tastatūra, sistēmas pulkstenis, tastatūra, HDD utt.), šie pārtraukumi norises laikā ir asinhroni, t.i. notiek nejaušos laikos. Pārtraukumu kontrolieris ir paredzēts, lai apstrādātu un šķīrējtiesu centrālajam procesoram no perifērijas ierīcēm ienākošos pakalpojumu pieprasījumus. Pārtraukumiem ir noteikta prioritāte, kas ļauj pārtraukumu kontrollerim noteiktā laikā piešķirt prioritāti vienai ierīcei pār citu. Mūsdienu datorā ir līdz 16 ārējām un perifērijas ierīcēm, kas rada pārtraukumus.

  • Ražošanas uzņēmuma noliktavas darbplūsmas automatizācija
  • Zvani - tehnoloģijas, funkcijas, pielietojums un efektivitāte
  • Juridiskās nodaļas atbalsta un uzņēmumu līgumu slēgšanas informācijas sistēmas modeļa izstrāde

Ievads

Pārtraukums nozīmē īslaicīgu galvenā skaitļošanas procesa pārtraukumu, lai veiktu kādas plānotas vai neplānotas darbības, ko izraisa aparatūras vai programmas darbība. Tie. tas ir process, kas uz laiku pārslēdz mikroprocesoru uz citas programmas izpildi un pēc tam atgriežas pie pārtrauktās programmas. Nospiežot taustiņu uz tastatūras, mēs uzsākam tūlītēju izsaukumu programmai, kas atpazīst taustiņu, ievada tās kodu tastatūras buferī, no kuras to nolasa cita programma. Tie. uz kādu laiku mikroprocesors pārtrauc pašreizējās programmas izpildi un pārslēdzas uz pārtraukumu apstrādātāju, tā saukto pārtraukumu apstrādātāju. Kad pārtraukumu apstrādātājs pabeidz savu darbu, pārtrauktā programma turpinās izpildi no vietas, kur tā tika pārtraukta. Pārtraukumu apstrādātāja programmas adrese tiek aprēķināta no pārtraukumu vektoru tabulas.

Pārtraukšanas mehānisms tiek atbalstīts aparatūras līmenī. Atkarībā no avota pārtraukumus iedala:

  • aparatūra- rodas kā mikroprocesora reakcija uz fizisku signālu no kādas ierīces (tastatūra, sistēmas pulkstenis, tastatūra, cietais disks u.c.), šie pārtraukumi ir asinhroni rašanās laikā, t.i. notiek nejaušā laikā;
  • programmatūra- tiek izsaukti mākslīgi ar atbilstošas ​​komandas palīdzību no programmas (int), ir paredzēti dažu operētājsistēmas darbību veikšanai, ir sinhroni;
  • izņēmumi- ir mikroprocesora reakcija uz nestandarta situāciju, kas radusies mikroprocesora iekšienē, izpildot kādu programmas norādījumu (dalīt ar nulli, pārtraukums uz TF karoga (izsekošana)) .

Aparatūras pārtraukumu sistēma

Pārtraukšanas sistēma ir programmatūras un aparatūras kombinācija, kas ievieš pārtraukuma mehānismu.

Pārtraukšanas sistēmas aparatūra ietver:

  • mikroprocesora izejas - uz tām tiek ģenerēti signāli, kas informē mikroprocesoru, ka kāda ārēja ierīce “pieprasa tai uzmanību” (INTR), vai arī nepieciešama steidzama kāda notikuma vai katastrofālas kļūdas apstrāde (NMI).
  • INTR - kontakts ievades pārtraukuma pieprasījuma signālam,
  • NMI — NMI ievades tapa
  • INTA - izejas signāla izeja, kas apstiprina, ka mikroprocesors ir saņēmis pārtraukuma signālu (šis signāls tiek padots uz 8259A kontrollera mikroshēmas tāda paša nosaukuma ieeju;
  • programmējams pārtraukumu kontrolieris 8259A (paredzēts pārtraukumu signālu uztveršanai no astoņiem dažādiem ārējās ierīces; tas ir izgatavots mikroshēmas veidā; parasti tiek izmantotas divas sērijveidā pieslēgtas mikroshēmas, tāpēc iespējamo ārējo pārtraukumu avotu skaits ir līdz 15 plus viens nemaskējams pārtraukums; tas ir tas, kurš ģenerē pārtraukuma vektora numuru un izsniedz tā datu kopni);
  • ārējās ierīces (taimeris, tastatūra, magnētiskie diski utt.)

Pārtraukt apstrādi

Pārtraukums izraisa virkni notikumu, kas notiek gan aparatūrā, gan programmatūrā. Uz att. 1 parāda tipisku šo notikumu secību.

Pēc I/O ierīces darbības pārtraukšanas notiek:

  • Ierīce nosūta pārtraukuma signālu procesoram.
  • Pirms reaģēšanas uz pārtraukumu procesoram jāpabeidz pašreizējās instrukcijas izpilde (skat. 1. attēlu).
  • Procesors pārbauda pārtraukumu, nosaka to un nosūta ierīcei, kas nosūtīja pārtraukumu, signālu, ka tā ir veiksmīgi saņēmusi. Šis signāls ļauj ierīcei noņemt pārtraukuma signālu.
1. attēls. Programmas laika diagramma: Lēna I/O

Tagad procesoram ir jāsagatavojas, lai nodotu vadību pārtraukumu apstrādātājam. Vispirms jums ir jāsaglabā viss svarīga informācija lai vēlāk varētu atgriezties pie pašreizējās programmas punkta, kurā tā tika apturēta. Minimālā nepieciešamā informācija ir programmas statusa vārds un nākamās izpildāmās instrukcijas adrese, kas atrodas programmas skaitītājā. Šie dati tiek pārsūtīti uz sistēmas vadības steku.

2. attēls. Vienkārša pārtraukuma apstrāde

Tālāk procesora programmu skaitītājs tiek ielādēts ar pārtraukumu apstrādātāja programmas ievades adresi, kas ir atbildīga par šī pārtraukuma apstrādi. Atkarībā no datora arhitektūras un operētājsistēmas ierīces var būt vai nu viena programma visu pārtraukumu apstrādei, vai arī katrai ierīcei un katram pārtraukuma veidam var būt atsevišķs apdarinātājs. Ja ir vairākas programmas, lai apstrādātu pārtraukumus, procesoram ir jānosaka, kuru no tām izsaukt. Šī informācija var būt ietverta sākotnējā pārtraukuma signālā; pretējā gadījumā, lai iegūtu nepieciešamo informāciju, procesoram pēc kārtas jāaptauj visas ierīces, lai noteiktu, kura no tām ir nosūtījusi pārtraukumu.

Tiklīdz programmas skaitītājā tiek ielādēta jauna vērtība, procesors pāriet uz nākamo instrukciju ciklu, turpinot to izgūt no atmiņas. Tā kā instrukcija tiek iegūta no vietas, kuras numuru piešķir programmas skaitītāja saturs, vadība tiek nodota pārtraukuma rutīnai. Šīs programmas izpilde ietver šādas darbības.

Programmu skaitītāja saturs un pārtrauktās programmas statusa vārds jau ir saglabāts sistēmas kaudzē. Tomēr šī nav visa informācija, kas saistīta ar izpildāmās programmas stāvokli. Piemēram, jums ir jāsaglabā procesora reģistru saturs, jo šie reģistri var būt nepieciešami pārtraukumu apstrādātājam. Tāpēc ir jāsaglabā visa informācija par programmas stāvokli. Parasti pārtraukumu apstrādātājs sāk, visu reģistru saturu nospiežot uz steku. Cita informācija, kas būtu jāuzglabā, ir aplūkota 3. nodaļā Procesa apraksts un kontrole. Uz att. parādīts vienkāršs piemērs, kurā lietotāja programma tiek pārtraukta pēc instrukcijas izpildes no vietas N. Visu reģistru saturs, kā arī nākamās instrukcijas adrese (N + 1), kopā M vārdus, tiek nospiesta stekā. . Stenda rādītājs tiek atjaunināts, lai norādītu uz jauno kaudzes augšdaļu. Tiek atjaunināts arī programmu skaitītājs, norādot pakalpojuma pārtraukuma rutīnas sākumu.

Tagad pārtraukumu apstrādātājs var sākt savu darbu. Pārtraukuma apstrādes process ietver statusa informācijas pārbaudi, kas saistīta ar I/O operācijām vai citiem notikumiem, kas izraisīja pārtraukumu. Tas var ietvert arī papildu norādījumu vai paziņojumu ziņojumu nosūtīšanu I/O ierīcēm.

Pēc pārtraukuma apstrādes pabeigšanas no steka tiek izgūtas iepriekš saglabātās vērtības, kuras atkal tiek ievadītas reģistros, tādējādi atsākot stāvokli, kādā tās bija pirms pārtraukuma.

Pēdējais solis ir atjaunot programmas statusa vārdu un programmu skaitītāja saturu no steka. Rezultātā tiks izpildīta nākamā pārtrauktās programmas komanda.

Tā kā pārtraukums nav no programmas izsaukta apakšprogramma, pilnīgai atkopšanai ir svarīgi saglabāt visu pārtrauktās programmas stāvokļa informāciju. Tomēr pārtraukums var notikt jebkurā laikā un jebkurā lietotāja programmā. Šis notikums ir neparedzams.

Pārtraukuma kontrolieris

Pārtraukumu kontrolieris ir paredzēts, lai apstrādātu un šķīrējtiesu centrālajam procesoram no perifērijas ierīcēm ienākošos pakalpojumu pieprasījumus. Pēc analoģijas pārtraukuma kontroliera funkcijas var salīdzināt ar kāda priekšnieka sekretāru. Sekretārei ir jāizlemj, kuru no apmeklētājiem vispirms uzņemt priekšniekam un kuru un pēc tam, pamatojoties uz priekšnieka noteiktajām prioritātēm un apmeklētāja statusu. Tātad datorsistēmā ir iespējams, ka vairākas perifērijas ierīces ir nosūtījušas pārtraukuma signālu vai pārtraukuma pieprasījumu. Datorliteratūrā šis signāls tiek saukts par IRQ (Interrupt Request).

Kā minēts iepriekš, pārtraukumiem ir noteikta prioritāte, kas ļauj pārtraukumu kontrolleriem dot priekšroku vienai ierīcei noteiktā laikā, nevis citai. Mūsdienu datorā ir līdz 16 ārējiem un perifērijas ierīces kas rada pārtraukumus. Šeit ir ierīces:
–IRQ 0, sistēmas taimeris; –IRQ 1, tastatūra; –IRQ 2, ko izmanto, lai vaicātu kaskādes ierīcēm; -IRQ 8, reāllaika pulkstenis; –IRQ 9, rezervēts; –IRQ 10, rezervēts; –IRQ 11, rezervēts; –IRQ 12, ps/2 – pele; –IRQ 13, kopprocesors; –IRQ 14, cietā diska kontrolleris; –IRQ 15, rezervēts; –IRQ 3, porti COM2, COM4; –IRQ 4, porti COM1, COM3; –IRQ 5, LPT2 ports; –IRQ 6, piedziņas kontrolieris; -IRQ 7, LPT1 ports, printeris.

Šeit signāli ir uzskaitīti dilstošā prioritātes secībā. Var redzēt, ka pēc IRQ 2 seko IRQ 8. Fakts ir tāds, ka vienā reizē pārtraukuma kontrolieris sastāvēja no divām mikroshēmām, viena bija savienota ar otru. Šī otrā mikroshēma ir savienota ar IRQ 2 līniju, veidojot kaskādi. Tas apkalpo līnijas IRQ8-IRQ 15. Un tad seko pirmās mikroshēmas līnijas.

Pārtraukšanas kontroliera darbība

Pārtrauciet kontroliera darbību tiek uzskatīts par balstītu uz Intel 8259A mikroshēmām, kuras tika izmantotas tagad ļoti vecos datoros ar procesoriem līdz 386. sērijai. Šiem datoriem parasti bija 2 8259A mikroshēmas, kas savienotas kaskādē, tas ir, viens ar otru. Viena no mikroshēmām, kas caur pārtraukuma pieprasījuma līniju ir savienota tieši ar procesoru, ir galvenā vai galvenā. Pārējos, kas saistīti ar saimnieku caur līdzīgiem secinājumiem, sauc par vergiem.


3. attēls. Pārtraukumu kontrolleru savienojuma shēma un to mijiedarbība ar centrālo procesoru

3. attēlā parādīta pārtraukumu kontrolleru savienojuma shēma un to mijiedarbība ar centrālo procesoru. Pārtraukumu signāli no perifērijas ierīcēm vai pakārtotajiem kontrolleriem tiek ievadīti uz galvenā kontrollera ieejām IR0–IR7. Galvenā kontroliera iekšējā loģika apstrādā ienākošos pieprasījumus prioritātes ziņā. Ja ierīces pieprasījuma prioritāte ir pietiekama, tad kontrollera izejā INT tiek ģenerēts signāls, kas tiek padots uz procesora ieeju INTR. Pretējā gadījumā pieprasījums tiek bloķēts.

Ja procesors nodrošina pārtraukumus, tad pēc pašreizējās instrukcijas izpildes tas ģenerē signālu secību INTA līnijā, kas vergu kontrolleri nostāda imunitātes stāvoklī pret ienākošiem jauniem pārtraukuma pieprasījumiem, un papildus informācija no kontroliera iekšējie reģistri tiek izvadīti uz datu līniju, pēc kuras procesors atpazīst pārtraukuma veidu.

Procesors piešķir pārtraukuma atļauju pārtraukuma kontrollerim, izmantojot kopnes kontrolleri. RD signāls ir paredzēts, lai nodrošinātu, ka pārtraukuma kontrolieris ievieto iekšējo reģistru saturu datu kopnē. Uz WR signāla pārtraukuma kontrolieris, gluži pretēji, saņem datus no tāda paša nosaukuma kopnes un ieraksta tos iekšējos reģistros. Attiecīgi tas ietekmē pārtraukuma kontrollera darbības režīmu.

CS ieeja ir savienota ar adrešu kopni, un šis signāls identificē noteiktu pārtraukuma kontrolieri. Ievade A0 norāda uz pārtraukuma kontrollera portu I/O telpā.

Ieejas IR0–IR7 ir paredzētas pārtraukumu pieprasījumu saņemšanai no perifērijas ierīcēm un pakārtotajiem kontrolleriem.

CAS0-CAS2 izejas ir paredzētas, lai identificētu noteiktu palīgkontrolieri.

Rakstā apskatīti aparatūras pārtraukumi un ierīce, funkcijas, pārtraukuma kontrollera darbība.Šis pārtraukuma kontrolieris parādījās pirmajos ar datoru saderīgajos datoros. Kopš tā laika gan procesori, gan pats dators ir daudzējādā ziņā mainījušies, lai gan daži punkti paliek. Tāpēc, lai to padarītu skaidrāku, tika apsvērta 8295A pārtraukuma kontroliera organizācija.

Iepriekš redzamajā diagrammā ir parādīti signāli, kas nāk ne tikai uz pakārtotajiem un galvenajiem pārtraukumu kontrolieriem, bet arī uz pārējiem vergiem. Tomēr jūsu datoram vai klēpjdatoram faktiski ir 2 pārtraukumu kontrolleri, kā minēts iepriekš: galvenais un pakārtotais. Bet jūs varat izveidot savas datorsistēmas, izmantojot līdz 64 vergu pārtraukumu kontrolieriem šādā veidā.

AT mūsdienu datori sen pārtraukt kontroliera funkcijas neveic 8259A mikroshēmas, bet dienvidu tilts. Tomēr visām programmām un ierīcēm viss paliek nemainīgs. Turklāt pārtraukumu kontrolleris ir programmējams, un iekšējiem reģistriem un portiem ir jāpiekļūst tāpat kā 8259A kontrollerim.

Secinājums

Šajā rakstā tika apskatīti pārtraukumi, proti, pārtraukumu apstrādes aparatūra un pārtraukumu apstrādes princips. Tiek apskatīti arī pārtraukumu kontrolieri un to darbības princips.

Pārtraukums nozīmē īslaicīgu galvenā skaitļošanas procesa pārtraukumu, lai veiktu kādas plānotas vai neplānotas darbības, ko izraisa aparatūras vai programmas darbība. Pārtraukšanas mehānisms tiek atbalstīts aparatūras līmenī. Aparatūras pārtraukumi rodas kā mikroprocesora reakcija uz fizisku signālu no kādas ierīces (tastatūras, sistēmas pulksteņa, tastatūras, cietā diska u.c.), šie pārtraukumi ir asinhroni rašanās laikā, t.i. notiek nejaušos laikos.

Pārtraukuma kontrolieris ir paredzēts, lai apstrādātu un šķīrējtiesu centrālajam procesoram no perifērijas ierīcēm ienākošos pakalpojumu pieprasījumus. Pārtraukumiem ir noteikta prioritāte, kas ļauj pārtraukumu kontrolieris dot priekšroku konkrētai ierīcei, nevis citai. Mūsdienu datorā ir līdz 16 ārējām un perifērijas ierīcēm, kas rada pārtraukumus.

Bibliogrāfija

  1. Lekcija. Pārtrauc. E-pasts Resurss. http://hromatron.narod.ru/_lekcii/prerivania_lekcia_g2013.htm
  2. Sistēmas pārtraukumi | Aparatūras pārtraukums | Pārtraukumu apstrāde http://life-prog.ru/view_os.php?id=16
  3. Pārtraukšanas kontrolieris. E-pasts Resurss http://sdelaycomputersam.ru/Controller_irq.php,
  4. Pārtrauc. Pārtraukšanas kontrolieris. Ierīce, funkcijas, darbs. E-pasts Resurss http://sdelaycomputersam.ru/Controller_irq.php
  5. Intel 8259A pārtraukumu kontrollera struktūra un inicializācija

Domāju, ka daudzi zinātkāri lietotāji, iespējams, ne reizi vien ir saskārušies ar tādu saīsinājumu kā IRQ. To var atrast, piemēram, ja vēlaties ieskatīties Device Manager programmā sistēmā Windows. Ja izvēlaties jebkuru ierīci, piemēram, tastatūru, ar peles labo pogu atlasiet izvēlnes vienumu "Properties" un parādītajā logā aktivizējiet cilni "Resursi", tad resursu sarakstā redzēsit uzraksts IRQ 01.

Kas ir IRQ un kam tas paredzēts?

Saīsinājums IRQ apzīmē Interrupt ReQuest (pārtraukšanas pieprasījums). Lai saprastu, kāpēc tas ir nepieciešams, jāatgādina personālā datora darba organizācijas detaļas.

Datora asinsrites sistēma, caur kuru procesors un citas ierīces apmainās ar informāciju, ir sistēmas kopne. Bet vispār, kā procesors spēj atšķirt informācijas apstrādes pieprasījumus, kas nāk pa kopni no dažādām ierīcēm?

Šim nolūkam ir aparatūras pārtraukumu sistēma (IRQ). Katram pārtraukumam ir noteikts numurs (numerācija sākas no 0), un tas tiek piešķirts noteiktai ierīcei. Tātad tastatūrai tiek piešķirts pārtraukuma numurs 1, līdz ar to apzīmējums IRQ 01.

Kad no ierīces tiek saņemts pieprasījums, dators pārtrauc (tātad pats termins “pārtraukums”) pašreizējās informācijas apstrādi un sāk apstrādāt tikko saņemto. Ja ir vairāki pārtraukumi, tad tie tiek apstrādāti katram no tiem piešķirto prioritāšu secībā. Parasti, jo mazāks ir pārtraukuma numurs, jo lielāka procesora prioritāte ir ierīcei šim pārtraukumam, taču šis noteikums ne vienmēr tiek ievērots.

IRQ apstrādei kalpo īpaša mikroshēma, ko sauc par pārtraukumu kontrolieri. Parasti šī mikroshēma ir daļa no centrālā procesora, un dažreiz tā tiek piešķirta kā atsevišķa mikroshēma mātesplatē. Lai apstrādātu katru pārtraukumu BIOS, ir īpaša programmaparatūra, ko sauc par pārtraukumu apstrādātāju. Visu apdarinātāju adreses tiek saglabātas tā sauktajā pārtraukumu vektoru tabulā.

Iepriekš 8 biti bija izplatīti pirmajos XT saimes datoros, tāpēc kopā ierīcēm bija pieejami 8 pārtraukumi. Līdz ar 16 bitu ISA kopnes parādīšanos to skaits palielinājās līdz 16.

Pārtraukuma pieprasījuma iestatīšana

Man jāsaka, ka dažām ierīcēm piešķirtie pārtraukumi nav fiksēti un tos var mainīt programmatiski. Piemēram, IRQ parasti izmanto seriāli Com ports 2 var izmantot arī paplašināšanas slotā uzstādīto modemu. Mūsdienu datoros un operētājsistēmās, kas atbalsta PnP standartu un darbojas operētājsistēmā Windows, IRQ vērtības ierīcēm, kas savienotas ar kopnes slotiem, tiek atlasītas automātiski.

Bet vecos laikos viss nebija tik vienkārši, kad lietotājam daudzās DOS programmās bija manuāli jāiestata IRQ vērtība. Piemēram, instalējot Skaņas karte, lietotājam bija jāizvēlas bezmaksas pārtraukums no ļoti maza pieejamo skaita (parasti tas bija IRQ 5) un jānorāda šī vērtība palaižamajā programmā, piemēram, kādā spēlē.

Daudzās BIOS ir iespējams mainīt noklusējuma IRQ vērtības iestatīšanas programmā. Šī opcija parasti atrodas sadaļā IRQ resursi vai PCI/PNP konfigurācija.

IRQ vērtības iestatīšana ierīcei, kas ir vienāda ar IRQ vērtību, ko jau aizņem kāda ierīce, vairumā gadījumu noved pie vienas no šīm ierīcēm vai abu ierīču nedarbošanās vienlaikus, un dažreiz tas ir pilns ar datora iesaldēšanu.

Mūsdienīgākajā PCI kopnē ir radikāli mainīta pārtraukumu vadības sistēma un paplašinātas pārtraukumu vadības iespējas. Pateicoties IRQ Sharing tehnoloģijai, ir kļuvis iespējams arī novietot vairākas ierīces vienā pārtraukuma kanālā, un ārējām ierīcēm, kas savienotas ar PCI slotiem, ir iespēja automātiski sadalīt resursus savā starpā.

Turklāt mūsdienu datoros parasti tiek izmantots uzlabots programmējams pārtraukumu kontrolleris (APIC, ), kas atbalsta 24 pārtraukuma pieprasījuma kanālus. Uzlabotais pārtraukumu kontrolieris ir izgatavots divu mikroshēmu veidā, no kurām viena atrodas pašā procesorā, bet otra - uz mātesplates. Šis pārtraukumu kontrolieris pirmo reizi parādījās sistēmās, kuru pamatā ir Pentium procesori. Tomēr saderības apsvērumu dēļ tika saglabāts atbalsts vecajai pārtraukumu sistēmai. Nākamais solis pārtraukumu apstrādes principu izstrādē ir Message Signaled Interrupts tehnoloģija, kuras atbalsts parādījās Windows OS rindā, sākot ar Windows Vista.

Nejauciet aparatūras IRQ ar BIOS programmatūras pārtraukumiem, kas tiks apspriesti atsevišķā rakstā. Darba organizēšanai parasti tiek izmantoti BIOS programmatūras pārtraukumi programmatūra ar ievades-izejas ierīcēm un tiek apzīmētas ar saīsinājumu INT. Daudzi no tiem pēc funkcijām ir līdzīgi aparatūras IRQ, taču tiem ir atšķirīgi numuri.

Interrupt ReQuest numuru saraksts standarta shēmā 16 bitu ISA kopnei:

  1. Sistēmas taimeris
  2. Tastatūra
  3. Papildu pārtraukuma kontrolieris (8 bitu kopnes saderībai)
  4. Com 1 un 3 porti
  5. Com 2 un 4 porti
  6. Bezmaksas (8 bitu kopnē - cietā diska kontrolleris)
  7. Kontrolieris disketes(FDD)
  8. Paralēlais ports LPT
  9. CMOS reāllaika pulkstenis
  10. Apvienojumā ar IRQ 2
  11. Bezmaksas
  12. Bezmaksas
  13. PS/2 peles ports
  14. Kopprocesors (šobrīd gandrīz neizmantots)
  15. Pirmais IDE kontrolieris
  16. Otrais IDE kontrolieris

Papildu IRQ saraksts, ko izmanto APIC paplašinātais pārtraukumu kontrolieris:

  1. USB kontrolieris
  2. Integrēta audio apakšsistēma (AC'97 vai HDA)
  3. USB kontrolieris
  4. USB kontrolieris
  5. Integrēta tīkla karte
  6. Bezmaksas
  7. Bezmaksas
  8. USB 2.0 kontrolieris

IRQ numuru un BIOS pārtraukumu atbilstība:

Korelācijas tabula starp aparatūras IRQ un programmatūras INT BIOS

Secinājums

Tātad šajā rakstā jūs varējāt uzzināt, ko nozīmē saīsinājums IRQ un kas ir aparatūras pārtraukumi. Tie ir iebūvēts mehānisms datora resursu piešķiršanai un ir paredzēti, lai organizētu ierīces piekļuvi centrālajam procesoram. Pareiza IRQ piešķiršana un regulēšana novērš konfliktus starp ierīcēm un nodrošina stabils darbs sistēmas.

IRQ prioritāšu pārvaldība

Aparatūras pārtraukuma pieprasījumu pārvaldība

Lielākajai daļai komponentu, kas ir tieši pievienoti mātesplatei, tostarp PCI slotiem, IDE kontrolleriem, seriālajiem portiem, tastatūras portam, pat mātesplates CMOS, ir piešķirti atsevišķi IRQ. Aparatūras pārtraukuma pieprasījums jeb IRQ pārtrauc normālu procesora darbību, ļaujot ierīcei darboties. Operētājsistēmā Windows 7 varat noteikt prioritāti vienam vai vairākiem IRQ (kas ir kartēti vienai vai vairākām ierīcēm), tādējādi potenciāli uzlabojot šo ierīču veiktspēju.

Darbības, lai mainītu IRQ prioritāti

  1. Sāciet ar sistēmas informācijas utilīta (msinfo32.exe) palaišanu un atveriet Sistēmas informācijas filiāli Aparatūras resursu pārtraukumi (IRQ), lai redzētu, kuri IRQ tiek lietoti kādām ierīcēm.
  2. Pēc tam atveriet reģistra redaktoru (skatiet 3. nodaļu) un dodieties uz filiāli HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl.
  3. Šajā sadaļā izveidojiet jaunu DWORD vērtību un nosauciet parametru IRQ#Priority, kur # ir tās IRQ ierīces numurs, kurai vēlaties iestatīt prioritāti (piemēram, IRQ13Priority atbilst IRQ 13, kas ir aritmētiskais kopprocesors).
  4. Veiciet dubultklikšķi uz jaunās vērtības un ievadiet prioritātes numuru. Ievadiet 1, lai iegūtu augstāko prioritāti, 2, lai iegūtu otro un tā tālāk. Pārliecinieties, ka neievadāt vienu un to pašu skaitli diviem ierakstiem un nemēģiniet to darīt visu uzreiz, drīzāk eksperimentējiet ar vienu vai divām vērtībām.
  5. Kad esat pabeidzis, aizveriet reģistra redaktoru un restartējiet datoru.