osdev.labedz.org

Tryby pracy procesorów rodziny IA-32

Procesory z rodziny IA-32 posiadają trzy właściwe tryby pracy: tryb rzeczywisty, tryb chroniony oraz tryb zarządzania systemem (ang. System management mode - SSM). Praca w danym trybie determinuje które z instrukcji i właściwości architektury będą dostępne.

Tryb rzeczywisty

Ten tryb udostępnia środowisko programistyczne procesora Intel 8086 z pewnymi odstępstwami (takimi jak możliwość przełączenia się w tryb chroniony lub zarządzania systemem). W trybie tym procesor pracuje zaraz po włączeniu zasilania lub po resecie procesora.

Tryb chroniony

Tryb ten jest właściwym trybem pracy procesorów rodziny IA-32. Zapewnia on największą wydajność systemu; są w nim dostępne wszystkie instrukcje i mechanizmy procesora. Praca w tym trybie jest zalecana dla wszystkich nowych aplikacji i systemów operacyjnych. Dla zapewnienia zgodności programowej, bez utraty kontroli nad całym systemem (ochrona zasobów, wielozadaniowość itp.), wprowadzono możliwość uruchamiania programów trybu rzeczywistego bez potrzeby przełączania trybu pracy na rzeczywisty. Ta właściwość jest określana jako tryb wirtualny, i często jest nazywana kolejnym trybem pracy procesora. Tryb wirtualny jest właściwie 'pod-trybem' trybu chronionego i może być włączony poprzez ustawienie odpowiedniej flagi przez dowolne zadanie.

Tryb zarządzania systemem (SSM).

Tryb ten umożliwia systemowi operacyjnemu implementacje specyficznych dla platformy sprzętowej funkcji takich jak zarządzanie energią czy specjalna ochrona systemu. Procesor wchodzi w ten tryb pod wpływem zewnętrznego sygnału przerwania SMM (pin SMI) lub podczas wywołania przerwania SMI przez zaawansowany programowalny kontroler przerwań (ang. Advanced programable interrupt controler - ). W trybie SSM procesor przełącza się na oddzielną przestrzeń adresową zachowując bieżący kontekst zadania. Tryb SSM został wprowadzony w procesorach Intel386TMSL i stał się standardem wraz z wprowadzeniem rodziny procesorów Pentium.