Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
40
1.Architekturaprocesorówrodzinyx86
15
16
17
18
19
20–31
32–255
przerwania
Numer
#MF
#AC
#MC
#XM
Oznaczenie
zarezerwowany
błądzmiennoprzecinkowejjednostkiarytmetycznej
niewyrównanyadresargumentuwpamięci
kontrolamaszynowa;wyjątekgenerowanywsytuacji
wystąpieniaawariisprzętowych(np.magistrali,pamięci
podręcznej)
wyjątekgenerowanyprzezSSE
zarezerwowane
przerwania
Opis
błąd
błąd
załamanie
błąd
wyjątku
Rodzaj
Wtrybiechronionymwywołaniepodprogramówobsługującychprzerwaniaodby-
wasięnieprzeztablicęwektorówprzerwań,umieszczonąpodadresemzerowym(jak
wtrybierzeczywistym),leczprzeztablicędeskryptorówprzerwańIDT(ang.Interrupt
DescriptorTable),któramożebyćumieszczonawdowolnymmiejscuprzestrzeniadre-
sowej.AdresbazowytablicyIDTjestprzechowywanywrejestrzeIDTR(rys.1.6).Zała-
dowanierejestruIDTRodbywasięzapomocąinstrukcjiLIDT,któramożebyćwykonana
wprogramieonajwyższympoziomieuprzywilejowaniaCPL=0,natomiastodczyt–za
pomocąinstrukcjiSIDT,któramożesięznaleźćwdowolnymprogramiewykonywanym
wtrybiechronionym.
ElementamitablicyIDTsą8-bajtowedeskryptoryprzerwań,coprzyliczbieprze-
rwańrównej256dajerozmiartablicy2kB.WtablicyIDTmogąznajdowaćsiętrzytypy
deskryptorówsystemowych:furtkiprzerwania(ang.interruptgate),furtkipułapki(ang.
trapgate)orazfurtkizadania(ang.taskgate).Strukturadeskryptorówfurtkiprzerwania
orazpułapkijestprzedstawionanarys.1.15.
Rysunekl.l5.Formatdeskryptoraprzerwaniaorazpułapki
Deskryptorytezawierająprzedewszystkimselektorsegmentuorazadreswzględ-
ny(offset)wtymsegmencie,podktórymrozpoczynasięproceduraobsługi.Pozatym
deskryptorzawieranastępującepola:bitP–określający,czysegmentjestdostęp-
nywpamięci(P=1),dwubitowepoleDPL–określającepoziomprzywilejufurtki,bitD