You are on page 1of 21

Memorias RAM

Las memorias RAM son aquellas que permiten accesos de lectura y escritura de datos e instrucciones por parte del procesador o cualquier otro dispositivo con capacidad para ello. Tienen la particularidad de que mantienen el dato mientras tienen energa, y lo pierden si esta falla, por lo que tambin se les llama Voltiles. En un principio el acrnimo bastaba para distinguirlas de las memorias ROM, mdulos de memoria de slo lectura cuyos datos se grababan en el proceso de fabricacin de la memoria y que por lo tanto no perdan la informacin en ausencia de energa. Las memorias RAM primeras se fabricaron con elementos toscos basados en medios magnticos; con la aparicin de los semiconductores surgieron las RAM transistorizadas. Estas se componen de una matriz de elementos de almacenamiento (flip-flop o biestables) mas una lgica combinacional de acceso. Son memorias bastante rpidas, pero limitadas en el aspecto de la integracin. Debido a esta limitacin aparecieron las memorias RAM llamadas dinmicas, en las cuales los elementos de almacenamiento se simplifican mucho a cambio de que la persistencia del dato almacenado tiene un lmite si no es reescrito con cierta periodicidad (refresco). La simplificacin de la celda implica mayor capacidad de integracin lo que permite fabricar memorias de mayor capacidad al mismo coste (con el mismo nmero de transistores), pero a cambio presentan un mayor tiempo de acceso; en parte por la necesidad de refresco, que obliga a detener todo acceso durante el tiempo que dura este proceso, y en parte por el mtodo de acceso que vara ligeramente. Naturalmente hace falta introducir una nueva nomenclatura, y si las nuevas memorias eran dinmicas o DRAM, las otras deberan llamarse Estticas o SRAM Con las sucesivas etapas de perfeccionamiento del procesador, el sistema de memoria ha sufrido tambin continuas adaptaciones tanto de organizacin (introduccin de niveles jerrquicos) como tecnolgicos (aumentar el tamao y mejorar los tiempos de acceso) para poder adaptarse a los cada vez ms exquisitos requerimientos de datos en cantidad y velocidad. En los ltimos tiempos estos cambios han tenido como ncleo central las memorias DRAM y han ido apareciendo sucesivas nomenclaturas para cada una de las nuevas aportaciones: FPDRAM, EDO, SDRAM, RDRAM (RAMBUS) y junto con estas han aparecido los soportes en los que se integran al computador y que casi pueden confundirse con las propias memorias SIMM, DIMM, RIMM Nuestro objetivo es presentar la interfaz de acceso de las memorias SRAM para compararla con la interfaz de acceso de las DRAM, resaltando su diferencia (que se inclina a favor de las SRAM, ms simple). Luego trataremos de presentar las sucesivas mejoras que ha sufrido la interfaz de las DRAM en el propsito de mejorar sus tiempos de acceso.

SRAM
Una SRAM est organizada como un array de elementos de memoria junto con un decodificador de direcciones y diversos adaptadores de entrada/salida. Una celda de memoria puede representarse como un latch tipo D sincronizado, una puerta AND y un adaptador de salida

Seleccin de fila

Entrada

D Q C Habilitacin de escritura

Salida

Las lneas de direcciones alimentarn un decodificador que tiene por objeto generar la seal de seleccin de fila. Las lneas de datos generalmente estn multiplexadas y son utilizadas como entrada cuando la transaccin a realizar es de escritura y como salida cuando se trata de una lectura. La funcin del adaptador de salida es mantener la salida en alta impedancia cuando la memoria est deshabilitada.

En el esquema vemos un diagrama de una memoria SRAM (74f410 de Philips Semiconductor) en el que adems se incorpora un registro de salida que mantiene disponible el tiempo que sea necesario, mientras se puede poner en marcha un nuevo proceso de lectura o escritura. Las lneas de control tpicas de un mdulo SRAM son CS y WE, (En el diagrama vemos adems una seal de reloj CP que permite cargar el registro y una seal OE que permite habilitar la salida de ste)

La organizacin de la memoria impone restricciones temporales en las seales de entrada y salida que determinarn luego su latencia de acceso. En primer lugar, puesto que las direcciones alimentan un decodificador, es necesario que stas estn activando las entradas del decodificador antes que ninguna otra seal. Despus de un tiempo la salida correspondiente del decodificador estar activada sealando a una fila de celdas de almacenamiento. A continuacin se activa la seal CS. Si la seal WE permanece inactiva se trata de una lectura y tras un determinado retardo se habilitar a los adaptadores de salida para que dejen salir los datos ya estabilizados.

En el caso de la escritura el proceso es semejante. Las direcciones debe estar dispuestas antes de activar la seal de habilitacin del chip. A continuacin deben disponerse los datos de entrada y posteriormente activarse la seal de escritura. En el esquema podemos ver que la seal de escritura y los datos estn dispuestos aproximadamente al mismo tiempo. Es relevante el hecho de que el flanco de subida de la

seal de escritura aparezca cuando los datos a escribir estn ms estables, pues este flanco funciona como seal de reloj para el flip-flop y provoca que el dato se cargue efectivamente en el latch. De gran importancia en todo el proceso, tanto de lectura como de escritura es respetar los intervalos de tiempo entre activacin de seales. Los intervalos de tiempo ms relevantes son: Ciclo de lectura. Periodo de ciclo de escritura: que indica el tiempo deben estar las lneas de direccin activas. Marca tambin el periodo del ciclo completo Tras haber activado la seal de habilitacin del chip y/o la de habilitacin de salida aparecern los datos correspondientes. Este tiempo es el Tiempo de acceso de la habilitacin de salida (TETQV) Una vez que los datos estn en la salida permanecern hasta que se desactive una de las seales CS o OE. Tras desactivar una de estas seales el dato permanecer en la salida durante el Tiempo de habilitacin de salida (TEFQZ). Otros intervalos relevantes pueden ser el Tiempo de acceso, (TAVQV)el transcurrido entre que se depositan las direcciones en el bus y aparece el dato a la salida del chip Ciclo de escritura. En el ciclo de escritura tambin existe un Periodo de ciclo de escritura indicando el tiempo que deben permanecer la direccin alimentando el bus del chip. Depositada la direccin y habilitado el chip hay que activa la seal de escritura. El intervalo transcurrido debe ser superior al Tiempo de habilitacin de escritura (TAVWL). La seal de escritura debe permanecer activa durante un tiempo(TWLWH) y una vez que se desactiva, las lneas de datos deben permanecer estimulando las entradas todava durante un Tiempo de mantenimiento de datos (TWHDX) Todos estos periodos de tiempo entre seales indican tiempo mnimo a transcurrir entre eventos y deben ser respetados para el que dispositivo funcione. Se deben a los retardos que han de transcurrir desde que las seales son activadas hasta que estimulan los dispositivos. Nada impide que uno active y desactive las seales cuando le de la gana, pero sin respetar este mnimo protocolo no se obtendrn los resultados esperados.

SRAM sncrona.
Las SRAM sncronas son memorias SRAM en las que las seales de control no llegan directamente al los dispositivos, sino que estn mediatizadas por un latch sncrono. El reloj que estimula estos latch es el del sistema de manera que el funcionamiento del dispositivo de memoria est sincronizado con el reloj del sistema. Toda esta lgica puede estar incorporada dentro del mdulo de manera que el procesador se limite a colocar la direccin y activar la transaccin, n periodos de reloj despus obtendr los datos de salida. Se facilita la interfaz de mdulo de memoria y el comportamiento del sistema es ms previsible. Adems es posible incorporarle facilidades al mdulo como contadores que generen direcciones sucesivas a partir de la inicial que proporciona el procesador, con esto obtenemos una memoria a rfagas que proporcionar una secuencia de datos de posiciones sucesivas de memoria evitndole al procesador el tener que colocar en cada caso la direccin correspondiente.

DRAM
Las celdas de almacenamiento en una DRAM se construyen a partir de condensadores. Esto reduce el nmero de transistores lo que permite mayor integracin. Una celda tpica consiste en un condensador, un transistor que sirve de puerta de control de carga o descarga del condensador ms unos elementos de entrada/salida triestado:

refresco fila

Dato salida R/W# Dato entrada lnea de bit

Proceso de lectura-escritura-refresco
En una escritura, la seal R/W# habilita el buffer de entrada, por lo que el dato queda accesible a la entrada del transistor. La seal de fila pondr al transistor en modo abierto y por lo tanto el condensador se cargar si el Dato de entrada est a 1, o se descargar si el dato de entrada est a 0. El condensador cargado representa un bit a 1 y descargado un bit a cero. En el proceso de lectura cierra el buffer de entrada y abre el de salida, por donde se descargar el condensador, indicando que contena un 1. La descarga del condensador es retomada por el buffer de refresco para volver a cargar el dato en el condensador. Esto ocurrir cada vez que se lea y cada vez que la seal de refresco se active.

Organizacin.
La memoria SRAM podemos verla como un conjunto de celdas agrupadas para formar una palabra y el conjunto de esas celdas es seleccionado por una lnea procedente del decodificador de direcciones. En el caso de las memorias DRAM las celdas estn agrupadas por filas y una parte de las lneas de direccin es decodificada para estimular cada fila. Pero adems las filas estn agrupadas por conjuntos de celdas para formar palabras y otra parte de las direcciones es decodificada para seleccionar el conjunto de celdas que forman la palabra. Esta divisin se debe al hecho de que el proceso de refresco no es necesario hacerlo celda a celda, sino que es posible refrescar los contenidos de toda una fila de celdas simultneamente, as que la lgica de refresco slo tiene que actuar sobre el decodificador de lnea y no sobre el de columnas. La direccin, en una memoria DRAM tiene entonces dos campos relacionados con la fila y la columna en la que se encuentra la palabra. Con el propsito de ahorrar lneas de direccin es posible multiplexar estos dos campos en un nico conjunto de lneas de direccin ms reducido. Para ello cada campo de la direccin se guarda en un registro separado que es cargado por medio de una seal de control dedicada: CAS, para las columnas y RAS para las filas

Para generar una transaccin de lectura o escritura en una memoria DRAM primero hay que cargar la parte de fila de la direccin mediante la activacin de la seal RAS y a continuacin cargar la parte de columnas con CAS. Si la seal de escritura est activada, el dato disponible en la entrada de datos se cargar en la direccin especificada. En caso contrario tendremos el dato correspondiente a la salida tras haber activado la seal de habilitacin de salida.

ciclo de lectura

(Cronogramas extrados de la hoja de caractersticas de la KM44C1004D.)

ciclo de escritura.
Se contemplan varios tipos de ciclos de escritura dependiendo de qu lneas se activas primero, W, CAS, OE. Si W se activa antes que CAS se denomina ciclo de escritura adelantada y si se activa posteriormente que CAS se denomina ciclo normal. La diferencia no es relevante salvo a efectos de diseo de controladores Adems de los ciclos normales de lectura y escritura de una palabra, las DRAM permiten acceder a una secuencia de palabras situadas en la misma fila, actualizando nicamente la parte de direcciones correspondiente a las columnas, permaneciendo la seal de control RAS activada. Para el adecuado acceso a los datos es necesario, igual que lo mencionamos en las SRAM, respetar una serie de intervalos de tiempo entre los ms relevantes estn: Tiempo de ciclo( TRC): Es el tiempo que dura una transaccin. Desde que se inicia la transaccin con la activacin de la seal RAS hasta que se permite iniciar la siguiente, lo que incluye un tiempo de Precarga (TRP) de esta seal. La parte de fila de la direccin debe estar un tiempo antes TASR y un tiempo despus TRAH de activarse la seal RAS y lo mismo para la parte de columna de la direccin. Intervalo entre RAS y CAS (TRCD): marca el intervalo mnimo que debe haber entre las seales RAS y CAS Intervalo entre RAS y el depsito de la parte de columna de la direccin (TRAD) Intervalo entre la desactivacin de CAS y una nueva activacin de RAS (TCRP) Duracin mnima de RAS(TRAS) Duracin minima de CAS(TCAS) Estos, entre otros, intervalos de tiempo determinan la latencia de acceso a posiciones de memoria y ms adelante veremos que son puntos de ataque en busca de mejoras en la eficiencia de los accesos. Pero una primera mejora que presentaban las memorias DRAM desde un principio son los accesos a Pgina, entendiendo como una pgina un conjunto de direcciones cuya parte de fila permanece estable mientras se va incrementando la parte de columna. Si en un acceso normal es necesario cargar primero la parte de fila de la direccin, luego la parte de columna, luego obtener o depositar el dato y esperar un determinado tiempo antes de iniciar el siguiente ciclo, en un acceso a pgina se repite este proceso para la primera direccin, pero las siguientes direcciones consecutivas, mientras mantengan la misma configuracin de los bits de fila, slo necesitan cargar los bits de columna, por lo que los accesos resultan ms rpidos.

Ciclos de refresco.
Con el propsito de que los datos se mantengan estables, las DRAM requieren que se realicen peridicamente ciclos de refresco de los datos. Un ciclo de refresco es semejante a una operacin de escritura con la particularidad de que se hace sobre toda una fila. Para invocar un ciclo de refresco basta con especificar la parte de fila de la direccin. Las memorias presentan varias opciones para invocar ciclos de refresco. Una modalidad es el refresco a rfagas, segn el cual se van a refrescar todas las filas de una vez. En el mdulo que presentamos (KM44C1004D) es denominado RAS only refresh y consiste en activar nicamente la seal RAS despus de haber puesto la direccin (la parte de fila) correspondiente. Se mantiene la seal durante los intervalos mnimos y se repite el ciclo para una nueva direccin. Otro modo de refrescar la memoria es utilizar el llamado CAS antes que RAS, en este caso se debe activar la seal CAS antes que la RAS y de nuevo se ir activando la seal RAS sucesivas veces (el nmero de filas). En este caso no es necesario proporcionar las direcciones porque son generadas internamente. Tras una lectura y mientras el dato est disponible en la salida es posible invocar ciclos ocultos de refresco que aprovechan los instantes muertos de la memoria. Por ltimo es posible poner a la memoria en un modo de auto refresco que depende de contadores y temporizadores internos para asegurar los peridicos ciclos de refresco sin intervencin del procesador.

FPM DRAM
Las memorias FPM DRAM son las mismas memorias DRAM salvo que se ha conseguido que en el modo pgina los datos estn disponibles un poco antes desde el momento en que se activa la seal CAS (TCAC). Lo normal es que el dato est disponible mientras la seal CAS est activa y desaparezca cuando el procesador la desactive, as el procesador tiene control sobre el tiempo durante el cual puede disponer del dato. Sin embargo, antes de volver a activar la seal CAS hay que respetar el tiempo de precarga de esta seal (TCP), lo que limita el ciclo mnimo.

EDO RAM
Las EDO (Extended Out) eliminan la restriccin arriba mencionada mediante la maniobra de cargar el dato en un latch, de manera que el procesador pueda desactivar la CAS y acceder al dato durante el tiempo de precarga de sta. Igualmente sigue controlando el tiempo disponible del dato, que no ser sustituido en hasta que el procesador no inicie un nuevo ciclo, pero ahora podr iniciarlo ligeramente antes. Al parecer las EDO han incorporado tambin una lgica que genera automticamente las direcciones de columna, convirtindose en BEDO. El generar internamente las direcciones, aparte de facilitarle el trabajo al procesador elimina los retardos en los que incurre ste mientras sustituye las direcciones en el bus del mdulo de memoria.

SDRAM
Las memorias DRAM sncronas consisten en una memoria DRAM como la vista anteriormente ms una lgica de sincronizacin con el reloj del sistema. Esta lgica lo nico que hace es cargar las seales pertinentes para invocar una transaccin de datos en la RAM en momentos precisos, determinados por una seal de reloj. As mismo los efectos de esa carga de seales tienen lugar en instantes previstos lo que facilita la tarea de manipulacin al procesador. Si las operaciones de la DRAM, la activacin de RAS, CAS etc, deban atender a los intervalos de tiempo mnimos entre ellas, en las SDRAM toda esta interfaz ir oculta en comandos y todas las operaciones vienen referidas al flanco de subida del reloj. Una lgica de sincronizacin se encargar de decodificar el comando y activar las seales y esta lgica asegurar que los datos estarn en el bus n periodos despus de iniciada la transaccin.

Al complicarse la lgica interna de la memoria, dotndola de mayor autonoma, las SDRAM incorporan nuevas funcionalidades como el burst mode mediante el cual la propia memoria es capaz de generar las direcciones de columna para una determinada direccin de fila (un poco ms complejo que el modo a rfagas) La velocidad de las memorias viene especificada ahora por la frecuencia del reloj con que funcionan y por el nmero de periodos de ese reloj que tardan en dar la respuesta o aseguran que estar escrito el dato. Pueden verse especificaciones del tipo CAS1, CAS2, CAS3, haciendo referencia posiblemente al nmero de periodos de reloj que tarda una transaccin. Otra nomenclatura se refiere a la frecuencia del reloj que admiten: PC66, PC100, PC133 referido a MHz. Las modalidades de refresco se invocan mediante comandos, igual que las acciones a realizar y en este caso siempre se recurre al contador interno. Hay un comando auto refresco que pone a la memoria en un modo en el cual la propia memoria determina los periodos de refresco sin intervencin ninguna del procesador. (datos obtenidos de la memoria MB81f643242C)

DDR
La arquitectura DDR consiste en un sistema de prebsqueda de 2*n bits (siendo n el tamao del bus) con una interfaz diseada para transmitir dos palabras en un ciclo de reloj. Un simple acceso de lectura o escritura consiste realmente en un acceso de 2*n bits de ancho. En un ciclo de reloj se obtiene el dato de tamao 2n y en dos semiciclos se transmiten hacia el exterior. Una lnea, DQS es utilizada como strobe bidireccional, en las lecturas (de memoria) es el mdulo de memoria quien lo activa al principio del semiperiodo, en las escrituras es el controlador de memoria quien debe activarlo a mitad del semiperiodo (center-aligned with data). El mdulo de memoria trabaja con dos seales de reloj diferenciales CK y CK#. Los comandos, direcciones y seal de control son cargados en el flanco positivo del reloj CK. Los datos son referidos a ambos flancos de las seal DQS. Todas las transacciones estn orientadas a bloque. (Cada transaccin implica activar una fila y acceder a mltiples elementos de columna) El nmero de accesos que implica se programa previamente mediante un registro de control, admite 2, 4 y 8 accesos consecutivos. Cada acceso requiere la activacin de una fila y la seleccin de un banco. La activacin de una fila implica una determinada latencia. Para solapar esta latencia, cada mdulo est compuesto de Bancos de acceso concurrente. Es posible activar filas en cada Banco de manera que una vez agotadas las columnas de un banco se puede saltar directamente a otro Banco sin necesidad de esperar el correspondiente tiempo activacin.

10

Se activa una fila cada vez, o la misma fila en todos los bancos. Una vez finalizado el acceso a tales filas es necesario desactivarlas (precarga) antes de iniciar la activacin de otras filas. Registro de Modo Antes de iniciar una transaccin es necesario programar un Registro de Modo, que describir el modo de funcionamiento de la memoria hasta la siguiente configuracin. Las caractersticas programables son: Longitud del bloque de transaccin: se puede elegir entre 2, 4 y 8 localizaciones consecutivas y adems se puede elegir que las localizaciones estn el mismo bloque o en bloques diferentes, es decir, entrelazadas. El bloque de acceso es cerrado, si se trata de acceder ms all del bloque se obtendrn de nuevo los primeros datos del bloque. Dependiendo del tamao de bloque se tomar una o ms lneas de la direccin de columna para seleccionar el bloque. Como se ve en el cuadro, si el tamao de bloque es dos y la direccin especificada tiene la lnea A0=0, sea por ejemplo 40, obtendremos el dato de la direccin 40 y el dato de la direccin 41. Pero si la primera direccin especificada fuera 41, obtendramos el dato de la direccin 41 y a continuacin el dato de la direccin 40. Tipo de acceso: secuencial, dentro del mismo bloque, o entrelazado, obteniendo cada dato de un bloque diferente. Latencia de lectura: podemos programar el nmero de ciclos de reloj que van a transcurrir desde que se activa un Read hasta que obtenemos el datos. Las opciones son 2, 2.5, y es posible que se ofrezcan 1 y 1.5. Modo de operacin: se presentan dos modos de operacin. Un modo es el normal y el otro es asncrono, en el cual las seales DQS y los

11

datos DQ no estn supeditadas al reloj (desactivacin de la seal DLL) Nomenclatura Los mdulos DDR pueden aparecer en dos sabores: DDR-200 y DDR-266n. El primero se refiere a mdulos que funcionan con una frecuencia de reloj de 100MHz, proporcionando dos datos por cada periodo de reloj, de ah el 200. Los segundos utilizan un reloj de 133MHz. Los dispositivos DDR-266A operan con un CAS2 y los DDR-266B lo hacen con un CAS2.5 Comandos. Las memorias asncronas funcionan al paso de las seales que se van activando RAS,CAS,R/W, etc. En el caso de las memorias sncronas, entre las que se incluyen las DDR, estas seales se activan simultneamente y esta activacin representa un comando que realizar la memoria en los sucesivos pasos de reloj. En las DDR los comando son los siguientes:

Acti ve: Acti var una fila impl ica prep ararl a para un acceso a los elementos de columna. Es posible activar una fila en un solo banco o activar la misma fila en todos los bancos para un acceso entrelazado Read/Write: Inicia una secuencia de accesos a los datos pertenecientes a la fila activada. Se especifica la direccin de columna a partir de la que comenzar la transaccin y se movern tantas palabras como el tamao de bloque especificado en el registro de modo. Si la seal A10 est activada cuando se invoca el comando se realiza una autoprecarga, lo que significa que al final de la transaccin se desactiva la fila de forma automtica sin necesidad de invocar ningn comando Precarga: Es el comando encargado de desactivar las filas previamente activadas. Es posible desactivar una fila de un nico bloque o desactivar simultneamente todas las filas activadas en cada bloque. Burs Terminate: toda transaccin es orientada a bloque con el tamao especificado en el registro de modo. Este comando permite finalizar bruscamente una transaccin de lectura de bloque, aunque requiere que la transaccin iniciada no tuviera la autoprecarga activada. Auto Refresh: es un comando que invoca un ciclo de refresco en la DDR. Un contador interno se encarga de ir activando las filas. La memoria requiere un autorefresco en periodos mximo de 16microsegundos Self Refresh: pone a la memoria en un estado de autonoma en lo que respecta al refresco. La memoria generar los ciclos de refresco automticamente sin intervencin externa. Es til cuando lamemoria est en un estado de reposo.

12

Cronogramas.

Los datos apareces despus de el CAS correspondiente, en este caso dos. Los comandos pueden ser emitidos en flanco de subida de las seal CK. La seal DQs est sincronizada con el reloj, cada dato aparece en un flanco de la seal y tiene validez hasta el flanco siguiente Es posible iniciar un ciclo de lectura antes de haberse concluido el anterior, lo que permite solapar los acceso. Si se respetan convenientemente las latencias (la CAS ms el nmero de periodos determinado para los datos (1,2,4 segn que el bloque sea de 2, 4 u 8), son ciclos consecutivos, porque obtenemos todos los datos de cada acceso, si no se respetan los periodos, el comienzo del siguiente ciclo de lectura trunca el ciclo de lectura anterior

En el acceso de escritura no hay un tiempo predeterminado para colocar el dato a escribir en el bus. Sin embargo hay que respetar determinadas latencias.

13

Recordar que la seal DQS es generada por el controlador de memoria y lo hace en medio del periodo del reloj porque es cuando las lneas de dato estn ms estables. Esta seal es utilizada para cargar el dato. Al igual que con read, es posible iniciar writes consecutivos, incluso truncando a las transacciones anteriormente invocadas.

RAMBUS
Un canal Direct Rambus incluye un Controlador y uno o ms mdulos RDRAM conectados por medios de un bus. Se trata de un bus muy simple operando a muy alta velocidad. El controlador est situado en un extremo del bus, los mdulos de memoria van distribuidos a lo largo del mismo y el otro extremo debe estar cerrado mediante un apropiado terminador. La tecnologa utilizada por las lneas del bus de alta velocidad es designada Rambus Signaling Logic, que pretende implantar las lneas con las mximas medidas de proteccin y homogeneidad elctrica entre ellas. El canal usa 18 lneas de datos, con capacidad, cada una de ellas de alcanzar 800 Mbps. Adems requiere un total de 76 lneas de control entre las que se incluyen las lneas de alimentacin. El controlador es capaz de suministrar un flujo de 1.6Mbytes por segundo de ancho de banda y usa la mitad de lneas que una SDRAM convencional o una DDR. La granularidad mnima se reduce a un nico mdulo RDRAM.

14

Una RDRAM tiene una microarquitectura encauzada. Posee un amplio bus interno conectado va interfaces de alta velocidad al bus externo, ms simple. La interfaz se encarga de serializar/deserializar la informacin transmitida/recibida para trasladarla desde/al bus interno de 144/128 bits, que es capaz de proporcionar 16 bytes cada 10 nano segundos. La interfaz es la encargada de transformar este ciclo de 10ns en el ciclo externo de 1.25ns de 2 bytes de ancho para obtener los 1600Mbytes/s prometidos. Los requerimientos internos de una RDRAM no son muy diferentes de los de una SDRAM, con lo cual la fabricacin de estos mdulos no implica cambios drsticos en la actual tecnologa de fabricacin. El canal utiliza 18 lneas bidireccionales para datos y 8 lneas que acarrean comandos y las direcciones de fila y de columna. Los mdulos RDRAM soportan operaciones de RAS y CAS completamente concurrentes en una microarquitectura encauzada que incluye almacenamiento de escritura (write buffering), cada dispositivo puede servir hasta cuatro peticiones pendientes.(?) Cuanto ms bancos hayan en el sistemas (bien dentro de un mdulo, bien distribuidos entre varios mdulos), ms posibilidades de entrelazado existirn, es por ello que se fomenta la creacin de bancos en los mdulos. El nmero de bancos y el tamao de stos no est especificado, pero por ejemplo un mdulo de 64Mbytes tiene 16 Bancos con una amplitud de pgina de 1Kbyte Sobre la doble seal de reloj El canal Direct Rambus tiene dos lneas de reloj. Una de ellas es generada desde el controlador y la otra es generada desde el extremo opuesto mediante un mecanismo independiente. Cada mdulo RDRAM recibe ambas lneas y utiliza una u otra segn el sentido de la transaccin. El objeto de esto es que la relacin de fase entre las lneas de dato y la de reloj permanezcan en fase. Para mantener una sincronizacin con ambos flancos del bus los diseadores deben hacer uso de dispositivos llamados DLL (delay locked loops). Con esto consiguen una tasa de 800MHz de transferencia de datos a partir de una frecuencia de 400MHz

RDRAM
Lo que sigue es una descripcin de un mdulo de memoria RDRAM que nos va a aproximar al funcionamiento de un RAMBUS. El mdulo, uno cualquiera, es una Direct RDRAM 128/144Mbit organizado como 8M palabras de 16 o 18 bits. Puede alcanzar frecuencias de transferencia de 600MHz hasta 800MHz y sostener tasas de 1.25ns por dos bytes. Permite el control separado de filas y columnas y alberga 32 bancos. Soporta hasta cuatro transacciones simultneas.

15

(Al permitir el control separado de filas y columnas ya no est sujeta al protocolo estricto de RAS seguido de CAS respetando los intervalos mnimos requeridos. En cualquier momento se puede activar una nueva RAS o una nueva CAS referida a la ltima RAS activada) Patillaje ms relevante: SIO1,SIO0: Entrada/Salida serial. Mediante estas lneas se leen y escriben los registros de control utilizando un protocolo serial. CMD: Entrada Comando. Esta lnea es usada junto con las anteriores para leer y escribir en los registros de control. SCK: Entrada de reloj serial. Esta lnea lleva el reloj requerido para la comunicacin serial de SIO DQA8..DQA0: Datos A. Son nueve lneas que llevarn el byte de datos en transacciones de lectura o escritura entre la RDRAM y el canal. En los modelos x16 no se usa DQA8 CFM/CFMN: Reloj desde el maestro. Es la lnea de reloj procedente del maestro utilizada en las transacciones con el canal. Polaridad positiva y negativa CTM/CTMN: Reloj hacia el maestro. Es la lnea de reloj hacia el maestro, utilizada en las transacciones con el canal. Polaridad positiva y negativa. RQ7..RQ5 ROW7..ROW5: Acceso a fila. Estas tres lneas llevan informacin de control y direccin de acceso a fila RQ4..RQ0 ROW4..ROW0: Acceso a columna. Estas tres lneas llevan informacin de control y direccin de acceso a columna. DQB8..DQB0: Datos B. Es una ristra de lneas de datos. Descripcin general. Un mdulo RDRAM se compone, esquemticamente, de dos bloques: El ncleo, que consiste en bancos de memoria de tipo DRAM con sus amplificadores de seal - estos mdulos de memoria no tienen ninguna caracterstica particular adaptada a la tecnologa RAMBUS; estamos hablando de mdulos DRAM tradicionales- y una interfaz Direct Rambus que permite a un controlador externo acceder a este ncleo. Registros de control. Los registros suministras informacin de configuracin de la RDRAM al controlador y permiten seleccionar los modos de funcionamiento del dispositivo. (ejemplos de registros: REFR: contiene la direccin de la ltima fila refrescada. DEVID: contiene la direccin del mdulo dentro del canal Rambus). Relojes. El reloj procedente del maestro sincroniza las transmisiones de datos y control desde el maestro hacia el mdulo. El reloj hacia el maestro sincroniza las transmisiones de datos desde el mdulo hacia el maestro. DQ(AyB): Llevan datos hacia y desde el maestro. En realidad cada una de ellas lleva en realidad un paquete de datos de 72 bits multiplexados en bloques de 8 Bancos y amplificadores de seal. Los 16 MB de memoria estn divididos en 32 bloques de 0.5Mbytes cada uno organizado como 512 filas con cada fila conteniendo 64 dualocts, que contiene cada uno 16 bytes. Un dualoct es la unidad de acceso ms pequea que puede ser direccionada. La RDRAM contiene 34 Amplificadores de seal. Los Amplificadores de seal consisten en 512 (256 por bus de datos) bytes de almacenamiento rpido y pueden mantener la mitad de una fila de un banco. Pueden contener cualquiera de las 512 medias-filas del banco asociado, sin embargo cada amplificador est compartido entre los dos bancos adyacentes lo que introduce la restriccin de que no es posible acceder simultneamente a bancos adyacentes. RQ. Las lneas RQ acarrearn la direccin de acceso. Estn divididas en dos grupos, el grupo ROW controlar los accesos a fila y el grupo COL controlar los accesos a columna. El grupo ROW se encargar de la transferencia de datos entre el banco y los amplificadores de seal. En realidad el paquete de datos ser de 24 lneas multiplexadas en estas tres. El grupo COL se encargar de la transferencia de datos entre los amplificadores de seal y los buses de datos DQ(A o B). Igualmente el paquete de datos es mayor, 23-bits cuando es una operacin de columna, 17 cuando se trata de una operacin de enmascaramiento o extendida, que el nmero de lneas disponibles, 5, e ir multiplexado en ellas.

16

Comandos ACT: Comando activar fila, va sobre un paquete ROWA y causa que una de las 512 filas del banco seleccionado previamente sea cargado en su amplificador asociado (2 para el bus DQA y dos para el bus DQB) PRER. Comando de precarga. Va sobre un paquete ROWR y causa que el banco seleccionado libere a los dos amplificadores, permitiendo que una fila diferente sea activada o que bancos adyacentes sean activados. RD. Comando de lectura. Causa que uno de los 64 dualoct de uno de los amplificadores sea transferido al canal a travs de DQA o DQB WR. Comando de escritura. Causa que el dualoct recibido a travs de una de las vas DQ sea cargado en el buffer de escritura. Tambin se carga en el buffer de escritura el banco seleccionado y la columna. El dato es luego retirado del buffer y transferido al correspondiente dualoct del amplificador cuando se ejecute un comando COP. Este hecho tendr lugar durante una lectura/escritura o comando NOCOP hacia otro dispositivo o una escritura o NOCOP hacia el mismo. PREC. Proporciona un segundo mecanismo para generar una precarga, provocando que esta se realice al final de una operacin de columna. PREX. Otro mecanismo para generar precarga relacionado con el comando XOP Descripcin de un ciclo de fila y columna. Activacin. Un ciclo de fila comienza con un comando de activacin. El proceso es destructivo, el proceso de transferir un bit de memoria al amplificador modifica el bit en la celda. Restauracin: Debido a este hecho, un mecanismo oculto realiza automticamente la reescritura del bit tomndolo del amplificador y cargndolo de nuevo en la celda. Lectura/escritura. Al tiempo que tiene lugar la restauracin, se puede llevar a cabo una operacin de lectura o escritura usando operaciones de columna. Las escrituras modifican el contenido de los amplificadores que son automticamente cargados en las celdas correspondientes manteniendo siempre coherentes los datos de la celda y el amplificador. Precarga: Completadas las operaciones de lectura y restauracin el banco es precargado, dejando los amplificadores dispuestos para una nueva activacin. Intervalos: Todas las operaciones requieren un determinado intervalo de tiempo para realizarse durante el cual no se puede iniciar una nueva operacin sobre los elementos implicados. Bancos adyacentes: Una RDRAM con una indicacin s en su nombre significa que contiene bancos partidos. Esto significa que los amplificadores estn compartidos entre bancos adyacentes, con excepcin de aquellos bancos que estn fsicamente dispuestos en los extremos de una fila (0,15,16,31) Cuando es activada una fila en un banco, los dos amplificadores adyacentes al banco son utilizados. Cuando se activa un banco i, ni el banco i-1 ni el banco i+1 pueden ser activados debido a que ambos comparten un amplificador con el banco i.

Refresco
RDRAM, como cualquier otra tecnologa DRAM, necesita reescribir peridicamente las celdas de memoria. Esta operacin se realiza con el comando REFA. Este comando provoca la activacin de la fila indicada por REFR en todos los bancos cuyo nmero se indica en un registro Ba de todos los dispositivos del bus. El controlador automticamente incrementar los registros REFR y Ba cuando sea conveniente. El comando REFA equivale a un ACT en lo que respecta a la relacin con otros paquetes que afecten a bancos (adyacencia). El comando REFP debe ser emitido para precargar el banco refrescado antes de realizar ninguna transaccin con el banco implicado en la operacin de refresco de cada dispositivo.

17

Se dispone tambin de un mecanismo de auto refresco que se activa automticamente durante los estados de inactividad del mdulo. Durante el auto refresco se utiliza un temporizador interno

Algunos cronogramas.

Lectura: Comienza activando un banco con ACT a0 utilizando un paquete ROWA. Un intervalo de tiempo obligatorio despus se genera un RD a1 en un paquete COLC. El comando ACT incluye el dispositivo, el banco y la fila (a0), mientras que el comando lectura incluye dispositivo, banco y columna (a1). Un intervalo de tiempo (igualmente necesario) despus el dualoct solicitado Q(a1) es devuelto por el dispositivo. Un intervalo de tiempo despus del primer COLC es emitido un segundo. Contiene un comando de lectura a2. a2 contiene el mismo dispositivo y banco que a1, pero diferente columna. La respuesta es recibida tras el pertinente retardo. Lo que sigue es un PRER a3, emitido sobre un paquete ROWR, lo que causa que el banco sea precargado. a3 apunta al mismo dispositivo, y banco que a0,a1 y a2. El tiempo mnimo a transcurrir entre ACT y PRER aparece indicado como TRAS. Tambin se exige un tiempo mnimo entre el ltimo comando RD emitido y el PRER

18

Finalmente se emite un nuevo comando de activacin. Este debe respetar un tiempo mnimo tras el PRER previo (porque ha sido emitido al mismo dispositivo y banco que ste) Escritura: La escritura es muy semejante a la lectura. En primer lugar se emite un paquete ROWA con una activacin de (dispositivo, bloque fila) a0. A continuacin se emiten dos COLC comandos de lectura seguidos. Lo siguiente que viene es un paquete COLM que tiene por objeto retirar el buffer de escritura, esto es, volcar el buffer de escritura en los amplificadores. Esta operacin, en caso de no emitirse un COLM, se realizara automticamente. Por ltimo vienen la precarga del bloque y fila y a continuacin una nueva activacin de una fila diferente dentro del mismo dispositivo y bloque.

Escritura(lectura) entrelazada. El entrelazamiento se refiere a que sucesivas escrituras acceden a bloque no adyacentes, bien sea dentro del mismo dispositivo o de dispositivos distintos. La ventaja obtenida con el entrelazado es que el intervalo mnimo entre dos transacciones sobre a bancos no adyacentes es del orden de cuatro veces menor que el que debe imperar entre dos transacciones sobre el mismo banco o adyacentes. En la figura se observa un completo aprovechamiento de los buses de datos DQ emitiendo sucesivos comandos de activacin de fila y escritura ajustndose a los mnimos intervalos. Se observa que la transaccin iniciada con direccin e0 se realiza sobre el mismo banco que la iniciada sobre a0. Y que entre medias no se observa ningn comando de precarga. Ocurre que los comandos de escritura pueden incorporar la precarga automtica una vez se ha realizado la operacin. Pero obsrvese sin embargo que se respetan los mnimos tiempos (TRC)

19

Mdulos o soportes de las RAM


La placa madre es el elemento definitorio del ordenador. Los elementos que la componen y su organizacin definen el destino para el que est previsto, lo que se denomina Plataforma. Uno de los elementos de la placa es la memoria y segn la plataforma la placa madre soportar diferentes tipos de memoria RAM as como diferente cantidad. La memoria se inserta en la placa en los soportes correspondientes, la cantidad de soportes suministrados limitar la cantidad de memoria y el tipo de soporte determinar el tipo de memoria. Los primeros soportes de memoria albergaban directamente el chip de memoria soldado a la placa madre. Como expansin, la placa proporcionaba sockets o soportes para pinchar nuevos chips, que determinaban naturalmente el tamao y el nmero de pines. Despus aparecieron los primeros mdulos SIM, en los cuales los chips estaban soldados a una placa, montados como un todo que ofreca una cantidad razonable de memoria a un tamao de palabra: 8, 16, 32. Tambin pueden incorporar mecanismos que corrigen automticamente errores, con lo cual se libra de esta responsabilidad al procesador y al propio controlador de memoria. Los primeros mdulos que aparecieron eran de 30 contactos, todos por una misma cara de la placa y poco despus aparecieron los de 72 contactos. El aumento del nmero de contactos permite aumentar el bus de datos y por lo tanto la eficiencia de transmisin de memoria. El tipo de memoria que alojaban los mdulos SIM era ya DRAM, aunque en los primeros mdulos no incorporaba las mejoras que hemos comentado. Con la llegada del Pentium II, y las mejoras introducidas en las DRAM aparecen los mdulos DIM. La principal diferencia con los anteriores es que el nmero de contactos se distribuye entre las dos caras. Esto permite ampliar el nmero de contactos sin aumentar el tamao de la placa. De nuevo, ampliar el nmero de contactos permite ampliar el tamao del bus de datos mejorando la tasa de transferencia de datos (virtualmente). Estos primeros mdulos tenan 168 contactos. Con los mdulos DIM aparecen las memorias sncronas y tambin son los que incorporan las ms recientes memorias DDR, aunque en estos casos el nmero de contactos ha ascendido a 184. Las memorias RAMBUS aportan sus propios soportes, que son los mdulos RIM. La idea vuelve a ser la misma, pero como el tipo de memoria y la velocidad a la que funcionan condicionan, las caractersticas de la placa se alejan ligeramente del mdulo DIM. Los RIM tienen tambin 184 contactos, pero llevan disipadores que los hacen ms aparatosos.

20

21

You might also like