dal 2015 - visita n. 625
ModoProtetto
ModoProtetto

 

Richiami sulla Modalità Protetta


Nel 1986, con l'avvento del microprocessore Intel 80386, le cose cominciarono a cambiare radicalmente. Quel processore era veramente un processore a 32-bit. I maggiori vantaggi della programmazione a 32-bit, rispetto a quella a 16-bit o ad 8-bit, si possono sintetizzare in due parole: semplicità e velocità. Le stesse istruzioni divennero più veloci sia per l'aumento del clock sia per la maggiore efficienza; una singola istruzione (aritmetica, logica, di gestione memoria o stringhe) può operare su 32 bit al posto di due istruzioni a 16 bit o quattro a 8 bit. Con la riduzione del numero delle istruzioni si riducono le dimensioni del programma ed aumenta la velocità di esecuzione, poichè si riducono i tempi delle due fasi di fetch ed execute. Minori dimensioni degli eseguibili e maggiore velocità sono sempre stati obiettivi importanti per gli informatici.

Ma la cosa più innovativa fu che l'unità di gestione della memoria (MMU) di questa CPU introdusse una nuova modalità di indirizzamento, oltre quella reale, chiamata modalità protetta. Questa modalità offre un altissimo grado di flessibilità consentendo l'indirizzamento, per ogni applicazione attiva, di una vastissima area di memoria (4 Gb) non segmentata o piatta (flat) e quindi con l'uso dei soli registri di offset. Non solo, ma questi 4 Gb posono essere utilizzati all'interno di una memoria virtuale estesa fino a ben 64 Tb (Terabyte = 1012).
Questa modalità consente, inoltre, la protezione per consentire il funzionamento di tutti i software che ne hanno di bisogno, come i sistemi Unix o compatibili.

Nella modalità protetta, gli ex registri di segmento vengono chiamati selettori e fungono da indici di speciali tabelle, inizializzate e mantenute dal sistema operativo, ma interpretate direttamente dalla CPU. Esistono tre tipi di queste speciali tabelle, tutte residenti nella RAM o nella ROM:

Ogni tabella può contenere un numero variabile di descrittori, ciascuno con una struttura di 8-byte per poter descrivere gli estremi di una data regione di memoria ed i suoi attributi:

figura 2

Gli ex registri di segmento sono adesso divenuti registri selettori (indici) e servono per indicare il particolare descrittore all'interno della GDT o della LDT (i descrittori contenuti nella IDT entrano in gioco solo per la gestione delle interruzioni). Un selettore (uno dei 6 registri di segmento: CS, DS, ES, FS, GS, SS) contiene un valore indice a 13-bit, un bit per identificare la tabella da usare (GDT/LDT), e 2-bit per specificare il livello di protezione.

figura 3










Asm86
Il Linguaggio Macchina
La modalità Reale
La Modalità Protetta
Masm32a



L'amore rende perspicace anche chi è sciocco, valoroso chi è codardo.
Plutarco

Valid CSS!
pagina generata in 0.001 secondi