Memoria virtuale massima e memoria fisica


2

CPU Intel a 64 bit x86, tabella di pagina gerarchica a quattro livelli. Ogni livello di tabella di pagine può contenere 512 voci e la dimensione della pagina è di 4KB. Qual è la dimensione massima per la memoria virtuale e la memoria fisica?

Penso che la memoria virtuale massima dovrebbe essere 2 ^ 48 in quel 9 bit per fare riferimento alla posizione della tabella di pagina e ci sono 4 tabelle di pagina. Quindi 4 * 9 + 12 = 48 (offset 4KB). Ma non sono sicuro di come calcolare la massima memoria fisica. O semplicemente non può dire da queste informazioni?

Risposte:


1

Interessante domanda teorica.

Per prima cosa, diciamolo chiaramente: l'architettura Intel a 64 bit è in realtà un'estensione AMD a 64 bit dell'architettura Intel a 32 bit. Questa è l'origine del termine molto tecnico di x86_64. Quindi stai chiedendo informazioni su CPU "Intel" specifiche o sull'architettura x86_64 in generale? Secondo, stai scrivendo o modificando l'articolo di Wikipedia su questa voce? Se è così, dovremmo evitare di usare Wikipedia per trovare la risposta :)

Perché la dimensione della memoria virtuale massima teorica non dovrebbe essere limitata dalla lunghezza della parola a 64 bit dei puntatori di indirizzo? Secondo l'articolo di wikipedia, "AMD ha deciso di utilizzare solo il minimo di 48 bit". Le versioni future dell'architettura consentono di estenderlo. Quindi, davvero, il "massimo teorico" potrebbe essere 2 ^ 64. Quindi ora stiamo parlando di qualcosa di meno che teorico.

La "modalità lunga" x86_64 di indirizzamento lo consente 2 pagine MB , cioè 2 ^ 21 non solo 4KB (2 ^ 12) pagine, una differenza di 2 ^ 9, quindi ottengo (dai tuoi calcoli) 2 ^ 57. Ma questo è più di quanto l'architettura permetta attualmente, quindi è ancora "solo" 2 ^ 48.

Per la memoria fisica, sempre da Wikipedia, "Le attuali implementazioni AMD64 supportano uno spazio di indirizzamento fisico fino a 2 ^ 48 byte di RAM". OK, ma forse ci sono altri limiti imposti altrove. Nella fascia più bassa, abbiamo il produttore della scheda madre che in genere lo imposta in base al numero di slot. Qualche era nel mezzo, abbiamo il controller di memoria, che al giorno d'oggi è effettivamente integrato nella CPU (ma non sempre, e non necessariamente - così ancora una volta, quanto è teorica questa domanda). I controller di memoria limiteranno anche lo spazio degli indirizzi o il numero di chip che controllano.


1
Qual è il voto negativo per?
jao

Penso di avere un troll / stalker. @jao
Otheus
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.