Asembler x86/Zaawansowana architektura: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Doles (dyskusja | edycje)
Doles (dyskusja | edycje)
Nie podano opisu zmian
Linia 52:
W rejestrze CR3 umieszczony jest surowy, fizyczny adres Katalogu Stron (Page Directory). W Katalogu Stron znajduje się adres liniowy właściwej Tablicy Stron dla danego procesu. Z kolei Tablica Stron przechowuje informację o adresie fizycznym początku danej ramki strony. Ostatnie pole zwane Przesunięciem (Offset) determinuje jak o ile należy się przemieścić wewnątrz strony ( innymi słowy ile należy się przemieścić od adresu ramki strony). Ponieważ to pole ma 12 bitów zatem pojedyńcza strona może mieć rozmiar właśnie 4 KB.
Zarówno pola Katalogu Stron jak i Tablicy Stron mają po 10 bitów, więc obie te lokacje mogą mieć maksymalnie 1024 pól. W ten sposób Katalog Stron może zaadresować tyle komórek pamięci:
 
 
<math> 1024 \times 1024 \times 4096 = 2^{10} \times 2^{10} \times 2^{12} = 2^{(10 + 10 + 12)} = 2^{32} = 4294967296 </math>
 
 
Jeżeli potraktować jedną komórkę jako jeden bajt, dzieląc sukcesywnie przez 1024 otrzymamy liczbę 4 GB pamięci możliwej do zaadresowania, zatem dokładnie tyle ile mogą mieć pamięci RAM komputery z serii 80386 i nowsze.
Poszczególne wejścia z Katalogu Stron i Tablicy Stron mają taką samą strukturę. Każe pole ma ma poniższe swoje własne "pole":
*<font color ="green">Flaga Dostępu</font> - (ang. Accessed Flag) - jest ustawiana za każdym razem przez jednostkę stronicującą gdy obliczany jest adres ramki strony. Ta flaga może być użyta przez system operacyjny przy wyborze stron pamięci, które mają być odłożone do pliku wymiany. Sama jednostka stronicująca nigdy nie czyści (zeruje) tej flagi. To musi być wykonane przez system operacyjny.
*<font color ="green">Dirty Flag</font> - ta flaga dotyczny tylko Tablicy Stron. Jest ustawiana za każdym razem gdy przeprowadzana jest operacja zapisu na danej ramce strony. Jest zastosowanie jest podobne do flagi dostępu.
*<font color ="green">Flaga Zapisu/Odczytu</font> - (ang. Read/Write Flag) flaga ta determinuje prawa dostępu do strony lub całej Tablicy Stron. Jest ona częścią sprzętowej ochrony stronicowania.
 
*<font color ="green">Flaga Użytkownika/Nadzorcy</font>- (ang.User/Supervisor flag) zawiera uprawnienia dla strony lub całej Tablicy Stron. Również jest fragmentem sprzętowej ochrony mechanizmu stronicowania.
*<font color ="green">Flagi PCD i PWT</font> - wykorzystywane są w celu kontroli przemieszczenia strony lub całej Tablicy Stron do pamięci cache.
*<font color ="green">Flaga Rozmiaru Strony</font> - (ang. Page Size Flag) dotyczy tylko Katalogu Stron. Jeśli jest ustawiona, to poszczególne wejścia z Katalogu Stron dotyczą ramek stron o rozmiarze 2 MB, w przeciwnym wypadku 4 MB.
*<font color ="green">Flaga Globalna</font> -(ang. Global Flag) dotyczy wyłącznie Tablicy Stron. Została ona wprowadzona w procesorach Petiun Pro przy mechanizmie pamięci cache.