Viestisignaloidut keskeytykset

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 26. helmikuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 7 muokkausta .

Message Signaled Interrupts ( MSI, Message-Initiated Interrupts ) on vaihtoehtoinen keskeytysmuoto, joka on saatavilla PCI - versiossa 2.2 ja sitä uudemmissa PCI-X- versioissa , ja se on myös pakollinen kaikissa PCI Expressin versioissa . Sen sijaan, että sille määritettäisiin kiinteä keskeytyspyyntönumero , laite voi kirjoittaa viestin tiettyyn järjestelmän muistiosoitteeseen, joka on itse asiassa yhdistetty prosessorin paikalliseen keskeytysohjaimeen (paikallinen APIC ). Viestin kirjoittamiseen käytetään samaa väylän masterointimekanismia kuin DMA:ssa.

Kuvaus

Viestien kirjoittamista varten jokaisessa MSI:tä käyttävässä laitteessa voi olla yhdestä kolmeenkymmentäkaksi ainutlaatuista muistialuetta.

Kaikki PCI Express -väyläkeskeytykset toimitetaan aina MSI-muodossa, jopa käytettäessä perinteistä keskeytysjohtonumeroemulointia.

MSI:n edut:

MSI on tuettu Microsoft Windows Vistassa ja uudemmissa käyttöjärjestelmissä, FreeBSD :ssä versiosta 6.3 lähtien, OpenBSD :ssä versiosta 5.0 alkaen [1] ja Linux-ytimessä versiosta 2.6.8 lähtien [2]

MSI-X

MSI-X on MSI:n laajennettu versio, jonka avulla voit määrittää jopa useita tuhansia keskeytyksiä.

Nykyinen toteutus

Huolimatta MSI:n ja MSI-X:n ilmestymisestä suhteellisen kauan sitten, todellista laajaa käyttöä ei vieläkään ole, vaikka Windows 10:n uusin versio olisi asennettuna. Esimerkiksi nVidia, jotta se olisi yhteensopiva hyvin vanhojen laitteiden kanssa, ei aktivoida tuki MSI-keskeytyksille oletusarvoisesti ohjaimissaan. Ja useimmat Windowsiin asennetut ajurit eivät tarjoa MSI-tukea alun perin, mikä edellyttää, että otat sen käyttöön itse ja jota varten on asianmukaiset apuohjelmat. [1] Aktivoidun MSI:n puute käynnissä olevassa järjestelmässä johtaa DPC-viiveen lisääntymiseen [3] , koska linjapohjaisessa tilassa ajurit vaativat enemmän huomiota prosessorilta. Ja virheellisin päätös tällaisessa tilanteessa on sammuttaa HPET , mikä itse asiassa lisää prosessorin kuormitusta vielä enemmän ohjelmistojen ajastimen käsittelyalgoritmien aktivoinnin vuoksi sen sijaan, että käytettäisiin laitteistoajastinta emolevyn eteläsillassa.

Muistiinpanot

  1. OpenBSD 5.0 Changelog (downlink) . Arkistoitu alkuperäisestä 3. toukokuuta 2016. 
  2. Yhteenveto Linux-ytimen kokoonpanoparametrista CONFIG_PCI_MSI (downlink) . Arkistoitu alkuperäisestä 4. kesäkuuta 2012. 
  3. Windows: linjapohjainen vs. Viestisignaalipohjaiset keskeytykset. MS työkalu.  (englanniksi)  ? . guru3D foorumit . Haettu 5. huhtikuuta 2021. Arkistoitu alkuperäisestä 13. huhtikuuta 2021.

Kirjallisuus

Linkit