Download Descargar - Técnicas Digitales
Document related concepts
no text concepts found
Transcript
Universidad Nacional de Quilmes Diplomatura en Ciencia y Tecnología TÉCNICAS DIGITALES MEMORIAS Una ventaja importante de un sistema digital con respecto a uno analógico es su habilidad para almacenar fácilmente grandes cantidades de información y datos digitales durante periodos cortos o largos. Esta capacidad denominada memoria es lo que hace a los sistemas digitales tan versátiles y adaptables. Por ejemplo, en una computadora digital la memoria principal interna almacena instrucciones que le dicen qué hacer ante todas las circunstancias, de modo que la computadora haga su trabajo con una mínima cantidad de intervención humana. Una “celda de memoria” es un dispositivo o circuito eléctrico usado para almacenar un bit (0 o 1). Como ejemplos se pueden citar: un flip-flop, un capacitor, un solo punto en una cinta magnética o un disco. Una “palabra de memoria” es un grupo de celdas de memoria (bits) que representa instrucciones o datos de algún tipo. Una memoria es, en resumen, un dispositivo que almacena grupos de bits (palabras de memoria), identificando a cada palabra con otro grupo de bits (dirección), es decir que con una dirección de n bits se pueden identificar 2n palabras. Byte. Es un término especial usado para designar un grupo de 8 bits. Un byte siempre tiene 8 bits. El tamaño de una palabra se puede expresar en bytes o bits. En primera instancia las memorias digitales se dividen en memorias de lectura-escritura, que son aquellas donde se puede leer o escribir con la misma facilidad (designadas en general como memorias RAM), y las memorias de solo lectura, que son aquellas donde la operación de escritura presenta mucha más dificultad de realizar que la de lectura, incluso algunas es imposible reescribirlas (designadas en general como memorias R0M).Las estudiaremos por separado. Memorias de lectura solamente (ROM) Este tipo de memorias es del tipo combinacional, su funcionamiento se basa en la generación de funciones mediante el uso de un decodificador. En la figura 1 vemos el principio de funcionamiento, donde cada salida del deco está conectada a la compuerta OR a través de un fusible (figura 1 a), en la figura 1 b se ejemplifica su expresión simbólica, utilizada para simplificar el diagrama, esta conexión tendrá un 1 como salida, para cualquier dirección siempre hay un minitérmino en 1. En la salida de la figura 1 c vemos una salida donde se han “quemado” cuatro fusibles, esto significa que en la salida solo habrá un 1 cuando las direcciones sean: 000, 011, 101 y 111. Simbólicamente se ve en la figura 1 d. Cada salida es una celda de memoria, la cantidad de celdas nos indicará la longitud de la palabra, la cantidad de entradas nos da la máxima cantidad de palabras que tienen lugar en la memoria (n entradas pueden identificar 2n palabras). Recopilación y aportes: Ing. Alberto J. Mazzone y Sr. Federico Guolo Página 1 Universidad Nacional de Quilmes Técnicas Digitales Memorias n La capacidad de una memoria cuya longitud de palabra es de m bits y que tiene n entradas es: m.2 bits. La comunicación de las memorias con el resto del sistema se hace a través de conductores especializados denominados “buses”, el bus de direcciones y el bus de datos. En este tipo de memorias ambos son unidireccionales. Ejemplo: Supongamos que se quiere programar una ROM donde queden registradas en orden las letras de la palabra Digital en código ASCII de 7 bits. La palabra tiene 7 letras es decir necesitamos 7 direcciones, una para cada letra, por lo tanto el deco será un 3x8 quedando sin utilizar la dirección 111. Además como la palabra en el código mencionado tiene 7 bits el dispositivo deberá contar por lo menos con 7 salidas. La situación queda resumida en el siguiente cuadro: LETRA D i g i t a l a2 0 0 0 0 1 1 1 DIRECCIÓN a1 0 0 1 1 0 0 1 a0 0 1 0 1 0 1 0 b6 1 1 1 1 1 1 1 b5 0 1 1 1 1 1 1 CÓDIGO ASCII DE 7 BITS b4 b3 b2 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 b1 0 0 1 0 0 0 0 b0 0 1 1 1 0 1 0 Y el diagrama resumido del dispositivo será: Estas memorias no son volátiles, es decir no pierden su contenido cuando se desconecta la fuente de energía, y, además existen distintos tipos: 1. ROM programables una sola vez 1.1. ROM conexionada por pedido (simplemente ROM).Las conexiones de este tipo de memorias están programadas y ejecutadas por el fabricante, a pedido del cliente, mediante negativos fotográficos llamados máscaras. Debido al costo de esas máscaras este tipo de memoria sólo es económicamente viable si se necesitan gran cantidad de la misma ROM. 1.2. ROM programables (PROM).El usuario lleva a cabo la programación del dispositivo en un proceso posterior a la fabricación de chip. El chip virgen viene con todos los fusibles sanos. El croquis de la figura 3 muestra como esta conexionado las salidas del deco con las entradas a las compuertas OR. Aplicando en las salidas del deco (utilizándolas como entradas) pulsos de tensión adecuada se producen corrientes que funden los fusibles de las conexiones no deseadas. Fusible 2 Universidad Nacional de Quilmes Técnicas Digitales Memorias 2. ROM reprogramables (RPROM).Una vez que el usuario programa el conexionado del dispositivo puede modificar el programa, hay de varios tipos: 2.1. EPROM (Erasable-Programable ROM).Antes de reconfigurar el programa se debe hacer incidir luz ultra violeta por una “ventana” transparente que tiene la capsula de chip. Este borrado dura unos 15 minutos, luego puede reprogramarse. 2.2. EEPROM o bien E2PROM (Electrically-Erasable-Programable ROM).Son EPROM cuyo borrado se hace eléctricamente, sin luz ultravioleta, se pueden seleccionar para reprogramar bloques para reprogramar, borrando esos bloques solamente en una fracción de segundo y luego reimprimiéndolos. Se pueden reprogramar hasta 10.000 veces. Memorias de lectura-escritura (RAM) Estas memorias están formadas por agrupamientos de registros paralelo-paralelo, llamados “banco de registros”. Habíamos visto que estos registros, compuestos por Flip-flops D sincrónicos mantienen información hasta que el puso reloj permite su cambio mientras tanto en su salida está presente el bit que está reteniendo. Cada flip-flop es una celda de memoria, y, cada registro memoriza una palabra, para poder acceder a la información cada registro tiene asignado una dirección que lo diferencia de los demás. El esquema de conexionado es el indicado en la figura 4. I2 I1 D Q D E D Q D D Q D Q D D E Q E Q D E Q Q E E E D Q E E D I0 Q E Q D E Q E WE EN O2 O1 O0 El banco de la figura tiene 4 registros de 3 filp-flop cada uno, es decir puede memorizar 4 palabras de 3 bits, su capacidad es de 12 bits. Para direccionar 4 registros necesitamos un deco de 2x4 y también se utilizan “buffer” tres estados para controlar el flujo de la información, esta información llega y sale de la RAM por el “bus de datos”, que en este caso es bidireccional, y, la dirección del registro involucrado en la operación de lectura o escritura llega al deco por el “bus de direcciones” que es unidireccional. 3 Universidad Nacional de Quilmes Técnicas Digitales Memorias Los 4 registros que forman el banco se ubican en sendas filas y están formados por flip-flops tipo D que pierden su contenido cuando se corta la energía. Tiene 2 entradas de habilitación: la señal EN (Enable), que habilita la operación del banco pero su efecto está condicionado por la señal WE (Write Enable), que es la habilitación de escritura. El funcionamiento es como sigue: Si el banco está habilitado, pero WE está en 0, la operación que se realiza es de lectura. Los datos almacenados en el registro seleccionado por el decodificador que “abre” los buffer 3 estados de dicho registro, son puestos en los múltiples de conexión verticales que hay en sus salidas, y, la información contenida en estos es puesta en las salidas Oi (Ouput), ya que sus correspondientes buffers están habilitados por el 0 en la entrada WE. Si el banco está habilitado, y WE está en 1, la operación que se realiza es de escritura. Los datos que contienen las entradas Ii (Input) ingresan en el registro seccionado por el deco cuyos flip-flops los reciben pues el 1 en WE los habilita, ese mismo valor en WE impide la lectura de los datos guardados. Expansión de memoria Las memorias, tanto las RAM como las ROM, se presentan en circuitos integrados, donde además del tipo de memoria se indica el tamaño de la palabra y la cantidad de palabras que es capaz de retener, como se muestra en la figura 5, donde se muestra dos chips de memoria, uno de memoria RAM capaz de almacenar 2048 (2 k = 2 11) palabras de RAM ROM 4 bits cada una y el otro de una memoria ROM que almacena 2048 (2 k = 211) 2K X 8 palabras de 8 bits cada una, para ello tienen 11 entradas de dirección que 2K X 4 tendrán el formato A0A1A2A3A4A5A6A7A8A9A10. E R/W E A veces para un determinado dispositivo que necesita una capacidad definida por su función y se dispone de chips de una capacidad menor que puede ser tanto en cantidad de palabras como en su tamaño, entonces, como en otros casos ya estudiados, se tendrá que interconectar estos chips para obtener la capacidad de memoria pedida. Como ejemplo para mostrar el conexionado, utilizando la simbología corriente en este tipo de circuitos, utilizaremos los chips de la figura 5 para armar una memoria que disponga de una memoria RAM de 4k palabras de 8 bits (4 k x 8) y otro tanto en ROM. Los chips disponibles son para memoria RAM de 2 k x 4 y para la ROM de 2 k x 8, por lo tanto para expandir la ROM solo hacen falta 2 chips almacenando 2 k palabras en cada uno. En cambio para expandir la RAM hay que desdoblar la expansión, pues primero hay que formar dos memorias de 2k x 8 y luego proceder como en las ROM pero cada memoria se forma con 2 chips, por consiguiente los 8 bits de cada palabra se almacenan tomando4 bits en un chip 4 bits en el otro. Para 8 k bits = 8.192 bits = 213 bits se necesitan direcciones de 13 bits es decir de la forma A0A1…..A11A12. este total de direcciones debe distribuirse en principio en 4 grupos de memorias, es decir que de los 13 bits que identifican una dirección tomaremos 2 (los últimos) para identificar al grupo de memoria de la siguiente manera. GRUPO A11 A12 1 –RAM 0 0 2 – RAM 0 1 3- ROM 1 0 4 - ROM 1 1 4 Universidad Nacional de Quilmes Técnicas Digitales Memorias Quedando las 213 direcciones distribuidas de la siguiente manera. Direcciones(*) Memorias A0A1A2A3A4A5A6A7A8A9A1000 1 –RAM A0A1A2A3A4A5A6A7A8A9A1001 2 – RAM A0A1A2A3A4A5A6A7A8A9A1010 3- ROM A0A1A2A3A4A5A6A7A8A9A1011 4 - ROM 11 (*) Las 2 direcciones (2k) con A0A1A2A3A4A5A6A7A8A9A10. Con estas consideraciones podemos observar que para seleccionar una dirección de las 8k necesarias para el funcionamiento del dispositivo podemos colocar la parte A0A1A2A3A4A5A6A7A8A9A10 en la entrada de direcciones de cada chip y con A11A12 por intermedio de un decodificador 2/4 habilitar, por la entrada E, el sector de memoria donde se encuentra la dirección buscada, como se indica en la figura 6: A0 - A10 Bus de direcciones Memoria 1 Memoria 2 Memoria 3 Memoria 4 RAM RAM RAM RAM ROM ROM (A) 2K X 4 (B) 2K X 4 (C) 2K X 4 (D) 2K X 4 2K X 8 2K X 8 R/W E D0 - D3 R/W E D4 - D7 R/W E D0 - D3 D0 - D7 R/W E E D4 - D7 D0 - D7 E D0 - D7 Bus de datos Señal R/W A11 s0 s1 A12 s2 s3 En la misma figura también se observa: Como los chips RAM tienen palabras de 4 bits habrá que colocar en cada grupo de memoria 2 chips que serán habilitados simultáneamente y conectados de manera tal que si la palabra de datos es D0D1D2D3D4D5D6D7 los bits de datos D0D1D2D3 entran o salen del primer chip de cada grupo y los datos D4D5D6D7 al segundo. La señal R/W es de selección de lectura/escritura y está conectada a los chips RAM. Los buses de datos conectados a las memorias RAM son bidireccionales. Los buses de datos conectados a las memorias ROM son unidireccionales. 5 Universidad Nacional de Quilmes Técnicas Digitales Memorias Como información complementaria podemos agregar que si agregamos un bit más al bus de direcciones (A13) y colocamos un deco 3/8 tendremos 4 salidas con 2 k x 4 cada una libres para utilizar en otros dispositivos (figura 7). A0 - A10 Bus de direcciones Memoria 1 Memoria 2 RAM RAM RAM RAM (A) 2K X 4 (B) 2K X 4 (C) 2K X 4 (D) 2K X 4 R/W E R/W D0 - D3 E D4 - D7 R/W E ROM ROM 2K X 8 2K X 8 E D4 - D7 D0 - D7 D0 - D7 Señal R/W Disponibles para la utilización en otros dispositivos. Por ejempo: display. Bibliografía: 1. Jorge E. Sinderman, Técnicas Digitales, Editorial CEIT. Año 2002. 6 Memoria 4 E R/W D0 - D3 Memoria 3 E D0 - D7 Bus de datos