Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
20
1.Architekturaprocesorówrodzinyx86
segmentorazoffset.Wynikaztego,żewewnątrzprocesoramusibyćrealizowanaopera-
cjaodwzorowującadwuwymiaroweadresylogicznenajednowymiaroweadresyfizyczne.
Algorytmodwzorowaniaadresulogicznegonaadresfizycznyprzedstawiononarys.1.3.
Rysunekl.3.Algorytmodwzorowaniaadresulogicznegowadresfizycznydlasegmentacjipamięci
Dlaprocesorówrodzinyx86wtrybierzeczywistym16starszychbitówadresubazo-
wegosegmentuznajdujesięwjednymz4.rejestrówsegmentowych,a4najmłodszebity
równezeru.Adresbazowysegmentuzawierawięc20bitów,przy4najmłodszych
równychzeru,cooznacza,żeadresbazowysegmentujestrównyiloczynowizawartości
odpowiedniegorejestrusegmentowegoprzez16.Ponieważwtrybierzeczywistymoff-
setwsegmenciejestreprezentowanyprzezliczbę16-bitową,segmentmastałądługość
równą216=64kB.
Procesoryrodzinyx86wtrybierzeczywistymzawierają4rejestrysegmentowe,co
dajemożliwośćjednoczesnegowykorzystywania4segmentów:
programu(rejestr
CS);
stosu(rejestr
SS);
danych(rejestry
DS,ES).
Jeżeliwrozkazieniewskazano,któregorejestrusegmentowegonależyużyćdo
określeniaadresubazowegosegmentu,toprzyjmowanetzw.domniemanerejestry
segmentowe(tab.1.1).Domniemanegorejestrusegmentowegonietrzebawprogramie
specjalniezaznaczać.
Tabelal.l.Domyślnerejestrysegmentowe
1.Pobieranierozkazu
2.Operacjenastosie
3.Odczyt/zapisdanych
4.Operacjenałańcuchach(źródło
danych)
Odwołaniedopamięci
Domniemanyrejestrsegmentowy
DS
DS
CS
SS
Rejestrzawierającyoffset
EA*
SP
IP
SI