¿Por qué cantidades desiguales de RAM en cada ranura disminuyen el rendimiento?

12

Esta página describe las especificaciones de RAM para muchas de las computadoras portátiles MacBook. En la sección de mi computadora portátil (13 "Pro finales de 2011), dice:

Notas adicionales: Para un mejor rendimiento, llene ambas ranuras de memoria, instalando un módulo de memoria igual en cada ranura.

Esta no es la primera vez que escucho sobre este fenómeno, y definitivamente no es específico de Apple.

¿Por qué es este el caso? Además de la disminución obvia en la memoria disponible, ¿por qué sería peor correr con 6GB (1x4GB + 1x2GB) que con 8GB (2x4GB)?

LanceLafontaine
fuente
Primero ... No es un fenómeno que tiene que ver con los canales de memoria. Segundo, no habría aumento / disminución del rendimiento entre sus ejemplos.
Ramhound
@Ramhound si no hay una disminución del rendimiento, ¿por qué hay esa advertencia en el sitio web de Apple?
LanceLafontaine
Dije en su ejemplo que si no estuviera ejecutando en modo de doble canal, lo habría. Hay una diferencia entre la pérdida de rendimiento teórica y la pérdida de rendimiento real.
Ramhound

Respuestas:

17

Con cantidades iguales de memoria en ambas ranuras, la memoria se puede "intercalar" para que trozos sucesivos de memoria alternen ranuras. De esa forma, los accesos a la memoria se distribuyen a ambas ranuras de manera casi uniforme, permitiendo que su ancho de banda se combine. Con cantidades desiguales, la memoria no se puede intercalar y se debe asignar primero a un palo y luego al otro. Un programa que está accediendo a una gran cantidad de memoria contigua encontrará que casi todos sus accesos van a un solo palo, y no habrá combinación de ancho de banda.

David Schwartz
fuente
Su uso (no calificado) de "intercalado" es confuso para un veterano como yo. El intercalado en este caso es solo para la asignación de dirección de memoria. Presumiblemente, los módulos de memoria también funcionarían en modo monocanal o multicanal (es decir, N canales realizarían sus ciclos de memoria simultáneamente). La memoria intercalada tradicional solo superpuso sus ciclos (un banco de memoria podría comenzar su ciclo de lectura antes de que el banco anterior completara su ciclo), para una ganancia de rendimiento barata sin agregar otro canal de memoria.
aserrín
@sawdust "para que trozos sucesivos de memoria alternen ranuras ... permitiendo que su ancho de banda se combine"
David Schwartz
1
Eso es parte de la ambigüedad. ¿"Alterno" en un sentido estático y / o dinámico? La memoria intercalada tradicional "alternaría" entre bancos tanto en sentido estático (direccionamiento) como dinámico (ciclo de memoria). Multicanal accedería (dinámicamente) a los módulos simultáneamente, en lugar de alternativamente.
aserrín
4

Notas adicionales: Para un mejor rendimiento, llene ambas ranuras de memoria, instalando un módulo de memoria igual en cada ranura.

La explicación técnica probable aquí es que su MacBook (placa base) admite arquitectura de doble canal y, por lo tanto, requiere 2 módulos de memoria idénticos. Los puntos de referencia sugieren que proporciona un aumento del rendimiento del 5% -10%.

¿Por qué es este el caso? Además de la disminución obvia en la memoria disponible, ¿por qué sería peor correr con 6GB (1x4GB + 1x2GB) que con 8GB (2x4GB)?

Cuando se utilizan dos módulos de memoria no idénticos, la placa base ejecutará los módulos de memoria a la velocidad del módulo más lento.

mVincent
fuente