MemoriasTutoriales

Ancho de banda de la memoria: ¿Qué es y para qué sirve?

Como sabes, existen multitud de memorias disponibles en la actualidad, desde la memoria RAM, hasta las unidades de almacenamiento HDD o SSD, pasando por otras memorias como pueden ser la VRAM tipo GDDR o HBM. Y en todas ellas habrás notado que una de las características técnicas más importantes es el ancho de banda, ya que de él dependerá el rendimiento en las transferencias de información.

Quizás también te interese conocer:

¿Qué es el ancho de banda de la memoria?

samsung hbm-pim

El ancho de banda de una memoria no es más que la capacidad máxima de transferencia de datos que la memoria admite para realizar los accesos (lectura y escritura). Se puede medir en bits por segundo, o cualquiera de sus múltiplos, como MB/s, GB/s, etc., e incluso también en transferencias por segundo, como MT/s, GT/s…

No hay que confundir el ancho de banda con otros conceptos, ya que no son lo mismo:

  • Velocidad: cuando se habla de velocidad, nos estamos refiriendo a la frecuencia a la que trabaja la memoria en cuestión. Esta interfiere en la velocidad de transferencia de datos, pero no es lo mismo que el ancho de banda.
  • Latencia: se refiere a la demora o la cantidad de ciclos de reloj que se tarda en acceder a la memoria. Es decir, no tiene nada que ver con la cantidad de información enviada por cada segundo, que es el ancho de banda, sino en el tiempo que se tardaría en acceder (leer o escribir) en la memoria, independientemente del ancho de banda del bus.

Por ejemplo, podemos tener una memoria SDRAM que trabaje a una frecuencia de reloj de 100 Mhz y cuya velocidad de transferencia sea de 100 MT/s, mientras que el ancho de banda es de 800 MB/s. O una DDR1 que trabaje a la misma frecuencia, pero significará que al ser Dual Data Rate, se tendrá una velocidad de transferencia de 200 MT/s, elevando así el ancho de banda a 1600 MB/s.

Cómo se calcula

El ancho de banda máximo teórico de una memoria RAM, por ejemplo, se puede calcular con la siguiente fórmula:

Ancho de banda = (Frecuencia de reloj · 2) · Bits de ancho del bus · Canales

Se multiplica por dos al ser DDR, si no es DDR no se tiene que multiplicar por dos. Por ejemplo, imagina que tienes una DDR4-2933. En este caso, sería para una placa base (CPU-RAM):

Ancho de banda = (1466.67 Mhz x 2) · 8 · 4 = 93.866,88 MB/s = 94 GB/s

Es decir, esta memoria podría tener 2933 MT/s, una frecuencia de reloj de 1466.67 Mhz real, y la latencia en este caso podría ser de 21, por poner un ejemplo.

Historia de los problemas sobre el ancho de banda de la memoria

HBM

A lo largo de la historia se han vivido numerosas limitaciones del ancho de banda de la memoria. Es uno de los tantos cuellos de botella que puede haber en un sistema, y dada la brecha entre la evolución de la memoria y de las unidades de procesamiento, se ha transformado en un serio problema al cual le han pretendido dar varias soluciones a lo largo de la historia.

Una de las primeras soluciones fue crear una jerarquía de memoria, con memorias más rápidas entre los medios de almacenamiento y la CPU, como es el caso de la memoria RAM. Sin embargo, esta memoria RAM también se quedó atrás en cuanto a la curva de rendimiento de las CPUs, por lo que decidieron introducir otra memoria intermedia más rápida entre la CPU y la RAM: la memoria caché.

Pero sigue siendo insuficiente, por lo que se sigue investigando en posibles soluciones, que van desde la implementación de unidades SSD más rápidas que los HDD, hasta otras memorias intermedias que han aparecido, como las Intel Optane o la Gygabyte i-RAM. Recientemente, también se están usando memorias de alto ancho de banda, como la HBM, especialmente en el sector HPC.

Y es que, dado el avance tan rápido de las unidades de procesamiento, como la CPU o la GPU, éstas unidades deben esperar varios ciclos improductivos para acceder a su memoria RAM o VRAM respectivamente. Esto es una latencia alta, y si el ancho de banda también es limitado cuando se comienza a transmitir información, resultará un problema doble.

Inquietudes actuales y soluciones propuestas

ancho de banda

En las últimas generaciones de ordenadores se han visto nuevos problemas que afrontar. La memoria caché integrada en la CPU y GPU no parece ser suficientemente rápida como para mantener a los procesadores alimentados en un futuro próximo. Por esto se necesitan nuevas soluciones para comunicación entre los chips de cómputo y la memoria.

Entre las nuevas soluciones propuestas para paliar estos problemas de cuellos de botellas están:

  • Uno de los avances que se están dando recae sobre los niveles de memoria caché, cada vez más rápidos y amplios en capacidad. Además, se van agregando niveles, como algunos que han llegado más tarde, como la L0 o la L3, etc. No todos esos niveles son igual de rápidos, y el rendimiento dependerá en gran medida de la tasa de aciertos o fallos que se den en esa caché, pero es lo que tenemos en la actualidad sin hacer cambios mayores que también podrían implicar cambios en el software, arquitecturas, etc.
  • También se están realizando diseños MCM o chiplets donde se colocan los chips de memoria cerca o en el mismo empaquetado de los chips de cómputo para acelerar las interconexiones entre ellos mediante un interposer.
  • Por otro lado, también se están comenzando a desarrollar empaquetados 3D o 3D packaging, para poder apilar los chips de memoria sobre los de cómputo, como es el caso de AMD 3D V-Cache, que pone un chip de memoria caché sobre el procesador.
  • Las nuevas generaciones de HBM también pueden resolver algunos de estos problemas. De hecho, en algunas unidades de alto rendimiento ya se están integrando los chips HBM cerca de la unidad de procesamiento como una memoria o buffer adicional entre la caché y la RAM.
  • Incluso se han propuesto soluciones algo más exóticas para un futuro, como las interconexiones ópticas para poder conectar la memoria y los procesadores de forma que en vez de impulsos eléctricos (más lentos), se usen impulsos de luz viajando a través de fibra óptica. Es decir, algo así como la fibra óptica de Internet, pero a nivel de PCBs y chips.
  • También existe una preocupación por el número de pines, que también pueden transformarse en un cuello de botella en el caso de las comunicaciones. E incluso de los interporsers que pueden suponer también retrasos entre un chip y otro.

También te invito a leer nuestra guía sobre las mejores memorias RAM del mercado.

En definitiva, lo que se pretende, a medida que avanzan los procesadores, es que toda la memoria que esté fuera del chip de procesamiento no sea demasiado lenta como para no poder mantener al procesador ocupado y que se produzcan tiempos muertos u ociosos (IDLE), lo que sería fatal para el rendimiento.

Isaac

Geek de los sistemas electrónicos, especialmente del hardware informático. Con alma de escritor y pasión por compartir todo el conocimiento sobre tecnología.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba