# Arquitectura de memoria multicanal

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 tasa de transferencia de datos entre la memoria DRAM y el controlador de memoria al agregar más canales de comunicación entre ellos. Teóricamente, esto multiplica la tasa 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.
Los procesadores modernos de escritorio y estaciones de trabajo de gama alta, 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 brindan soporte al ancho de banda de la memoria desde el diseño del módulo de cuatro canales hasta el diseño de ocho canales. En marzo de 2010, AMD lanzó los procesadores de la serie Socket G34 y Magny-Cours Opteron 6100 con soporte para memoria de cuatro canales. En 2006, Intel lanzó conjuntos de chips compatibles con memoria de cuatro canales para su plataforma LGA771 y más tarde en 2011 para su plataforma LGA2011. Se diseñaron conjuntos de chips de microcomputadoras con aún más canales; por ejemplo, el conjunto de chips de AlphaStation 600 (1995) admite memoria de ocho canales, pero la placa posterior de la máquina limita el funcionamiento a cuatro canales.

## Arquitectura de doble canal

Los controladores de memoria habilitados para dos canales en una arquitectura de sistema de PC utilizan dos canales de datos de 64 bits. El canal dual no debe confundirse con la velocidad de datos doble (DDR), en la que el intercambio de datos ocurre dos veces por reloj DRAM. Las dos tecnologías son independientes entre sí, y muchas placas base usan ambas al usar memoria DDR en una configuración de dos canales.

### Operación

La arquitectura de dos canales requiere una placa base compatible con dos canales y dos o más módulos de memoria DDR, DDR2, DDR3, DDR4 o DDR5. Los módulos de memoria se instalan en bancos coincidentes, 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 emparejados en el primer banco de cada canal y un par de módulos de diferente capacidad en el segundo banco. Los módulos clasificados a 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 usarlas en modo de doble canal. Por esta razón, generalmente se recomienda utilizar pares idénticos de módulos de memoria, razón por la cual la mayoría de los fabricantes de memoria ahora venden "kits" de DIMM de pares coincidentes. Varios fabricantes de placas base solo admiten configuraciones en las que se utiliza un "par coincidente" de módulos. Un par coincidente debe coincidir en:
* Capacidad (por ejemplo, 1024 MB). Ciertos conjuntos de chips Intel admiten chips de diferentes capacidades en lo que denominan Modo Flex: la capacidad que se puede igualar se ejecuta en dos canales, mientras que el resto se ejecuta en un solo canal.
* Velocidad (por ejemplo PC5300). Si la velocidad no es la misma, se utilizará la velocidad más baja de los dos módulos. Asimismo, se aprovechará la mayor latencia de los dos módulos.
* Misma latencia CAS (CL) o luz estroboscópica de dirección de columna.
* Número de fichas y lados (por ejemplo, dos lados con cuatro fichas en cada lado).
* Tamaño coincidente de filas y columnas.
La arquitectura de doble canal es una tecnología implementada en las placas base por el fabricante de la placa base y no se aplica a los módulos de memoria. Teóricamente, cualquier par de módulos de memoria combinados se puede usar en una operación de canal único o doble, siempre que la placa base admita esta arquitectura.

### Rendimiento

Teóricamente, 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 mediante la transferencia de datos tanto en los flancos ascendentes como descendentes de las señales de reloj del bus de memoria.
Una evaluación comparativa realizada por TweakTown, utilizando SiSoftware Sandra, midió un aumento de alrededor del 70 % en el rendimiento de una configuración de cuatro canales, en comparación con una configuración de dos canales. $^{: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 referencia está a la altura de la tarea de explotar el mayor paralelismo que ofrecen las configuraciones de memoria multicanal. $^{:p.6}$

### En grupo contra no en grupo

El canal dual 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. Esto se denomina retrospectivamente el modo "agrupado". Sin embargo, debido a las deslucidas ganancias de rendimiento en las aplicaciones de consumo, las implementaciones más modernas de doble canal utilizan el modo "no modificado" de forma predeterminada, que mantiene dos buses de memoria de 64 bits pero permite el acceso independiente a cada canal, en apoyo de subprocesos múltiples con procesadores multinúcleo.
La diferencia entre "agrupado" y "no agrupado" también podría concebirse como una analogía con la forma en que funciona RAID 0, en comparación con JBOD. Con RAID 0 (que es análogo al modo "agrupado"), depende de la capa lógica adicional proporcionar un mejor uso (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 "no agrupado") se confía en los patrones de uso estadístico para garantizar un mayor rendimiento general mediante el uso uniforme de todas las unidades de hardware disponibles.

## Arquitectura de triple canal
### Operación

La arquitectura de triple canal DDR3 se utiliza en la serie Intel Core i7-900 (la serie Intel Core i7-800 solo admite hasta dos canales). La plataforma LGA 1366 (p. ej. Intel X58) admite DDR3 de triple canal, 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 funcionando a 1066 MHz ofrecerá velocidades máximas de transferencia de datos de 25,6 GB/s cuando se opera en modo intercalado de tres canales. Esto, afirma Intel, conduce a un rendimiento del sistema más rápido, así como a un mayor rendimiento por vatio.
Cuando se opera en el modo de tres canales, la latencia de la memoria se reduce debido a la intercalación, lo que significa que se accede secuencialmente a cada módulo para obtener bits de datos más pequeños en lugar de llenar completamente un módulo antes de acceder al siguiente. Los datos se distribuyen entre los módulos en un patrón alterno, triplicando potencialmente el ancho de banda de memoria disponible para la misma cantidad de datos, en lugar de almacenarlos todos en un módulo.
La arquitectura solo se puede usar cuando los tres módulos de memoria, o un múltiplo de tres, son idénticos en capacidad y velocidad, y se colocan en ranuras de tres canales. Cuando se instalan dos módulos de memoria, la arquitectura funcionará en modo de arquitectura de doble canal.

### Procesadores compatibles

| Intel Core i7: Intel Core i7-9xx Bloomfield, Gulftown Intel Core i7-9x0X Gulftown | Intel Xeon: Intel Xeon E55xx Nehalem-EP Intel Xeon E56xx Westmere-EP Intel Xeon ECxxxx Jasper Forest Intel Xeon L55xx Nehalem-EP Intel Xeon L5609 Westmere-EP Intel Xeon L5630 Westmere-EP Intel Xeon L5640 Westmere-EP Intel Xeon LC55x8 Jasper Forest Intel Xeon Wxxxx Bloomfield, Nehalem-EP, Westmere-EP Intel Xeon X55xx Nehalem-EP Intel Xeon X56xx Westmere-EP Intel Xeon x4xx v3 Intel Pentium 14xx v3 Intel Xeon x4xx v2 Intel Pentium 14xx v2 Intel Xeon x4xx Intel Pentium 14xx |

## Arquitectura de cuatro canales
### Operación

La memoria de cuatro canales debutó en la plataforma Intel Nehalem-EX LGA 1567 de CPU Xeon, 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 finales de 2011. DDR4 reemplazó a DDR3 en la plataforma Intel X99 LGA 2011, también conocida como Haswell-E, y también se usa en la plataforma Threadripper de AMD. La arquitectura de cuatro canales DDR3 se utiliza en la plataforma AMD G34 y en las CPU Intel antes mencionadas antes de Haswell. Procesadores AMD para la plataforma C32 y procesadores Intel para la plataforma LGA 1155 (ej. Intel Z68) utiliza memoria DDR3 de doble canal en su lugar.
La arquitectura se puede usar solo cuando los cuatro módulos de memoria (o un múltiplo de cuatro) son idénticos en capacidad y velocidad, y se colocan en ranuras de cuatro canales. Cuando se instalan dos módulos de memoria, la arquitectura funcionará en un modo de doble canal; Cuando se instalan tres módulos de memoria, la arquitectura funcionará en modo de tres canales.

### Procesadores compatibles

| AMD Threadripper: AMD Ryzen Threadripper 3rd gen 3990X AMD Ryzen Threadripper 3rd gen 3970X AMD Ryzen Threadripper 3rd gen 3960X AMD Ryzen Threadripper 2nd gen 2990WX AMD Ryzen Threadripper 2nd gen 2970WX AMD Ryzen Threadripper 2nd gen 2950X AMD Ryzen Threadripper 2nd gen 2920X AMD Ryzen Threadripper 1950X AMD Ryzen Threadripper 1920X AMD Ryzen Threadripper 1900X AMD Epyc: Epyc 7003 series processors Epyc 7002 series processors Epyc 7001 series processors AMD Opteron: Opteron 6300-series "Abu Dhabi" (32 nm) Opteron 6200-series "Interlagos" (32 nm) Opteron 6100-series "Magny-Cours" (45 nm) | Intel Core: Intel Core i9-10900X Intel Core i7-9800X Intel Core i9-7980XE Intel Core i9-7940X Intel Core i9-7900X Intel Core i7-7820X Intel Core i7-7800X Intel Core i7-6950X Intel Core i7-6900K Intel Core i7-6850K Intel Core i7-6800K Intel Core i7-5960X Intel Core i7-5930K Intel Core i7-5820K Intel Core i7-4960X Intel Core i7-4930K Intel Core i7-4820K Intel Core i7-3970X Intel Core i7-3960X Intel Core i7-3930K Intel Core i7-3820 | Intel Xeon: Intel Xeon E5-x6xx v4 Intel Xeon E7-x8xx v3 Intel Xeon E5-x6xx v3 Intel Xeon E7-x8xx v2 Intel Xeon E5-x6xx v2 Intel Xeon E7-x8xx Intel Xeon E5-x6xx |

## Arquitectura de seis canales

Compatible con procesadores de servidor Qualcomm Centriq, y procesadores de la plataforma Intel Xeon Scalable.

## Arquitectura de ocho canales

Compatible con los procesadores de servidor Cavium ThunderX2, los procesadores de servidor de AMD de su plataforma Epyc y la línea Threadripper PRO de procesadores de clase profesional para estaciones de trabajo de la familia de productos AMD Ryzen PRO.