Keskeytyskuvaajataulukko

IDT (ja Englanti Interrupt Descriptor taulukko ) on datataulukko sijaitsee muistissa tietokoneen ja x86- arkkitehtuurista , ja jolloin mikroprosessori hallita keskeytyksiä .

Tämä on matriisi, joka käsittää enintään 256 kuvaajien 8  tavua  kukin , eli yksi avainsana kohti keskeyttää. Sen muistipaikka on tallennettu prosessorin IDTR-rekisteriin . Kun keskeytys laukaistaan, prosessori lukee vastaavan rivin IDT: ssä ja suorittaa käsittelyn, joka liittyy tällä rivillä luettuihin arvoihin.

IDTR-rekisteri on 48-bittinen rekisteri, jonka alemmat 16 bittiä edustavat IDT: n kokoa tavuina, kun taas ylemmät 32 bittiä edustavat IDT: n fyysistä osoitetta muistissa. Tähän rekisteriin pääsee vain kahdella asennusohjeella: lidt (Lataa muistipaikka IDTR: ään) ja sidt (Aseta IDTR: n sisältö muistipaikkaan).

Ensimmäinen 32 keskeytyksiä ( n o  0-31) on varattu poikkeuksia (virheet) tuottamat mikroprosessorin . Laitteiston kuusi  keskeytystä liittyy yleensä keskeytyksiin n: o  32 - 47. Mutta käyttäjät voivat soittaa kaikkiin keskeytyksiin vapaasti opetusohjelmien avulla edellyttäen, että käyttöjärjestelmä sen sallii.

Kuvaaja ja luokitus

Kuvaajan muoto

Jokaisella kuvaajalla on seuraava rakenne: (korkeimmista bitteistä pienimpiin)

Intelin luokitus ja terminologia

Oveja on erilaisia:

Linux-luokitus ja terminologia

Linux luokittelee eri tyyppiset ovet (kuvaaja), jotka se sisällyttää IDT: hen, eri tavalla:

IDT-muistin sijainti

Kun BIOS luovuttaa ohjauksen käyttöjärjestelmälle , IDT: tä ei ole. Itse asiassa mikroprosessorin todellisessa tilassa käyttämä IVT ei ole samassa muodossa kuin IDT, eikä sitä siksi voida käyttää suojatussa tilassa . Tämä ei kuitenkaan ole ongelma, koska keskeytyslippu (IF) on asetettu arvoon 0 , mikä estää naamattavan keskeytyksen laukeamisen niin kauan kuin sitä tarvitaan.

Käyttöjärjestelmä huolehtii IDT: n eri merkintöjen luomisesta ja sen sijainnin ja pituuden toimittamisesta mikroprosessorille lidt assembler- käskyn avulla . Tämä sijainti on yleensä lähellä ytimen koodia . Huomaa kuitenkin, että mikroprosessori käyttää henkilöhakua lukiessaan IDT: tä, mikä sallii käyttöjärjestelmän (vaikkakaan mikään tärkeimmistä käyttöjärjestelmistä ei pakota) luoda eri IDT jokaiselle käynnissä olevalle ohjelmalle.

IDT muissa prosessoriarkkitehtuureissa

IDT: tä on vastaavia monissa muissa prosessoriarkkitehtuureissa, mutta niillä on paljon erilainen muoto.

Huomautuksia ja viitteitä

Liitteet

Aiheeseen liittyvät artikkelit