Physical Address ExtensionNell'informatica, Physical Address Extension (PAE, Estensione dell'indirizzo fisico) è una caratteristica di alcuni processori x86 e x86-64 che permette di usare più di 4 gigabyte di memoria fisica nei sistemi a 32 bit - in concomitanza con il supporto appropriato da parte del sistema operativo. Il PAE è supportato dagli Intel Pentium Pro (e successivi) compresi tutti gli ultimi processori Pentium (ad eccezione delle versioni con bus a 400 MHz del Pentium M) - e allo stesso modo dall'AMD Athlon (e successivi). CaratteristicheL'architettura hardware dei processori x86 con PAE è fornita di linee aggiuntive nel bus degli indirizzi per la selezione della memoria aggiuntiva, in modo che la dimensione dell'indirizzo fisico sia aumentata da 32 a 36 bit. Questo, teoricamente, incrementa la dimensione della memoria fisica da 4 GB a 64 GB. La dimensione di 32 bit degli indirizzi virtuali non cambia, in modo che le normali applicazioni continuino ad usare istruzioni con indirizzi a 32 bit e (nel modello a memoria flat) sono limitate a 4 gigabyte di spazio di indirizzamento virtuale. Il sistema operativo usa le tabelle di paging per mappare questo spazio di indirizzamento a 4 GB dentro la memoria virtuale a 8 GB. Il mapping è tipicamente applicato in modo diverso per ogni processo. In questo modo, la memoria in aggiunta è utile nonostante nessuna normale applicazione possa accedere a tutti gli 8 GB. Per esempio, in Windows a 32 bit, il massimo spazio di indirizzamento di 4GB (VAS) viene diviso in due sezioni di 2GB: 2GB sono allocate dal kernel e altre 2 GB sono per l'utente (applicazione). Indipendentemente da quanta RAM fisica è presente un sistema Windows a 32 bit, ha il VAS (Virtual Address Space) limitato a 4GB. Tuttavia, questo non è vero per Windows a 64 bit che teoricamente ha fino a 16TB di VAS. Le implicazioni di avere un VAS diviso, come nelle versioni 32-bit, x86 di Windows, l'applicazione non è in grado di allocare più di 2 GB di memoria. L'importanza chiave di tale meccanismo è di prevenzione o minimizzazione che le applicazioni causino un crash del sistema usando tutta la memoria disponibile. Per software che richiedono di accedere a più di 4 GB di memoria RAM, alcuni meccanismi speciali sono forniti dal sistema operativo in aggiunta al supporto di PAE. Su Microsoft Windows questo meccanismo è chiamato Address Windowing Extensions (Estensione della finestra di indirizzi), mentre su sistemi Unix-like una serie di tecniche sono usate, come la chiamata a mmap() per mappare una regione di un file dentro o fuori dallo spazio di indirizzamento. Struttura della tabella di paginazioneIn un sistema a 32-bit in modalità protetta, i processori x86 usano uno schema di traslazione a due livelli, dove il registro di controllo Abilitando il PAE (impostando il bit 5, PAE, del registro di sistema Le voci nella page directory hanno un flag aggiuntivo, nel bit 7, chiamato Sui processori x86-64, PAE è obbligatorio nella modalità nativa "long mode"; attualmente 48-bit sono usati dei 52 bit possibili sull'AMD Phenom, CPU più vecchie potrebbero usare meno bit. Le CPU che supportano il PAE possono essere identificate mediante il flag del CPUID PAE.
Supporto dei sistemi operativiFreeBSDFreeBSD supporta il PAE nella serie 4.x dalla versione 4.9, nella serie 5.x dalla 5.1, e in tutta le release 6.x e successive. L'opzione di configurazione PAE del kernel è richiesta per attivare il supporto. I moduli del kernel caricabili a run-time possono essere caricati in un kernel con PAE abilitato solo se sono compilati con il supporto PAE; i moduli binari nelle distribuzioni FreeBSD non sono realizzati con il supporto a PAE, e quindi non possono essere caricati dentro kernel PAE. Non tutti i driver supportano più di 5 GB di memoria fisica; questi driver ovviamente non funzioneranno correttamente su sistemi con PAE.[1] LinuxIl kernel Linux include il supporto completo a PAE dalla versione 2.6,[2] permettendo l'accesso fino a 64 GB di memoria su macchine a 32 bit. Un kernel con PAE richiede che la CPU supporti PAE. Ad oggi (2009), molte distribuzioni GNU/Linux escono con un kernel abilitato PAE come opzione predefinita della distribuzione[3] anche se questo comporta un overhead. Mac OS XmacOS per processori Intel supporta il PAE e il bit NX in tutte le CPU supportate da Apple (dalla versione 10.4.4, la prima versione non PowerPc). I sistemi Mac Pro e Xserve supportano ad ora 32 GB di RAM, nonostante il kernel Mac OS X 10.5 Leopard rimanga a 32-bit.[4] Microsoft WindowsPAE è supportato nelle seguenti versioni a 32 bit di Microsoft Windows (è indicata la massima memoria indirizzabile da ciascun sistema):[5][6][7][8][9]
Windows XP Service Pack 2 e successivi, in modo predefinito, su processori con il bit no-execute (NX) o execute-disable (XD), si avvia in modalità PAE per consentire l'uso del bit NX.[10] Il bit NX (o XD) risiede nel bit 63 della voce nella tabella di paginazione e, senza PAE, la tabella di paginazione ha solo 32 bit; quindi PAE è richiesto per sfruttare la feature del bit NX. Tuttavia, le versioni desktop di Windows limitano lo spazio di indirizzamento fisico a 4 GB per la compatibilità dei driver. SolarisSolaris supporta PAE dalla versione 7. Tuttavia, driver di terze parti usati con la versione 7 che non sono scritti per includere il supporto per il PAE possono operare in modo errato su sistemi con PAE.[11] Note
Non referenziato, ma probabilmente dovrebbe esserlo: Voci correlate
Collegamenti esterni
|