Memorias Docente: Ing. Víctor Cárdenas Schweiger 2016 1 ¿Qué es una memoria RAM? • Es la memoria donde se almacenan los datos (programas) con los que se están trabajando en ese momento. • Es un dispositivo electrónico que se encarga de almacenar datos e instrucciones de manera temporal, de ahí el término de memoria de tipo volátil ya que pierde los datos almacenados una vez des energizado el equipo; pero a cambio tiene una muy alta velocidad para realizar la transmisión de la información. Memoria Estática (SRAM) Es la forma mas antigua y simple de memoria semiconductora temporal. La celda o unidad básica de almacenamiento de datos de una SRAM es el FLIP-FLOP. Víctor Cárdenas Schweiger - Microprocesadores 4 Memoria Dinámica (DRAM) Esta utiliza una tecnología completamente diferente a la RAM estática, para llevar a cabo el almacenamiento de datos. En una RAM dinámica la unidad básica de memoria es un condensador. Cada celda DRAM almacena un bit (1 o 0) como un paquete de carga a través de un transistor MOS. Víctor Cárdenas Schweiger - Microprocesadores 6 7 8 OPERACIÓN ESCRITURA SIMPLIFICADA 9 OPERACIÓN DE LECTURA SIMPLIFICADA 10 11 32-Word x 8-Bit Static RAM 12 ESQUEMA DE UNA MEMORIA RAM Las entradas de control C y R/W permiten inhibir la memoria y leer o escribir (Read-Write) respectivamente. Su funcionamiento es el siguiente: • Situar en los terminales de DIRECCION la combinación adecuada a la célula de memoria a operar. • En el caso de lectura, poner el terminal R/W a "0", y por último permitir el funcionamiento de la memoria, es decir, validar el proceso con C="1". En la salida de datos obtendremos la información almacenada en la dirección de memoria correspondiente. • En el caso de escritura, además de la dirección adecuada es preciso situar en los terminales de "entrada de datos", el dato a almacenar o escribir. Ahora el terminal R/W deberá ponerse a "1". Por último, validar la operación con 13 C="1", la información a la entrada de datos quedará registrada en la dirección de memoria indicada. PARAMETROS FUNDAMENTALES DE LAS MEMORIAS Son los dispositivos de almacenamiento de datos e instrucciones en los sistemas digitales. •Tiempo de acceso: tA tiempo que tarda una palabra en ser leída o escrita desde que se direccionar. La velocidad de acceso bA es la inversa del tiempo y se mide en palabras por segundo •Modo de acceso: –Aleatorio (RAM, Random Access Memory) Se accede a las posiciones de memoria en cualquier orden. El tiempo de acceso es independiente de la posición. –Serie. Se accede a las posiciones en secuencia y el tiempo depende de la posición de la cabeza de lectura. •Alterabilidad (Posibilidad de alterar el contenido de la misma ) –Memorias ROM (Read Only Memory) Memorias de "solo lectura" Almacenamiento permanente de datos y programas Tipos: ROM, PROM, EPROM, EEPROM. –Memorias RWM (Read-Write Memory) Memorias de lectura y escritura Almacenamiento no permanente de programas y datos Memorias SRAM, DRAM, FLASH 14 CLASIFICACIÓN - Memorias ROM (Read Only Memory): El contenido se establece en el proceso de fabricación. - Memorias PROM (Programable ROM): Son memorias ROM programables en un equipo especializado. El contenido es inalterable desde el momento de la programación. - Memorias RPROM (Reprogramable ROM): Es posible reprogramarlas borrando el contenido previamente. Según la forma de realizar el borrado, se contempla una subclasificación adicional: - Memorias EPROM (Erasable PROM): La grabación se realiza en equipos especiales. El borrado se realiza mediante la exposición del integrado a radiación ultravioleta. - Memorias EEPROM o E2PROM (Electrically EPROM): Programables y borrables eléctricamente. Esto las dota de una gran versatilidad, puesto que tanto la programación, modificación y borrado puede realizarse ON LINE. Presentan la ventaja de ser borrables byte a byte. 15 CAPACIDAD DE UNA MEMORIA RAM. . Nº de palabras: 2n Organización 2n x m bits Bits por palabra: m Ejemplo: n=11, m=8 Organización 211 x 8=2k x 8 Capacidad 16 Kbits= 16384 bits 16 Esquema de una memoria Memoria de 4x8 (4 palabras de 8 bits) Celda de 1 bit B U S D I R E C C I O N Palabra de 8 bits ENABLE LECTURA ESCRITURA B U S D A T O S 20 RAM estática 2114 Tiene una estructura de 1024 palabras de 4 bits Cada uno de los cuatro bits dato es bidirecional, con lógica tri-estado para permitir su desconexión virtual del bus de datos. Las líneas de control son dos: CS y WE Esta segunda línea es equivalente a R/W; si WE = 0 la operación efectuada será de escritura; y si WE = 1 será de lectura. Sus características más sobresalientes son: Organización 1024 X 4 bits - Tecnología NMOS - Alimentación 5 V Disipación típica 300 mW E/S datos Bidireccional y tri-estado - Encapsulado DIL 18 patillas.Vemos que para direccionar 1024 posiciones necesitamos 10 patillas puesto que 210=1.024 Para los datos, como son palabras de 4 bits necesitaremos 4 patillas Para indicar Lectura o Escritura (R/W) necesitamos 1 patilla Para seleccionar el integrado CS (Chip Select) 1 patilla 21 Circuito para comprobar el funcionamiento de una RAM 10 Address A3..A0 data A9..A0 4 D3..D0 4 4 D3..D0 A9..A4 A3 A2 A1 A0 6 RAM 2114 7490 __ CS CP CLK control ___ WE D3 D2 D1 D0 __ CS ___ WE M3 M2 M1 M0 Demostrar la escritura de la palabra 1100 en la localización de memoria 0000. El procedimiento es: a)Contador: 0000 CS = 1 WE = 1 b)establecer: M3 = 1; M2 = 1; M1 = 0; M0 = 0 c) CS = 0 d) WE = 0 e) WE = 1 En esta condición los LEDS del bus de datos deben indicar la información 1100 el cual es el contenido de la localización 0000. 22 23 24 Diseño de memorias • Si se desea una memoria de palabras de n bits y se parte de circuitos con ancho de palabra de t bits, se necesitarán n/t circuitos para alcanzar el ancho de palabra deseado. El valor típico de t es 1, 4, 8 o 16. • Si la capacidad pretendida es r palabras y se emplean circuitos de z palabras, se necesitarán r/z filas de circuitos para lograr dicha capacidad. Ejemplos de diseño • Memoria deseada 128K palabras. • Palabra de 16 bits. • Circuitos de memoria de 64Kx1. • Solución: • Se necesitan 16/1 = 16 circuitos por fila para formar el ancho de palabra deseado. • Se necesitan 128/64 = 2 filas de circuitos. Otro ejemplo • Memoria deseada 32 Kpalabras. • Palabra de 8 bits. • Circuitos de memoria de 8Kx8. • Solución: • Se necesitan 8/8 = 1 circuito por fila para formar el ancho de palabra deseado. • Se necesitan 32/8=4 filas de circuitos. Conexionado (I) • Bus de datos, bus de dirección, CS, OE y W/R. • Triestado, se puede conectar sin problema entre sí distintas salidas a un mismo punto eléctrico siempre que no se activen dos o más a la vez. • Los pines del bus de datos de los circuitos se conectan directamente al bus de datos. • De esta manera, pueden compartir el bus de datos varios dispositivos simultáneamente Conexionado (II) • Para aumentar la longitud de palabra, se usan tantos circuitos como sean necesarios y la asociación de todas las líneas supone una palabra de tamaño mayor. • Para direccionar en el conjunto, se selecciona la fila de circuitos que contiene la palabra de interés. • Si los buses no son bidireccionales, se separa la parte de entrada de la parte de salida, pero se siguen aplicando las ideas anteriores. 30 31 32 Memoria de 32Mx32 a partir de módulos de 4Mx8 • Para pasar de palabras de 8 a 32 bits se necesitan 4 módulos, con lo que se tendrán 4Mx32. • Dicha fila de 4 módulos deberá repetirse otras 7 veces más para completar los 32M. • Para direccionar cada una de las 8 filas de 4 módulos se utiliza un DEC 3x8, cuyas salidas se conectan con las entradas CS de los módulos de cada fila y en cuya entrada (la del decodificador) se introducen los 3 bits más significativos de los 25 necesarios. Los restantes 22 bits se colocan en paralelo en TODOS los módulos de 4Mx8. Víctor Cárdenas Schweiger - Microprocesadores 35