Qual è la quantità massima di RAM che è possibile mettere in teoria in un computer a 64 bit?
La maggior parte delle persone passa dall'elaborazione a 32 bit all'elaborazione a 64 bit per superare il limite di 4 GB di RAM, ma come lontano puoi superare questo limite una volta entrato nel regno dei computer a 64 bit?
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di domande e risposte basato sulla comunità. Immagine di Petr Kratochvil.
La domanda
Lettore SuperUser KingNestor è curioso di sapere quanta RAM può contenere un computer a 64 bit:
Sto leggendo il mio libro di architettura del computer e vedo che in una CPU x86 a 32 bit il contatore del programma è a 32 bit.
Quindi, il numero di byte che può indirizzare è 2 ^ 32 byte o 4 GB. Quindi ha senso per me che la maggior parte delle macchine a 32 bit limita la quantità di RAM a 4 GB (ignorando PAE).
Ho ragione nel presumere che una macchina a 64 bit potrebbe teoricamente indirizzare 2 ^ 64 byte, o 16 exabyte di ram?!
Exabyte che dici? Ora, ora, lascia 'non essere avidi. Saremmo felici di iniziare con un terabyte o due.
La risposta
Le risposte alla ricerca di KingNestor sono un'interessante combinazione di considerazioni pratiche e teoriche. Matt Ball salta a destra con la risposta teorica:
Teoricamente: 16,8 milioni di terabyte. In pratica: il case del tuo computer è un po 'troppo piccolo per adattarsi a tutta quella RAM.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean salta dentro con una nota su come sarebbe del tutto impraticabile massimizzare il limite teorico di RAM usando la tecnologia di oggi:
Per integrare la risposta di Matt Ball, l'attuale bastone più grande di RAM che posso trovare su un particolare rivenditore online è di 32 GB. Ci vorrebbero 32 di questi per raggiungere 1 terabyte. A circa mezzo pollice per bastone questo ci porta ad uno spazio dedicato 16 pollici di spazio sulla scheda madre per un terabyte di RAM commerciale. Per raggiungere 16,8 milioni di terabyte richiederebbe una scheda madre 4.242,42 miglia. La distanza da Los Angeles a New York è di circa 2141 miglia, quindi la scheda madre si estenderebbe in tutto il paese e indietro per ospitare così tanta RAM.
Chiaramente questo non è pratico.
Che ne dici di non aver messo la nostra RAM tutto in una riga come nella maggior parte delle schede madri, ma invece le abbiamo messe fianco a fianco. Voglio dire che il bastone medio di ram è lungo circa sei pollici, quindi se permettiamo un mezzo pollice di larghezza, puoi avere un'unità quadrata di 12 bastoncini di ram in un quadrato da 6 pollici. Chiamiamo questo quadrato una tessera RAM. Un riquadro RAM quindi contiene 384 GB di RAM. Per raggiungere i 16,8 milioni di terabyte richiesti in tessere da 384 GB sarebbero necessari 44,8 milioni di tessere. Siamo caotici, e usiamo la radice quadrata per concludere che questo si adatta a un quadrato di 6693 per 6694 tessere, o 13.386 per 13.388 piedi, che è abbastanza vicino a 2,5 piedi quadrati, abbastanza per coprire il centro di Seattle in ombra, come se non avevano già abbastanza di cui lamentarsi.
Infine, David Schwartz osserva che anche il limite teorico si impantana per l'attuale architettura della CPU:
Si noti che nessun processore x86 a 64 bit esistente può effettivamente farlo. Le loro cache non hanno abbastanza bit di tag, i loro bus di indirizzo non hanno abbastanza larghezza e così via. 46 bit (8 TB) è il massimo per molte moderne CPU x86.
Hai qualcosa da aggiungere alla spiegazione? Sound off nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.