Opis translacji stron
July 7th, 2008 | by admin |Architektura x86 udostępnia translację 32 bitowych adresów wirtualnych w 32 bitowe adresy fizyczne (ale większe np. 36 lub 40 bitowe adresy są także dostępne tylko że w specjalnym trybie). Architektura x86-64 rozszerza te możliwości o translację 64 bitowych adresów wirtualnych w 52 bitowe adresy fizyczne, ale procesory obsługują także mniejsze adresy wirtualne i fizyczne.
Adresy wirtualne są tłumaczone poprzez tzw hierarchiczną translację tablic, tworzonych i zarządzanych przez system. Każda tablica zawiera zestaw wpisów które wskazują na następną, niższą w hierarchii translacji tablicę. Pojedyncza tablica na danym poziomie może zwierać setki wpisów z których każdy wskazuje na unikalną tablicę na niższym poziomie. To samo obowiązuje z te leżące poniżej w hierarchii. Najniżej położone tablice wskazują na tłumaczone strony fizyczne.
Na poniższym diagramie mamy przedstawiony schemat takiej translacji w trybie long . Stronicowanie w trybie Legacy opiera się w części także na nim. Jak na diagramie widać, wirtualne adresy są podzielone na pola z których każde służy za offset do tablicy translacji. Kompletny łańcuch translacyjny tworzony jest ze wszystkich wpisów w tablicach, wskazujących na pola adresów wirtualnych. Najniżej położone (lowest order) bity adresów wirtualnych są używane jako bajtowe offsety do stron fizycznych.
Translacja stron typu Legacy oferuje różnorodne metody przy zamianie adresów wirtualnych na fizyczne. Są dostępne 3 wielkości fizycznych stron : 4 KB, 2MB, 4MB. Adresy wirtualne są 32 bitowe, a fizyczne w zależności od tego jaka wielkość adresu fizycznego jest dostępna. Architektura x86-64 rozoszerza translacje typu Legacy dodając wsparcie dla max 64 bitowych adresów wirtualnych, mogących być przetłumaczonych na max 52 bitowe adresy fizyczne.
Obecnie architektura x86-64 definiuje mechanizm dla translacji 48 w 52 bitowe adresy. Zaś ten tłumaczący w pełne 64 bitowe adresy wirtualne jest zarezerwowany i zostanie niebawem opisany w specyfikacji x86-64.
Sorry, comments for this entry are closed at this time.