07. Memoria RAM

Clases de memorias

Hay dos grandes tipos de memoria en un ordenador:

RAM: Se borra al apagar el ordenador

ROM: Mantiene los datos aunque se apaguen el ordenador y no se puede modificar.

La ROM es la que contiene el software que se ejecuta nada mas encender el ordenador y antes de que se ejecute el sistema operativo. Es lo que llamamos la BIOS. Actualmente esa ROM si que puede ser modificada al ser una memoria Flash (Como las memorias USB).

La BIOS que está en la ROM realiza las siguientes tareas:

Comprobar que el hardware funciona.

Permitir configurar el hardware. Ej: La velocidad de la RAM o del procesador para hacer overclocking

Cargar el sistema operativo

La RAM se "compra" en lo que llamamos módulos de RAM:

Que se introducen en los zócalos de la RAM que están en la placa base. En la siguiente imagen podemos ver 4 zócalos:

Los módulos de memoria RAM tienen las siguientes características:

Capacidad en GB

Velocidad de transferencia

Latencia CAS o CL

Mas información:

Memoria ROM bios

Double Data Rate (DDR)

Desde hace mucho tiempo los PC usan una memoria llamada Double Data Rate (DDR). Esta RAM se caracteriza porque transfiere los datos al doble de velocidad de la frecuencia.Anteriormente a la DDR Existía la Single Data Rate (SDR). La diferencia entre la DDR y la SDR se puede ver en el siguiente esquema:

Es decir que a misma velocidad de Reloj una memoria DDR va al doble de velocidad que una SDR. Es doble velocidad se le llama frecuencia de datos. La frecuencia de datos en una SDR coincide con la frecuencia de reloj. Pero en una DDR la frecuencia de datos siempre es el doble que la frecuencia de reloj. La velocidad de transferencia en MB/s se obtiene de multiplicar la frecuencia de datos (en MHz) por 8 ya que en cada transferencia de datos se envían 8 bytes (64 bits). Por último cuando se muestra la frecuencia en Mhz hay ambigüedad ya que no se sabe si se habla de Frecuencia de Reloj o de Frecuencia de Datos. Para evitarla lo ideal sería usar siempre los MHz para frecuencia de reloj mientras que para la frecuencia de datos se puede expresas como la tasa de transferencia que se mide "mega transferencias por segundo" o MT/s

Por último existe un último datos que es el "nombre" de la memoria. Por ejemplo "PC-25600". Esa cifra es simplemente la velocidad en MB/s, aunque a veces se recondea un poco.

Veamos ahora las fómulas que relacionan todos los datos. Estas fómulas parten de que tenemos la frecuencia del reloj. Si tuviéramos otro datos, solo habría que despejar las fómulas.

Nombre	Frecuencia (MHz)	Velocidad de transferencia (MB/s)	Tasa de transferencia (MT/s)	Versión de DDR
Reloj	Datos
PC3-25600	1600	3200	25600	3200	DDR-3
PC3-24000	1500	3000	24000	3000	DDR-3
PC3-21300	1333	2666	21328	2666	DDR-3
PC2-19200	1200	2400	19200	2400	DDR-2

Latencias CAS

La latencia CAS (también llamada como CL) es el Nº de ciclos que pasan desde que se pide un dato hasta que se empieza a transmitir.

Un ciclo es la inversa de la frecuencia. Normalmente se miden en nanosegundos. Sabiendo la frecuencia a la que funciona la RAM (la frecuencia de reloj) se calcula la duración del ciclo de la siguiente forma:

Como ese valor sale muy pequeño y la frecuencia suele ya estar en MHz, podemos usar esta otra formula que da un valor mas "normal"

Por lo tanto lo que dura la latencia en ns es la siguiente

Vamos ahora algunos ejemplos:

Nombre	Frecuencia de Reloj	CL	Latencia (ns)
PC3-25600	1600	16	10
PC3-24000	1500	15	10
PC3-21300	1333	14	10,5
PC3-19200	1200	13	10,8

Podemos ver que aunque la el módulo de RAM PC3-25600 tenga una CL de 16 y la PC3-24000 tenga una CL de 15 , es decir que es menor. La latencia en ns de ambos es la misma. Por lo que sería mejor comprar la PC3-25600 ya que la velocidad de transferencia es mayor.

Nombre	Frecuencia de Reloj	CL	Latencia (ns)
PC3-21300	1333	14	10,5
PC3-19200	1200	13	10,8

La PC3-21300 tiene mayor frecuencia y además menor latencia en ns por lo que es la mejor opción.

Nombre	Frecuencia de Reloj	CL	Latencia (ns)
PC3-21300	1333	13	9,7
PC3-19200	1200	11	9,1

En este caso la PC3-19200 tiene menor latencia en ns pero menor velocidad en MB/s. ¿Cual deberíamos comprar? Pues bien según el artículo que leas pone algo distinto:

Latencia vs. megahercios, ¿qué es más importante al elegir la RAM para tu PC?: Recomienda comprar el de menor latencia en ns

Latencia ram vs frecuencia: Recomienda comprar la de mayor frecuencia.

Mas información:

Qué es la latencia de la Memoria RAM y cuál es su importancia?

En la memoria RAM que importa más los Mhz o el CL?

¿Que memoria RAM comprar? Guía de compra

AMD Zen

Pero hay que tener una última cosa en cuenta.En los procesadores AMD con microarquitectura Zen, su bus interno Infinity Fabric, funciona a la misma frecuencia que la frecuencia del reloj de la RAM.

En la siguiente imagen podemos ver el bus que conecta cada uno de los CCD:

Por lo tanto en este caso siempre es recomendable comprar la RAM que tenga una mayor frecuencia ya que así la comunicación interna entre los CCD será mayor. Sin embargo no todo es tan sencillo.

Recordemos las 3 frecuencias que se usan para acceder a la RAM:

fclk: Frecuencia del Infinity Fabric

uclk: Frecuencia del Unified Memory Controller

mclk: Frecuencia del Reloj de la RAM

Inicialmente la relación es 1:1:1

Por lo tanto a mayor frecuencia de la RAM mayor frecuencia del Infinity Fabric, sin embargo si la frecuencia de la RAM es demasiado alta , ocurrirá que el Infinity Fabric no puede ir tan rápido por lo que automáticamente dividirá su frecuencia por la mitad, es decir irá mas lento.

Por lo que si la RAM es muy rápida la relación será 2:1:1

La velocidad máxima de reloj es la siguiente:

Microarquitectura	Velocidad máxima de reloj del Infinity Fabric (MHz)
Zen 2	1933
Zen 3	2000
Estas velocidades máximas tienen ciertas tolerancias de algunos MHz.
Estas velocidades son las máximas que pueden alcanzar en cada microarquitectura pero cada modelo de procesador tendrá una frecuencia máxima de FCLK pero que nunca será mayor que el indicado en la tabla anterior.

Veamos dos ejemplos.

Ejercicio 1:

Si la Frecuencia máxima del Infinity Fabric en Zen 2 es de 1900 MHz.Si tenemos una módulo de memoria PC4-25600. ¿A que Frecuencia funcionará el Infinity Fabric?

La frecuencia de reloj de una RAM PC4-25600 es

Como 1600 MHz es menor o igual que 1933 MHz, la frecuencia del Infinity Fabric será de 1600 MHz

Ejercicio 2:

Si la Frecuencia máxima del Infinity Fabric en Zen 2 es de 1900 MHz.Si tenemos una módulo de memoria PC4-32000. ¿A que Frecuencia funcionará el Infinity Fabric?

La frecuencia de reloj de una RAM PC4-32000 es

Como 2000 MHz esmayor que 1900 MHz, la frecuencia del Infinity Fabric será de 1000 MHz

Zen Timings

Si queremos saber exactamente cada una de las velocidades de nuestro procesador Zen, simplemente tenemos que bajarnos la aplicación ZenTimings y en la pantalla principal se muestra los valores de:

fclk: Frecuencia del Infinity Fabric

uclk: Frecuencia del Unified Memory Controller

mclk: Frecuencia del Reloj de la RAM

tCL: Nº de Ciclos de Latencia CAS

Mas fotos de compañeros de clase zen_timing.zip

Experimento de Alumno (Carlos)

El alumno Carlos, ha hecho el siguiente experimento. Con su memoria RAM PC3-17000, ha variado las velocidades y ha calculado la potencia del ordenador.

Nombre	Frecuencia (MHz)	Velocidad de transferencia (MB/s)	Tasa de transferencia (MT/s)	Versión de DDR
Reloj	Datos
PC3-17000	1067	2133	17064	2133	DDR-3

Resultados:

Nombre	uCLK	fCLK	Benchmark Cinebench R20
Por defecto	1067 MHz	1200 MHz	5061
Perfil XMP	1200 MHz	1200 MHz	5106
Overclock	1400 MHz	1400 MHz	5118
Overclock subiendo Infinity Fabric a 1900	1400 MHz	1900 MHz	5033

La fotos con los resultado se pueden descarga aquí: test_f.ram_f.infinityfabric-carlos.zip

Con los datos del experimento podemos sacar dos conclusiones:

La velocidad mínima del Infinity Fabric es 1200 MHz

Si la frecuencia de Infinity Fabric es mayor , se produce una bajada de rendimiento.

Mas información:

AMD recomienda memorias de 4000MHz para sacar el máximo de Ryzen 5000

¿Como afecta la velocidad de la RAM a las arquitecturas AMD Zen?

RYZEN 3000 INFINITY FABRIC y memorias RAM

DRAM Calculator:

DRAM Calculator for Ryzen: Qué es, para que sirve y configurarlo

Como usar el programa DRAM Calculator for Ryzen y hacer tu DDR4 compatible con AMD Ryzen

Versiones

Dentro de las DDR hay varias "generaciones" o "versiones" como en el bus PCIe. Siendo en el año 2020 las siguientes:

DDR: Ya no se usan excepto en equipos ya excesivamente viejos.

DDR-2: Ya no se usan excepto en equipos ya excesivamente viejos.

DDR-3: Solo se usa en equipos antiguos pero que aun pueden ejecutar software actual poco exigente.

DDR-4: Es la que se usa actualmente.

DDR-5: Es la nueva especificación, saldrán a la venta los nuevos módulos en el último trimestre del 2020.

Para que un módulo solo pueda colocarse en zócalos de la misma versión, cada versión de DDR tiene una muesca en una zona distinta , lo que impide físicamente colocarse en un zócalo que no corresponde.

Mas información:

Memoria RAM DDR3 o DDR4: cuáles son las diferencias y cómo saber cuál es la tuya

Diferencias entre memoria RAM DDR, DDR2, DDR3 y DDR4

Tipos de memoria RAM y cómo elegir cuál se adapta más a lo que necesitas

Memoria RAM DDR5: todas las mejoras frente a DDR4 para PC

DDR5 Spec Published: High Capacities Meet Extreme Speeds

SK hynix lanza la "primera RAM DDR5 del mundo" y promete una velocidad de transferencia de hasta 5.600 Mbps

Formato físico

Para una misma versión de RAM hay dos formatos distintos:

DIMM

SO-DIMM

Como podemos ver en la siguiente imagen que el SO-DIMM es mas pequeño lo que implica una menor capacidad por módulo.

Además el zócalo donde se coloca es distinto lo que hace que se coloque "tumbado" sobre la placa lo que implica que tenga menos "altura".

En la siguiente imagen podemos ver como se introduce la RAM para tumbarla del todo sobre la placa base

Puesto que la ventaja del SO-DIMM es que ocupa menos espacio, lo que es ideal en los portátiles. Por lo tanto es ahí donde principalmente se usan.

Mas información:

DIMM vs SO-DIMM, ¿por qué los PC y portátiles usan distinta RAM?

Canales

Los procesadores usan lo que se llama canal para recibir los datos de la RAM. En la siguiente imagen podemos verlo:

Por desde hace tiempo los PCs permiten leer de dos módulos a la vez, es lo que se llama Dual Channel. Lo podemos ver en la siguiente imagen:

Podríamos pensar que en ese caso la velocidad de la RAM será el doble, pero según los siguientes artículos , únicamente es un poco mas rápida:

¿Es la memoria RAM en Dual Channel el doble de rápida?

RAM Performance Benchmark: Single-Channel vs. Dual-Channel - Does It Matter?

Poder tener Dual Channel es necesario lo siguiente:

Que el procesador esté diseñado para leer de dos módulos de RAM a la vez

Que la placa base tenga los dos canales por donde transmitir los datos.

Tener 2 módulos de memoria.

Que los módulos sean del mismo tamaño de la misma velocidad y del mismo fabricante (véase Mezclar diferentes módulos de memoria RAM: ¿por qué no es recomendable?).

Que los 2 módulos se coloquen donde indique el fabricante de la placa base para aprovechar los 2 canales. Ya que 2 zócalos comparten un canal y otros dos zócalos comparten el segundo canal.

También existe la posibilidad de "Quad Channel" que es leer de 4 módulos de RAM a la vez.

Ejercicios

Ejercicio 1

En la placa base de tu ordenador, indica:

El modelo de la placa base

El tipo de Memoria DDR que soporta.

La cantidad máxima de memoria que soporta la placa base.

El Nº de zócalos de memoria

El tamaño máximo de cada módulo de memoria.

Si soporta dual channel.

En caso de que la soporte en que zócalos hay que colocar los módulos para que estén en dual channel.

Ejercicio 2

Rellena la siguiente tabla de las siguientes memorias:

Kingston HyperX Fury Blue DDR3 1600 PC3-12800 8GB CL10

Kingston ValueRAM DDR3 1333 PC3-10600 8GB CL9

Nombre	Frecuencia (MHz)	Velocidad de transferencia (MB/s)	Tasa de transferencia (MT/s)	CL	Latencia en ns	Versión de DDR
Reloj	Datos
PC3-12800
PC3-10600

¿Cual comprarías para un AMD Zen?

Ejercicio 3

Indica la velocidad de reloj del Infinity Fabric para las siguientes memorias, y en función de los valores máximos la microarquitectura de AMD

--	Frecuencia reloj del Infinity Fabric (MHz)
Nombre	Zen 2	Zen 3
PC4-36800
PC4-34128
PC4-32000
PC4-30900
PC4-30400

Ejercicio 4

Dado la siguiente imagen del programa ZenTimings.

Indica si velocidad de la memoria que está utilizando es la mas adecuada. Justifica tu respuesta.

Ejercicio 5

Dado el artículo RAM Performance Benchmark: Single-Channel vs. Dual-Channel - Does It Matter? que compara la mejora del dual channel.

Calcula para cada uno de los test que salen en el artículo el % de mejora.

Test	% Mejora con Dual Channel
Euler 3D
MaxxMem
WinRAR File Compression
Handbrake Video Transcoding
Shogun 2
Cinebench OpenGL
Adobe Premiere
Adobe After Effects
Media de todos los test

Al final de la tabla calcula la media de todos los %.

Si para alguno de los test hay varias pruebas , calcular la media de todos los % que se obtengan.

Ejercicio 6

Busca módulos del memoria DIMM y SO-DIMM y compara los precios. Para ello, busca 10 módulos que tengan la misma capacidad, frecuencia y CL pero la mitad sean DIMM y la otra mitad SO-DIMM. Haz una gráfica de puntos en la que:

En el eje X representará el precio del módulo DIMM

En el eje Y representará el precio del módulo SO-DIMM que tiene la misma capacidad, frecuencia y CL

Ejercicio 7

Haz una tabla con datos de las generaciones de DDR, similar a la siguiente del PCIe

Generación DDR	Año Publicación	Vel. MB/s1) Velocidad máxima de transferencia en MB/s	Capacidad MB2) Capacidad máxima en MB que puede tener un único módulo de la memoria
DDR-1
DDR-2
DDR-3
DDR-4
DDR-5
No hay que mirar la velocidad que un fabricante dice que tiene un módulo concreto sino mirar lo que dice el estándar de la DDR. Es decir hasta que velocidad ( o si te queda mas claro se puede usar como sinónimo la palabra "ancho de banda") puede llega cada generación de DDR según la especificación y eso es independientemente de que haya algún fabricante lo que haya fabricado. Y el mismo razonamiento también es para válido para la capacidad máxima que puede tener un único módulo de la memoria

Ejercicio 8

Haz una gráfica similar a anterior del PCIe,pero referida a la velocidad máxima de transferencia en MB/s o GB/s de la memoria DDR:

En el eje X representará el año en el que salió cada una de las generaciones de DDR (Desde la DDR-1 hasta la DDR-5).

En el eje Y representará la máxima velocidad de transferencia en MB/s o GB/s que puede alcanzar como máximo esa versión de DDR.

Demás en cada punto de la gráfica debe indicarse a que versión de DDR corresponde.

La gráfica se puede hacer con el programa que queráis (Con Excel o Calc puede valer) pero debe ser una gráfica similar a la del PCIe pero referida a las DDR. Es decir quiero que hagáis algo similar a la del PCIe para que veáis como han ido evolucionando las memorias DDR ya que siempre es mucho mas didáctico ver un dibujo que ver una tabla con datos.Personalmente cuando yo vi la gráfica del PCIe me quedé impresionado de lo mucho que evoluciona cada una de las versiones de PCIe y lo importante que en caso de duda en la compra de una placa base, entre dos versiones de PCIe, siempre hay que elegir la versión superior ya que como digo hay mucha diferencia. Por lo tanto repito que lo que quiero es que veáis si pasa lo mismo con las memorias RAM o no .

Ejercicio 9

Haz una gráfica similar a anterior ,pero referida a la capacidad máxima en MB o GB que puede tener un único módulo de la memoria DDR:

En el eje X representará el año en el que salió cada una de las generaciones de DDR (Desde la DDR-1 hasta la DDR-5).

En el eje Y representará la capacidad máxima en MB o GB que puede tener un único módulo en esa versión de DDR.

Demás en cada punto de la gráfica debe indicarse a que versión de DDR corresponde.

La gráfica se puede hacer con el programa que queráis (Con Excel o Calc puede valer) pero debe ser una gráfica similar a la del PCIe pero referida a las DDR. Es decir quiero que hagáis algo similar a la del PCIe para que veáis como han ido evolucionando las memorias DDR ya que siempre es mucho mas didáctico ver un dibujo que ver una tabla con datos.Personalmente cuando yo vi la gráfica del PCIe me quedé impresionado de lo mucho que evoluciona cada una de las versiones de PCIe y lo importante que en caso de duda en la compra de una placa base, entre dos versiones de PCIe, siempre hay que elegir la versión superior ya que como digo hay mucha diferencia. Por lo tanto repito que lo que quiero es que veáis si pasa lo mismo con las memorias RAM o no .

Ejercicio 10

Viendo los resultados de las dos gráficas

a) Estima en que año aparecerá la DDR6, que máxima velocidad de transferencia tendrá y cual será la capacidad máxima que podrá alcanzar un único módulo. Para este ejercicio no debes mirar la información en Internet sino únicamente suponerlo siguiendo las tendencias de las 2 gráficas anteriores.

b) Indica como ha sido la progresión de velocidad de la memoria DDR versus la progresión de velocidad del bus PCIe. Es decir como se ha incrementado la velocidad de transferencia porcentualmente en la memoria DDR en cada generación versus como se ha incrementado la velocidad de transferencia porcentualmente en el bus PCIe. ¿Ves algún problema o diferencia?

Ejercicio 11

Comprueba si tu RAM está funcionando a la máxima velocidad. Para ello deberás usar los programas AIDA64 Extreme y CPU-Z

La base de este ejercicio es que la RAM soporta una serie de velocidades pero luego al conectarla a la placa base puede que no funcione a la velocidad máxima que soporta.

En el siguiente artículo se explica como comprobarlo: Así puedes saber si tu RAM está funcionando a su máximo rendimiento

Respecto a la información que se proporciona, a mayor frecuencia (MHz) mas rápido funciona la RAM. Sin embargo los valores

Latencia CAS (CL)

Retraso RAS a CAS (tRCD)

Precarga RAS (tRP)

Tiempo de ciclo (tRAS)

Cuanto menor son eso valores, mas rápido funciona la RAM. Ya que eso valores con retrasos o esperas que debe hacer la RAM por lo que a menor retraso, la RAM funciona mas rápida.

Deberás entregar:

Captura de pantalla de AIDA64 Extreme o de CPU-Z que muestre las velocidades que soporta RAM

Rellenar la siguiente tabla en base a la información obtenida de AIDA64 Extreme y CPU-Z

1º Módulo de RAM
Frecuencia	Latencia CAS (CL)	Retraso RAS a CAS (tRCD)	Precarga RAS (tRP)	Tiempo de ciclo (tRAS)
Máxima velocidad que soporta	MHz
Máxima velocidad a la que está funcionando	MHz
2º Módulo de RAM
Frecuencia	Latencia CAS (CL)	Retraso RAS a CAS (tRCD)	Precarga RAS (tRP)	Tiempo de ciclo (tRAS)
Máxima velocidad que soporta	MHz
Máxima velocidad a la que está funcionando	MHz
3º Módulo de RAM
Frecuencia	Latencia CAS (CL)	Retraso RAS a CAS (tRCD)	Precarga RAS (tRP)	Tiempo de ciclo (tRAS)
Máxima velocidad que soporta	MHz
Máxima velocidad a la que está funcionando	MHz
4º Módulo de RAM
Frecuencia	Latencia CAS (CL)	Retraso RAS a CAS (tRCD)	Precarga RAS (tRP)	Tiempo de ciclo (tRAS)
Máxima velocidad que soporta	MHz
Máxima velocidad a la que está funcionando	MHz

Indicar en base a toda la información anterior si la RAM está funcionando a la máxima velocidad. Para ello deberás comprobar si la máximaa velocidad que soporta la RAM es la máxima velocidad a la que está funcionando.

¿Funciona a la máxima velocidad?
Nº Módulo	Si,No
1º
2º
3º
4º
Las tablas están hechas para 4 módulos, pero solo deberéis rellenar el nº de filas correspondiente al nº de módulos de memoria que hay en vuestro ordenador.Deberás tener en cuenta las pequeñas tolerancias físicas que existen siempre.

Ejercicio 12

Dado las especificaciones de la RAM HX316C10FK2/8, indica:

Retraso RAS a CAS (tRCD)

Precarga RAS (tRP)

Tiempo de ciclo (tRAS)

Y rellena la siguiente tabla:

Nombre	Frecuencia (MHz)	Velocidad de transferencia (MB/s)	Tasa de transferencia (MT/s)	CL	Latencia en ns
Reloj	Datos
DDR3-1600
DDR3-1333
DDR3-1333

Ejercicio 13

Usando el programa Memtest86+ y tal y como se explica en el artículo Cómo comprobar si hay problemas con la memoria RAM con Memtest86+, comprueba que la RAM de tu ordenador funciona correctamente.

Para ello deberán arrancar tu ordenador con un USB que contenga Memtest86+ y ejecutar el programa de forma que no salgan líneas en rojo como en la siguiente imagen:

si no tienes un USB libre o no quieres hacerlo con tu equipo, puedes probarlo con una máquina virtual.