2011-12-04 13 views
10

Un estratto dell'articolo di Wikipedia su Physical Address Extension:In che modo PAE (Physical Address Extension) abilita uno spazio indirizzo maggiore di 4 GB?

processore x86 hardware-architettura è aumentata con linee di indirizzo aggiuntivi utilizzati per selezionare la memoria aggiuntiva, così indirizzo fisico dimensione aumenta da 32 bit a 36 bit. Questo, teoricamente, aumenta la dimensione massima della memoria fisica da 4 GB a 64 GB.

Insieme con un'immagine che spiega il meccanismo:

enter image description here

Ma non riesco a vedere come lo spazio di indirizzi viene ingrandita da 4GB a 64GB. E 4 * 512 * 512 * 4K equivale ancora a 4 GB, non è vero?

+2

Memoria virtuale! = Memoria fisica. Si chiamava "cambio di banca", un termine molto più descrittivo. http://en.wikipedia.org/wiki/Bank_switching –

risposta

10

I processori x86 in esecuzione in modalità a 32 bit utilizzano le traduzioni di pagina per gli indirizzi di memoria. Ciò significa che esiste un livello di mappatura tra l'indirizzo utilizzato dal codice (sia kernel che user mode) e la memoria fisica effettiva. Per esempio. in Windows tutti i processi associano l'immagine del file .exe allo stesso indirizzo.

Il livello di mappatura tra gli indirizzi virtuali e fisici può normalmente mappare solo 4 GB di memoria. Con PAE abilitato, gli indirizzi virtuali a 32 bit sono mappati indirizzi fisici a 36 bit. Tuttavia, un singolo processo non può accedere a più di 4 GB in una sola volta. Questo è ciò che vedi nell'immagine che hai incollato, lo spazio di indirizzamento a 32 bit di un processo. È anche possibile vedere che PTE (Page Table Entry) contenente l'indirizzo fisico è largo 64 bit.

Un'applicazione con funzionalità PAE può scambiare e estrarre diverse parti della memoria nello spazio degli indirizzi visibile per utilizzare più di 4 GB di RAM, ma può vedere solo 4 GB in qualsiasi momento.

2

Non funziona. La pagina dell'indirizzo non cambia mai. Quello che succede è che tramite le chiamate API è possibile disattivare le aree di memoria su altre aree della memoria. Quindi, hai ancora solo uno spazio di indirizzamento completo di 4 gb (2-3 gb utilizzabile), ma puoi disporre di altri 2000 blocchi da 512 MB che puoi scambiare in una parte dello spazio degli indirizzi.

5

Questo è lo spazio degli indirizzi virtuali che è ancora 4 GB. Lo spazio dell'indirizzo fisico è più grande perché le voci della tabella di pagina contengono indirizzi fisici più lunghi di pagine.

Vedere l'immagine "voce PD a 64 bit" e "voce PT a 64 bit". Quei 32 bit in più delle voci costituiscono gli indirizzi fisici più lunghi delle pagine.

Con questo particolare schema l'applicazione può ancora indirizzare fino a 4 GB di memoria (meno la parte del kernel che è generalmente inaccessibile a causa della protezione) alla volta, ma se si considerano diverse applicazioni, possono gestire più di 4 GB di memoria insieme .

Problemi correlati