1.6 Tryby pracy procesora

W dalszych częściach pojawią się rozróżnienia opisów dla różnych trybów procesora. Tryby pracy są skutkiem drogi ewolucji procesorów. W dawnych czasach powstał pierwszy procesor Intel 8086, który rozpoczął erę komputerów klasy PC. Jak można przeczytać, był on 16 bitowym procesorem mogącym zaadresować do 1MB pamięci operacyjnej. Pracował w tak zwanym trybie rzeczywistym (wtedy ten tryb nie miał jeszcze swojej nazwy, ponieważ był jedynym trybem tego procesora). Kolejne tryby pracy są związane z wprowadzaniem do procesorów tak dużych zmian konstrukcyjnych, że trzeba było wprowadzić możliwość wyboru, czy ma on pracować w starym trybie czy w nowym.

Możliwość adresowania pamięci o rozmiarze 1MB była związana z 20 bitową magistralą adresową procesora 8086. Wraz z wprowadzeniem procesorów 80286 rozszerzono możliwość adresowania pamięci do 24 bitowej magistrali, co dawało możliwość użycia do 16MB pamięci. Nowe możliwości wymagały wprowadzenia innego systemu adresowania pamięci. Jednak, aby stare programy można było uruchamiać na nowym procesorze, wprowadzono rozróżnienie na stary i nowy tryb. Stary tryb został nazwany trybem rzeczywistym (RM Real Mode), a nowy trybem chronionym (PM Protected Mode). Procesor 80286 po restarcie uruchamiał się w trybie RM i był zgodny co do pracy z procesorem 8086. Nowsze systemy operacyjne chcąc mieć większe możliwości pamięciowe były zmuszone do przełączenia procesora w nowy tryb pracy PM.

Wraz z kolejnymi nowymi procesorami zwiększono jeszcze bardziej szynę adresową i rozszerzono rejestry do rozmiaru 32 bitów. Nie dodano właściwie nowego trybu pracy, ale wprowadzono rozróżnienie dla trybu chronionego na tryb 16 i 32 bitowy. Można powiedzieć, że istniały już 3 tryby pracy procesora (RM, PM16 i PM32).

W dzisiejszych czasach mamy procesory 64 bitowe i w związku z tym pojawiły się jeszcze dwa dodatkowe tryby pracy. Są to tryby Compatybiblity Mode i LM Long Mode (określany często jako x86-64). Obecnie istnieje ich bardzo dużo i wprowadzają one coraz więcej mechanizmów obsługi pamięci i kontroli programów. Opisując język asemblera, rejestry i sposób działania procesora będę wprowadzał je zgodnie z tym, w jakiej kolejności były one wprowadzane do procesorów. Podstawowe informacje, które podałem do tej pory jak i te które się pojawią w niedalekiej przyszłości będą podawane dla trybu rzeczywistego. Różnice w rejestrach i programowaniu dla PM i LM podam w odpowiednich działach jako rozszerzenie działania procesora.