En los campos de la electrónica digital y el hardware informático , la arquitectura de memoria multicanal es una tecnología que aumenta la velocidad de transferencia de datos entre la memoria DRAM y el controlador de memoria añadiendo más canales de comunicación entre ellos. Teóricamente, esto multiplica la velocidad de datos exactamente por el número de canales presentes. La memoria de doble canal emplea dos canales. La técnica se remonta a la década de 1960 y se utilizó en IBM System/360 Model 91 y en CDC 6600. [ 1]
Los procesadores de escritorio y estaciones de trabajo de gama alta modernos, como la serie AMD Ryzen Threadripper y la línea Intel Core i9 Extreme Edition, admiten memoria de cuatro canales. Los procesadores de servidor de la serie AMD Epyc y las plataformas Intel Xeon admiten un ancho de banda de memoria que va desde un diseño de módulo de cuatro canales hasta un diseño de hasta 12 canales. [2] En marzo de 2010, AMD lanzó los procesadores Socket G34 y Magny-Cours Opteron 6100 [3] con soporte para memoria de cuatro canales. En 2006, Intel lanzó chipsets que admiten memoria de cuatro canales para su plataforma LGA771 [4] y más tarde en 2011 para su plataforma LGA2011 . [5] Se diseñaron chipsets para microcomputadoras con incluso más canales; por ejemplo, el chipset de AlphaStation 600 (1995) admite memoria de ocho canales, pero la placa base de la máquina limitaba el funcionamiento a cuatro canales. [6]
Los controladores de memoria habilitados para doble canal en una arquitectura de sistema de PC utilizan dos canales de datos de 64 bits. El doble canal no debe confundirse con la doble velocidad de datos (DDR), en la que el intercambio de datos se produce dos veces por ciclo de DRAM. Las dos tecnologías son independientes entre sí y muchas placas base utilizan ambas mediante el uso de memoria DDR en una configuración de doble canal.
La arquitectura de doble canal requiere una placa base con capacidad para dos canales y dos o más módulos de memoria DDR. Los módulos de memoria se instalan en bancos correspondientes, cada uno de los cuales pertenece a un canal diferente. El manual de la placa base proporcionará una explicación de cómo instalar la memoria para esa unidad en particular. Por lo general, se puede colocar un par de módulos de memoria correspondientes en el primer banco de cada canal y un par de módulos de diferente capacidad en el segundo banco. [7] Los módulos con diferentes velocidades se pueden ejecutar en modo de doble canal, aunque la placa base ejecutará todos los módulos de memoria a la velocidad del módulo más lento. Sin embargo, algunas placas base tienen problemas de compatibilidad con ciertas marcas o modelos de memoria cuando intentan usarlos en modo de doble canal. Por este motivo, generalmente se recomienda utilizar pares idénticos de módulos de memoria, por lo que la mayoría de los fabricantes de memoria ahora venden "kits" de DIMM de pares correspondientes. Varios fabricantes de placas base solo admiten configuraciones en las que se utiliza un "par correspondiente" de módulos. Un par correspondiente debe coincidir en:
En teoría, cualquier par de módulos de memoria emparejados se puede utilizar en operaciones de canal único o doble, siempre que la placa base admita esta arquitectura.
Con la introducción de DDR5 , cada DIMM DDR5 tiene dos subcanales independientes.
En teoría, las configuraciones de doble canal duplican el ancho de banda de la memoria en comparación con las configuraciones de un solo canal. Esto no debe confundirse con la memoria de doble velocidad de datos (DDR), que duplica el uso del bus DRAM al transferir datos tanto en los flancos ascendentes como descendentes de las señales de reloj del bus de memoria.
El modo dual-channel se concibió originalmente como una forma de maximizar el rendimiento de la memoria mediante la combinación de dos buses de 64 bits en un solo bus de 128 bits. [ disputado – discutir ] [ cita requerida ] Esto se denomina retrospectivamente el modo "ganged". Sin embargo, debido a las mejoras de rendimiento mediocres en las aplicaciones de consumo, [8] las implementaciones más modernas del modo dual-channel utilizan el modo "unanged" de forma predeterminada, que mantiene dos buses de memoria de 64 bits pero permite el acceso independiente a cada canal, en apoyo del multithreading con procesadores multi-core . [9] [10]
La diferencia entre "agrupado" y "desagrupado" también se podría considerar como una analogía con el modo en que funciona RAID 0 , en comparación con JBOD . [11] Con RAID 0 (que es análogo al modo "agrupado"), depende de la capa lógica adicional proporcionar un uso mejor (idealmente uniforme) de todas las unidades de hardware disponibles (dispositivos de almacenamiento o módulos de memoria) y un mayor rendimiento general. Por otro lado, con JBOD (que es análogo al modo "desagrupado") se depende de los patrones de uso estadísticos para garantizar un mayor rendimiento general mediante un uso uniforme de todas las unidades de hardware disponibles. [9] [10]
La arquitectura de triple canal DDR3 se utiliza en la serie Intel Core i7-900 (la serie Intel Core i7-800 solo admite hasta doble canal). La plataforma LGA 1366 (por ejemplo, Intel X58) admite triple canal DDR3, normalmente 1333 y 1600 MHz, pero puede funcionar a velocidades de reloj más altas en ciertas placas base. Los procesadores AMD Socket AM3 no utilizan la arquitectura de triple canal DDR3, sino que utilizan memoria DDR3 de doble canal. Lo mismo se aplica a las series Intel Core i3, Core i5 y Core i7-800, que se utilizan en las plataformas LGA 1156 (por ejemplo, Intel P55 ). Según Intel, un Core i7 con DDR3 que funcione a 1066 MHz ofrecerá velocidades máximas de transferencia de datos de 25,6 GB/s cuando funcione en modo intercalado de triple canal . Esto, afirma Intel, conduce a un rendimiento más rápido del sistema, así como a un mayor rendimiento por vatio . [12]
Cuando se opera en modo de triple canal, la latencia de la memoria se reduce gracias al entrelazado, lo que significa que se accede a cada módulo de forma secuencial para obtener fragmentos de datos más pequeños en lugar de llenar por completo un módulo antes de acceder al siguiente. Los datos se distribuyen entre los módulos en un patrón alterno, lo que potencialmente triplica el ancho de banda de memoria disponible para la misma cantidad de datos, en lugar de almacenarlos todos en un módulo.
La arquitectura sólo se puede utilizar cuando los tres módulos de memoria, o un múltiplo de tres, son idénticos en capacidad y velocidad y están colocados en ranuras de tres canales. Cuando se instalan dos módulos de memoria, la arquitectura funcionará en modo de arquitectura de doble canal. [13]
La memoria de cuatro canales debutó en la plataforma Nehalem-EX LGA 1567 de CPU Xeon de Intel, también conocida como Beckton en 2010, y se introdujo en la línea de productos de gama alta en la plataforma Intel X79 LGA 2011 con Sandy Bridge-E a fines de 2011. DDR4 reemplazó a DDR3 en la plataforma Intel X99 LGA 2011 , también conocida como Haswell-E, y también se utiliza en la plataforma Threadripper de AMD . [16] La arquitectura de cuatro canales DDR3 se utiliza en la plataforma AMD G34 y en las CPU Intel mencionadas anteriormente antes de Haswell. Los procesadores AMD para la plataforma C32 y los procesadores Intel para la plataforma LGA 1155 (por ejemplo, Intel Z68 ) usan memoria DDR3 de doble canal en su lugar.
La arquitectura se puede utilizar únicamente cuando los cuatro módulos de memoria (o un múltiplo de cuatro) son idénticos en capacidad y velocidad, y están colocados en ranuras de cuatro canales. Cuando se instalan dos módulos de memoria, la arquitectura funcionará en modo de doble canal; cuando se instalan tres módulos de memoria, la arquitectura funcionará en modo de triple canal. [13]
Un benchmark realizado por TweakTown, utilizando SiSoftware Sandra, midió alrededor de un 70% de aumento en el rendimiento de una configuración de cuatro canales, en comparación con una configuración de dos canales. [17] : p. 5 Otras pruebas realizadas por TweakTown sobre el mismo tema no mostraron diferencias significativas en el rendimiento, lo que llevó a la conclusión de que no todo el software de benchmark está a la altura de la tarea de explotar el mayor paralelismo que ofrecen las configuraciones de memoria multicanal. [17] : p. 6
Compatible con procesadores de servidor Qualcomm Centriq , [20] y procesadores de la plataforma escalable Intel Xeon. [21]
Compatible con los procesadores de servidor Cavium ThunderX2 , los procesadores de servidor AMD de su plataforma Epyc y la línea Threadripper PRO de procesadores para estaciones de trabajo de clase profesional. [22] [23] [24]
La arquitectura de memoria de canal dodeca o de 12 canales se introduce con los procesadores de servidor de AMD a partir de su plataforma Epyc 9004 lanzada en 2022, utilizando memoria DDR5 . [25]
Cuando las DCT están en modo agrupado, como se especifica en [El registro bajo de selección del controlador DRAM] F2x110 [DctGangEn], cada DIMM lógico tiene dos canales de ancho. Cada DIMM físico de una DIMM lógica de 2 canales debe tener el mismo tamaño y utilizar los mismos parámetros de temporización. Ambas DCT deben programarse con la misma información (consulte 2.8.1 [Registros de configuración de DCT]). Cuando las DCT están en modo no agrupado, una DIMM lógica es equivalente a una DIMM física de 64 bits y cada canal está controlado por una DCT diferente. Se recomienda que los sistemas típicos se ejecuten en modo no agrupado para aprovechar el paralelismo adicional generado al usar las DCT de forma independiente. Consulte 2.12.2 [Consideraciones de DRAM para ECC] para conocer las implicaciones de ECC de DRAM del modo agrupado y no agrupado. El modo agrupado no es compatible con los procesadores S1g3, S1g4, ASB2 y G34.