¿Por qué un PC con memoria en Dual Channel tiene mejor rendimiento?

A la hora de comprar una placa base, un ordenador preconstruido o un portátil un punto importante es el rendimiento de la memoria RAM y este no solo se limita a la velocidad de esta, sino en comprobar si tenemos una configuración Dual Channel o no, ya que no tenerla supone perder potencia por completo.

Seguro que habréis oído hablar de los términos Single Channel y Dual Channel respecto a la memoria RAM que va a ir instalada en la placa base de vuestro PC. Y muchos habréis leído y escuchado como el hecho de tener un solo canal de memoria es perjudicial para el rendimiento de nuestro PC en comparación con tener una en doble canal.

¿Qué es un canal de memoria?

Dual Channel

La comunicación entre la RAM y cualquier procesador es algo que pese a que es totalmente invisible tanto para los usuarios como para los programadores, realmente no es algo trivial. Se trata de un proceso a nivel de hardware en la que la CPU ha de seguir una serie de pasos estratégicamente ordenados para pedir un dato almacenado en memoria a través de una serie de pasos en un tiempo concreto.

El problema viene cuando el IMC, controlador de memoria integrado, que es la pieza de hardware dentro de cualquier procesador encargada de acceder a la memoria se satura y esto lo hace cuando hay muchas peticiones. Esto es como un tendero delante de una cola muy grande de clientes a los que tiene que atender uno por uno. La clave es que a medida que la lista de peticiones aumenta hay más retraso a la hora de atender a los clientes que están al final de la cola. Si los clientes son peticiones a memoria por parte de la CPU esto hace que el IMC se sature por completo.

¿Cuál es la solución? Pues la más sencilla es no tener uno, sino dos IMC distintos, los cuales se encarguen de poder gestionar en paralelo las peticiones a memoria. Lo habitual es que por cada interfaz externa a la memoria haya un IMC asociado realizando los accesos a la RAM que tenga asignada el procesador.

Single Channel versus Dual Channel

Hasta la llegada de la DDR5, donde cada módulo soporta dos canales de memoria de 32 bits en vez uno de 64 bits, en general podíamos contar la cantidad de canales disponibles por la cantidad de módulos DIMM que soportaba una placa base dividido entre dos, de tal manera que podemos identificar una placa base Single Channel por el hecho que esta tiene solo 2 ranuras DIMM y una Dual Channel con 4.

Para facilitarlo al usuario normalmente se suelen identificar por colores: dos slots rojos y dos negros, por ejemplo. De tal manera placas base suelen tener códigos de colores en las ranuras de memoria para marcar dónde colocar los módulos de DIMM de manera correcta para colocar la RA; en los zócalos adecuados.

El caso es que si tenemos un solamente módulo en el ordenador se traduce en que tendremos un solamente canal de 64 bits de transmisión por ciclo de reloj de la memoria. Sin embargo, si tenemos dos módulos en los zócalos correspondientes el ancho de banda se duplicará. ¿La realidad? El incremento de rendimiento dista mucho de ser el doble. En especial si tenemos una placa base pensada para usar un únicamente canal de memoria, ya que en ese caso se utilizará un solo IMC para la comunicación con la memoria. A excepción claro está, como hemos dicho de la recién lanzada DDR5 donde emplean dos canales de memoria por módulo.

¿Cómo saber que configuración tengo?

CPU-Z Memoria

Para comprobar si la configuración de nuestro PC es Single o Dual Channel nos bastará con programas como CPU-Z, donde en la pestaña Memory podremos comprobarlo de manera directa sin tener que abrir nuestro ordenador. Aquí tenemos que añadir un detalle, muchos de los portátiles con memoria DDR4 e inferiores soportan Dual Channel, pero debido a que únicamente tienen un módulo instalado funcionan en Single Channel.

Por lo que si tenéis un portátil o un PC preconstruido y CPU-Z os da como resultado que tenéis una configuración Single Channel entonces no desesperéis, es posible que lo podáis remediar esto instalando otro módulo de memoria en la placa base de vuestro ordenador y conseguir con ello un plus de rendimiento adicional.

¿Por qué no se duplica al rendimiento?

Hemos de partir de la idea de que cuando hablamos de ancho de banda realmente estamos hablando de un límite teórico que consiste en que el 100% del tiempo se están transmitiendo datos. La realidad es que la memoria RAM no funciona así y existe un periodo en el acceso para determinar a qué columna y fila de la memoria el procesador quiere acceder donde no se envían datos y además hemos de tener en cuenta que las peticiones las hace el IMC integrado en la CPU en vez de los núcleos de la misma.

El uso del controlador de memoria integrado es para que los núcleos no tengan que esperar el tiempo a que la RAM les responda, esos tiempos muertos son rendimiento perdido y de ahí a la necesidad del IMC. El caso es que a nivel de procesamiento de la CPU el hecho de tener una memoria Dual Channel nunca va a duplicar el rendimiento debido a que es una tasa teórica, un ideal que por diferentes limitaciones no se alcanzará jamás.

Por lo que a pesar de duplicar el ancho de banda teórico, el aumento de rendimiento real va a alcanzar ese 100%, pero tampoco lo hará si utilizáramos un solo canal de memoria. Lo que sí que está claro es que tener siempre memoria en Dual Channel dará siempre más rendimiento que tenerla en Single Channel, lo cual hace que una placa base con una configuración de módulos limitada no solamente lo esté en capacidades de expansión, también en rendimiento.

Rendimiento de iGPUs en Dual Channel

Single Dual Channel iGPU

Las GPU al contrario de las CPU son procesadores de caudal, esto se traduce en que su rendimiento dependerá del ancho de banda y, por tanto, del caudal de datos que puedan recibir. En el caso de gráficas integradas estas se llevan muy mal en rendimiento con la RAM de PC en comparación con sus homólogas en forma de tarjeta gráfica incluso con la misma configuración exacta. Hemos de tener en cuenta que en PC las GPU tienen un espacio de direccionamiento distinto que el de la CPU, por lo que se les asigna una parte de la memoria para ellas a las que la CPU no puede acceder.

El problema viene cuando CPU y GPU comparten el IMC para acceder a la memoria y uno podría pensar de entrada que el tiempo de acceso a la RAM equivale al tiempo de acceso de la CPU más el de la GPU, pero no es así, la realidad es distinta. Ya que se crea una contención que provoca un tiempo muerto de acceso al tener que cambiar el IMC de contexto de manera continua. Esto es mortal de cara al tiempo de acceso de la CPU, por lo que se le asegura a esta un tiempo de acceso mínimo en cada canal de memoria y se deja el resto a la GPU integrada.

Por suerte las GPU no son vulnerables a la latencia, sin embargo, sí que lo son al ancho de banda. Esto se traduce en que en una configuración Dual Channel si utilizamos una iGPU para renderizar un juego vamos a obtener el doble de rendimiento que en Single Channel, ya que el chip gráfico recibe la mitad de datos con los que trabajar.

¡Sé el primero en comentar!