|
IRQ
Keskeytys (IRQ, Interrupt Request) toimii siten, että kun laite haluaa emolevyn palvelevan sitä, se ilmoittaa tästä keskeytyssignaalilla.
Esimerkiksi kun hiirtä liikutetaan, lähtee välittömästi keskeytyssignaali hiiriportin kautta emolevylle.
Tällöin hiiren toimintoja noudatetaan ja nuoli liikkuu näytöllä.
Emolevy tietää mitä laitetta pitää palvella, koska kaikilla keskeytystä vaativilla laitteilla on yksilölliset IRQ-keskeytysnumerot.
Poikkeuksen muodostaa keskeytyksen jakoa (Shared IRQ) tukevat PCI-laitteet.
Ne voivat jakaa saman keskeytyksen, jolloin vähät keskeytykset riittävät paremmin useille laitteille.
Kaikki nykyiset PCI-korttipaikat jakavatkin IRQ-keskeytyksiä.
Keskeytyksiä on kaiken kaikkiaan 16, joista osa on varattu tietyille laitetoiminnoille, eikä niitä voida ottaa muille laitteille käyttöön. Osa keskeytyksistä on vapaana ja osaa varatuista voidaan ottaa käyttöön halutuille uusille laitteille. AT- ja uudempien mikrotietokoneiden keskeytysrakenne nähdään seuraavassa taulukossa.
|
Mikrotietokoneen keskeytysrakenne
|
|
IRQ-linja
|
Toiminta
|
Voidaan ottaa lisäkortille käyttöön
|
|
IRQ 0
|
Kellokeskeytys
|
Ei
|
|
IRQ 1
|
Näppäimistö
|
Ei
|
|
IRQ 2
|
Linkitetty IRQ 9:ään
|
Kyllä
|
|
IRQ 3
|
COM 2 tai COM 4
|
Kyllä (Ei, jos esim. modeemi käytössä)
|
|
IRQ 4
|
COM 1 tai COM 3
|
Kyllä (Ei, jos esim. sarjahiiri käytössä)
|
|
IRQ 5
|
LPT 2, äänikortti tai käyttämätön
|
Kyllä, jos käyttämätön
|
|
IRQ 6
|
Levykeasema
|
Ei
|
|
IRQ 7
|
LPT 1
|
Kyllä (Ei, jos tulostin käytössä)
|
|
IRQ 8
|
Reaaliaikakello
|
Ei
|
|
IRQ 9
|
Linkitetty IRQ 2:een
|
Ei (Yhdistetty IRQ 2:een)
|
|
IRQ 10
|
Käyttämätön tai verkkokortti
|
Kyllä, jos käyttämätön
|
|
IRQ 11
|
Käyttämätön tai SCSI-kortti tai USB
|
Kyllä, jos käyttämätön
|
|
IRQ 12
|
Käyttämätön tai PS/2-hiiri
|
Kyllä (Ei, jos PS/2-hiiri käytössä)
|
|
IRQ 13
|
Matematiikkaprosessori
|
Ei
|
|
IRQ 14
|
Ensimmäinen IDE-portti
(2 IDE-levyä: Master ja Slave)
|
Kyllä (Ei, jos 1. IDE-kaapeli käytössä)
|
|
IRQ 15
|
Toinen IDE-portti
(2 IDE-levyä: Master ja Slave) tai käyttämätön
|
Kyllä (Ei, jos 2. IDE-kaapeli käytössä)
|
Jos uusi laite ottaa jonkin keskeytyksen käyttöön, on varmistettava että kyseinen keskeytys on vapaana tai sitä ennen käyttänyt laite on poistettu käytöstä. Kaksi keskeytysten jakoa tukevaa PCI-laitetta voivat jakaa saman keskeytyksen.
Keskeytyksiä on käytettävä, koska prosessori pystyy suorittamaan tehtäviä vain yksi kerrallaan. Näin laitteita voidaan palvella vuorotellen niiden tarvitessa huomiota.
Tehtävien jakamista varten on käytössä kaksi erilaista tekniikkaa:
- Luettelo (Polling)
Tätä menetelmää käyttävistä laitteista tehdään luettelo, jonka perusteella prosessori käy tarkistamassa vuorotellen jokaiselta laitteelta, tarvitsevatko ne huomiota. Tekniikan haittapuolena on mikron toiminnan hidastuminen laitteen jatkuvan seurannan takia. Prosessori kuluttaa turhaan aikaa kokoaikaiseen seurantaan.
-
Keskeytys (Interrupt)
Keskeytysmenetelmä on huomattavasti järkevämpi kuin luettelomenetelmä. Tässä prosessori kuluttaa aikaa ainoastaan silloin, kun jokin laite todella tarvitsee huomiota. Muun ajan prosessori voi tehdä muita tehtäviään.
Keskeytyksiä on käytettävissä kaikenkaikkiaan 16 kappaletta. Niistä periaatteessa 11 on varattuna mikron perustoimintoihin ja vain 5 on vapaana. Näistäkin nykyisissä mikroissa menee yhdet keskeytykset äänikortille, USB-portille ja toiselle IDE-portille, joten vapaaksi jää enää 2. Muita keskeytyksiä vaativia laitteita ovat muun muassa verkkokortti, SCSI-kortti tai videokortti.
Päällekkäiset keskeytykset
Yleisesti ottaen päällekkäisiä keskeytyksiä ei voi olla, mutta tietyissä tapauksissa ne ovat mahdollisia.
-
ISA
-
ISA-väylillä olevia laitteita voi asettaa käyttämään samaa keskeytystä vain silloin, kun ollaan varmoja, että kyseisiä laitteita ei käytetä koskaan yhtä aikaa. Joissakin tapauksissa laitteet eivät toimi lainkaan samalla keskeytysnumerolla. On syytä kuitenkin välttää tällaista asettelua virhetilanteiden välttämiseksi.
-
PCI
-
Esimerkiksi PCI-kortit toimivat hiukan eri tekniikalla kuin perinteiset ISA-kortit ja ne käyttävät omaa PCI INT -keskeytysrakennetta. Lähes jokainen PCI-kortti vaatii IRQ-keskeytyksen, mutta keskeytysten jako onnistuu PCI INT -rakenteen avulla. PCI-väylä osaa jakaa IRQ-keskeytyksiä useammalle PCI-kortille, koska korteille annetaan yksilölliset tai jaetut PCI INT -keskeytykset.
-
Keskeytys 2 ja 9
-
Keskeytykset 2 ja 9 ovat myös hieman poikkeustapauksia. IRQ 2 on linkitetty 9:ään, jolloin molemmat ovat tavallaan varattuja. Laite voidaan kuitenkin asettaa käyttämään keskeytystä 2. Keskeytyksiä tutkimalla huomataan, että laitteen käyttämä keskeytys näkyy numerona 9. Tämä johtuu linkityksestä. Huomaa, että IRQ 9:ää ei saa jakaa muiden laitteiden kanssa.
Jos laite ei toimi ja se jakaa keskeytyksen jonkin muun laitteen kanssa, vaihda keskeytys toiseksi. PCI- ja ISA PnP -laitteiden osalta keskeytys voidaan vaihtaa käyttöjärjestelmästä. Tavallisten ISA-laitteiden kohdalla keskeytys vaihdetaan lisäkortilla olevista jumppereista.
Joissakin tapauksissa Windows 2000 asettaa useita laitteita samalle keskeytykselle. Syynä keskeytysten ryhmitykseen on ACPI. Jos kaikki laitteet tukevat ACPI:ta ei ongelmia pitäisi olla, koska ACPI huolehtii laitteista itse ohittaen BIOSin asettamat keskeytykset.
Jos laitteita on useita, esimerkiksi kuusi, ja mukana on hiukan vanhempia laitteita, ei järjestelmä välttämättä pysy pystyssä tai jokin laitteista ei toimi kunnolla. Kokeile tarvittaessa asettaa PnP OS -asetus pois päältä BIOSista.
Prioriteettijärjestys
Keskeytysten prioriteettijärjestys tarkoittaa sitä, missä järjestyksessä samaan aikaan tapahtuneet kutsut suoritetaan. Listassa ylempänä olevia keskeytyksiä palvellaan ennen alempana olevia. Tärkein keskeytys on IRQ 0 ja vähiten tärkein IRQ 7.
Keskeytykset järjestyksessä tärkeimmästä vähimmän tärkeään ovat 0, 1, 2, 8, 9, 10, 11, 12, 13, 14, 15, 3, 4, 5, 6 ja 7.
Syy siihen, että keskeytysten järjestys ei mene numerojärjestyksessä, johtuu keskeytysten kahden PIC-piirin kytkentätavasta. PC/XT-mikron kahdeksan keskeytystä ovat prioriteetiltaan numerojärjestyksessä, koska niitä hoitaa vain yksi PIC-piiri.
Keskeytysohjaimet (PIC)
Nämä asiat löytyvät mm. Inside PC-laitetekniikka -kirjasta.
NMI-, SMI-, INT- ja CPU-keskeytykset
Nämä asiat löytyvät mm. Inside PC-laitetekniikka -kirjasta.
|
|
 |