memoria máxima admitida por el procesador: ¿por qué a menudo se indica menos de 1 TB?

Quiero comprender los detalles técnicos de las limitaciones del tamaño máximo de memoria que puede admitir un sistema/procesador. Debajo de lo que pude encontrar a través de la búsqueda web hasta la fecha Wiki :

Los procesadores modernos de 64 bits, como los diseños de ARM, Intel o AMD, generalmente se limitan a admitir menos de 64 bits para las direcciones de RAM. Por lo general, implementan de 40 a 52 bits de dirección física 1 3 (admiten de 1 TB a 4 PB de RAM). Al igual que las arquitecturas anteriores descritas aquí, algunas de ellas están diseñadas para admitir límites más altos de direccionamiento de RAM a medida que mejora la tecnología. Tanto en Intel64 como en AMD64, el límite de direcciones físicas de 52 bits se define en las especificaciones de la arquitectura (4 PB).

El sitio crucial, comprensión de las limitaciones de la CPU con la memoria, solo habla sobre la velocidad, apunta al sitio de Intel. Pero hasta donde yo sé, la información, por ejemplo, i7, dice 32 Gb porque en el momento de crear el procesador solo había módulos de 16 Gb disponibles, lo que significa que solo admite 2 módulos ( supongo que 2 módulos ahora, la cita wiki anterior habla de bits ).

Recién estoy empezando a entender los detalles técnicos de cómo funciona la memoria, como los rangos . ¿Qué impide exactamente que todos los procesadores Intel modernos, por ejemplo, afirmen poder abordar al menos 1 TB (según la wiki anterior)?

¿Es la misma razón para ARM en los teléfonos inteligentes? Por ejemplo, 875 :

Tamaño máximo 24 GB

Para ARM no tengo experiencia en cambiar la cantidad de memoria ya que todos mis dispositivos tenían SoC, aunque recientemente descubrí que ARM debería tener sistemas con módulos, como indica la búsqueda web (por ejemplo, https://www.anandtech.com/show/13635/apacer- lanza-32bit-sodimm-para-arm-risc-v-systems ).

@DKNguyen. ¿Por qué dices que están equivocados? ¿No 40 bits (porque 40 bits es ~ 1 TB)? ¿Puede proporcionar un enlace para apoyar eso? PD He arreglado el título.
Oh, espera, olvidé que cada byte tiene una dirección, no cada bit. Entonces, una dirección de 40 bits puede direccionar 2 ^ 40 bytes, en cuyo caso realmente es 1 TB,

Respuestas (2)

Su cita de Wikipedia se refiere al espacio de direcciones físicas, el tamaño de todas las direcciones de memoria disponibles para el procesador. Es solo la suma de todas las direcciones que pueden caber en el espacio de memoria física. Sin embargo, no toda la memoria física es RAM. Los dispositivos PCIe como GPU, almacenamiento flash, etc. también ocupan direcciones de memoria física que se utilizan para comunicarse con ellos o copiar datos hacia/desde ellos. Por esta razón, el espacio de direcciones de la memoria física siempre debe ser mayor que la mayor cantidad posible de RAM en el sistema. Si no es así, termina con situaciones en las que no se puede instalar todo el hardware al mismo tiempo o no se puede acceder a toda la memoria, como sucedió en los viejos tiempos de 32 bit x86.

Claramente, si su sistema está bien diseñado, un espacio de direcciones de 40 bits no implica que pueda tener 2^40 bytes de RAM. Si lo hiciera, perdería el acceso a su PCIe y otro hardware. ¿Qué es lo que realmente limita tu RAM disponible entonces? El controlador de memoria en su CPU debe ser capaz de asignar direcciones físicas a celdas únicas de RAM. Hay un límite práctico a la cantidad de memoria que realmente puede acceder. Los DIMM individuales tienen un tamaño máximo establecido por la especificación y el controlador de memoria en sí tiene una cantidad máxima de canales de memoria.

Por ejemplo, un procesador Intel Comet Lake de décima generación admite hasta 4 DIMM, con un tamaño máximo de 64 GB según la especificación DDR4. Por lo tanto, la capacidad máxima posible es de 256 GB (aunque Intel dice que solo 128 GB, por lo que quizás los módulos DIMM de 64 GB no sean compatibles). El espacio de direcciones físicas restante aún puede ser utilizado por otro hardware, pero no por el controlador de memoria.

Para Cornet Lake, ¿quiere decir que el procesador tiene un conjunto de "cables" directos en la placa base desde su matriz de cuadrícula a cada ranura/módulo de memoria por separado? si es así, esa es básicamente la respuesta a mi pregunta con respecto a x86.
@ Martian2020 En este procesador en particular, hay 2 canales de memoria y hasta 4 DIMM, por lo que los pares de DIMM comparten cableado. Pero sí, la CPU está conectada a la memoria a través de un controlador de memoria que asigna direcciones físicas a las celdas de la DRAM.
Para decirlo más correctamente (sin editar como tal vez se haya leído): ¿el procesador tiene cierta cantidad de conjuntos de conexiones de rejilla de bolas para conectar a cada módulo?
@ Martian2020 Y cada pin de dirección en el paquete necesita enrutamiento en la oblea de silicio para funcionar realmente.
Sé que los procesadores modernos tienen controladores de memoria integrados, por favor aclare sobre el diseño/limitaciones físicas de la rejilla esférica.
Es tanto el paquete como dentro del paquete. Es por eso que dije "y" (quería que se encadenara con su comentario anterior sobre el BGA).
" 2 canales de memoria y hasta 4 DIMMs". ¿Qué impide diseñar una placa base (que funcionaría con ese procesador "correctamente") con cableado compartido para poner, por ejemplo, 16 DIMMS?
El sitio Intel ark afirma que solo admite 32 GB, pero 4 DIMM con un máximo de 64 GB según las especificaciones de DD4 (de wiki) = 256. ¿Puede 8550U admitir 256 GB?
@ Martian2020 Está limitado por lo que admite el controlador de memoria. Intel le venderá procesadores que admitan 16 DIMM, pero cuestan más.
@ Martian2020, solo puede compartir un único canal de memoria entre dos DIMM debido a la integridad de la señal (en su mayor parte), y la frecuencia del reloj de la memoria está limitada por la distancia al IC más lejano.
@Simón, gracias. Apreciaría un enlace a un video que explique cómo terminan (y comienzan) los datos en un DIMM en particular (de un par) y por qué no podemos compartir, por ejemplo, 4 de DIMM de esta manera, o una breve explicación del mecanismo tecnológico.
@ Martian2020 Esto se está alejando bastante del tema, pero consulte esta página para obtener una descripción general de cómo funciona DDR4: systemverilog.io/ddr4-basics
¿Por qué fuera de tema? dos veces más DIMM dos veces más RAM.
@ Martian2020, los DIMM en un canal están conectados en paralelo en las líneas de datos y dirección/control, pero reciben señales separadas de selección de chip y habilitación de reloj. Desde una perspectiva de lógica digital, esto podría escalarse a más DIMM, pero esto degrada la calidad de la señal hasta el punto en que debe reducir la frecuencia del reloj, por lo que el problema está en el lado analógico.
@Simon, ¿se producen Chip Select en el procesador/paquete? Si es así, entonces es una limitación y parte de la respuesta a OP.
@ Martian2020 Sí, las señales de selección de chip provienen del controlador de memoria. En mi opinión, si desea conocer los detalles de cómo funciona DDR4, debe editar su pregunta (o publicar una nueva) en lugar de preguntarme continuamente. De esa manera, más personas verán tu pregunta.
¡Gracias por la sugerencia de una nueva pregunta!

Admitir más memoria no es gratis. Requiere admitir más direcciones, lo que requiere más circuitos, lo que requiere más espacio en la matriz y más pines en el paquete, lo que probablemente conducirá a un paquete más grande, lo que reduce el rendimiento y aumenta el costo. ¿Por qué hacerlo si no lo necesitas?

¿Puede proporcionar detalles? porque la mayoría de los procesadores tienen menos de 40 bits? Si es así, agregue enlaces a ejemplos de (preferiblemente) hojas de especificaciones de Intel i7.
Gracias por corregir mi inglés :-) Cuando escribo rápido, a veces me vuelvo menos preciso que de costumbre. (que y luego es mi problema particular, ¿conoce alguna regla para saber cuándo usar e o a?)
Sé la diferencia de significado, olvidé cuándo poner e o a.
¡Vaya! Me equivoqué en mi publicación. Aquí está de nuevo: "Cause" es una palabra diferente a "because". Cuando hablas oralmente para decir "porque" en realidad estás hablando porque, con el apóstrofe. No es algo que necesite hojas de especificaciones. La pregunta es muy similar a preguntar "¿por qué no se construyen todos los automóviles para que tengan el tamaño máximo que aún permitiría ser legal en la calle?"
Que solo se usa para comparaciones. Luego se utiliza el resto del tiempo. Así que solo usa la 'a' si estás comparando algo. Use 'e' el resto del tiempo.
Vaya, nuevamente mi inglés, no quise decir "regla", sino algo así como en.wikipedia.org/wiki/Mnemonic , sin embargo, es una pregunta para otro sitio de SE. ¡Gracias de nuevo!