Passaggio dell'80386 da Modalità Reale a Modalità Protetta: A20 Gate, GDT, IDT e Passaggi di Transizione
Il passaggio dell'80386 da modalità reale a protetta richiede una sequenza precisa:
- Abilita A20 Gate: Consente l'indirizzamento a 20 bit completo (tramite controller tastiera o porte I/O).
- Imposta i Registri di Segmento: Inizializza CS, DS, ES, SS con valori base/limite di modalità protetta.
- Carica GDT: Crea Global Descriptor Table; carica GDTR con il suo indirizzo base.
- Carica Task Register (TR): Imposta Task State Segment (TSS); carica TR con la base del TSS.
- Abilita Modalità Protetta: Scrivi nello Machine Status Word (MSW) per impostare il bit PE (bit 0).
- Inizializza IDT: Configura Interrupt Descriptor Table per modalità protetta.
- Far Jump: Esegui un far jump (es.
JMP 0x08:0x00000000) per svuotare la pipeline ed entrare in modalità protetta al nuovo CS:EIP.
I passaggi esatti variano per OS/software. Gestione della memoria, segmentazione e gestione delle eccezioni sono critiche per un'operazione stabile.