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 far puoi superare quel limite una volta entrato nel regno dei computer a 64 bit?
La sessione di domande e risposte di oggi ci arriva per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento guidato dalla comunità di siti web di domande e risposte. Immagine di Petr Kratochvil .
La domanda
Il lettore SuperUser KingNestor è curioso di sapere quanta RAM può contenere un computer a 64 bit:
Sto leggendo il mio libro sull'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 limiti 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 ariete ?!
Exabyte dici? Ora, ora, non essere avidi. Saremmo felici di iniziare con uno o due terabyte.
La risposta
Le risposte all'indagine di KingNestor sono un'interessante miscela di considerazioni pratiche e teoriche. Matt Ball salta subito dentro con la risposta teorica:
Teoricamente: 16,8 milioni di terabyte. In pratica: il case del tuo computer è un po 'troppo piccolo per contenere tutta quella RAM.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean interviene con una nota su quanto sarebbe del tutto impraticabile massimizzare il limite teorico di RAM utilizzando la tecnologia odierna:
Per completare la risposta di Matt Ball, l'attuale più grande stick 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 stick, questo ci porta a 16 pollici di spazio sulla scheda madre per un terabyte di ram commerciale. Per raggiungere 16,8 milioni di terabyte sarebbe necessaria una scheda madre 4.242,42 miglia. La distanza da LA a New York è di circa 2141 miglia, quindi la scheda madre si estenderebbe in tutto il paese e tornerebbe indietro per ospitare così tanta RAM.
Chiaramente questo non è pratico.
Che ne dici di non mettere la nostra RAM tutta in una riga come sulla maggior parte delle schede madri, ma invece le abbiamo messe una accanto all'altra. Voglio dire che il bastoncino di montone medio è lungo circa sei pollici, quindi se permettiamo una larghezza di mezzo pollice, puoi avere un'unità quadrata di 12 bastoncini di montone in un quadrato di 6 pollici. Chiamiamo questo quadrato un riquadro RAM. Un riquadro RAM contiene quindi 384 GB di RAM. Per raggiungere i 16,8 milioni di terabyte richiesti in tile da 384 GB sarebbero necessari 44,8 milioni di tile. Facciamo confusione e usiamo la radice quadrata di questo per concludere che questo si adatterà a un quadrato di 6693 per 6694 tessere, o 13.386 per 13.388 piedi, che è abbastanza vicino a 2,5 piedi quadrati, abbastanza da 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 viene bloccato dall'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 indirizzi non hanno larghezza sufficiente e così via. 46 bit (8 TB) è il massimo per molte moderne CPU x86.
Hai qualcosa da aggiungere alla spiegazione? Suona nei commenti. Vuoi leggere altre risposte da altri utenti esperti di tecnologia Stack Exchange? Dai un'occhiata al thread di discussione completo qui .