[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ram con sistema a 32 bit + kernel 64 bit



On Tue, 25 Jan 2011 17:52:32 +0100, Johan Haggi wrote:

> Qualcuno sa indicare vantaggi/svantaggi di:

> - debian 32 bit con 2 GB di RAM e kernel "normale"
> - debian 32 bit con 4 GB di RAM e kernel "bigmem"

Il kernel "vede" circa 800 MB di RAM fisica, e ne usa circa 150 come 
"area di scambio" per vedere quelli sopra il GB

Questo significa che i primi 800 MB (circa) sono accessibili 
direttamente, mentre per quelli oltre il kernel deve copiare dalla 
memoria alta ai 150 MB di "scambio" per accederci.

C'e` quindi un calo di prestazioni per sistemi con piu` di 1 GB di RAM.

Il kernel "bigmem" permette di vedere piu` di 3.5 GB di RAM totali (per 
un massimo di 64 GB) con il trucchetto di cui sopra e abbinato un doppio 
reindirizzamento, quindi le prestazioni calano ancora di piu` (anche se 
la MMU e` abbastanza rapida, quindi il calo non e` eccessivo)

> - debian 32 bit con 2 GB di RAM e kernel "64 bit"
> - debian 32 bit con 4 GB di RAM e kernel "64 bit"

Non ho idea, non ho mai ibridato architettura e kernel

> - debian 64 bit con 2 GB di RAM e kernel "64 bit"
> - debian 64 bit con 4 GB di RAM e kernel "64 bit"

Il kernel vede direttamente 64 GB di RAM fisica (36bit), e 256 TB (48bit) 
virtuale. Questo in "legacy mode", cioe` con la compatibilita` a 32 bit.

Usando un kernel compilato apposta, e rinunciando alla compatibilita` a 
32bit si arriva a 48 bit sia fisici che virtuali. L'architettura prevede 
di poter arrivare a 52bit (4 PB), ma i processori attuali ancora non la 
implementano.

A 64bit raddoppiano sia i registri general purpouse che quelli SSE (da 8
+8 a 16+16), permettendo di mantenere piu` dati nella CPU durante i 
calcoli.
Con un compilatore che ottimizzi il codice per sfruttare questi registri, 
le prestazioni aumentano parecchio.

Inoltre tutti i registri base sono a 64 bit e quelli SSE a 128 bit, 
quindi le operazioni su interi lunghi e su double richiedono meno 
istruzioni.

Di contro i puntatori diventano a 64bit (nonostante se ne usino solo 48), 
quindi gli eseguibili aumentano un po' di dimensione.

Bye.



Reply to: