1 CONCEPTOS BÁSICOS. DEFINICIÓN DE MEMORIA. TEMA 6. MEMORIAS 1. Conceptos básicos. Terminología básica (2-7) 1 1 Organización. 1.1 Organización Jerarquía. Jerarquía Estructura general (8-15) 1.2 Clasificación según: tecnología de fabricación, acceso a la información y perdurabilidad de la información (16-26) Memorias as de solo lectura (ROM) ((27) 7) 2.. Memor 2.1 Estructura general. Células básicas (28-29) 2,2 Organización de la memoria ROM estáticas (30-31) 2.3 Ejemplos de implementación de memorias (32 (32-34) 34) 2.4 Diagramas de tiempo (35-37) 3. Memorias de acceso aleatorio (RAM) (38) 3.1 Estructura general (39) 3.2 Célula básicas de una RAM estática (40-43) 3.3 Organización de las memorias RAM estáticas. Señales CAS y RAS (44 47) (44-47) 3.4 Diagramas de tiempos de las RAM estáticas (48-51) 4. Expansión de la capacidad de las memorias (52) 4 1 Aumento del tamaño de la palabra (53 4.1 (53-54) 54) 4.2 Aumento del número de palabras (55-56) 1 Una memoria es un dispositivo o conjunto de 1. dispositivos destinados al almacenamiento de la información en un sistema. sistema 2. Están constituidos por células elementales ca capaces de almacenar 1bit. 3. Normalmente se agrupan en registros de varios bits capaces de almacenar un dato o una instrucción. ó 1 TERMINOLOGÍA BÁSICA (I) TERMINOLOGÍA BÁSICA (II) 1 Palabra. 1. P l b 4. Dirección. ó Un conjunto de bits que guardan una instrucción o un dato. z 2. Tamaño de d la l palabra. l b El número de bits requeridos para almacenar un dato o una instrucción. 3. Capacidad de memoria. z Se expresa a través de : – – z El número de registros a o posiciones de memoria, que es capaz de direccionar (número de palabras a las que puede acceder) y El número úm d bits que forma de f m cada d palabra. p l b Ejemplo: – 2 Memoria de 1024x8. 1024 palabras = 1Kpalabra. 8 bits cada una de ellas. Número de bits totales = 1024 x 8= 8192 bits. 3 Es un número binario (código binario), que identifica la posición de la palabra o registro. A cada palabra le corresponde una única dirección. – P tanto Por t t ell tamaño t ñ de d la l memoria i determina d t i ell número ú d de bits necesarios para codificar la dirección. A2 A1 A0 CONTENIDO PALABRA P0 0 0 0 0110 0 P1 0 0 1 1010 1 P2 0 1 0 1111 2 P3 0 1 1 0000 3 P4 1 0 0 1100 4 P5 1 0 1 0110 5 P6 1 1 0 0101 6 P7 1 1 1 0001 7 4 TERMINOLOGÍA BÁSICA (IV) TERMINOLOGÍA BÁSICA (III) 7 Habilitación 7. H bili ió de d la l memoria. i z Consiste en sacar la información contenida en una cierta posición de memoria para transferirla a otro lugar. lugar – La información del origen debe permanecer sin modificap de efectuada la operación p de lectura. ciones después 6. Operación de escritura. • Señal que permite seleccionar a un solo bloque de memoria, d nt de dentro d un n conjunto nj nt de d recursos s s que vuelcan l n información inf m ión al mismo recurso compartido; el resto de los bloques colocan su salida en alta impedancia. z 5 Operación de lectura. 5. lectura Consiste en introducir una información en una posición específica de la memoria, “quitando” la posible información que hubiese previa a la operación de escritura. 8. Tiempo de acceso. • Tiempo requerido por la memoria para realizar una operación de lectura. – M did de Medida d la l velocidad v l cid d de d memoria. m m ri 9. Tiempo p de ciclo. • Tiempo requerido por la memoria para realizar bien una operación de lectura o de escritura. – TC > TACC. 5 TERMINOLOGÍA BÁSICA (V) 6 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (I) 10. El Tamaño, definido por el número de bits que contiene. Muy relacionado con el coste por bit almacenado, puesto que finalmente f m determinará m el tamaño m de dicha m memoria. m 11. La velocidad o tiempo que se tarda en acceder a la información. Actualmente se suelen emplear cuatro niveles en la jerarquía de memoria: n 12. Consumo de energía. Cache de nivel 1 (L1). z A igualdad en el resto de características, son preferibles, aquellas memorias de menor consumo. z 13. Coste por bit En general, general cuanto menor es el coste por bit, bit mayor es el tiempo de acceso. acceso o Normalmente es preciso llegar a soluciones de compromiso, o j emplear distintos tipos de memoria de forma jerárquica: Una muy rápida (aunque cara y por lo tanto pequeña) para aquellas informaciones de las cuales se necesite hacer uso frecuentemente Otras de mayor capacidad pero más lentas para contener información cuyo uso en una situación dada sea menos probable. 7 Es una pequeña memoria "cache" contenida en el propio chip del procesador. S l poseer una capacidad Suele id d de d algunos l kil b t (Kb). kilobytes (Kb) Cache de nivel 2 (L2). (L2) z z Es una memoria externa al procesador cuyo tamaño puede variar desde los cientos de kilo-bytes a unos pocos mega-bytes. Suele u serr m memoria m raM MOS estática. tát ca. 8 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (II) 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (III) Jerarquía p Memoria principal. principal z z q Tamaño (por el momento) del orden de los cientos de megabytes. megabytes •KBYTES Implementada en memoria MOS dinámica. •100 KBYTES o Mbytes Memoria secundaria. z Consiste en almacenamiento en soporte magnético, magnético óptico o magneto-óptico con capacidades del orden de 10 9 bytes en adelante. •100 mbytes •Gbytes 9 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (IV) CPU Cache L1 Cache L2 Memoria principal Los datos a los que se accede con mayor frecuencia se almacenarán en la memomemo ria más rápida. En la cúspide jerárquica se halla la “cache” interna del procesador; a medida q p que descendemos aumenta el tamaño, pero también aumenta el tiempo de acceso. acceso z Al aumentar los tamaños, disminuyen los precios por bit almacenado y aumentan los tiempos de acceso. 10 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (V) 1. Una memoria tiene tres grupos de señales: Líneas de dirección. z Se utilizan para especificar la posición (localización, ubicación) b ó ) del d l dato. d Líneas de datos. z Empleadas para introducir el dato en las operaciones de escritura o recoger (extraer) el dato en las de lectura. lectura Líneas de control. z Empl Empleadas d s para p d t min determinar t nt lla operación tanto p ción a efectuar, como manejar la activación de la memoria y su salida. Memoria secundaria 11 12 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (VI) 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (VII) CE (Chip Enable) o CS (Chip Select) Líneas de control. zS ñ l de zSeñal d activación ti ió generall de d la l memoria. i R/W / (Read/Write). ( d/ ) – Cuando está desactivada (valor de tensión alto), la memoria queda deshabilitada. deshabilitada z Permite especificar p una operación p de lectura (valor alto de la señal) o escritura (valor bajo). » En esta situación, el consumo en potencia en mucho menor que en condiciones de activación. » Además y con independencia del valor de la señal OE, la salida permanece en el estado de alta impedancia. impedancia OE E (Output ( E Enable). l ) z Señal de activación de salida triestado. – Cuando la señal está activa (valor de tensión bajo), el contenido de la celda pasa a las líneas de salida de datos. – Cuando está inactiva (valor de tensión alto), la salida se encontrará en el estado de alta impedancia. – Cuando está activada (valor de tensión bajo) la memoria i puede d accederse d con normalidad. lid d 13 1.1 ORGANIZACIÓN. JERARQUÍA. ESTRUCTURA GENERAL (VIII) 14 1.2 CLASIFICACIÓN (I) Diagrama de bloques de la estructura general de una memoria A0 A1 A2 A3 A4 A5 A6 A7 Realizaremos una clasificación de los tipos p de memoria atendiendo a tres conceptos diferentes: Bus de direcciones RAM 256x4 CS OE o Clasificación por la tecnología empleada. empleada o Clasificación por el modo de direccionamiento de la información. información o Clasificación por el grado de perdurabilidad de la información f ó (memoria). ( ) Bus de control R/W D0 D1 D2 D3 Bus de datos 15 16 1.2 CLASIFICACIÓN (II) CRITERIO NOMBRE 1.2 CLASIFICACIÓN (III) CARACTERÍSTICAS NÚCLEOS de TECNOLOGÍA DE FABRICACIÓN (I) Dos estados posibles de magnetización FERRITA Tecnología Memorias de SEMICON- Fabricación DUCTORAS Capacidad Velocidad Consumo Inmunidad Coste BIPOLARES baja alta alto baja alto MOS alta baja bajo alta bajo CCD La información se almacena en capacidades BURBUJAS Ausencia o presencia de burbuja (0,1) MAGNÉTICAS Perdurabilidad de la Información Permanentes La información grabada permanece sin alimentación (ROM) No permanentes y Almacenamiento masivo No volátiles ((cintas, discos, CDs)) Volátiles Desaparece la información en ausencia de alimentación (RAM) Secuencial (SAM) Hay que pasar por información anterior. Almacenamiento masivo (cintas, CD) Aleatorio (RAM) Se accede a cualquier posición directamente. Mismo tiempo. Las estáticas más rápidas P contenido Por t id (CAM) No utilizan N tili ell concepto t de d dirección. di ió Compara C un parámetro á t con descriptores y asocia (Base de datos) Forma de Acceso a la información Muchas de las tecnologías han sido desechadas con el tiempo. Ejemplo E l (histórico): (h ó ) memorias de d núcleos ú l d ferrita. de f Respecto p a las tecnologías g empleadas, p actualmente, para la l fabricación f b i ió de d las l memorias i podemos dividir en dos grandes grupos: Memorias M m i s semiconductoras s mi d t s (bipolares, (bip l s MOS y BiCMOS) que constituyen la memoria principal de los computadores. Dispositivos basados en almacenamiento magnético, magnético óptico o magneto-óptico, para grandes volúmenes de información. 17 1.2 CLASIFICACIÓN (IV) 1.2 CLASIFICACIÓN (V) TECNOLOGÍA DE FABRICACIÓN (II) 1. Las memorias basadas en transistores bipolares son las más rápidas. rápidas Sin embargo, tienen el inconveniente de tener un consumo de potencia elevado, una pequeña densidad de integración y un precio también elevado. 2. Las memorias con tecnología mixta como es la BiCMOS, emplean p principalmente p p en los circuitos p periféricos transistores bipolares para lograr l una mayor velocidad, l d d pero ell núcleo ú l d la de l memoria utiliza tecnología CMOS. 3 L 3. Las memorias m m i má extendidas más xt ndid actualmente t lm nt son n las l m m i memorias CMOS, por sus ventajas en cuanto a precio, consumo y capacidad de integración. 18 MODO DE DIRECCIONAMIENTO Por el modo de direccionamiento, pueden clasificarse en memorias de acceso: 1. Aleatorio. 2. Secuencial. l 3. Por contenido. A ti Antiguamente t tenían t í ell inconveniente i i t de d ser excesivamente i t lentas, l t pero la tecnología MOS ha mejorado sensiblemente en velocidad con el paso del tiempo; de forma que se aproxima a la bipolar 19 20 1.2 CLASIFICACIÓN (VI) 1. 1.2 CLASIFICACIÓN (VII) Acceso aleatorio. 1. Es posible acceder directamente a cualquier célula de memoria. p utilizado en acceder a cualquier q información es 2. El tiempo independiente de la ubicación física de dicha información dentro de la memoria. 3 Estas memorias se puede interpretar como una tabla con 2n 3. posiciones. z Cada posición viene especificada por una “dirección” comprendida entre 0 y 2n-1 posiciones. posiciones z Cada posición contiene m bits de información, siendo habitual que m sea una potencia de 2, típicamente un byte (ocho bits). 4 Para 4. P acceder d a la l información i f ió contenida t id en una posición si ió ess preciso is especificar de qué posición se trata; es decir, proporcionar su dirección. z Facilitar F ilit los l n bits bit que especifican ifi l dirección. la di ió z Activar algunas señales adicionales de control de la memoria. 5. Ejemplos Ejemplos: Memorias ROM (Read Only Memory), Memorias RAM (Random 2 Acceso 2. A secuencial. i l 1. El acceso secuencial indica que no es posible direccionar q celda de la memoria. directamente cualquier 2. Para acceder a una determinada celda es necesario pasar por todas las anteriores. 3. Ejemplo: Cintas magnéticas. é 3. Acceso p por contenido. 1. Llamadas también memorias asociativas o CAM (Content Addresable Memory). 2 Se diferencian 2. df d l resto, en que para obtener del b un determinado d d dato no se le proporciona a la memoria la dirección de dicho dato, sino un descriptor asociado a dicho dato. 3. La memoria compara todos los descriptores con el proporcionado a su entrada y en caso de poseerlo entrega a su salida el dato asociado. Access Memory). 21 1.2 CLASIFICACIÓN (VIII) 22 1.2 CLASIFICACIÓN (IX) PERDURABILIDAD DE LA INFORMACIÓN 1. Memorias permanentes. Atendiendo a este criterio pueden clasificarse en memorias: Permanentes. Aquellas en que la información perdura y no se puede cambiar durante el proceso normal de operación de la memorias. i Son memorias q que solamente se p pueden leer. No permanentes y no volátiles. volátiles Algunos tipos de memorias permanentes son: Volátiles. z Memorias M i ROM (Read R d Only O l Memory M ) – – 23 La información se graba durante la fase de construcción de la memoria. memoria No es posible alterarla nunca. 24 1.2 CLASIFICACIÓN (XI) 1.2 CLASIFICACIÓN (X) z Memorias 2. Memorias no permanentes y no volátiles. PROM (Programmable Read Only Memory) – La información puede ser grabada por el usuario. – Una vez grabada no puede alterarse nunca más. z Memorias Memory) EPROM (Erasable Programmable g Read Onlyy – La información puede ser grabada por el usuario. – Puede P d ser borrada b d en su totalidad, t t lid d exponiendo i d la l memoria i a luz l ultravioleta durante minutos, para volverse a grabar por parte del usuario. Son memorias no volátiles en el sentido que la información permanece almacenada aunque q se elimine la alimentación. Son memorias no permanentes en el sentido que pueden alterar su contenido en el normal funcionamiento de éstas. Ejemplo: Cintas y discos magnéticos. magnéticos 3. Memorias volátiles. L La información i f ió de d la l memoria i desaparece d cuando d se elimina li i l la alimentación. clasificarse f carse a su vez en en: Pueden clas z Memorias estáticas: basadas en la idea de realimentación. - Ejemplo: memorias SRAM (Static Random Access Memory). z Memorias M i di á i dinámicas: su contenido id debe d b restaurarse cada d cierto tiempo. - Ejemplo: memorias DRAM (Dinamic Random Access z Memorias EEPROM (Electrically Erasable and Programmable Read Only Memory) – La información puede ser grabada por el usuario. – La realización de escritura en la memoria requiere la aplicación de t tensiones i superiores i a las l normales l de d funcionamiento. f i i t M Memory) ) 25 2 MEMORIAS DE SOLO LECTURA: ROM 2.1 ESTRUCTURA GENERAL. CÉLULAS BÁSICAS Una memoria ROM (Read Only Memory) es una memoria de acceso aleatorio, permanente, no volátil y de solo lectura. ur . 26 No requiere de una señal que diferencie entre lectura y escritura. escritura Su estructura externa, por tanto, es igual a la estructura general eneral de memorias, mem rias que se ha presentado anteriormente. ESTRUCTURA de BLOQUES DOS BLOQUES: DECODIFICADOR (direcciones) D E CODIFICADOR (mapa de memoria) C O D0 ………Dn D C0 I C1 F C2 I C A .. Codificador Cm N entradas al decodificador (señales de dirección) → M salidas del decodificador (direcciones del mapa de memoria); 2N ≥ M P salidas del codificador (nº de bits de los datos leídos en el mapa de memoria) D O Es un sistema combinacional:(en el caso de implementación de sistemas combinacombina cionales, las M salidas son las funciones a sintetizar) R F0 F1 ….. Fp 27 28 2.1 ESTRUCTURA GENERAL. CÉLULAS BÁSICAS 2.2 ORGANIZACIÓN DE UNA ROM (I) Con objeto de limitar el tamaño del decodificador de direcciones empleado se suele organizar la memoria en forma de matriz bidimensional. CÉLULA BÁSICA: transistor MOS DOS BLOQUES: DECODIFICADOR (direcciones) se presenta como bloque funcional. CODIFICADOR (mapa de memoria) está formado por una moria), matriz de transistores MOS. Cada elemento de la matriz está formado por un registro de la misma dimensión que el de la palabra de la memoria. S utilizan Se tili d decodificadores, dos d difi d una para las l filas fil y otro para las columnas Un ejemplo sencillo se muestra en la siguiente figura. 29 2.3 EJEMPLOS DE IMPLEMENTACIÓN (I) 2.2 ORGANIZACIÓN DE UNA ROM (II) C Constrúyase ú una memoria i ROM con tecnología l í pseudo d nMOS estática, que implemente las funciones: Selección de fila A0 c0 Dec A1 c1 00 01 10 11 Registro 0 E Registro 4 E E Registro 8 E E Registro 12 E E E Registro 13 E E Registro 10 E E Registro 14 E E E F2 = D1 D0 (8) Memoria ROM de capacidad 16x8 bits: Cada registro tiene dos señales de habilitación asociadas a su fila y a su columna. Registro 1 E Registro 5 E E Registro 9 E E F1 = D1 D0 + D1 D0 (8) Registro 2 E Registro 6 E E E 30 F0 = D1 + D0 → F0 = D1D0 +D1D0 + D1D0 (8) Registro 3 E Registro 7 E E Selección de columna A2 c0 D Dec A3 c1 Registro 11 E E E Entradas al decodificador de direcciones: D1, D0 Entradas al mapa de memoria (codificador): C3, C2, C1, C0 Funciones de salida: F2, F1, F0 Registro 15 E E (8) 00 01 10 11 (8) OE E Buffer de salida D1 D0 C3 C2 C1 C0 F2 F1 F0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 D0 D1 D 2 D3 D4 D 5 D 6 D 7 31 32 2.3 EJEMPLOS DE IMPLEMENTACIÓN (II) 2.3 EJEMPLOS DE IMPLEMENTACIÓN (III) La presencia de un transistor equivale a un cero lógico y su ausencia a un uno lógico (estáticas) F2 F1 Las señales de entrada se coco nectan a las líneas de dirección de la meme moria F0 D1 D0 C3 C2 C1 EJERCICIO DE APLICACIÓN: Constrúyase y una memoria ROM en tecnología pseudo nMOS estática, q que implemente p las funciones: F3 = BD F2 = AD+DC F1 = BD C0 DECODIFICADOR 33 2.4 DIAGRAMAS DE TIEMPO: CICLO DE LECTURA EN ROM (I) Temporización común de una operación de lectura en ROM. Entradas de direcciones Dirección anterior 34 2.4 DIAGRAMAS DE TIEMPO: CICLO DE LECTURA (II) 1. Tiempos principales. tACC – (ACCess time). Nueva dirección válida z tACC tCE CE OE tOE tCE – (Chip Enable time). tOH z Salida de datos Alta Z Tiempo de acceso. Representa el tiempo transcurrido desde que las señales que codifican una dirección están estables en las entradas de la memoria hasta que se obtienen bti l datos los d t en la l salida lid (señales ( ñ l a la l salida estables). Salidas de datos d t válida álid 35 Tiempo de activación de la memoria. memoria Es el tiempo que tarda en producirse la salida de datos, con señales de salida estables, desde la activación de la señal CE. 36 2.4 DIAGRAMAS DE TIEMPO: CICLO DE LECTURA (III) tOE – (Output Enable time). z Tiempo de activación de la salida. Es el tiempo que tarda en producirse la salida de datos, con señales de salida estables, estables desde la activación de la señal OE. OE tOH – ((Output p Hold time). m ) z Tiempo de mantenimiento de la salida. Es el tiempo que permanece válida la salida ((las señales asociadas p permanecen estables), desde que la dirección se modifica (señales dejan de estar estables) o bien se desactiva la señal CE, CE o la señal OE. OE 3. MEMORIAS DE ACCESO ALEATORIO: RAM (I) o Una memoria RAM (Random Access Memory) es una memoria de acceso aleatorio, no permanente y volátil. látil o Las RAM pueden clasificarse en dos grandes grupos: Estáticas á (SRAM- Static Random Access Memory). z Basadas en el principio de realimentación. z En general son más rápidas pero ocupan más área. Dinámicas m ((DRAM- Dynamic y m Random m Access Memory m y)). z z Basadas en el almacenamiento en una capacidad (MOS). Son más lentas, lentas pero presentan una mejor densidad por unidad de área. 37 3.1 ESTRUCTURA GENERAL 38 3.2 CÉLULA BÁSICA DE UNA MEMORIA RAM ESTÁTICA (I) Entradas de datos E3 Estructura interna de una RAM de 64x4 bits. E2 E1 Selección de fila E0 R/W Buffers de entrada V DD E En ntradas de direcciones B A0 A1 A2 A3 A4 A5 0 Decodificador de 6 a 64 líneas B Registro 0 1 Registro 1 2 R i t 2 Registro T5 CS 62 Registro 62 63 Registro 63 Buffers de salida S3 S2 S1 T6 T3 T4 T1 E T2 S0 Salidas de datos 39 40 3.2 CÉLULA BÁSICA DE UNA MEMORIA RAM ESTÁTICA (II) OPERACIONES PER NE (II) ( ) OPERACIONES (I) Escritura de un ‘1’. Programación de señales: 3.2 CÉLULA BÁSICA DE UNA MEMORIA RAM ESTÁTICA (III) Selección de fila selección de fila = 1, B = 1 y B = 0. La señal selección de fila activa las puertas de transmisión T3 y T4. VDD B B B → T3 → Entrada de T2 y T6 T5 T6 Programación de señales: T2 z Salida del inversor formado por T1 y T5 será un 1 → Entrada del inversor formado por T2 y T6 será un 1. 1 B B T3 → Entrada B→ E d de d T2 y T6 T4 T1 B Señal selección de fila activa las puertas de transmisión T3 y T4. z T3 B→ T4 → Entrada de T1 y T5 VDD selección de fila = 1, B = 0 y B = 1. z Salida del inversor formado por T2 y T6 será un 0 → Entrada del inversor formado por T1 y T5 será un 0. Selección de fila Escritura de un ‘0’. 0. T5 Salida del inversor formado por T2 y T6 será un 1 → Entrada del inversor formado por T1 y T5 será á un 1. T6 T3 T4 T2 T1 B→ T4 → Entrada de T1 y T5 z Salida del inversor formado por T1 y T5 será un 0 → Entrada del inversor formado p por T2 y T6 será un 0. 41 42 3.2 CÉLULA BÁSICA DE UNA MEMORIA RAM ESTÁTICA (IV) ORGANIZACIÓN MATRICIAL O POR COINCIDENCIA: la OPERACIONES (III) Lectura Lectura. 3.3 ORGANIZACIÓN DE LAS MEMORIAS RAM ESTÁTICAS (I) organización puede realizarse también en forma de matriz t i bidimensional. bidi i l Selección de fila selección de fila = 1. La señal selección de fila activa las puertas de transmisión T3 y T4. El dato guardado por realimentación en los transistores T1, T2, T5 y T6 pasa a las líneas de dato B y B. VDD B B T5 A6 A7 A8 A9 A10 A11 posiciones puede ser organizada como una matriz de 64x64 (64=26). T6 Columnas 0 1 T3 A0 A1 A2 A3 A4 A5 T4 T1 Ejemplo: una memoria RAM de 4096 T2 El valor de salida debe ser amplificado. 63 0 1 Filas 64 63 64 43 44 3.3 ORGANIZACIÓN DE UNA MEMORIA RAM ESTÁTICA (II) VDD Decodificadorr de filas Organización por coincidencia VDD Precarga Precarga Precarga Celda Celda Celda Celda B ≈ B B ≈ ≈ B Amplif. de sentido Las memorias de g gran tamaño,, requieren q bastantes líneas de dirección. Una manera de “ahorrar” líneas de dirección es organizar la memoria en forma matricial y compartir un mismo grupo de d líneas lí para seleccionar l i primero i la l fil fila d de lla matriz t i y posteriormente la columna de la misma. Precarga ≈ Celda ≈ Celda B B ≈ ≈ ORGANIZACIÓN Ó CON COMPARTICIÓN Ó DE LÍNEAS Í DE DIRECCIÓN: Ó VDD Celda Celda B Amplif. de sentido R/W VDD ≈ B ≈ ≈ 1. Amplif. de sentido Amplif. de sentido 3.3 ORGANIZACIÓN DE LAS MEMORIAS RAM ESTÁTICAS (III) Esta técnica requiere de dos registros de almacenamiento intermedio: ≈ Entrada z Precarga (R (Row Add Address St b ) Strobe). CAS (Column Address Strobe). Señal activa a nivel bajo. 2. Este método es el habitual en las memorias DRAM (Dynamic Random d Access Memory). ) OE Decodificador de columnas Salida RAS Señal activa a nivel bajo. Otro para las columnas, gobernado por la señal z ≈ VDD U para las Uno l filas fil y gobernado b d por la l señal ñ l 45 3.3 ORGANIZACIÓN DE LAS MEMORIAS RAM ESTÁTICAS (IV) Organización de una memoria de capacidad capac a 128x128 Registro de 7 bits para las direcciones de columnas CAS 46 3.4 DIAGRAMAS DE TIEMPO DE LAS RAM ESTÁTICAS CICLO DE LECTURA (I) tRC Entradas de direcciones Dirección anterior Nueva dirección válida tACC R/W E Decodificador CS RAS tOD E A0/A7 A2/A9 A4/A11 A5/A12 Registro de 7 bits bit para las direcciones de fila Decodifica ador A1/A9 A3/A10 tCO R/W Matriz de celdas 128 x 128 Salida de datos Entrada dato Alta Z Datos D válidos Alta Z Salida dato A6/A13 47 48 3.4 DIAGRAMAS DE TIEMPOS DE LAS RAM ESTÁTICAS CICLO DE LECTURA (II) 3.4 DIAGRAMAS DE TIEMPOS DE LAS RAM ESTÁTICAS CICLO DE ESCRITURA (I) tWC tRC – (Read Cicle time). zTiempo Entradas de direcciones mínimo de un ciclo de lectura completo. Dirección anterior tACC – ((ACCess time). ) Nueva dirección válida tAS zTiempo de acceso. Tiempo mínimo transcurrido desde que se proporciona una nueva dirección hasta que se obtienen los datos en la salida. salida tCO – (Chip Output time). tW CS zTiempo d de activación ó d de l la salida. ld Tiempo mínimo í transcurrido desde que se activa el circuito de memoria hasta que se obtienen los datos en la salida. tOD – (Output Delay time). zRetardo de salida. Tiempo de permanencia de los datos en la salida lid d después é de d que se desactive d ti la l señal ñ l de d CS. CS tAH R/W Datos de entrada del bus de datos Alta Z Alta Z D t Datos válidos tDS tDH 49 3.4 DIAGRAMAS DE TIEMPOS DE LAS RAM ESTÁTICAS CICLO DE ESCRITURA(II) tAS Tiempo mínimo de un ciclo de escritura completo. – (Address Setup time). z Tiempo de establecimiento de la dirección. Tiempo mínimo que deben adelantarse las entradas de dirección antes de activar la señal de escritura. escritura tW – (Write time). z tAH Tiempo p de escritura. Tiempo p mínimo, q que debe estar activa la señal de escritura. Tiempo de mantenimiento de la dirección. Tiempo de permanencia de las señales de dirección después de la desactivación de la señal de escritura. escritura tDH – (Data Hold time). z Tiempo de mantenimiento de los datos. Tiempo mínimo que deben permanecer los datos en la entrada después de la desactivación de la señal de escritura. tDS – (Data z 1.. Expansión (aumento) del tamaño de palabra. Ejemplos Ejemplos: – (Address Hold time). z 5. EXPANSIÓN DE LA CAPACIDAD DE LAS MEMORIAS (I) Consiste en construir memorias de mayor capacidad, partiendo de un elemento de memoria de capacidad m n menor. tWC – (Write Cicle time). z 50 51 partiendo de memorias de capacidad 1Mx1 → memoria de 1Mx8 2. Expansión (aumento) del número de palabras. Ejemplos: Setup time). Tiempo de establecimiento de los datos. Tiempo mínimo que deben estar presente los datos antes de la activación de la señal de escritura. partiendo de memorias de capacidad 256x4 → memoria de 256x8 partiendo d de d memorias de d capacidad d d 256x4 4 → memoria de d 512x4 partiendo ti d de d memoria i de d 1Mx8 1M 8 → memoria i de d 4MX8 52 5.1 AUMENTO DEL TAMAÑO DE LA PALABRA (I) A0 A1 A2 A3 A4 A5 A6 A7 5.1 AUMENTO DEL TAMAÑO DE LA PALABRA (II) Bus de direccione Módulos de 1Mx1 Memoria de 1Mx8 →1Mx1byte Módulos de 256x4 M Memoria i de d 256 256x8 8 RAM 256x4 RAM 256x4 CS Bus de control OE R/W D0 D1 D2 D3 D4 D5 D6 D7 Bus d B de datos Almacena los bits D0-D D3 de las 256 palabras de 8 bits Almacena los bits D4-D D7 de las 256 palabras de 8 bits 53 54 5.1 AUMENTO DEL NÚMERO DE PALABRAS (II) 5.1 AUMENTO DEL NÚMERO DE PALABRAS (I) A0 A1 A2 A3 A4 A5 A6 A7 A8 Módulos de 1Mx8 Bus de direcciones Memoria de 4Mx8 Módulos de 256x4 Memoria de 512x4 CS RAM0 256x4 OE R/W D0 D1 D2 D3 Almacena las p palabras de 4 bits con direcciones: [0, 255] (10 → [0, FF] (16 CS RAM1 256x4 Bus de control Bus de datos Almacena las palabras de 4 bits con direcciones:[256, 511] (10 → [100, 1FF] 55 (16 56