Está en la página 1de 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

Salida

C
Habilitacin de escritura

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

También podría gustarte