Teníamos pendiente una entrada acerca del funcionamiento de las memorias DDR3, de las que hablamos en una entrada anterior.
Para comprender cómo se realizan los accesos en estas memorias, tenemos que hacer un poco de historia y comprender la evolución que han sufrido en los últimos años las memorias RAM dinámicas.
Las primeras fueron las DRAM. Este tipo de memoria ha quedado obsoleto, pero prácticamente todas las memorias que se utilizan en la actualidad, incluidas las DDR3, provienen de realizar mejoras y ptimizaciones a este modelo.
Para acceder a esta memoria el procesador vuelca una dirección en el bus de direcciones y el controlador de memoria decodifica esta dirección para determinar qué chip o chips deben ser accedidos. A continuación, el controlador envía a este chip las direcciones de fila y columna que corresponden a la información accedida, ya que cada chip de memoria se organiza como una matriz de celdas DRAM.
La memoria DRAM convencional desaprovecha muchos recursos porque al direccionar una fila del chip, se recupera la fila completa, y a continuación se extrae la columna de esta fila a la que se quiere acceder. Pero si a continuación se accede a otra columna de la misma fila (algo muy común debido al principio de localidad), se vuelve a realizar el mismo proceso.
La FPM DRAM introduce dos mejoras a la DRAM convencional: la división de la memoria en páginas y los accesos en modo burst.
La memoria se divide en páginas y se introduce una electrónica que permite que los accesos que se encuentran en la misma página que un acceso previo se realicen con menos número de ciclos de espera. La manera de llevar esto a cabo es que cada página se corresponda justo con todas las celdas en una misma fila de la matriz del chip de memoria. De esta manera, mientras los accesos se mantengan en la misma fila, se puede mantener la dirección de fila cargada y sólo hay que ir modificando la dirección de la columna.
Los accesos en modo ‘burst’ permiten que, una vez que se realiza el acceso a una determinada columna, se puede acceder a las tres siguientes columnas de esa fila sin necesidad de volver a cargar la fila en el driver de datos.
Las memorias típicas son 5-3-3-3, es decir, el primer acceso tarda 5 ciclos y los tres siguientes tardan 3 ciclos porque ya no tienen que recuperar la fila completa (ya está disponible), sólo la columna.
No hay comentarios:
Publicar un comentario