digitalesii_capitulo3

37
1 MEMORIAS RAM CAPITULO 3

Upload: ronald-molina-bravo

Post on 17-Nov-2015

1 views

Category:

Documents


0 download

DESCRIPTION

sistemasdigitalesespolcapitulo 3problemas porpuestos VHDLDIAGRAMAS ASM

TRANSCRIPT

  • *MEMORIASRAMCAPITULO 3

    *

  • *INTRODUCCION

    Las memorias RAM (random access memory) son memorias de lectura y escritura. Son de acceso aleatorio, lo que significa que el tiempo que se requiere para leer o escribir un bit de memoria es independiente de la localidad de este bit en la RAM.

    Muchos tipos de memoria se pueden clasificar como de acceso aleatorio, pero cuando el acrnimo RAM se usa con memorias semiconductoras, se refiere a la capacidad de leer y escribir en ellas en oposicin a las ROM.Las memorias RAM no son clasificadas como SPLD (Dispositivos Lgicos Programables Simples). Sin embargo, al igual que los SPLD (por ejemplo, ROM, EPROM, etc.) pueden ser usadas con otros PLD para realizar tareas aleatorias.

    Las memorias RAM se clasifican:- RAM estticas (SRAM)- RAM dinmicas (DRAM)

    *

  • *Las SRAM son ms veloces.Las DRAM tienen mayor capacidad de almacenamiento.

    La mayora de las memorias RAM son voltiles, esto significa que la informacin almacenada en ellas se pierde cuando se corta el suministro de energa.

    Algunas RAM conservan la informacin an cuando se corta la energa, como ejemplo tenemos las modernas memorias estticas CMOS que en su encapsulado extra grande incluyen una batera de litio que puede durar hasta 10 aos.

    Recientemente, han sido introducidas memorias RAM no voltiles ferro elctricas. Estas memorias combinan elementos magnticos y electrnicos en el mismo CI, por lo tanto la memoria retiene su estado aun cuando la energa se corta de la misma manera que las antiguas memorias de ncleos magnticos.

    La tecnologa de fabricacin predominante en la actualidad es la tecnologa CMOS con voltajes de alimentacin de 5v, 3.3v y 2.5v.

    *

  • *MEMORIAS RAM ESTATICAS

    Estructura y caractersticas de la memoria RAM esttica.

    Al igual que una ROM una RAM tiene entradas de direccin, entradas de control y salidas de datos. Pero a diferencia de la ROM, una RAM tambin tiene entradas de datos. La figura muestra la estructura general de las memorias RAM actuales: A : AddressDIN : Data inputDOUT : Data outputCS : Chip SelectOE : Output EnableWE : Write Enable

    *

  • *La memoria RAM ms pequea es la 7489/189/289. Es de 64bit (24 x 4) y es de tecnologa TTL. Esta memoria puede almacenar hasta 16 palabras de 4 bits. Es bastante rpida, su tAA es de 33ns. Por su poca capacidad de almacenamiento no tiene mucha utilidad actualmente y su fabricacin se esta descontinuando.

    Las operaciones bsicas son:

    Operacin de lectura (read): Se habilitan las entradas CS y OE.Operacin de escritura (write): Se habilitan las entradas CS y WE.Cada bit de la memoria SRAM llamado celda SRAM tiene el mismo comportamiento funcional que el siguiente circuito:Cada celda bsica tiene un latch que es un flip-flop tipo D de disparo por nivel (no por flanco) y alguna lgica combinatorial de control.

    *

  • *Estructura interna de una SRAM 8x4 (23 x 4) :

    17.bin

    *

  • *Aunque la estructura interna mostrada de una SRAM es un modelo simplificado, representa con exactitud varios aspectos importantes de su comportamiento.

    OPERACIN DE LECTURADurante la operacin de lectura, los datos de salida son una funcin combinatorial de las entradas de direccin. No se produce ningn dao si se cambia la direccin mientras el bus de datos de salida esta habilitado. El tiempo de acceso para las operaciones de lectura esta especificado a partir del tiempo en que estabilizo la ultima direccin.

    Diagramas de tiempo para la operacin de lectura en una SRAM.

    18.bin

    *

  • *tAA (access time from address): Tiempo de acceso desde la direccin.Indica cuanto tiempo toma obtener un dato de salida estable despus de un cambio en la direccin. Se asume que OE y CS estn ya activos. Al referirse a una memoria como una SRAM de 70ns, ese tiempo es el tAA.

    tACS (access time from chip select): Tiempo de acceso desde la seleccin del chip. Indica cuanto tiempo toma obtener un dato de salida estable despus de que CS est activo. Se asume que la direccin ADDR y OE son ya estables.tOE (output enable time): Tiempo de habilitacin de la salida.Indica cuanto tiempo le toma a los buffers de tres estados de salida, dejar el estado de alta impedancia.tOZ (output disable time): Tiempo de deshabilitacin de la salida.Indica cuanto tiempo le toma a los buffers de tres estados de salida, entrar al estado de alta impedancia.tOH (output hold time): Tiempo de retencin de salida.Indica cuanto tiempo permanece el dato de salida valido despus de un cambio en las entradas de direccin.

    *

  • *OPERACIN DE ESCRITURA

    Durante la operacin de escritura los datos de entrada se almacenan en los latch. Esto significa que los datos deben satisfacer ciertos tiempos de retencin con respecto a la seal de habilitacin. Es decir, los datos de entrada no necesitan ser estables en el momento que se activa WR (WE y CS), solo deben ser estables un tiempo antes que finalice el ciclo de escritura.

    Diagramas de tiempo para operacin de escritura en una SRAM.

    *

  • *tDS (data setup time before end of write): Tiempo de fijacin del dato antes del fin de escritura. Si no se cumple, la memoria puede no retener el dato.tDH (data hold time after end of write): Tiempo de retencin del dato despus del fin de escritura.Durante la operacin de escritura, las entradas de direccin deben ser estables un cierto tiempo antes de que WR (WE y CS) se active y un tiempo despus de finalizar el ciclo de escritura.tAS (address setup time): Tiempo de fijacin de la direccin antes de la escritura. Todas las entradas de direccin deben ser estables antes de que tanto CS como WE se activen. De lo contrario, la informacin puede ser almacenada en localidades impredecibles.

    tAH (address hold time): Tiempo de retencin de la direccin despus del fin de la escritura. Todas las entradas de direccin deben mantenerse estables durante un tiempo despus que se desactiven CS y WE.

    tCSW (chip select setup time before end of write): Tiempo de fijacin de la seleccin del chip antes de fin de escritura. CS debe ser activa por lo menos este intervalo de tiempo antes de fin de escritura para garantizar la seleccin de una celda.

    tWP (write pulse time width): Tiempo de ancho de pulso de escritura. WE debe estar activa al menos durante de este intervalo de tiempo para garantizar la retencin confiable del dato en la celda seleccionada.

    *

  • *

    La estructura interna real de la memoria SRAM representa un arreglo bidimensional de celdas bsicas en la cantidad suficiente para obtener la capacidad deseada. Arreglo bidimensional simplificado de una memoria SRAM 1K x 1bit.

    *

  • *En la practica las memorias SRAM tienen mas de una salida (8/16/32).Para reducir el nmero de terminales del chip es conveniente que el bus de datos sea bi-direccional, es decir, sirve tanto de entrada como de salida. a) Celda de 1 bit b) Su smbolo c) Lgica de control d) Celda de 8 lneas e) Su smbolo.

    *

  • *Por lo tanto, una memoria SRAM de 1K x 8bits tiene siguiente diagrama lgico simplificado.

    Memoria SRAM de 1K x 8bits.De acuerdo con las seales en las lneas de direccin y control la memoria esta en modo de operacin de escritura y los datos presentes en bus de datos bidireccional se almacenara en las celdas seleccionadas.

    19.bin

    *

  • *

    SRAM comerciales.

    Las SRAM estn disponibles en muchos tamaos y velocidades.

    En 1989 la SRAM mas grande y mas usada disponible usaba tecnologa CMOS y tenia capacidad de 128K x 8bits (17 lneas direccin) con un tiempo de acceso (tAA) de 70ns.

    En la actualidad las SRAM ms grandes usan tambin tecnologa CMOS y tienen capacidad de 256K x 16, 512K x 8, 1M x 4 con tiempos de acceso de hasta 10ns.

    La SRAM ms rpida disponible es de tecnologa TTL/CMOS compatible y tiene solo 1K x 4bits, pero con tAA de 2,7ns.

    Para que un chip de memoria SRAM sea del tamao ms pequeo posible, es indispensable que la celda SRAM ocupe el menor espacio posible dentro del chip.

    Por esta razn una celda debe usar la menor cantidad de transistores posible.

    *

  • *La numeracin de las SRAM no est estandarizada entre los diferentes fabricantes, aunque a menudo tienen terminales idnticos y son intercambiables. Smbolos lgicos para SRAM estndar en paquetes en lnea doble de 28 y 32 terminales.

    20.bin

    *

  • *Cualquiera de ellas puede ser usada en proyectos de diseo digital, ya que todas se polarizan con 5v y vienen en empaquetamiento DIP.Tambin estn disponibles en empaquetamientos mas compactos con voltajes de alimentacin de 3,3v y 2,5v.El uso comn de las SRAM es para almacenamiento de datos en pequeos sistemas de microprocesadores/microcontroladores (telfonos, tostadoras, etc.). Las computadoras de propsito general mas a menudo usan DRAM porque su densidad es mas grande y su costo por bit mas bajo. Sin embargo, SRAM muy rpidas se usan en memorias cache de computadoras de alto rendimiento para almacenar instrucciones y datos de uso frecuente.

    Las SRAM analizadas hasta el momento son conocidas como SRAM asincrnicas.

    *

  • *SRAM sincrnicas (SSRAM). La aparicin de las memorias SRAM sincrnicas se debe a la tendencia actual de los Sistemas Digitales a operar en forma sincrnica. Las SSRAM siguen usando los latches (flip-flops de disparo por nivel) pero tienen una interfase controlada por el Clock tanto para las seales de direccin, como de control y datos. Por lo tanto las operaciones de lectura y escritura se realizan en los momentos de flanco positivo de Clock. Estructura interna de una SSRAM.

    21.bin

    *

  • *Los registros AREG, CREG, INREG y OUTREG son de disparo por flanco. El registro INREG captura los datos de entrada para la operacin de escritura. El registro OUTREG solamente esta presente en SSRAM con salidas tipo pipelined.

    Los protocolos de acceso de las SRAM sincrnicas son muy tiles para los sistemas digitales de alta velocidad. Existen SSRAM con frecuencia de Clock de hasta 166 MHz.Tipos diferentes de SSRAM.a. Late-write SSRAM with flow through outputs Diagramas de tiempo de LW SSRAM with flow-through outputs.a) operacin de lectura, b) operacin de escritura

    22.bin

    *

  • *Para realizar la operacin de lectura (a) las seales de control y de direccin se muestrean con el flanco de subida de Clock y el registro AREG se carga con las direcciones deseadas. Pero los datos que corresponden a esa direccin pueden ser ledos en la salida solo con el siguiente flanco de subida de Clock.Para la operacin de escritura (b) los datos primeramente se almacenan en registro INREG el cual es muestreado con el siguiente flanco de Clock. Es decir, la escritura interna de la memoria se realiza durante el siguiente flanco de Clock.Entonces, este protocolo hace imposible escribir en dos direcciones no consecutivas en perodos sucesivos de Clock. Desde el punto de vista de capacitad interna de esta memoria, ste comportamiento no es necesario. Sin embargo, el protocolo late-write fue diseado a propsito para relacionarlo con el protocolo de microprocesadores que usan ests SSRAM como la memoria cache.

    *

  • *b. Late-write SSRAM with pipelined outputsEsta SSRAM es igual como la anterior excepto que se coloca el registro OUTREG entre la salida del arreglo SRAM y la salida externa.Diagramas de tiempo de LW SSRAM with pipelined outputs. Operacin de lectura.La presencia de este registro retarda la lectura de datos, pero esta caracterstica tiene la ventaja que los datos son vlidos durante la mayor parte del perodo de Clock.

    23.bin

    *

  • *Comparando con la memoria anterior, LW SSRAM con salidas pipelined tiene mucho ms tiempo para recibir los datos que se desea escribir y, por lo tanto, permite las operaciones ms confiables a las frecuencias de Clock ms altas.Las SSRAM convencionales (asincrnicas) comparten los mismos pines para la entrada y salida de datos. Durante un periodo de Clock dado los I/O pines pueden ser usadas o para lectura o para la escritura. Si analizamos los diagramas de tiempo, podemos darnos cuenta que es imposible iniciar la operacin de lectura un periodo despus de la operacin de escritura y viceversa.

    Este inconveniente se elimina en las memorias llamadas ZBT SSRAM. Existen dos tipos de ZBT SSRAM

    *

  • *c. Zero-bus-turn around SSRAM with flow through outputsDiagramas de tiempo de ZBT SSRAM with flow through outputs.

    El tipo de operacin es seleccionado por una seal de control que es muestreada (igual que las direcciones) con el flanco de subida de Clock. Tanto en la operacin de lectura como de escritura se utilizan los mismos terminales (DIO) o para leer, o para escribir. No se presentar ningn problema siempre y cuando la entrada de control OE sea controlada apropiadamente.

    24.bin

    *

  • * Sin embargo, si la lectura es seguida por la escritura, ambas operaciones podran querer usar el arreglo SRAM durante el mismo periodo de Clock. Para evitar este conflicto de recursos, la operacin de escritura es retardada hasta el siguiente periodo de Clock. Y mientras la operacin de escritura esta pendiente, la direccin debe ser guardada en otro registro WAREG, ya que AREG es usado para otra operacin. Esto aumenta el rea del chip. Inclusive la operacin de escritura puede ser retardada indefinidamente si es seguida por una serie de operaciones de lectura.d. Zero-bus-turn-around SSRAM with pipelined outputs Diagramas de tiempo de ZBT SSRAM with pipelined outputs.

    *

  • *

    Las ZBT SSRAM con salidas pipelined tienen adicionalmente el registro OUTREG y dos niveles de registros (INREG1, WAREG1, INREG2, WAREG2) para almacenar la direccin de escritura y los datos, por lo tanto hasta dos operaciones de escritura pueden ser postergadas mientras se realizan las operaciones de lectura.

    Entre los cuarto tipos de las SSRAM no hay mejores o peores. Los usuarios pueden elegir la memoria cuyas caractersticas resultan ms convenientes para requerimientos del Sistema Digital donde esta memoria va a trabajar.

    *

  • *MEMORIAS RAM DINAMICAS

    Estructura y caractersticas de la memoria RAM dinmica. La celda bsica de la memoria RAM esttica (SRAM) es un latch, que construido en forma discreta requiere 5 puertas y 4 o 6 transistores en un chip LSI.A fin de construir una RAM con mayor densidad, los diseadores inventaron las celdas de memoria que usan solo un transistor por bit.No es posible construir un elemento biestable solo con un transistor. En su lugar, las celdas de memoria DRAM almacenan informacin en un pequeo capacitor que se accesa a travs de un transistor MOS.Celda de almacenamiento para un bit de una DRAM.

    25.bin

    *

  • *Para almacenar un 1 es necesario aplicar un voltaje Alto en la lnea de bit, despus aplicar un voltaje Alto en la lnea de palabra. El transistor MOS comienza conducir y el capacitor se carga. Para almacenar un 0 es necesario aplicar un voltaje Bajo en la lnea de bit y un voltaje Alto en la lnea de palabra para que el capacitor se descarge.Para leer una celda la lnea de bit primero se precarga a un voltaje que es la mitad entre Alto y Bajo y luego la lnea de palabra se pone en Alto. Dependiendo si el voltaje del capacitor es Alto o Bajo, el voltaje en la lnea de bit precargada se hace ligeramente ms alto o ms bajo. Un comparador censa la diferencia de voltaje entre el capacitor y la lnea de bit y da en su salida el 1 o el 0.

    Se puede notar que la operacin de lectura altera la informacin almacenada en la celda DRAM, ya que cambia la carga del capacitor. Por lo tanto, al finalizar la lectura, es necesario volver a escribir el dato original en la memoria.

    En vista que el capacitor MOS tiene una impedancia muy alta toma un tiempo relativamente grande (algunos milisegundos) para que un voltaje Alto se descargue de tal forma que sea tomado por un voltaje Bajo. RC = R (G) x C (pF) 4msPero igual es necesario refrescar peridicamente la informacin almacenada para evitar que degrade.

    *

  • *Voltaje almacenado en una celda DRAM despus de las operaciones de escritura y refrescamiento.

    La operacin de refrescamiento de una celda toma aproximadamente 200ns.

    Si refrescamos las celdas una por una, el tiempo total de refrescamiento sera igual al nmero de celdas multiplicado por 200ns.

    Una memoria que tiene 1 024 000 celdas requiere ms de 200ms para refrescamiento total. Por lo tanto, es necesario refrescar un conjunto de celdas simultneamente.

    26.bin

    *

  • *Aprovechando que la estructura interna de la memoria es un arreglo bidimensional, formado por filas y columnas, se realiza el refrescamiento simultaneo de todas las celdas que pertenecen a una fila.

    La memoria de 1 Mbit es un arreglo de 1024 filas por 1024 columnas. Por lo tanto, refrescando por filas, el tiempo de refrescamiento para esta memoria ser de 1024 x 200ns = 0.204ms, que es mucho menor que 4ms de la constante de descarga del capacitor. Por tanto queda mas del 90% de tiempo til para realizar operaciones de lectura y escritura en la memoria entre cada ciclo de refrescamiento.El proceso de refrescamiento implica la lectura secuencial del contenido algo degradado de cada celda en un latch y, luego, la escritura de cada celda con los voltajes Alto o Bajo desde el latch. Estructura interna de una DRAM 1M x 1bit.

    *

  • *Estructura interna de una DRAM 1M x 1bit. La memoria DRAM de la figura tiene 1024 x 1024 localidades, pero el chip (empaquetamiento) tiene slo tiene 10 entradas de direccin multiplexadas. Una direccin completa de 20 bits se presenta al chip en dos pasos controlados por dos seales: RAS.L - habilitacin de direccin de filas (Row Address Strobe) y CAS.L - habilitacin de direccin de columnas (Column Address Strobe).El multiplexado de las entradas de direccin ahorra terminales, lo que es importante para el diseo compacto de sistemas de memoria.

    27.bin

    *

  • *Las primeras DRAM introducidas en la dcada de 1970, contenan solo 1024 bits, pero las DRAM modernas contienen 256 Mega bits o ms.

    Se muestra el diagrama de tiempo correspondiente al ciclo de refrescamiento. Este ciclo se utiliza para refrescar una fila. Se aplica la direccin de fila a las entradas multiplexadas y se activa la entrada RAS.L. La lgica de control de la memoria DRAM almacena la direccin de la fila en un registro interno con el flanco de bajada de RAS.L y guarda el contenido de la fila seleccionada en un latch interno. Con el flanco de subida de la RAS.L el contenido de la fila se vuelve a escribir desde el latch interno.

    28.bin

    *

  • *Para refrescar una memoria de 1M x 1 bit es necesario mandar 1024 ciclos de Clock cada 4ms. Para ello se utiliza un contador de 10 bits que genera las direcciones de fila (de 0 hasta 1024) y tiene una base de tiempo igual a 4 ms/1024.

    Se muestra el clculo de tiempo til en una DRAM 1M x 1 bit.

    29.bin

    *

  • *El ciclo de lectura comienza cuando se aplica una direccin de fila a las entradas multiplexadas y se activa la entrada RAS.L. La lgica de control con el flanco de bajada de RAS.L almacena la direccin de la fila en un registro interno y guarda el contenido de la fila seleccionada en un latch interno de fila. Luego se aplica la direccin de columna a las entradas de direccin multiplexadas. Esta direccin se almacena en un registro de columna con el flanco de bajada de CAS.L. La direccin de columna se utiliza para seleccionar un bit, que corresponde a la interseccin de la fila y la columna seleccionadas. Este bit aparece en el terminal de salida, Dsal, de la memoria DRAM. El terminal de salida, que es de tipo tres estados, se habilita mientras la seal CAS.L es baja.En el flanco de subida de RAS.L toda la fila se actualiza con la carga de los datos desde los latch interno. Durante todo el ciclo de lectura la seal WE.L debe permanecer desactivada.

    30.bin

    *

  • *El ciclo de escritura tambin comienza como un ciclo de refrescamiento o de lectura. Es decir, con el flanco de bajada de RAS.L la direccin de la fila se guarda en un registro interno y los datos de la fila se almacenen en el latch de la fila.La entrada WE.L debe ser activada antes de que se active la entrada CAS.L. Esto deshabilita Dsal por el resto del ciclo, colocando las salidas en estado de alta impedancia. Con el flanco de bajada de CAS.L direccin de la columna se almacena en un registro interno y el dato de la entrada se escribe en el latch que se encuentra en la direccin correspondiente a la interseccin de la fila y la columna seleccionada.

    31.bin

    *

  • *

    Con el flanco de subida de RAS.L el contenido del latch de la fila con un dato ya modificado se carga en las celdas correspondientes.

    Adems de los tres ciclos principales ya descritos pueden existir los siguientes:

    Ciclo de lectura en modo de pgina. Permite leer una fila completa sin

    repetir el ciclo completo RAS - CAS. Ya que toda la fila se guarda en el latch de lnea. Este ciclo requiere activar varias veces la seal CAS mientras RAS se mantiene baja. Este ciclo proporciona accesos a memoria mucho ms rpidos.

    Ciclo de escritura en modo pgina. Es similar a la lectura en modo pgina.

    *

  • *DRAM comerciales. La figura muestra la distribucin de terminales de dos de las DRAM mas usadas fabricadas en paquetes DIP. Distribucin de terminales de las DRAM 41000 y 44256. Las memorias 41000 y 44256 tienen salidas de 1 bit y 4 bits respectivamente. El tamao de una DRAM se mide como el nmero total de bits que almacena. Por lo tanto :La DRAM 44256 es de 256K x 4, es DRAM de 1Megabit.

    32.bin

    *

  • *DRAM sincrnicas (SDRAM).El protocolo de acceso de las memorias DRAM convencionales es bastante intrincado, adems resulta difcil aumentar la velocidad y hacer interfases con el resto del sistema.

    Por estas razones a principio de dcada de 1990 comenzaron a fabricarse las DRAM sincrnicas. Actualmente las SDRAM dominan el mercado y se usan ampliamente en computadoras personales. Las SDRAM usan una seal de Clock lo que facilita la interfase con otros Sistemas Digitales sincrnicos.

    Al igual que las DRAM convencionales, las SDRAM usan el bus de direcciones multiplexado, es decir, las direcciones de filas y columnas son suministradas en dos pasos. Pero tanto las seales de direcciones como las seales de control se muestrean solo con el flanco de subida de Clock comn del Sistema que maneja frecuencias de hasta 166 MHz.

    Adicionalmente las SDRAM poseen la seal CKE (Clock-enable), de esta manera las dems entradas son ignoradas si CKE no esta habilitada.

    En la operacin de escritura los datos de entrada son muestreados con el flanco de subida de Clock y en la operacin de lectura los datos de salida son entregados tambin con el flanco de subida de Clock.

    *

  • *Al igual que las DRAM convencionales (o asincrnicas), las SDRAM requieren internamente algunos pasos para realizar una operacin y esto significa que tienen que recibir mltiples periodos de Clock externo.

    Internamente las SDRAM tienen varios bancos DRAM, tpicamente cuatro, y ellos pueden realizar mltiples operaciones simultneamente.

    En cada transicin de Clock las seales de control de la SDRAM (RAS, CAS y WE) son interpretadas como una command word. Al mismo tiempo los bits de la direccin son interpretados como bank select, para indicar a cual de los bancos debe ser aplicado la orden.

    Por ejemplo, un controlador de SDRAM inteligente puede usar cuatro pulsos de Clock para iniciar las operaciones de lectura en cuatro bancos diferentes y leer los resultados uno por uno en cada periodo de Clock para completar los datos.

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *