¿Cuál es la cantidad máxima de RAM que podría poner teóricamente en una computadora de 64 bits?
La mayoría de las personas actualizan la computación de 32 bits a la computación de 64 bits para superar el límite de RAM de 4GB, pero cómo lejos ¿Puede superar ese límite una vez que haya ingresado en el reino de las computadoras de 64 bits??
La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad. Imagen de Petr Kratochvil..
La pregunta
El lector SuperUser KingNestor tiene curiosidad acerca de cuánta RAM puede contener una computadora de 64 bits:
Estoy leyendo el libro de arquitectura de mi computadora y veo que en una CPU x86 de 32 bits, el contador del programa es de 32 bits..
Por lo tanto, el número de bytes que puede direccionar es 2 ^ 32 bytes o 4 GB. Así que tiene sentido para mí que la mayoría de las máquinas de 32 bits limiten la cantidad de RAM a 4GB (ignorando el PAE).
¿Tengo razón al suponer que una máquina de 64 bits teóricamente podría abordar 2 ^ 64 bytes, o 16 exabytes de carnero?!
¿Exabytes que dices? Ahora, ahora, no seamos codiciosos. Estaremos encantados de comenzar con un terabyte o dos.
La respuesta
Las respuestas a la pregunta de KingNestor son una mezcla interesante de consideraciones prácticas y teóricas. Matt Ball salta a la derecha con la respuesta teórica:
Teóricamente: 16,8 millones de terabytes. En la práctica: la caja de su computadora es un poco demasiado pequeña para caber toda esa RAM.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean interviene con una nota sobre lo poco práctico que sería maximizar el límite de RAM teórico utilizando la tecnología actual:
Para complementar la respuesta de Matt Ball, la mayor memoria RAM actual que puedo encontrar en un minorista en línea en particular es de 32 GB. Se necesitarían 32 de estos para llegar a 1 terabyte. Aproximadamente a media pulgada por palo, esto nos lleva a un espacio dedicado de 16 pulgadas en su placa base para un terabyte de ram comercial. Para alcanzar 16.8 millones de terabytes se requeriría una placa base de 4,242.42 millas. La distancia desde Los Ángeles a Nueva York es de aproximadamente 2141 millas, por lo que la placa base se extendería por todo el país y volvería a acomodar tanta RAM..
Claramente esto no es práctico.
¿Qué tal si no pusimos nuestra memoria RAM en una sola fila como en la mayoría de las placas base, sino que las colocamos una al lado de la otra? Quiero decir que el palo promedio del ariete mide aproximadamente seis pulgadas de largo, por lo que si permitimos media pulgada de ancho, puede tener una unidad cuadrada de 12 palos en un cuadrado de 6 pulgadas. Llamemos a esta casilla un mosaico RAM. Un mosaico de RAM luego tiene 384GB de RAM. Alcanzar los 16.8 millones de terabytes requeridos en 384GB de azulejos tomaría 44.8 millones de azulejos. Seamos confusos, y utilicemos la raíz cuadrada de eso para concluir que encajará en un cuadrado de 6693 por 6694 azulejos, o 13,386 por 13,388 pies, que está lo suficientemente cerca a 2,5 pies cuadrados, lo suficiente como para cubrir el centro de Seattle a la sombra, como si no tenían ya suficiente para quejarse.
Finalmente, David Schwartz señala que incluso el límite teórico se atasca con la arquitectura actual de la CPU:
Tenga en cuenta que ningún procesador x86 de 64 bits existente puede hacer esto. Sus cachés no tienen suficientes bits de etiquetas, sus buses de direcciones no tienen suficiente ancho, y así sucesivamente. 46 bits (8 TB) es el máximo para muchas CPU x86 modernas.
¿Tienes algo que agregar a la explicación? Apague el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.