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