C A P Í T U L O 5 - M E M O R IA S
M e m o r i a s Un procesador digital generalmente requiere medios o dispositivos para almacenar información. La información así almacenada puede consistir de números que se usarán en un cálculo, cálculo, o resultados de cálculos cál culos intermedios, o instrucciones para un procesador o los tres. Cuando no se involucra un cálculo, puede llamarse simplemente dato almacenado. Por ejemplo, si se quiere imprimir documentos, será necesario un dispositivo de memoria para almacenar los documentos. La parte de un procesador digital que proporciona la facilidad de almacenamiento de información se denomina memoria. En la fig. 5.1, puede verse que los diferentes tipos de memoria generalmente están relacionados a los computadores, computa dores, que las la s utilizan internamente internamente para procesar información. Para el correcto funcionamiento se requieren 3-buses de información: Datos, direcciones y control, que conectan la CPU ( Unidad Central de Procesamiento Procesamiento ) y la memoria. Algunos de los dispositivos externos también constituyen diferentes tipos de memoria, por ejemplo la cinta magnética es un tipo de memoria, lo mismo que una memoria flash, un disco duro o un CD-ROM. Cada uno de estos tipos de memoria realiza alguna función específica y por tanto se le da un tratamiento adecuado.
Carlos Novillo Montero
Can
- 3 19 -
FIGURA 5.1 RELACIÓN DE LA MEMO RIA DENTRO DEL MICROPROCESADOR
Térm Té rmino inos s u tiliz ado s Celda de Memoria.Memoria .- Dispositivo o circuito eléctrico que se usa para para almacenar un solo bit [0 o 1]. Algunos ejemplos de celdas de memorias son: un flip-flip, Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 20 -
un capacitor con carga o un punto en una cinta o en un disco magnéticos. Palabra de Memoria.Memoria.- Grupo de bits [celdas] en una memoria que representa r epresenta instrucciones instrucciones o datos de algún tipo. Por ejemplo, un registro que consta de ocho FFs puede considerarse como una memoria que almacena una palabra de ocho bits. El tamaño de las palabras palabr as en los computadores modernos varía comúnmente de 4a 64-bits, según la capacidad de la computadora. Una palabra digital puede representar: una DIRECCIÓN, una INSTRUCCIÓN o un DATO.
Bit.Bit.- Dígito binario, solo puede tomar los valores 0 o 1. [Binary digit] Bus.Bus.- Grupo de conductores que llevan un mismo tipo de información. Byte.Byte.- Término especial que se usa para una palabra de 8-bits. Un byte siempre consta de 8-bits, que es el tamaño de palabra más común en las microcomputadoras.
Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 21 -
Capacidad.Capacidad.- Especifica cuántos bits puede almacenar una memoria particular o un sistema de memoria completo. Supongamos que se tiene una memoria que puede almacenar 4096 palabras de 32-bits. Esto representa una capacidad total de 121 072-bits. La capacidad de la memoria, también también puede expresarse como 4096x 32. Cuando se expresa de esta manera, el primer valor [4096] representa el número de palabras y el segundo [32], el número de bits por palabra [tamaño de la palabra]. El número de palabras contenidas en una memoria a menudo es múltiplo de 1024. Cuando se refiere refi ere a la capacidad de la memoria, es común utilizar la designación “1K” [= 1KILO] para represen representar tar 1024 = 210; 1M [= 1MEGA] 1MEGA] para para represen representar tar 1 048 576 = 220; 1 1G G [= [= 1GIG 1GIGA] A] par para a repre represen sentar tar 1 073 741 824 = 230. Por tanto tanto, , una memoria memoria que que tiene tiene una una capacidad de almacenamiento de 4K x 32 es en realidad una memoria de 4096x 32. Así mismo, una memoria RAM de 256MBytes, 2 56MBytes, tiene una capacidad capacidad total de 256 x 1 048 048 576 576 = 268 268 435 435 456456-By Byte tes, s, o 2 147 147 483 483 648648-bi bits ts. . Dirección.Dirección.- Número que identifica la localidad de una palabra en la memoria. Cada palabra almacenada en una memoria tiene una dirección única. única. Las direcciones direcciones siempre se especifican como un número binario, binario, aunque algunas veces, veces, por conveniencia, convenienc ia, se utilizan utili zan números hexadecimales hexadecima les y decimales. decimales. La tabla anterior ilustra una pequeña memoria que consta de ocho palabras de 4-bits/palabra. 4-bits/palabra. Cada una d de e estas ocho palabras tiene Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 22 -
una dirección es específica pecífica representada como un número de 3 b bit its s [ [A A2A1A0] que que varí varía a d de e 0 000 002 a 111 1112. Sie Siemp mpre re que se haga referencia a una localidad específica de una palabra en la memoria, se utilizará su código de dirección [ADDRESS] para identificarla. identificarla. M
E
HEX
D ire c ción
M
O
R
I
C on te n id o
A
0
0
0
0
1
1
0
6
1
0
0
1
1
1
1
0
E
2
0
1
0
1
0
0
1
9
3
0
1
1
0
1
1
1
7
4
1
0
0
1
1
0
0
C
5
1
0
1
1
0
1
0
A
6
1
1
0
1
0
0
1
9
7
1
1
1
1
0
1
1
B
- 3 23 -
operación de escritura, el dato anteriormente almacenado se pierde. Ejemplo; instrucciones para la operación de escritura.
HEX
0
STOR LOAD
0D3H,A 0D3H,A
MOV
@0D3H,A
Destino
Origen
en este caso, el contenido del registro A de la CPU se almacena [carga] en la localidad de memoria D3H.
A2 A1 A0 b3 b2 b1 b0
DVD DVD.- Digital Digital Versatile Disk [Disco Versátil Ve rsátil Digital] o Digital Video Disk [Disco para Video Digital] que permite almacenar grandes volúmenes de información: largometrajes, largometrajes, audio e imagen [videos musicales], etc. Operación de Escritura.Escritura.- Operación por medio de la cual se coloca una nueva información en cierta localidad localidad de la memoria. También se llama operación de almacenaje. Siempre que una palabra se escribe en una localidad de la memoria, ésta reemplaza a la palabra que se encontraba anteriormente anteriormente ahí. En una Carlos Novillo Montero
C A P Í T U L O 5 - M E M O R IA S
Can
Proceso de Escritura: Escritura: 1. La CPU proporci proporciona ona la dirección dirección binaria binaria de la localidad de memoria donde va a almacenarse el dato. Para esto se usa el bus de dirección. 2. La CPU coloca, coloca, en en el bus bus de datos, datos, el dato de se va a almacenar. almacenar. 3. La CPU genera genera las señales señales de comando apropiad apropiadas as para la operación de escritura en la memoria. 4. Los CIs [CI = Circuito Integrado] Integrado] que que forman forman la memoria memoria decodifican la dirección para determinar la localidad seleccionada para efectuar la escritura. 5. El dato que está está en el bus de dato datos s se almace almacena na en la la localidad de memoria seleccionada. Operación Operación de Lectura Lectu ra..- Operación con la l a cual la palab palabra ra binaria almacenada en una localidad [dirección] específica de la memoria se la capta y después se Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 24 -
la transfiere a otro dispositivo. Por ejemplo, si se desea utilizar la palabra almacenada en la localidad-4 de la memoria de la tabla anterior con algún fin, se tiene que realizar una operación de lectura en la dirección 1002. A la operación operación de lectura a menudo la se conoce como operación de extracción [fetch], ya que se extrae una palabra de la memoria. Se utilizarán indistintamente ambos términos. Ejemplo; instrucciones para la operació operación n de lectura. READ LOAD
A,0F5H A,0F5H
MOV
A,@0F5H
Destino
Origen
en este caso, el contenido conten ido de la localidad de memoria F5H se carga en el registro A de la CPU. En una operación de lectura, la información de la localidad seleccionada no se pierde. Proceso de Lectura: Lectura: 1. La CPU propor proporciona, ciona, a través del del bus de dirección, dirección, la local localida idad d de memoria donde se encuentra el dato que se va a leer. 2. La CPU activa activa las señales señales de comando comando adec adecuada uadas s para la operación de lectura. 3. Los CIs que que forman forman la memoria memoria decodifican decodifican la la dirección dirección para para determinar la localidad selecciona da para efectuar la lectura. 4. Los CIs que forman forman la memoria, memoria, colocan el contenido contenido de de la Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 25 -
localidad seleccionada en el bus de datos de donde se transfiere a la CPU.
Tiempo Tiempo de Acceso Acceso..- Medida de la velocidad de operación opera ción del dispositivo de memoria. Es la cantidad de tiempo que se requiere para realizar una operación de lectura. En términos más específicos, es el tiempo que transcurre entre la recepción de una nueva dirección en la entrada de la memoria y la disposición de los datos en la salida. Para P ara especificar el tiempo de acc acces eso o se se usa usa el el símb símbol olo o tACC. Memoria Memoria Volátil Voláti l.- Cualquier tip tipo o de memoria que requiere requiere la aplicación de energía eléctrica eléctrica a fin de almacenar información. informació n. Si se retira la energía eléctrica, toda la información almacenada almacenada en la memoria se perderá. Muchas memorias de semiconductor son volátiles, mientras que todas las memorias magnéticas son no volátiles. Memoria No Volátil Volátil..- Una memoria no volátil almacenada la información aún cuando se desconecte la energía eléctrica. Memoria de Acceso Aleatorio [RAM].[RAM] .- Memoria en la cual la localización física real de una palabra de la memoria no tiene efecto sobre el tiempo que se tarda en leer de esa localidad o escribir en ella. En otras palabras, el tiempo de acceso es el mismo para Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 26 -
cualquier localidad de la memoria. Muchas memorias de semiconductor y de núcleo magnético son RAM. Memoria de Acceso Secuencial [SAM].[SAM] .- Tipo de memoria en la cual el tiempo de acceso no es constante, sino que varía según la dirección de la localidad. Cierta palabra almacenada se halla por sucesión a través de todas las localidades hasta que se llega a la dirección deseada. Esto produce tiempos de acceso que son muchos más largos que en una memoria de acceso acceso aleatorio. Algunos ejemplos de dispositivos disposi tivos de memoria mem oria con acceso secuencial son la cinta y el disco magnéticos, y la memoria de burbuja magnética [MBM]. Para ilustrar la diferencia entre las memorias SAM y RAM, considere la situación en la que se han grabado 60 minutos de música en una cinta de audio. Cuando desea escuchar una melodía en particular, por lo general hay que rebobinar o adelantar la cinta hasta encontrarla. Este proceso es relativamente lento y la cantidad de tiempo requerido depende del sitio sobre la cinta donde se encuentra en cuentra grabada gr abada la melodía. melodía. Este es un buen bu en ejemplo de memoria SAM SAM ya que se tiene que recorrer toda la información hasta que se encuentre lo que se está buscando. Su contraparte RAM, es un tocadiscos automático automático [CD driver], donde es posible seleccionar cualquier melodía al proporcionar el código apropiado y la operación siempre transcurre en la misma cantidad de tiempo, sin importar cuál sea la melodía seleccionada. Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 27 -
Memoria de Lectura y Escritura [RWM].[RWM].- Cualquier memoria de la que se puede leer información o en la que se puede escribir en ella con la misma facilidad. Memoria Solo para Lectura [ROM].[ROM] .- Extensa clase de memorias de semiconductor semicon ductor diseñadas para aplicaciones aplicaciones donde la proporción de operaciones de lectura a operaciones de escritura es muy alta. En términos técnicos, en una ROM sólo puede escribirse [programarse] una vez y esta operación normalmente se efectúa en la fábrica. Por P or lo tanto, la información sólo puede leerse de la memoria. Otros tipos de ROM son en realidad memorias mem orias en su mayoría sólo de lectura [ROM], en las que puede escribirse más de una vez, pero la operación de escritura es más complicada que la de lectura y no se realiza a menudo. Toda memoria ROM es no volátil, y guarda los datos aún cuando se desconecte la energía eléctrica. Memoria Estática [SRAM].[SRAM].- Dispositivos de memoria de semiconductor en los cuales los datos almacenados se quedarán permanentemente guardados en tanto se aplique energía, energía , sin necesidad de escribir los datos periódicamente periódicamente en la memoria. Memoria Dinámica [DRAM].[DRAM].- Dispositivo de memoria de semiconductor en el que los datos almacenados no quedarán permanentemente guardados, guardados, aún con energía aplicada, a menos que se los reescriba [refresque] Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 28 -
C A P Í T U L O 5 - M E M O R IA S
- 3 29 -
periódicamente periódicamente en la memoria.
clase de memoria.
Memoria Flash.Flash.- Son memorias del tipo EEPROM, de alta capacidad capacidad y de fácil transporte. transporte. Reemplazan con mucha mu cha ventaja a los diskettes, por ejemplo una Flash USB de 1GBytes, reemplaza a un equivalente mayor a 700 diskettes.
MBM [Memoria de Burbuja Magnética].Magnética].- Dispositivo de almacenami almac enamiento ento secundario, de estado sólido, de acceso secuencial, secuencial, no volátil que está formada por elementos elementos magnéticos muy pequeños [burbujas] en un CI. Es relativamente lenta y no puede usarse como memoria interna.
Memoria Caché.Caché.- Memoria de Visitas. Es una copia de las páginas recientemente visitadas que que el navegador mantiene en la computadora. De esta manera, si el usuario necesita volver a entrar a esos sitios, lo hará a través de su disco duro y no desde Internet. La ventaja de este tipo de memoria es que disminuye el tiempo de carga de páginas, la desventaja es que si se actualiza la página, el usuario us uario no puede hacerlo porque tiene la versión anterior. Memoria Interna [Principal].[Principal].- Guarda los datos e instrucciones con los que trabaja la CPU. Es la memoria más rápida del sistema de cómputo y, en general, está constituida por dispositivos de memoria de semiconductor.
Memoria de Disco-Óptico Disco-Óp tico [OROM].[ORO M].- Memoria de Disco-Compacto [CD-ROM].[CD-ROM] .- Sirven para almacenar grandes cantidades de información, como enciclopedias, enciclopedias, diccionarios, diccionarios, procesadores de texto, etc. Disco Óptico de Lectura/Escritura.Lectura/Escritura.- Emplea Emp lea una superficie superficie diferente, está recubierta con material magnético cuyas propiedades magnéticas pueden cambiarse mediante luz láser. Ratón [Mouse].- Dispositivo periférico que permite trabajar fácilmente dentro de un programa basado en Windows. Compuerta de 3-Estados.3-Estados.- Compuerta digital que tiene los dos dos estados estados norma normales: les: 0L y 1L y un tercer tercer estado estado de alta-impedancia [Hi-Z].
Memoria Secundaria [Auxiliar].[Auxiliar].- Almacena grandes cantidades de información externa a la computadora. Es más lenta que la memoria interna y siempre es no volátil. El disco duro [hard disk], la cinta y los discos magnéticos son dispositivos comunes de esta
Diskette [Flopy-Disk [ Flopy-Disk]].- Guarda información en una lámina de plástico recubierta de material magnético [baja
Carlos Novillo Montero
Carlos Novillo Montero
Can
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 30 -
capacidad de almacenamiento]. almacenamiento]. Scanner ..- Dispositivo periférico que permite capturar imágenes o texto. Plotter ..- Dispositivo Dispositiv o periférico que permite imprimir imprimir imágenes o texto en formato grande. USB [Universal Serial Bus].Bus].- Es un tipo de conector o puerto de entrada o salida sal ida de un computador. Transmite información en serie a través de 4-cables: uno de polarización, otro de tierra [común o referencia] y los dos restantes para los datos que se los envía en forma balanceada balanceada [si se transmite un 1L con 2,5V, una línea está en +2,5V y la otra en -2,5V]. La velocidad de lectura [USB 2.0] es de 9Mbps y para escritura, 8Mbps. Operación General de la Memoria 1.- Seleccionar Seleccionar la localidad localidad de la memor memoria ia a la que se quiere tener tener acceso para una operación de lectura o de escritura. 2.- Seleccionar Seleccionar la operación operación que se efectuará efectuará [lec [lectura/es tura/escritura]. critura]. 3.- Proporcio Proporcionar nar los datos de entrada entrada que se almac almacena enarán rán durante durante una operación de escritura. 4.- Reten Retener er los datos de salid salida a que vienen de la memoria memoria durante durante una operación de lectura. 5.- Habilitar [deshabilitar] [deshabilitar] la memoria memoria para que respond responda a [no] a las entradas de dirección y al comando lectura/escritura. La fig. 5.2 ilustra estas funciones básicas en Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 31 -
el diagrama simplificado de una memoria 16 x 4 [16palabras de 4-bits cada palabra = 64-bits de capacidad]. Como el tamaño de cada palabra es de 4bits, hay 4-líneas para entrada de datos y 4-líneas para salida de datos. Durante una operación de escritura, que almacenará alma cenará una palabra en la memoria, los datos deben aplicarse a las líneas de entrada de datos. Durante una operación operación de lectura, la palabra leída desde la memoria aparece en las líneas lín eas de salida de datos.
FIGURA
5.2
MEMORIA 16x4
DIRECCIÓN DE
CELDAS DE
LA MEMORIA
LA MEMORIA
HEX
A3
A2
A1
A0
D3
D2
D1
D0
HEX
0H
0
0
0
0
0
1
1
0
6H
1H
0
0
0
1
1
1
1
0
EH
2H
0
0
1
0
1
0
1
1
BH
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 32 -
3H
0
0
1
1
1
0
0
1
9H
4H
0
1
0
0
0
0
0
0
0H
5H
0
1
0
1
0
1
1
1
7H
6H
0
1
1
0
1
1
0
0
CH
7H
0
1
1
1
1
1
0
1
DH
8H
1
0
0
0
0
0
1
0
2H
9H
1
0
0
1
0
0
0
1
1H
AH
1
0
1
0
1
0
1
0
AH
BH
1
0
1
1
1
0
0
0
8H
CH
1
1
0
0
0
1
0
0
4H
DH
1
1
0
1
1
0
1
0
AH
EH
1
1
1
0
0
1
0
1
5H
FH
1
1
1
1
1
1
1
1
FH
D I R E C C I Ó N
Tipos Tip os de Memo Me mo ria :
[Lectura/Escritura].- Determina el tipo de [Lectura/Escritura].-
operación que realiza la memoria. Algunas memorias tienen líneas separadas para lectura/escritura. Cuando Cuand o solo se dispone de una entrada , entonces
Memorias de Acceso Secuencial [SAM = Secuential Access Memory] .- La característica principal de las memorias de acceso secuencial, es que las palabras se escriben y se leen en secuencia. Esta es la principal limitación de este tipo de memoria. Una ventaja de estas memorias es que son relativamente baratas y muy eficientes cuando es posible [conviene] escribir los datos dato s en la memoria en el mismo orden en que se los utilizará posteriormente. Algunos ejemplos de memorias de acceso secuencial son
= 0, significa
escritura. La operación de escritura reemplaza al dato que estuvo anteriormente ahí. La operación de lectura no destruye al dato que estuvo almacenado.
Carlos Novillo Montero
- Memoria Memoria de Acceso Secuencial [SAM] - Memoria de Acceso Aleatorio [RAM] - Memoria Solo para Lectura [ROM]
C O N T E N I D O
= 1 implica lectura y cuando
- 3 33 -
Habilitación de la Memoria.Memoria .- [CE (Chip Enable), Enable) , CS (Chip Select), ME (Memory Enable), etc.]. Entrada que permite deshabilitar toda o parte de la memoria de modo que no responda a las otras entradas. Normalmente la memoria se habilita habilita con 0L y se deshabilita con 1L, [aunque existen existen memorias memorias que funcionan funcionan al contario]. Esta entrada es muy útil cuando se combinan varios módulos de memoria para formar una de mayor capacidad.
Entrad Entradas as de Dire Direcci cción ón [A3 - A0 ].- Se requieren N-líneas de dirección para una una memoria que tiene 2N palabras. Cada localidad de la memoria [palabra] requiere una dirección específica. específica. Por ejemplo: N = 4, entonces 4 2 = 16 localidades localidades [o palabras]. Entrada
C A P Í T U L O 5 - M E M O R IA S
Can
S S S S S
Cintas de papel perforado Cintas magnéticas Discos magnéticos Discos compactos [CDs o DVDs]. Memorias con registros de desplazamiento: LIFO [Last In -
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 34 -
First Out] y FIFO [Firts In - First Out] [Stacks o Pilas]
Memorias de Acceso Aleatorio [RAM = Random Access Memory].Memory].- Las palabras se almacenan en localidades. Para referirse a una localidad particular hay que indicar la dirección de esa localidad, para la escritura de datos en una localidad direccionada o para sacar el dato, es decir, lectura desde una localidad direccionada. El tiempo necesario para completar la operación de escritura de una palabra en la memoria se denomina tiempo de acceso-deescritura (y el correspondiente correspondiente para lectura tiempo de acceso-de-lectura). Asumir que se debe escribir o leer una palabra desde una localidad de la l a memoria, suponer, además, que se pone atención en una segunda localidad tomada al azar, y se quiere acceder a esa localidad para lectura o escritura. En una memoria de acceso aleato aleatorio, rio, el tiempo de acceso acceso a la segunda localidad localidad es el mismo que para par a todas las l as localidades. Esta situación es diferente en e n el caso de las memorias de acceso secuencial, en las que el tiempo de acceso depende de su ubicación respecto de la primera localidad accedida.
C A P Í T U L O 5 - M E M O R IA S
- 3 35 -
la memoria generalmente lo establece el fabricante o el usuario y posteriormente no se puede alterar. Tipos de ROM: [ROM = Read-Only Memory; PROM = Programmable-ROM; EPROM = Erasable-ROM; EEPROM = Electrical-EPROM, Electrical-EPROM, todas ellas tiene la denominación común de memorias ROM].
MEMORIA SÓLO PARA LECTURA [ROM]
Memoria Solo para Lectura [ROM = Read Only Memory].Memory] .Es un tipo de memoria de acceso al azar. La ROM difiere de la RAM en que en la ROM no se puede escribir información mientras está operando el sistema, es decir, en tiempo real. El contenido de
Una memoria sólo para lectura es un dispositivo que almacena información en forma permanente. Esto es, hay una operación inicial durante la cual se escribe la información en la memoria y de ahí, la memoria es sólo para lectura y no se puede volver a escribir en ella. Generalmente la información la pone el fabricante de la ROM. Sin embargo, hay memorias que permiten al usuario escribir esc ribir la información, a tales memorias se las conoce como memorias programables Programmable-ROM (PROM = Programmable-ROM ). También hay memorias ROM en las que puede cambiarse la información. Sin embargo, en tales casos, la operación de escritura requiere un tiempo que es muchísimo mayor que el tiempo requerido para lectura. Tales dispositivos [conocidos como PROM borrables EPROM] son ROM en el sentido de que para cambiar la información, es necesario interrumpir interrumpir el proceso digital en el que está involucrada la memoria. La característica más importante de las ROM es que la información almacenada no se pierde aunque se
Carlos Novillo Montero
Carlos Novillo Montero
Can
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 36 -
interrumpa la energía eléctrica. A estas memorias se las conoce como no-volátiles. En contraste, las RAM son memorias volátiles.
C A P Í T U L O 5 - M E M O R IA S
- 3 37 -
de tablas de verdad arbitrarias que requieren muchas variables de entrada y de salida, en este caso, la ROM reemplaza una gran cantidad de compuertas lógicas, de modo que una ROM puede ser mucho más conveniente en tamaño, conexiones, peso y costo. Las ROM se utilizan ampliamente en conversión de códigos, y a veces, relacionadas con displays alfanuméricos, o generación de caracteres. Los caracteres alfanuméricos alfanuméricos en un monitor en general se presentan como un grupo de puntos. Dependiendo del carácter presentado, algunos puntos son luminosos mientras que otros son oscuros. Cada carácter debe ajustarse a un patrón de puntos que generalmente se disponen como una matriz de 5x7 o de 7x9. El modelo de puntos de cada carácter puede representarse como un código binario [es decir, punto luminoso = 1; punto oscuro = 0]. Para producir resultados que podrían obtenerse mediante cálculos que involucran una secuencia de operaciones aritméticas, por ejemplo:
multiplicación, multiplicación, división, evaluación de funciones trigonométricas trigonométricas o logarítmicas. Para generación de funciones booleanas que tienen muchas variables de entrada y de salida. microcomputadoras Para almacenar programas de las microcomputadoras programación: (Firmware, ROM-BIOS ), lenguajes de programación: BASIC, etc. Sistemas Operativos. Memoria de arranque; las grandes computadoras y las personales no tienen el OS [Operanting System] en la ROM sino en diskettes o en CDs. En ese caso, se utiliza la ROM para almacenar un pequeño programa pro grama de arranque que sirve para inicializar la circuitería interna y externa del computador. Juegos electrónicos. registradoras. Cajas registradoras. Inyección de combustible en automóviles controlados con microprocesador. microprocesador. CI-MM4220BM de la National Nati onal Tabla trigonométrica.- El CI-MM4220BM Semiconductors a almacena lmacena la función seno seno para ángulos entre 0° y 90°. La ROM se organiza como una memoria de 128x 8 con 7 líneas para dirección y 8 líneas para datos. Las entradas representan el ángulo en incrementos de aproximadamente 0,7°. La dirección 000 0000 = 0°; la dirección 000 0001 = 0,7°; la dirección 000 0010 = 0,14°; 0,14°; así sucesivamente hasta la dirección 111 1111 = 89,3°. Las salidas de datos representan el valor aproximado de la función seno del ángulo. Para la dirección 100 0000 = 45°, la
Carlos Novillo Montero
Carlos Novillo Montero
l os Sistemas Digitales, Aplicac iones de las ROM .- En los las ROM tienen un campo muy amplio de aplicaciones. Se las utiliza en: Realización
Can
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 38 -
salida es 1011 0101, puesto que la función seno es menor que la l a unidad, estos valores se interpretan como un fracción, esto es, como 0,1011 0101 que equivale al 0,707 = sen 45°. La fig. 5.3 muestra una memoria ROM utilizada como un circuito para generar una función sinusoidal.
C A P Í T U L O 5 - M E M O R IA S
- 3 39 -
puntos al DAC. La salida del DAC será una forma de onda escalonada con c on 256 valores de voltaje analógicos diferentes, los que corresponden a los datos. El filtro pasa bajos reduce la amplitud de los pasos de salida del DAC para producir una forma de onda casi lisa. Circuitos como este se emplean en algunos generadores de funciones comerciales. La misma idea sintetizadores de voz se utiliza en algunos sintetizadores , donde la forma de onda digitalizada de la voz se almacena en una ROM. .- Un encoder es una estructura La ROM como Encoder .-
FIGURA 5.3 APLICACIÓN APLICACIÓN DE MEMORIAS ROM [GENERADOR [GENERADOR DE FUNCIONES]
El generador de funciones funcion es es un circuito que produce formas de onda: sinusoidales, sinusoidales, triangulares, dientes de sierra, cuadradas, etc. La fig. 5.3 muestra cómo utilizar una tabla de búsqueda bú squeda en ROM y un convertidor de Digital-a-Analógico (DAC) para generar una onda sinusoidal. En este caso, la ROM guarda 256 valores diferentes de 8-bits que corresponden a la forma de onda, [es decir, a un punto con diferente d iferente voltaje sobre la onda sinusoidal]. El contador de 8-bits recibe de manera continua la señal de reloj y con esto proporciona en forma secuencial las direcciones de entrada a la ROM. Conforme el contador recorre sus 256 estados, que generan 256 direcciones, direcciones, la ROM da salida a 256 Carlos Novillo Montero
Can
con compuertas compuertas lógicas que tienen M entradas: I0, I1, ..., IM-1 y K salidas: O0 , O1, .. ..., OK-1. Es necesario que en cualquier instante una sola entrada indivi individua dual, l, diga digamos mos Ii sea igu igual al a 1 [Ii = 1L] mientras mientras que todas las demás demás estén en nivel bajo bajo [0L]. [Alternativa ternativamente mente, , podemos podemos tener tener Ii = 0L y todas todas las demás demás entradas entradas a 1L]. Correspo Correspondien ndiente te a cada Ii, que puede estar a 1L, las K-salidas tomarán tomarán el nivel nivel lógico O0, O1, ..., OK-1. Z3
Z2
Z1
Z0
W7
W6
W5
W4
W3
W2
W1
W0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
D IR E C C IÓ N
C O N T E N I D O M
Carlos Novillo Montero
E
M
O
R
I
A
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 40 -
W7 = Z0 + Z1 + Z3
W3 = Z0 + Z2
W6 = Z0 + Z3 W 5 = Z2 + Z 3
W2 = Z0 + Z2 + Z3 W 1 = Z 0 + Z 1 + Z2
W 4 = Z1 + Z 3
W0 = Z0 + Z1
La fig. 5.4 muestra la estructura lógica de un encoder, en ella se muestra la tabla de función y su implementación con compuertas compue rtas OR. La ROM indicada almacena 4-palabras de 8-bits cada una.
FIGURA
5.4
C A P Í T U L O 5 - M E M O R IA S
- 3 41 -
= 1L y la ROM responde presentando en en sus salidas salidas la palabra almacenada en esa localidad. Generalmente la dirección de una palabra almacenada se la da en un sistema hexadecimal hexadecimal como una palabra codificada en binario. Entonces es necesario poner entre la dirección codificada en binario y la ROM un dispositivo que tome en cuenta la dirección y genere una salida simple correspondiente correspondient e a una línea individual. Tal dispositivo realiza la función de un decodificador . La fig. 5.5 muestra el diagrama de bloque de tal decodificador deco dificador y la fig. fig . 5.6 el circuito con compuertas AND.
MEMORIA ROM COMO ENCODER
Esto es, es, el encoder encoder acepta acepta la la entrada entrada Ii <única> <única> = 1L e identifica esta situación mediante la palabra código O0, O1, ..., OK-1; o si al encoder se lo mira en su aplicación como memoria, la localidad de almacena almacenamient miento o ima se direcc direcciona iona poniendo poniendo Ii<única> <única>
En las memorias comerciales, el decodificador se encuentra incluido en el CI, de manera que no hay que preocuparse por diseñar el decodificador de dirección. Esto disminuye grandemente el número de líneas de dirección que que serían necesarias en el chip. La fig. 5.7 muestra el diagrama de bloques de una
Carlos Novillo Montero
Carlos Novillo Montero
Can
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 42 -
memoria ROM como encoder en la que se incluye el decodificador de dirección.
C A P Í T U L O 5 - M E M O R IA S
La fig. 5.8 muestra a la memoria ROM, implementada con una matriz de diodos. La fig. 5.9 muestra una memoria ROM programable por el usuario [PROM], [PRO M], para lo cual habrá que eliminar [quemar] los fusibles de los diodos que no se requieren requieren para la información que s se e desea almacenar. Se observa que la memoria vacía almacena unos [todo unos], lo que se debe programar son los ceros.
FIGURA 5.9
FIGURA 5.8 5.8 MEMORIA ROM CON MATRIZ DE DIODOS
Carlos Novillo Montero
- 3 43 -
MEMORIA PROM CON MATRIZ MATRIZ DE DIODOS
En la fig. 5.10 se han sustituido los diodos por transistores transistores NPN, en este caso, la juntura BE funciona Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 44 -
C A P Í T U L O 5 - M E M O R IA S
- 3 45 -
como un diodo, debido a que los colectores están cone conect ctad ados os a VCC.
FIGURA
5.10
ROM CON MATRIZ DE TRANSISTORES TRANSISTORES BJT
En la fig. fig . 5.11, los transistores transistores NPN se sustituyen por E-MOSFETs, las resistencias también se sustituyen por E-MOSFETs que trabajan en la región óhmica [resistencia dinámica].
FIGURA
5.11
MEMORIA ROM N-MOS
EPROM [ROM programable y borrable o alterable]. [ROM
También se la conoce como UV-EPROM UV-EPROM porque porqu e se la borra con luz ultravioleta, ultravioleta, utiliza transistores E-MOSFET Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 46 -
con Compuerta flotante [(Floating-Gate FG) , cada transistor transis tor es de un tipo de MOSFET conocido como FAMOS = Floating-gate Avalanche-injection Metal Oxide Silicon].
C A P Í T U L O 5 - M E M O R IA S
- 3 47 -
La fig. 5.12 muestra la arquitectura de una EPROM [8x 8] N-MOSFET de compuerta flotante. La fig. 5.13 muestra un MOSFET-FAMOS, un tipo de transistores en el que la Compuerta en operación normal está completamente aislada [rodeada de material aislante de muy alta impedancia impedancia O2Si] y separada d de e conexión eléctrica de cualquier otra parte del CI.
FIGURA 5.14 FOTO DE UNA MEMORIA EPROM FIGURA 5.13 TRANSISTOR FAMOS
FIGURA
5.12
ARQUITECTURA ARQUITECTURA DE UNA UNA MEMORIA EPROM 8x8 - FAMOS
Carlos Novillo Montero
Can
Es posible establecer una carga carg a negativa entre las Compuertas [fija y flotante] flotante] aplicando un alto voltaje [próximo a la ruptura de la la capa de O2Si] entre el el Drenaje [Drain] y la Compuerta [Gate]. La carga negativa insertada entre las Compuertas mediante este tratamiento, deja al correspondiente correspondiente transistor con un canal conductor. La EPROM se borra exponiéndola a luz ultravioleta de cierta longitud de onda, que sirve para descargar las Compuertas cargadas y que permite que la Compuerta flotante se haga ligeramente conductora; conductora ; para esto, la EPROM se aloja en un chip Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 48 -
con ventana de cuarzo [fig. 5.14] a través de la que pasa la luz ultravioleta que borra a la EPROM. Una vez que se borra la información, la EPROM almacena 1s. La EPROM puede ser programada por el usuario y puede borrarse borra rse y reprogramarse reprogr amarse algunas v veces. eces. Cuando está programada, la EPROM es una memoria no volátil. Compuertas de 3-Estados.3-Estados.- El circuito que se muestra en la fig. 5.18 corresponde a un buffer-inversor de 3-estados TTL. Cuando Cuan do la entrada de habilitación habilitaci ón [G] está en 1L, la salida salida es Y =
. Cuando Cuando G = 0L, la
C A P Í T U L O 5 - M E M O R IA S
- 3 49 -
las memorias EPROM, solo que en los transistores FAMOS, la capa de dióxido de silicio, es más delgada por lo que las cargas que se almacena entre las Compuertas fija y flotante, pueden eliminarse con un voltaje negativo. Memoria EPROM 2732.2732.- Como ejemplo para estudio se ha tomado la 2732, que es una EPROM-NMOS de 4K x 8 [4K-Bytes] y que en funcionamiento normal utiliza una sola fuente de polarización de +5V. La fig. 5.15 muestra la distribución de pines de la EPROM-2732.
salida se pone en alta impedancia. También se indica el símbolo lógico.
FIGURA 5.15 5.15 DISTRIBUCIÓN DISTRIBUCIÓN DE PINES DE LA MEMORIA EPROM 2732, DE 4KBYTES FIGURA
5.18
COMPUERTA NOT TTL DE 3-ESTADOS
EEPROM
[ROM programable y borrable Eléctricamente].Eléctricamente].- Se basa en el mismo principio de Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
MODO
- 3 50 -
LI DA DAS /VPP SA LI
C A P Í T U L O 5 - M E M O R IA S
- 3 51 -
3. Simultáneamente, Simultáneamente, se ponen ponen los datos en el bus de datos [que en este modo, funciona como entrada de datos], porque V PP aplicado a desactiva los buffers de salida de datos.
VIL = TT TTL- Ba Ba jo jo
Lectura/Verifica ción
VIL
VIL
DATO-sa l. VIH = TTL- Alto
DESHABILITAR salida
VIL
VIH
Alta-Z
X = No importa VPP = 21V 21V Nomi Nomin nal
ESPERA
VIH
X
Alta-Z
Modo de espera = 175mW
PROGRAMA
VI L
VP P
DATO-ent. Modo Normal = 500 mW
La tabla de función anterior es la que proporciona el fabricante para la memoria EPROM-2732. Ciclo de Programación y Verificación [Temporización] de la EPROM-2732.EPROM-2732 .- La fig. 2.16 muestra el diagrama de la temporización de la EPROM 2732. Donde
4. Cuando se estabilizan estabilizan los datos, se aplica aplica un pulso de nivel bajo bajo en
[twp = 50ms 50ms]. ].
6. Termina Termina la programación, programación,
regresa regresa al estado alto y
pasa al estado bajo. Las líneas l íneas de datos pasan pasan al estado de alta-Z [alta-impedancia]. 7. Por último, se verifica verifica que la palabra de datos datos se haya escrito de manera correcta en la localidad de memoria selecciona da. El modo de verificación es similar al proceso de lectura. La entrada entrada
se mantiene en 0L y se aplica un pulso de nivel
bajo en la entrada al tiempo tiempo t3. Lo anterior hace que la circuitería interna de la EPROM lleve el dato desde la localidad de memoria seleccionada hacia los buffers buffers de salida, donde don de puede leerse.
La EPROM de la fig. 5.17 corresponde a una memoria de 256 K-bits distribuidos en un arreglo de 32K x 8 [32KBytes] para lo que se necesitan 15 líneas de direcció dirección n [A14-A0]. En este caso, se dispon dispone e de una línea línea OE independi independiente ente de de VPP. Las otras otras líneas líneas son similares a las de la EPROM 2732. La programación se la realiza de la misma manera que antes.
1. Al tiempo tiempo t1, se pone la dirección de la localidad donde donde se quiere quiere almacenar la palabra. 2. Al mismo tiempo, tiempo, en la entrada entrada se aplica el pulso VPP [21V]. Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 52 -
C A P Í T U L O 5 - M E M O R IA S
- 3 53 -
En cuanto al voltaje de programación, es necesario saber con qué tipo de memoria se trabaja. tr abaja. Las primeras memorias de este tipo necesitaban voltajes de programación programación de de 25VDC. Versiones Versiones más modernas modernas permiten permiten voltajes voltajes de de program programació ación n de 12,5V 12,5VDC. En cuanto a los tiempos de acceso, las primeras memorias de tipo MOS ofrecían unos tiempos de acceso del orden de 200ns. En la actualidad, los tiempos de acceso se han reducido considerablemente, y son comparables a las memorias bipolares, por lo que éstas han caído en desuso.
FIGURA 5.17 DISTRIBUCIÓN DISTRIBUCIÓN DE PINES PINES DE LA LA MEMORIA EPROM 27256, DE 32KBYTES
Memorias Sólo para Lectura CMOS CMOS EPROM.EPROM.- Teóricamente el proceso de grabado y borrado de una celda CMOS es reversible hasta el infinito. En la práctica, las memorias EPROM empiezan a dar problemas a partir de los 1000 ciclos de programación programación y borrado, [suficiente para las necesidades de la mayoría de los usuarios]. Se debe tener en cuenta que fuentes de luz habituales en nuestro entorno, como lámparas fluorescentes fluorescent es o la luz solar, también emiten energía en longitudes de onda del UV, aunque en mucha menor medida. medida. No obstante obstante es aconsejable ac onsejable proteger prote ger la ventana ve ntana de una EPROM con un adhesivo opaco, para evitar que este tipo de luz degrade el contenido de la memoria. Carlos Novillo Montero
Can
FIGURA
5.19
La organización y la distribución de pines de la EPROM 27C256 se muestran en la fig. 5.19. En ella se observan las líneas de dirección [A14-A0], las Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 54 -
líneas de datos [D7-D0], una línea de habilitación del int integr egrado ado [ las las salidas salidas [
] y la la línea línea de hab habili ilitac tación ión de
]. En el el encap encapsul sulado ado, , adem además ás se se puede pueden n
ver las líneas de polarización y la del voltaje de prog progra rama maci ción ón VPP. La fig. 5.20 muestra el modo de operación mediante el diagrama de temporización de una memoria EPROM. En el diagrama se observa que es necesario un tiempo de habilit habilitación ación del del chip chip [tCE] para que que los datos datos se presenten de manera estable en la salida. Así mismo, mientras la línea se encuentra en nivel alto, la salida de la memoria m emoria está en alta impedancia impedancia [HI-Z].
C A P Í T U L O 5 - M E M O R IA S
- 3 55 -
encuentra el modo de program programación, ación, para para escribir nueva información; el modo de inhabilitación de la salida, esta se pone en alta impedancia; el modo de reposo, que permite menor consuno de energía, etc. FUNCIÓN DE LOS PINES 1 MODO
CE
OE
VP P
A0
A9
S A L ID A S
L EE R
V IL
V IL
V CC
A0
A9
S A L ID A D E D A T O S
D E S H A B I L I T A R SA SA L I D A S
V IL
V IH
V CC
X
X
A L T A -Z
S T A N D -B Y
VIH
X
V CC
X
X
A L T A -Z
P RO G RA M A
V IL P
V IH P
VP P
A0
A9
EN TRA D A D E D A TO S
V E R I F IC A C IÓ N P R O P G R A M A
V IH P
V IL P
VPP
A0
A9
S A L ID A D E D A T O S
D E S B H A B IL I T A R P R O G R A M A
VIH P
V IH P
VP P
X
X
[T T L ]
2
V IL
V IL
VCC
VL
L EER ID EN T IF IC A C I Ó N [ D E V ] 2
V IL
V IL
VCC
V IH
L E E R I D E N T I F I C A C I Ó N [M F G ]
A L T A -Z
VHV
3
34H
VHV
3
1 FH
1. PUEDE SER VIL O VIH 2. VHV = 12V ± 0,5V 3. A1 - A8 y A10 - A14 = VIL .
Además del modo de operación de lectura de datos, las EPROM disponen de otros modos, entre los que se
Versiones más complejas incluyen el modo de verificación de la programación, programació n, que permite permi te comprobar que el dato que se escribió es el correcto. Este modo asegura la correcta programación de las memorias y es muy útil para memorias de gran capacidad de almacenamiento almacenamiento [por ejemplo 1Mbyte]. En el modo de verificación la memoria permanece en modo de lectura mientras se aplica el voltaje de programación. Esto permite verificar muy rápidamente la programación correcta o incorrecta del dato. El modo de identificación automática [Signature] permite leer una zona concreta de la memoria, en la
Carlos Novillo Montero
Carlos Novillo Montero
Can
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 56 -
C A P Í T U L O 5 - M E M O R IA S
- 3 57 -
cual están codificadas de forma particular el nombre del fabricante y el tipo de memoria. Las líneas de datos proporcionan el código del fabricante cuando A0 está en nivel nivel bajo [0L] y el código de la memoria cuando cuando A0 está en nivel nivel alto alto [1L]. Las EPROMs almacenan bits de datos en celdas formadas a partir de transistores FAMOS [Floating Gate Avalanche-Inje Avalanche-Injection ction Metal-Oxide Metal-Ox ide Semiconductor] Semico nductor] de carga almacenada. Estos transistores son similares a los transistores de efecto de campo [FETs] canal-P, pero tienen dos Compuertas. La Compuerta interior o flotante está completamente rodeada por una capa aislante aislante de dióxido de silicio; la Compuerta exterior o Compuerta de control [o fija] es la efectivamente conectada a la circuitería externa. La cantidad de carga eléctrica almacenada sobre la Compuerta Compuert a flotante determina que el bit de la celda contenga un 1 o un 0; las celdas cargadas almacenan un 0, mientras que las que no lo están, almacenan un 1. Tal como las EPROMs salen de la fábrica, todas las celdas se encuentran descargadas, por lo cual el bit asociado es un 1; de ahí que una EPROM virgen presente el valor hexadecimal FF en todas sus localidades. Cuando se debe cambiar [programar] el bit de una celda de uno a cero, se hace pasar una corriente a través del canal de transistor desde la Fuente [Source] hacia la Compuerta [Gate] (los electrones
siguen el camino inverso). Al mismo tiempo se aplica un voltaje relativamente alto sobre la compuerta de control del MOSFET, MOSFET, creándose cr eándose de esta manera un campo eléctrico fuerte dentro de las capas del material semiconductor. Ante la presencia de este campo eléctrico fuerte, algunos de los electrones que pasan el canal FuenteCompuerta ganan suficiente energía como para formar un túnel y atravesar la capa de dióxido de silicio que normalmente aísla la Compuerta flotante. En la medida que estos electrones se acumulan en la Compuerta flotante, dicha Compuerta toma carga negativa, negativa, lo que finalmente produce que qu e la celda tenga un 0. Tal como se mencionó anteriormente, anteriormente, el proceso de borrado de los datos contenidos en una EPROM EPR OM se lleva a cabo exponiendo la misma a luz ultravioleta. El punto reside en que la misma contiene fotones fotones [Cuantos de energía electromagnética] electromagnética] de energía relativamente alta. Los fotones incidentes excitan los electrones almacenados almacenado s en la Compuerta Compuerta flotante hacia un estado de energía lo suficientemente alta como para que los mismos puedan formar un túnel a través de la capa aislante y “escapar” de la Compuerta flotante, lo
Carlos Novillo Montero
Carlos Novillo Montero
Can
que descarga la misma y retorna la celda al estado 1.
Programación de las EPROM.EPROM.- Para la programación de este tipo de memorias es necesario respetar los Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 58 -
cronogramas de grabado que indican los fabricantes. Para memorias de tamaño pequeño es suficiente con utilizar programadore programadores s que siguen estos cronogramas, cronogramas, en los cuales el tiempo de grabado por byte es del orden de 100ms. Para memorias de mayor capacidad este tiempo se hace demasiado largo [una memoria 27512 necesitaría casi dos horas], por lo que es necesario el desarrollo desarrol lo de algoritmos de programación más rápidos. Estos algoritmos sólo se encuentran en los programadores comerciales, comerciales , y dependen de cada dispositivo dispositivo y de cada fabricante.
PROM Eléctricamente Borrable [EEPROM] .-
Se desarrolló al rededor de 1980 como una mejora de la EPROM.
C A P Í T U L O 5 - M E M O R IA S
Aprovecha la misma estructura de Compuerta flotante de la EPROM y agrega la característica de borrado eléctrico mediante la adición de una delgada región de óxido sobre el Drenaje de la celda de memoria MOSFET. Aplicando un alto voltaje [21V] entre la Compuerta y el Drenaje del MOSFET, puede inducirse una carga a la Compuerta flotante, flota nte, donde permanecerá permanec erá aun cuando se suspenda el suministro de energía. La inversión del mismo voltaje produce la eliminación de las cargas capturadas en la Compuerta flotante y borra la celda. Debido a que el mecanismo de transporte de cargas requiere corrientes bajas, la programación programación y el borrado de una EEPROM puede hacerse, por lo general, en el circuito de trabajo. La circuitería interna borra de manera automática las celdas celdas correspondientes correspondientes en la localidad de memoria antes de escribir los nuevos datos.
FIGURA 5.21 EEPROM
Carlos Novillo Montero
- 3 59 -
ENTRADAS
Tiempo de borrado completo de una EEPROM, EEPROM, aproximadam ente 10ms [en el circuito]. Tiempo de program ación de una localidad de EEPROM, aproximadamente 10ms. I nt nt e l 2 8 1 6, 6, E E PR PR O M d e 2 K x8 x8 [ TACC = 2 5 0 ns ns ] Intel 2864, EEPROM de 8Kx8
MODO L E C TU R A
S A L ID A S V IL
V IL
V IH
D a to -S a l
ES C RITURA
V IL
V IH
V IL
D a to -E n t
E S PE RA
V IH
X
X
A lta -Z
Debido a que la EEPROM puede borrarse y reprogramanse aplicando aplicando voltajes adecuados, no se necesita retirarla retira rla del circuito del que forma parte, siempre que los componentes de soporte adicionales sean parte de la circuitería. La circuitería de soporte incluye el voltaje de programación de 21V
MEMORIA
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 60 -
[VPP], que usualm usualmente ente se se genera genera a partir de la fuent fuente e de +5V mediante me diante un convertidor DC-DC y la circuitería circuitería para controlar la temporización y secuenciación de 10ms para las operaciones de borrado y programación. Memoria RPROM o EEPROM.EEPROM.- Los datos contenidos en este CI se borran eléctricamente eléctricamente si se aplican a las entradas valores valores de voltaje voltaje adecuados. Para el borrado b orrado de los circuitos RPROM, como para la programación, se necesita un programador especial. Las memorias EEPROM no pueden tratarse como si fuesen RAM no volátiles, pues aunque pueden leerse igual que una ROM o RAM, su escritura es un proceso mucho más lento y que requiere voltajes y corrientes más elevados que en la lectura. Las memorias EEPROM se emplean principalmente para almacenar programas, programa s, aunque en la actualidad es cada vez más frecuente el uso de combinaciones RAM + EEPROM, utilizando estas últimas como memorias de seguridad que guardan el contenido de las RAM. Una vez reanudada la alimentación, el contenido de la EEPROM se vuelve a copiar en la RAM. Las soluciones de este tipo, sustituyen sust ituyen a las clásicas RAM + batería [NVRAM] puesto pue sto que presentan muchos menos menos problemas. Memoria FLASH.FLASH.- Son dispositivos evolucionados de las EPROM, en las que se accede a la información por bloques. Para g grabar rabar un bloque de datos en una memoria FLASH, primero es necesario borrarlo completamente, Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 61 -
luego se escriben los nuevos datos. Los bloques suelen ser de 512 Bytes a 56KBytes. Las memorias FLASH FLASH USB contienen varios CIs de memoria FLASH con un controlador y una interfaz tipo USB. Emulan el comportamiento comportamiento de un disco magnético. Los bloques de memoria se asocian a sectores de disco de 512 Bytes, leyéndose y escribiéndose por bloques. En la memoria FLASH se genera un archivo que indica el contenido de la memoria en cuanto a directorios [carpetas] y archivos que tiene almacenados, así como la ubicación de los archivos dentro de la memoria. Este tipo de memoria es muy popular y conveniente porque reemplaza una gran cantidad de diskettes en un espacio físico muy pequeño y a un costo muy adecuado. Además, son del tipo “Plug & Play”. Los Sistemas Operativos actuales las reconocen fácilmente.
FIGURA 5.22 DIAGRAMA DE BLOQUES SIMPLIFICADO SIMPLIFICADO DE UNA MEMORIA FLASH USB
El gráfico de la fig. 5.22 muestra la implementación implemen tación Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 62 -
en diagrama de bloques de una memoria FLASH del tipo USB. Puede verse el bloque de memoria propiamente dicho y la circuitería adicional para facilitar la conexión al computador. Se trata de una memoria no volátil, de bajo consumo, consumo, en la que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos energía y es más pequeña. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es más rápida y de mayor densidad que la EEPROM. La alternativa FLASH está recomendada recom endada frente a la EEPROM cuando se se precisa de gran cantidad de memoria no volátil de programa. Es más veloz y tolera más má s ciclos de escritura/borrado. escritura/borrado. Las memorias EEPROM y FLASH son muy útiles al permitir permi tir que los microcontroladores que las incorporan incorpora n puedan ser reprogramados en el circuito, es decir, sin tener que sacar el CI de la tarjeta.
RAM DE SEMICONDUCTOR El término RAM significa memoria de acceso aleatorio [Random Access Memory], lo que quiere decir que se puede tener fácil acceso a cualquier localidad de memoria. Muchos Mu chos tipos de memoria pueden clasificarse clasificarse como de acceso aleatorio, pero cuando el término RAM se utiliza con memorias de semiconductor semicond uctor, , generalmente se considera que significa memoria de lectura y escritura (RWM ) en contraste con la ROM. Ya que es una práctica común usar el término RAM para referirse referirse Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 63 -
a la RWM de semiconductor, se lo utilizará de aquí en adelante. Las RAM se emplean en las computadoras como dispositivos dispositi vos de almacenamiento temporal para programas y datos. El contenido de muchas de las localidades de la RAM se leerá o escribirá en ellas a medida que la computadora ejecuta un programa. Esto requiere que la RAM tenga ciclos de lectura lect ura y escritura rápidos para que no reduzca la velocidad de operación de la computadora. La mayor desventaja desv entaja de d e las RAM es que son volátiles, es decir, que pierden toda la información contenida en ellas si se interrumpe la energía. Sin embargo, algunas RAM-CMOS emplean una pequeña cantidad de energía en el modo de espera [ninguna tarea de escritura o lectura], que se las puede alimentar con baterías cada vez que se interrumpe la fuente de alimentación principal, principal, reciben el nombre de NVRAM [RAM no volátiles]. volátiles]. Por supuesto, la ventaja principal principal de las RAM es que se puede escribir en ellas y se puede leer de ellas muy rápidamente y con la misma facilidad, las veces que sea necesario.
Arq uitect uit ect ura ur a de la RA M .- Como sucede con la ROM, es útil pensar que la RAM consta consta de varios registros, regi stros, cada uno de los cuales almacena una sola palabra de datos y con una dirección única. Las RAM comúnmente vienen con capacidades de 1K, 4K, 8K, 16K, 32K, 64K, 128K, 256K, y tamaños de palabras de 1-, 4- u 8-bits. Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 64 -
Como se observará más adelante, la capacidad de palabra y tamaño de estas puede expandirse expandirse combinando combinando circuitos integrados. La fig. 5.23 muestra la arquitectura simplificada de una RAM que almacena 32-palabras 32-palabras de 4-bits [es decir, una memoria de 32 x 4]. Estas palabras tienen direccio direcciones nes que que van desde desde 0 hasta hasta 3110. A fin de seleccionar una de las 32 localidades para leer o escribir, se aplica un código binario a un circuito decodificador de dirección. Puesto Puesto que 32 = 25, el decodificador requiere requiere de un código de entrada de 5-bits.
C A P Í T U L O 5 - M E M O R IA S
- 3 65 -
salida del decodificador la que, a su vez, habilita su correspondiente registro. Por ejemplo, suponga el siguiente código de dirección A4 A3A2A1A0 = 1 10102 [1AH = 2610] como 1 101 como 1010 02 = 1AH = 2610, l la a sa salid lida a 26 del decodificador pasará al estado alto, seleccionando seleccionando el registro [localidad] 26 para una operación de lectura o de escritura. Termi Terminale nales s Comunes Comunes de Entrada/ Entrada/Sali Salida da..- A fin de disminuir el número de pines en el encapsulado del CI. Los fabricantes a menudo combinan las las funciones funciones de entrada y salida de datos utilizando pines comunes de entrada/salida. La entrada
controla la función de
estos pines I/O [E/S]. Durante una operación de lectura, los pines E/S actúan como salidas de datos que reproducen el contenido de la localidad seleccionada.
FIGURA
2.23
ARQUITECTURA DE UNA RAM DE 32x4
FIGURA 5.24 TRANSCEIVER
Cada código de dirección activa una determinada Carlos Novillo Montero
Can
Durante una operación de escritura, los pines E/S Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 66 -
actúan como entradas de datos. Como se ve en la fig. 5.24, para que no haya interferencia entre los datos que entran y los que salen, se utilizan buffers de 3-estados, este tipo de arreglo se denomina transceiver. Se puede observar por por qué se hace esto considerando con siderando el CI de la fig. 5.22. Con pines de entrada/salida separados, se requiere un total de 17 pines [incluyendo tierra y fuente de polarización], polarización], con 4-pines comunes E/S, sólo se necesitan 13-pines. La disminución del número de pines se hace más significante en CIs con palabras de mayor tamaño.
C A P Í T U L O 5 - M E M O R IA S
- 3 67 -
buffers de 3-estados tanto para la entrada como para la salida de datos. El decodificador de dirección interno junto con las líneas de comando permiten que solo se activen los buff buffers ers correspondientes correspondientes al a l evento que se desea.
a) FLIP-FLOP BJT b) FLIP-FLOP MOSFET-N FIGURA 5.26 CELDA DE MEMORIA SRAM
Cuando la línea está en 1L, los buffers correspondientes correspondientes de Ent/Sal de la memoria quedan en alta impedancia. Las figs. 5.26 a) y b) muestran una celda de memoria con transistores BJT y con MOSFET respectivamente. La siguiente tabla muestra los modos de operación de la memoria de la fig. 5.25.
CE FIGURA 5.25 ARQUITECTURA ARQUITECTURA DE UNA SRAM 2x2 CON BUS DE DATOS BIRIRECCIONAL
La fig. 5.25 muestra una memoria SRAM 2 x 2 implementada implementad a con Flip-Flops de estado sólido. El bus de datos es bidireccional, bidireccional, para esto se utilizan los Carlos Novillo Montero
Can
A
F U N CIÓ N
0
0
0
E sc rib e e n la Lo c. 0
0
0
1
E sc rib e e n la Lo c. 1
0
1
0
L e e la Lo c. 0
0
1
1
L e e la Lo c. 0
1
X
X
A lta -Z
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 68 -
Operación de Escritura.Escritura.- Para escribir una nueva palabra palabra de 4-bits en el registro seleccionado, se requiere que
= 0L y
= 0L. Esta combinació combinación n habilita habilita
los buffers de entrada de manera que la palabra de 2-bits aplicada a las entradas de datos se cargará en el registro seleccionado.
C A P Í T U L O 5 - M E M O R IA S
- 3 69 -
de la memoria durante la operación de lectura. La fig. 5.27 corresponde a la arquitectura de una memoria SRAM 4x 4 de semiconductor, se requieren dos líneas de dirección, dos líneas para Ent/Sal de datos, dos líneas de comando y .
= 0L, también
deshabilita los buffers de salida que son de 3estados, de manera que las salidas de datos se encuentren en estado estad o de alta-Z durante una operación de escritura. La operación operación de escritura, desde luego, destruye la palabra que estuvo almacenada antes en esa localidad. Operación Operación de Lectura Lectu ra..- El código de dirección dir ección selecciona un registro de la memoria para leer o escribir. A fin de leer el contenido del registro seleccionado, seleccionado, 1 la ent entrada rada LECTU ECTUR RA/ES A/ESCR CRI ITURA TURA [ ] debe debe ser 1L. Además, la entrada
[selección del CI] debe estar
activada [0L, en este caso]. caso]. La combinación combinación de = 1L y CS = 0L, habilita habilita los buffer buffers s de salida salida de manera que el contenido del registro seleccionado aparecerá en las 2-salidas de datos.
= 1L ,
también también deshabilita a los buffers de entrada de manera que las entradas de datos no afecten el contenido
FIGURA 5.27 ARQUITECTURA ARQUITECTURA DE UNA MEM ORIA SRAM 4x4 CON BUS DE DATOS BIDIRECCIONAL BIDIRECCIONAL
Habilitación del CI.CI .- Muchos circuitos de memoria tienen 1
A l gu gu n o s f a b ri ri c an an t es es d e CI CI s , u t ilil iz iz a n el el sí sí m b ol ol o o
en vez de
Carlos Novillo Montero
[ h ab ab i llii ta ta c ió ió n de de e sc sc r it it u ra ra ]
. En cualquier caso, la operación es la misma
. Can
una o más entradas Carlos Novillo Montero
que se usan para habilitar Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 70 -
o deshabilitar al circuito en su totalidad. En modo deshabilitado, deshabilitado, todas las entradas y salidas datos se deshabilitan [alta-Z], de manera que no puede ejecutar ninguna operación ni de lectura
el de se ni
de escritura. La razón para tener varias entradas se aclarará cuando se combinen CIs de memoria para obtener memorias memoria s de mayor capacidad. Note que muchos fabricantes llaman
[Chip Enable] Enable] a estas entradas. entrad as.
Cuando las entradas o se encuentran en su estado activo, se dice que se ha seleccionado el CI de memoria; de otro modo se dice que no está seleccionado. Muchos CIs de memoria están diseñados para consumir una potencia mucho menor cuando no están seleccionados. seleccionados. En grandes sistemas de memoria, para una operación dada de memoria, serán seleccionados uno o más CIs de memoria mientras que los demás no.
RAM Estática [SRAM].- La operación de la RAM que se ha venido analizando hasta ahora, se aplica a una RAM estática [aquella que puede almacenar datos mientras se aplica energía al circuito]. Las celdas de la memoria RAM estática son en esencia flip-flops que permanecerán en un estado est ado determinado [almacenarán un bit] indefinidamente, siempre y cuando no se interrumpa el suministro sumin istro de energía al circuito. Más adelante se describirá la RAM dinámica [DRAM] , que almacena datos como cargas en capacitores. Con la RAM dinámica los datos almacenados desaparecerán gradualmente debido a la descarga del capacitor, de Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 71 -
manera que es necesario refrescar los datos en forma periódica [recargar los capacitores]. capacitores]. Las SRAM se encuentran disponibles disponibles en tecnologías bipolar y MOS, aunque la vasta mayoría de las aplicaciones hace uso de RAMs NMOS o CMOS. Las bipolares tienen la ventaja en velocidad [a pesar que la NMOS cierra gradualmente la brecha] y los dispositivos MOS tienen capacidades mucho mayores con menor consumo de energía. La celda bipolar tiene 2 transistores bipolares y 2 resistencias, en tanto que la celda NMOS tiene 4 MOSFET de canal N. La celda bipolar requiere más área de circuito debido a que un transistor transistor bipolar es más complejo que q ue un E-MOSFET, y la celda bipolar requiere resistencias separadas, mientras que la celda MOS utiliza MOSFET como resistencias. resistenci as. Una Una celda de memoria CMOS es semejente a una celda NMOS, excepto que emplearía MOSFET de canal N y P [complementarios]. Esto disminuye el consumo de energía, pero incrementa la complejidad del circuito. Temporización de la SRAM.SRAM.- Los CIs de RAM son los que más frecuentemente se utilizan como memoria interna de una computadora. La CPU efectúa en forma continua operaciones de lectura y escritura en su memoria a muy alta velocidad determinada por las limitaciones de la CPU. Los circuitos de memoria que se conectan con la CPU, deben ser lo suficientemente suficientemente rápidos rápi dos para responder a los comandos de lectura y escritura de Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 72 -
la CPU, y un diseñador de computadoras debe interesarse en las diversas características de temporización de la RAM.
C A P Í T U L O 5 - M E M O R IA S
- 3 73 -
de las señales para un ciclo de escritura, que comienza cuando la CPU proporciona, en t0, una nueva dirección a la RAM. La CPU lleva las líneas
y
al estado BAJO después de esperar un intervalo de tiempo, tAS, denominado tiempo de establecimiento de dirección . Esto brinda, a los decodificadores de dirección de la RAM, el tiempo necesario para responder a la nueva dirección. Las señales
y
se mantienen en el nivel BAJO un intervalo de tiempo igual a tW, denominado tiempo de escritura.
No todas las RAM tienen las mismas características características de temporización temporizació n pero muchas de ellas son similares, de manera que se utilizará utiliz ará un conjunto co njunto de caracteríscaracterísticas comunes con fines ilustrativos. La nomenclatura de los diferentes parámetros de temporización variará de un fabricante a otro, pero el significado de cada parámetro es por lo general fácil de determinar a partir de los diagramas de tiempo de la memoria en las hojas de especificaciones de la RAM. Las siguientes figuras muestran los diagramas de tiempo de un ciclo de escritura y uno de lectura respectivamente de una RAM común. Ciclo de Escritura.Escritura.- La fig. 5.28 muestra la actividad Carlos Novillo Montero
Can
TAS = Tiempo Tiempo de estable establecim cimien iento to de la nueva dirección dirección [Address [Address Setup Time] TWP = Tiempo Tiempo de escrit escritura ura [Write [Write Pulse Pulse Time] Time] TDS = Tiempo Tiempo de de estable establecimi cimient ento o del dato dato [Data [Data Setup Setup Time] Time] TDH = Tiempo Tiempo de retenc retención ión del del dato dato [Data [Data Hold] Hold] TAH = Tiempo de retención retención de la direcci dirección ón [Addr [Address ess Hold] TWC = Tiempo Tiempo del ciclo ciclo comp complet leto o de de escritur escritura a
En t1, durante el intervalo de tiempo de escritura, la CPU envía al bus de datos el dato válido que se va a escribir en la RAM. Los datos tienen que mantenerse en la entrada de la RAM por lo menos por un intervalo de tiempo tDS previo a, y por lo menos un intervalo de tiempo tDH después de la desactivación de las señales
y
en
t2.
El intervalo
tDS recibe
establecimiento el nombre de tiempo de establecimiento del dato, mientras que tDH se denomina tiempo de retención del dato. De manera similar, las entradas de dirección Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 74 -
deben permanecer estables durante el intervalo de retención de la dirección, tAH, después de t2. Si no se satisface cualquiera de estos requisitos requisitos de tiempo, la operación de escritura no se llevará a cabo de manera confiable. El ciclo completo de escritura, tWC, que se extiende desde t0 hasta t4, termina cuando la CPU cambia el estado de las líneas de dirección para colocar en ellas una nueva dirección para el siguiente ciclo de escritura o lectura.
C A P Í T U L O 5 - M E M O R IA S
que la línea
- 3 75 -
se encuentra en el estado activo
ALTO antes de t0 y permanece en él durante durante todo el ciclo de lectura. En muchos sistemas de memoria, por lo general,
se mantiene en el estado ALTO excepto
cuando se lleva al estado BAJO durante el ciclo de escritura. La salida de datos de la RAM se encuentra en su estado de alta-Z ya que
= 1.
Ciclo de Lectura.Lectura.- Las formas de onda de la fig. 5.29 muestran la manera en que se comportan las entradas de dirección, de datos,
y de selección del CI
durante un ciclo de lectura de memoria. Como ya se indicó, la CPU proporciona estas señales de entrada a la RAM cuando se desea leer el dato almacenado en una localidad de memoria específica. La RAM puede tener muchas localidades locali dades cuya dirección d irección provien proviene e del bus de direcciones de la CPU, en el diagrama aparecen, a parecen, por claridad, como bus. En él también se encuentra la salida de datos de la RAM. Recuerde que la salida de datos de la RAM está conectada al bus de datos de la CPU. El ciclo de lectura lectura empieza empieza en el tiempo tiempo t0. Antes de ese instante, las entradas de dirección tendrán la que se encuentre sobre el bus de dirección, que corresponde a la operación previa. Debido a que la entrada de selección del CI de RAM no está activa, ésta no responderá a la dirección “anterior”. Note
En t0, la CPU envía una nueva dirección a las entradas de la RAM; esta es la dirección de la localidad localidad donde se realizará la operación oper ación de lectura. Después de dejar transcurrir transcurrir el tiempo necesario para
Carlos Novillo Montero
Carlos Novillo Montero
Can
TACC = Tiem Tiempo po de acce acceso so [Acc [Acces ess s Time Time]] T CO = Tiempo Tiempo requ requer erid ido o obt obten ener er en la salid salida a un dato dato válido [Chip[ChipEnable Output Valid] TOD = Tiempo Tiempo de salida salida de de datos datos [Output-D [Output-Data ata Time] Time] TRC = Tiempo Tiempo del ciclo de lectura lectura [Rea [Read-C d-Cycle ycle Time] Time]
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 76 -
que las señales de dirección se estabilicen, se activa la línea . En t1 la RAM responde colocando el dato, contenido en la localidad cuya dirección envía la CPU, en la línea de salida de datos. El intervalo entre entre t0 y t1 es el tiempo tiempo de acceso, acceso, tACC, de la RAM y es el tiempo que transcurre entre la aplicación de una nueva dirección y la aparición de un dato válido en la salida de la memoria. El parámetro de temporización, tCO , es el tiempo que le toma a la salida de la RAM para cambiar su estado de alta-Z al estado de dato válido una vez activada la señal
C A P Í T U L O 5 - M E M O R IA S
- 3 77 -
por la rapidez con la que trabaja el circuito de memoria. Por ejemplo, en una aplicación real, la CPU lee a menudo palabras sucesivas sucesiva s de datos, una después de otra. Si la memoria tiene un tRC de 50ns, la CPU puede leer una palabra cada 50ns, es decir 20 millones de palabras por segundo [20MHz].
. En t2, regresa al estado ALTO mientras que la salida de la RAM regresa reg resa a su estado de alta-Z después de transcurrir cierto tiempo, tOD. De este modo, los datos colocados por la RAM en su salida pasan al bus de datos entre t1 y t3. La CPU puede tomar el dato del bus en cualquier momento mo mento dentro de este intervalo. En muchas computadoras, la CPU emplea la TPP [transición positiva] de la señal en t2, p par ara a retener los datos en sus registros internos. El tiempo del ciclo de lectura completo, tRC, se extiende desde t0 hasta t4, que es cuando la CPU cambia las entradas de dirección a una dirección diferente para el siguiente ciclo de lectura o escritura. El tiempo que dura el ciclo de lectura, tRC, o el de escritura, tWC, está determinado esencialmente Carlos Novillo Montero
Can
FIGURA SRAM
5.30
MEMORIA
ENTRADAS M ODO
CS 2
S A L ID A S
LE CTU R A
1
0
1
0
D A TO -SA L
E S C R IT U R A
0
0
1
X
D AT O -EN T
1
X
X
1
A LT A - Z
NO SELECCIONADAS
X
1
X
X
[Reducción de energía]
X
X
0
X
DESHABILITACIÓN DE LAS SALIDAS
Carlos Novillo Montero
ALTA-Z
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 78 -
C A P Í T U L O 5 - M E M O R IA S
- 3 79 -
Memorias Dinámicas [DRAM] .- Se fabrican con tecnología MOS. Gran capacidad de almacenamiento. almacenamiento. Bajo consumo consumo de potencia. potencia . Velocidad de acceso media. Las DRAM guardan la información en forma de cargas eléctricas en pequeños capacitores [pocos pF] MOS. Debido a que la información tiende a perderse con el tiempo, es necesario un proceso que se denomina refresco de la DRAM, cuyo periodo es desde 2 hasta de 10ms. Esto es una desventaja puesto que requieren más elementos para el diseño del sistema de memoria. Hay que incluir la circuitería para la operación de refresco durante los intervalos de acceso para la operación de lectura o de escritura. Para baja capacidad [<64KBytes], la RAM integrada [iRAM] [iRAM ] incluye incluy e la circuitería de refresco en el mismo mism o chip. La DRAM, externamente externament e aparece como una RAM normal, el usuario no debe preocuparse del refresco que se hace interna y automáticamente. automáticam ente. Para memorias grandes [>64KBytes] [>64KBytes] una versión versión usa chips denominados controladores para memorias dinámicas que contienen toda la lógica necesaria para refrescar los chips de DRAM que conforman el sistema. Esto reduce grandemente la circuitería de refresco. La fig. 5.31 es una representación simbólica de una ce celda lda de memoria dinámica. dinámica. Los interruptores interruptores [SW1 - SW4] son MOSFETs controlados por la salida sal ida de varios decodificadores decodificadores que actúan junto con la señal
.
Un 1L en DATA-IN DATA-IN carga carga al al capa capacitor citor y OL lo descarga descarga. . Carlos Novillo Montero
Can
En una operación de escritura los interruptores SW1 y SW2 se cierran [SW3 y SW4, abiertos]. En una operación de lectura todos los interruptores se cierran a excepción de SW1, esto significa que cada vez que se efectúa una operación de lectura se refresca la DRAM. Direcciones Multiplexadas.Multiplexadas.- La matriz de una DRAM de 16KX 1 tiene 14 entradas entradas para direcciones. Una Un a matriz DRAM de 64K X 1 tendrá 16 entradas para direcciones. Una DRAM de 1M X 4 necesita 20 entradas de dirección. Los CIs de memoria de alta capacidad como estos, necesitan muchos terminales si para cada bit de dirección se utiliza un terminal separado. Para reducir el número de terminales en los CIs DRAM de alta capacidad, los fabricantes emplean la multiplexión multiplexi ón de direcciones, lo que permite que cada terminal dé cabida cab ida a dos bits de dirección. El ahorro en el número de terminales termina les se traduce en una reducción importante en el tamaño de los CIs. A su vez, esto es muy importante en tarjetas de memoria de gran Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 80 -
capacidad, donde se desea maximizar la cantidad de memoria que se puede acomodar en una tarjeta.
- 3 81 -
En la la fig. fig. 5.32 5.32 BLQBLQ-1 1 Registro de 7-bits para la dirección de filas BLQ-2 Decodificador de dirección de filas BLQ-3 Registro de 7-bits para la dirección de columnas BLQ-4 Decodificador Decodificador de dirección de columnas
Se utilizará el CI-4116, una DRAM de 16K X 1, para ilustrar la idea de la multipleción de direcciones. direcciones. En la figura 5.32 a) se encuentra un diagrama simplificado de la arquitectura interna de este CI. El CI contiene una matriz de celdas dispuestas en 128 filas y 128 columnas. Existe una sola línea de entrada de datos, dato s, una sola líne línea a de salida para datos y una entrada . También existen siete entradas para direcciones y cada una tiene una doble función [por [po r ejemp ejemplo lo A0/A7 func funcion ionará ará como como A0 y A7]. Asim Asimism ismo, o, se incluyen dos entradas de selección para sincronizar sincronizar las direcciones de fila y columna en los correspondientes correspondientes registros que se encuentran en el CI. La señal de selección de fila [Row Address Selection] almacena los 7-bits menos significantes significantes del bus de dirección direcci ón en el registro registro de 7-bits [BLQ-1] asociado con las direcciones de filas, mientras que la señal de selección de columna [Column Address Selection] Selection] almacena los 7-bits 7 -bits más significantes si gnificantes del bus de dirección en el registro de 7-bits [BLQ-3] asociado con las direcciones de columnas. La dirección de 14 bits se envía a la DRAM en dos pasos, utilizando para ello las señales y .
tRS = Row Row Setu Setup p Tim Time e tCS = Colu Column mn Setup Setup Time Time
Carlos Novillo Montero
C A P Í T U L O 5 - M E M O R IA S
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 82 -
El diagrama de temporización se ilustra en la fig. 5.32b). Inicialmente, y se encuentran en estado ALTO. En el tiempo t0, se aplica aplica en las entradas de dirección los 7 bits menos significantes que corresp corresponde onden n a la direcc dirección ión de la fila A0 a A6. Después de esperar a que transcurra el tiempo de establec establecimien imiento to requerido requerido [tRS] para el registr registro o de dirección de fila, la señal cambia a t1 hacia el nivel BAJO. La transición negativa carga la dirección de la fila en el registro de direcciones de fila, fila, por lo lo que ahora ahora A0 a A6 aparecen aparecen en la la entrada del decodificador de filas. El nivel BAJO en también habilita este decodificador para que pueda decodificar las direcciones de fila y seleccionar una de las filas de la matriz. En el tiempo t2 se aplica la dirección dirección de 7 bits más significan significantes tes [A7 a A13] correspo correspondie ndiente nte a la columna. En t3, la entrada cambia a nivel BAJO para cargar cargar la dirección de la columna en e n el registro de direcciones de la columna. también habilita el decodificador de columna para que éste pueda decodificar la dirección de columna y seleccionar una columna de la matriz. Ahora, Ahor a, las dos partes de la dirección se encuentran en sus respectivos registros, y los decodificadores las han decodificado para seleccionar la celda que corresponde a las direcciones de fila y columna; por tanto, ya se puede realizar una operación de escritura o lectura sobre esa celda, al igual que en una RAM Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 83 -
estática. Esta Esta DRAM no tiene una entrada de selección de circuito [CS]. Las señales y llevan a cabo esa función ya que ambas deben estar en nivel BAJO para que los decodificadores seleccionen una celda para escritura o lectura.
Cambio de Formato de las Memorias .-
En muchas aplicaciones de memoria memor ia la capacidad capaci dad de almacenamiento requerido en RAM o ROM o bien el tamaño de la palabra no puede ser satisfecha por un microcircuito de memoria. En cambio, varios circuitos integrados de memoria pueden combinarse para ofrecer la capacidad y el tamaño de palabra deseados. Se observará cómo se hace esto a través travé s de varios ejemplos que que ilustran los conceptos más importantes que se necesitarán cuando se conecten los CIs de memoria con un microprocesador. Expansión del Tamaño de la Palabra.Palabra.- Suponga que se necesita una memoria que pueda almacenar M-palabras de 8-bits [M = 2n] y todo lo que se tiene son circuitos RAM como arreglos de M-palabras M-palabras de 4 líneas de E/S comunes. Podemos combinar dos de estos CIs de M-palabras x 4 para producir la memoria que se busca. La configur configuración ación para realizar reali zar esto se muestra, como diagrama de bloques, en la fig. 5.33. Examine este diagrama cuidadosamente cuida dosamente y vea qué puede indagar de él antes de seguir. Por ejemplo, se dispone de memorias de 1K X 4 y se Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 84 -
desea implementar una de 1KByte. Como cada circuito puede almacenar 1024 palabras de 4-bits y se desea almacenar 1024 palabras de 8-bits, se utilizan 2 CIRAM cada uno para almacenar la mitad mit ad de cada palabra, es decir, la RAM-0 almacena los 4-bits menos significantes significant es de cada una de las 1024 palabras y la RAM-1 almacena los 4-bits más significantes de cada una de las 1024 palabras. En las salidas de la RAM conectadas al bus de datos se dispone de una palabra completa de 8-bits.
Cualquiera de estas 1024 palabras se selecciona mediante la aplicación del código de dirección adecu adecuado ado al bus bus de de direccio direcciones nes de n-línea n-líneas s [An-1, ..., ..., A0]. Las líneas de dirección generalmente provienen de la CPU. Observe que cada línea lí nea del bus de dirección está conectada a la correspondiente entrada de dirección de cada circuito. Esto significa que una vez que un código de dirección se coloque en el bus Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 85 -
de direcciones, direcciones, este mismo mismo código se aplicará a ambos circuitos de manera que se tenga acceso simultáneo a la misma localidad en cada circuito. Una vez seleccionada la dirección, se puede escribir o leer en esta dirección con las líneas del control
y
. Para leer,
debe estar en alto
y debe estar en bajo. Esto ocasiona que las líneas de E/S de la RAM actúen como salidas. La RAM-1 coloca su palabra de 4-bits seleccionada en las 4 líneas superiores del bus de datos y la RAM-0 las coloca en las 4 líneas inferiores del mismo bus de datos. Así, el bus de datos contiene la palabra de 8-bits seleccionada, la que ahora puede transmitirse hacia otro dispositiv dispositivo o [generalmente un registro r egistro de la CPU]. La fig. 5.34 muestra la memoria RAM de 1Kx 8 pedida.
FIGURA 5.34 5.34
MEMORIA 1Kx8
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
Para escribir,
- 3 86 -
= 0 y
= 0 hacen que las
líneas de E/S de la RAM actúen act úen como entradas. La palabra de 8-bits que se va a escribir se coloca sobre el bus de datos, [lo que en general hace la CPU]. Los 4-bits más significantes signific antes se escriben escriben en la localidad seleccionada de la RAM-1, mientras que qu e los 4 menos significantes se escriben en la RAM-0. En esencia, la combinación de las dos RAMs, actúa como una sola memoria de 1K X 8. A esta combinación se la conoce como un módulo de memoria de 1K X 8 [1KByte]. No todas las las RAM tienen las mismas características cara cterísticas de temporización temporizació n pero muchas de ellas son similares, similare s, de manera que se utilizará ut ilizará un conjunto conjunto de características comunes con fines ilustrativos. La nomenclatura de los diferentes parámetros de temporización variará de un fabricante a otro, pero el significado de cada parámetro es por lo general fácil de determinar a partir de los diagramas de tiempo de la memoria en las hojas de especificaciones de la RAM. Las siguientes figuras muestran los diagramas de tiempo de un ciclo de escritura y uno de lectura respectivamente de una RAM común.
C A P Í T U L O 5 - M E M O R IA S
- 3 87 -
adicionales, que en este caso es un decodificador decodificador de 1-a-2. Las líneas de salida de cada una de las memorias debe ser de 3-estados para evitar la interferencia de los datos, de modo que cuando se seleccione uno de los bloques, las salidas del otro estén en alta impedancia.
FIGURA 5.35
MEMORIA 1Kx8-2Kx8
Ejemplo.Ejemplo.- Con memorias RAM de 1K memoria RAM de 2K X 8.
X
8, diseñar una
Expansión del Número de Palabras.Palabras.- La fig. 5.35 muestra el caso en que se dispone de memorias RAM de Mpalabras de 8-bits cada una, con ellas se ha construido una memoria de 2M-palabras de 8-bits. Para tal propósito se requiere de un decodificador de dirección externo para las líneas de dirección Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 88 -
C A P Í T U L O 5 - M E M O R IA S
- 3 89 -
Aumento del Número de Palabras y del Número de Bits.Bits.- El siguiente caso se da cuando se requiere aumentar la capacidad de palabras y la capacidad de bits por palabra. La fig. 5.37 muestra un diagrama de bloques en el que se han utilizado bloques de memoria de Mpalabras de 4-bits cada una y se ha implementado una memoria de 4M-palabras de 8-bits. Para poder realizar esta memoria se requieren 2líneas lín eas de direcció dirección n a adic dicion ionale ales s [ [A An y An+1] q que ue ingresan a un decodificador de dirección de 2-4 con salida de acuerdo al tipo de CE de las memorias utilizadas, en este est e caso, como los CE de las memorias se activan con nivel bajo, las salidas del decodificador deben ser de nivel activo bajo c omo se indica en la fig. 5.37. La línea de habilitación [G] del decodificador se comanda con el bus de control que viene de la CPU.
FIGURA 5.36 5.36 AMPLIACIÓN AMPLIACIÓN DEL N ÚMERO DE PALABRAS
La fig. 5.36 muestra la memoria RAM pedida, para este caso se requiere una línea de dirección adicional [A10]. La línea línea de direc dirección ción a adicio dicional nal va a un decodecodificador de dirección constituido por un decodificador de 2-1. Para mayores capacidades de memoria, el decodificador de dirección puede resultar más complejo, en cuyo caso se recomienda utilizar un decodificador decodificado r MSI, como el CI-74139, el CI-74138, etc. La RAM-0 entrega las 1024 primeras palabras [localidades de 0 a 1023] y la RAM-1 las otras 1024 palabras [localidades de 1024 a 2047].
Carlos Novillo Montero
Can
La fig. 5.38 muestra un ejemplo de expansión del número de palabras y del número de bits por palabra. En este caso de dispone de memorias de 256 X 2 y se desea implementar una memoria de 1024 x 8. Cada bloque de memoria dispone de 8-líneas para el bus de dirección dirección [A0-A7], 2-línea 2-líneas s para para el el bus bus de datos[D datos[D0D1], una línea línea
y una línea línea
. El circuito de
memoria resultante tendrá de 10-líneas para el bus de direcció dirección n [A0-A9], 8-líneas 8-líneas para para el bus bus de datos datos [D0-D7], un decodif decodificado icador r de dirección dirección de de 2-a-4 [salidas con nivel activo bajo] para las 2-líneas de direcció dirección n adicionale adicionales s [A8-A9] requerida requeridas s para Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 90 -
completar las 10.
FIGURA 5.38
C A P Í T U L O 5 - M E M O R IA S
- 3 91 -
número de líneas de dirección estrictamente necesario para este propósito, esto es una forma de decodificación decodificación parcial del bus de dirección. Cuando se trabaja con una CPU se dispone de un número de líneas de dirección bien definido, por ejemplo, los micro controladores cont roladores de la serie 8751/52 disponen de un bus de dirección de 16 líneas, se podría trabajar con decodificación parcial, lo que resulta más fácil, pero se corre el riesgo de que se puedan generar direcciones de memoria falsas. En esos casos es preferible utilizar la decodificación completa, que cosiste en utilizar todas las lineas del bus de dirección que posea la CPU, las líneas de dirección que no se conectan directamente directamente a las entradas de las memorias memori as deberán ir a un decodificador de dirección, que es el que controlará la ubicación exacta de cada bloque de memoria.
EJEMPLO DE AMPLIACIÓN AMPLIACIÓN DEL NÚMERO DE PALABRAS Y DE BITS BITS
Para esto se utilizan 16 bloques de memoria de 256 X 2, en un arreglo matricial de 4x4 bloques, como se indica en la fig. 5.38. Cada fila contribuye con 256-palabras y cada columna con 2-bits, dando un total de 1024-palabras de 8-bits cada palabra.
Mapa de Memoria.Memoria .- En ocasiones es necesario fragmentar toda la capacidad de memoria que puede comandar una una CPU en varias regiones, regi ones, a veces v eces llamadas páginas o simplemente bloques de memoria.
Decodificación Completa.Completa.- Hasta este momento para variar la capacidad de la memoria se ha utilizado solo el Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
FIGURA 5.39 MEMORIA
- 3 92 -
MAPA
C A P Í T U L O 5 - M E M O R IA S
- 3 93 -
DE
FIGURA 5.40 EJEMPLO DE DISTRIBUCIÓN DE BLOQUES EN EL MAPA DE MEMORIA
La fig. 5.39 muestra un mapa de memoria para el circuito de memoria de la fig. 5.40, de 16KBytes implementada con memorias de 4Kx 4. En este caso se ha utilizado un decodificador decodif icador de dirección de 4-a-16 [CI-74154], [CI-74154] , de modo que los bloques de memoria memoria puedan ubicarse en cualquier lugar del mapa. Por ejemplo, el bloque de memoria cuyo está conectado a la línea Y0 del decodificador, decodificador, ocupa las localidades localidades Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 94 -
de memoria que van desde 0000H hasta 0FFFH [BLQ-00]; el bloque de mem memoria oria conectado a la línea Y1 ocupa las direcciones desde 1000H hasta 1FFFH [BLQ-01]; el bloque bloque conectado conectado a Y7, las direcciones 7000H hasta 7FFFH [BLQ-07], etc. Se observa que los bloque de memoria no ocupan necesariamente direcciones consecutivas. Diseño Combinacional con Memorias ROM.ROM.- En el diseño combinacional se deben implementar las funciones de salida: F1; ...; Fk; siendo X1, ..., Xn, las variables binarias de entrada, [fig. [fig. 5.41].
FIGURA 5.41 MEMORIA ROM PARA PARA GENERAR FUNCIONES BOOLEANAS COMB INACIONALES
El diseño clásico plantea el problema desde el punto de vista de la minimización de las compuertas lógicas que se necesitan para implementar las funciones deseadas. Para esto, generalmente se utilizan los métodos del mapa-K para funciones de 4- o 5-variables o el de Quine-McCluskey Quine-Mc Cluskey para un mayor número de variables. La memoria ROM cumple justamente con la función indicada en la fig.5.35 si se considera a las Carlos Novillo Montero
Can
C A P Í T U L O 5 - M E M O R IA S
- 3 95 -
variables de entrada X1, ..., Xn, como las direcciones y las funciones F1, ..., Fk, como las salidas de datos de la memoria ROM [fig. 5.42].
FIGURA 5.42 5.42 MEMORIA ROM COMO GENERADOR DE FUNCIONES BOOLEANAS
Ejemplo.Ejemplo.- En este caso se desea implementar un circuito combinacional que acepte 4-variables de entrada [D, C, B, A] y que genere cuatro funciones de sali salida da [F [F3, F2, F1, F0]. Para Para est esto o se req requie uiere re una una memoria ROM de 16x4. Las líneas de dirección de la memoria corresponden a cada una de las variables de entrad ent rada a [D = A3; C = A2; B = A1; A = A0] y las las líne líneas as de datos a cada una de las variables de salida [F3 = D3; F2 = D2; F1 = D1; F0 = D0]. El cont conten enid ido o de la ROM corresponde a la información informa ción requerida para cada una de las variables de salida.
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 96 -
Para la solución del problema conviene conviene implementar implementar una tabla de verdad para estas funciones. La fig. 5.43 muestra el circuito correspondiente y la tabla de verdad. En la siguiente tabla, se ve que las variables de entrada [D, C, B, A] corresponden a la líneas lín eas de de di direc recció ción n [A3, A2, A1, A0] respec respectiv tivame amente nte. . La fig. 5.43 muestra la solución para generar las 4-funciones booleanas pedidas. Cada uno de los DIPswitchs sirve para generar la variable de entrada correspondiente [D, C, B, A], A] , también podrían provenir provenir de algún otro circuito lógico.
C A P Í T U L O 5 - M E M O R IA S
- 3 97 -
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
A3
A2
A1
A0
D3
D2
D1
D0
D I R E C C I Ó N C O NT EN I D O M
FIGURA 5.43 BOOLEANAS
MEMORIA ROM ROM PARA GENERAR FUNCIONES FUNCIONES
E
M
O
R
I
FIGURA 5.44 MEMORIA ROM COMO DECODIFICADOR. DECODIFICADOR.
A8
A7
EN TRA D A
S A L ID A
0
A SCII
E B C D IC
V ar ar ia ia b le le s de de E n t
V a ri ri ab ab le le s d e S a l
0
D
C
B
A
F3
F2
F1
F0
0
1
EB CD IC
A S C II
0
0
0
0
0
1
0
0
1
0
B IN
G R AY
0
0
0
1
1
0
1
0
1
1
GRAY
B IN
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
Carlos Novillo Montero
A
EJEMPLO
Generador de Caracteres con Memoria ROM.ROM.- En la fig. 5.45 se utiliza una ROM de 1Kx 8 para comandar una Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 3 98 -
matriz de 8x 8 LEDs, donde se representarán gráficamente todos los símbolos del código ASCII normalizado de 7-bits. Para la formación de cada carácter se necesitan necesitan 8 localidades de memoria [donde se guardan los 8-códigos necesarios para cada carácter] por tanto se requieren 3-líneas 3-líneas de dirección [A2, A1, A0]. Las Las sali salidas das del con contad tador or módu módulo lo 8 [Q [Q2, Q1, Q0] sirven sirven para genera generar r las 3-líneas 3-líneas de direcc dirección ión menos signific significantes antes [A2, A1, A0] respec respectiva tivamente mente. . También las salidas del contador, mientras que el decodificado decodificador r de 3-a-8, sirve para comandar las columnas de la la matriz matriz de LEDs LEDs [C7-C0]; es de de indicar indicar que que solo una columna está habilitada cada vez, pero el proceso se repite continuamente dando la impresión de que el carácter se forma como si todas las columnas estuvieran habilitadas al mismo tiempo. C O M AN AN D O D E F I L A S
CO L U M N AS
A9
A8
A7
A6
A5
A4
A3
1
1
0
0
0
0
1
C ó d ig ig o A SC SC I I d e la “ a ” [6 1H 1H ]
A2
A1
X
X
X
Q1
Q0
- 3 99 -
servirá como la parte más significante del bus de dire direcc cció ión n [A [A9A 8A7 A6A 5A4A 3], como como se indi indica ca en la tabl tabla a de contenido, adjunta a la fig. 5.45. M E M O R I A
FIGURA
D IR E C
C ON T
308H
32H
309H
49H
30A H
49H
30BH
49H
30C H
49H
30D H
3E H
30E H
40H
30F H
00H
5.45
La fig. 5.46 muestra otro ejemplo con la letra N [ASCII [ASCII 4EH = 100 100 11102 A9A8A7 A6A5A4A3]. Analice los dos ejemplo y saque las conclusiones conclus iones pertinentes.
A0
Q2
C A P Í T U L O 5 - M E M O R IA S
C O M AN AN D O D E F I L A S
CO LU M N AS
La ROM guarda los códigos que controlan la matriz para que aparezca el carácter seleccionado por el código ASCII de ese carácter, que se utiliza como las líneas líneas de dirección dirección más más signific significativ ativas as [A9-A3] y cuyas cuyas salidas salidas [D7-D0] controla controlan n las filas filas de la matriz matriz de LEDs LEDs [F7-F0]. Como ejempl ejemplo o se muestra muestra la letra “a”, cuyo código ASCII es 61H [110 0001 00012], que
La salida de la memoria ROM no puede comandar directamente la cantidad de corriente que requiere la matriz de LEDs.
Carlos Novillo Montero
Carlos Novillo Montero
Can
A9
A8
A7
A6
A5
A4
A3
1
0
0
1
1
1
0
C ód ód ig ig o A SC SC I I d e la “N “N ” [4 EH EH ]
A2
A1
A0
X
X
X
Q2
Q1
Q0
Can
C A P ÍT U LO 5 - M E M O R IA S
- 4 00 -
M E M O R I A
FIGURA
D IR E C
C ON T
270H
7F H
271H
02H
272H
04H
273H
08H
274H
10H
275H
20H
276H
7F H
277H
00H
5.46
La fig. 5.47 muestra parcialmente la circuitería que se debe añadir para solucionar el problema de la corriente.
C A P Í T U L O 5 - M E M O R IA S
- 4 01 -
Para comandar la filas, se necesita un buffer [CI74244] y un transistor transi stor NPN para cada salida de datos. El decodificador 74138 también necesita un transistor PNP para comandar cada una de las 8 columnas de la matriz. Diseño Secuen cial Sincróni Sincrónico co con Memorias R OM OM..- Cuando se debe diseñar un circuito combinacional o secuencial secuencial de gran complejidad, es más aconsejable utilizar elementos programable del tipo PLA y memorias ROM. En este caso el interés se centra en la utilización de memorias ROM para el diseño de circuitos secuenciales sincrónicos. Controlador de N-Pasos sin Saltos.Saltos.- Para generar una forma de onda cualquiera, cualquiera, o un controlador controla dor de N-pasos, se puede usar el circuito que se nuestra en la fig. 5.48.
FIGURA 5.48 DISEÑO SECUENCIAL SECUENCIAL CON MEMORIAS ROM
F IG IG U RA RA 5. 5. 47 47
Se requiere de un contador 74LS163 que tiene una entrada de borrado [CLR] sincronizada con el reloj.
C IR IR C U IT IT O DE DE C OM OM A N D O P A R A L A M A T RI RI Z D E LE LE D s
Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 4 02 -
La salida salida D0 de la ROM es es 1L en todas todas las locali localidade dades s de la ROM, excepto para la localidad [N-1] en la que D0 = 0L. Durante Durante la direcció dirección n [N-1] la la entrada entrada CLR CLR del contador contador será será 0L, con el siguiente pulso de reloj, reloj, el contador reinicializa la cuenta desde 0. Para evitar el ruido que puede producirse a la salida de la ROM, debido a los diferentes tiempos de propagación [retardos] a través de ella, se puede colocar un registro de FFs tipo-D a la salida de la ROM que tomará los datos [comando] que salen de la ROM de forma sincrónica con la señal de reloj.
C A P Í T U L O 5 - M E M O R IA S
sali salida das s [D2, par para a la func funció ión n F2; D1, par para a F1 y D0, para para F0]. La salida D0 D0 no es necesaria, necesaria, pero se la pude usar como una salida para controlar la paridad del sistema, como bit de comprobación. Q3 Q 2 Q1 Q0
Ejemplo.Ejemplo.- Utilizando una memoria ROM y un contador, diseñar un circuito secuencial sincrónico que permita generar las formas de onda [periódicas] que se muestran en la fig. 5.49.
F IG IG U RA RA 5. 5. 49 49
- 4 03 -
F2
F1
F0
0
0
0
0
X
0
1
0
0
0
0
1
X
1
0
1
0
0
1
0
X
0
1
1
0
0
1
1
X
0
1
0
0
1
0
0
X
0
0
1
0
1
0
1
X
1
0
1
0
1
1
0
X
1
0
1
0
1
1
1
X
0
1
0
1
0
0
0
X
1
0
0
1
0
0
1
X
1
0
1
1
0
1
0
X
0
0
0
1
0
1
1
X
0
1
0
1
1
0
0
X
1
0
0
1
1
0
1
X
1
0
1
1
1
1
0
X
1
0
1
1
1
1
1
X
0
1
0
F O RM RM A S D E O N D A D E SE SE A DA DA S A3 A2 A 1 A 0 D 3 D2 D1 D0
La información binaria de las formas de onda requeridas requeridas se presenta en la siguiente si guiente tabla, en ella también se observa una columna con condiciones no importa [X], de la memoria ROM solo se necesitan 3 Carlos Novillo Montero
Can
D I R E C C I Ó N C O N TE T E NI NI D O M
E
M
O
R
I
A
De manera que, la memoria estará programada con Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 4 04 -
la información que se muestra en la tabla anterior. Para implementar el circuito pedido, también se requiere de un contador de módulo igual al número de valores diferentes que tienen las funciones sincrónicas que se desea implementar. En la tabla anterior se puede apreciar que las líneas de dirección de la la ROM ROM [A2, A1 y A0] están están comanda comandadas das por las variables variables de e estad stado o actual actual [Q2, Q1 y Q0] respec respectiva tivamente, men te, y que que las las salid salidas as de la ROM ROM [D [D2, D1 y D0] genera gen eran n las las funcio funciones nes de de salid salida a [F2, F1 y F0] respectivamente.
C A P Í T U L O 5 - M E M O R IA S
- 4 05 -
bit de paridad para para la detección de posibles errores. La tabla muestra el valor que toman las salidas del contador y que corresponden a las líneas de dirección de la memoria; memoria; el contenido de la ROM representa represe nta cada uno de los valores que tomarán las variables de salida. Controlador de Programa con Saltos Condicionados Condicionados y no
La memoria estará programada con la información que se muestra en la tabla t abla anterior. ante rior. Para implementar implementar el circuito pedido, es necesario un contador de módulo igual al número de valores diferentes que tienen las funciones sincrónicas que se desea implementar. La memoria ROM tiene la capacidad suficiente para almacenar los datos de las funciones pedidas una ROM de 256x4, en este caso, solo se requieren 3-líneas 3- líneas de salida, de modo que no se utilizará la línea D3, fig. 5.50, sin embrago, se lo podría aprovechar como
Condicionados.- El circuito de la fig. 5.48 muestra un caso general de la utilización de una ROM, para el controlador controla dor de programas progr amas con saltos condicionados condicionados y no condicionados. El circuito incrementa el contenido del contador con cada transición positiva del reloj, sin embargo, para que el programa pueda realizar saltos, es necesario que la nueva posición del programa pueda definirse de manera arbitraria. Con cada transición positiva del reloj se toma la información almacenada en la ROM de control; esa información depende de las variables de entrada y del estado actual y puede definirse arbitrariamente al programar la memoria. En la fig. 5.51 puede verse que en algunas de las entradas de dirección de la ROM se han conectado las variables de entrada y en las restantes, se realimentan las salidas correspondientes correspondientes al estado actual. El registro de almacenamiento almacenamiento es para mantener el sincronismo de la red. A continuación se presentan algunos ejemplos de aplicación de las memorias ROM en el diseño de circuitos secuenciales sincrónicos.
Carlos Novillo Montero
Carlos Novillo Montero
FIGURA 5.50 MEMORIA ROM PARA GENERAR LAS FORMAS DE ONDA REQUERIDAS
Can
Can
C A P ÍT U LO 5 - M E M O R IA S
- 4 06 -
C A P Í T U L O 5 - M E M O R IA S
- 4 07 -
finalmente, la tabla de comportamiento de la red secuencial sincrónica, sincrónica, solo que, en este caso, no es necesario generar genera r las entradas de control actual.
FIGURA 5.52 FIGURA
5.51
DIAGRAMA DE ESTADOS
CONTROL DE SALTOS SALTOS CONDICIONALES CONDICIONALES Y NO CONDICIONALES
Ejemplo 1.1.- Mediante el uso de una un a ROM de la capacidad adecuada, diseñar un circuito secuencial sincrónico que detecte la siguiente secuencia. Al término de la detección, el circuito debe regresar al estado inicial. El circuito dispone de una salida Z que tomará el valor 1L solo cuando se cumpla la secuencia. secuencia. t
1
2
3
4
X 0 < t>
0
1
0
1
X 1 < t>
1
1
0
0
Para la solución de este problema se igual forma que en el caso de un diseño sincrónico normal; es decir, primero se diagrama de estados, luego la tabla de continuación la tabla de transición de Carlos Novillo Montero
procede de secuencial obtiene el estados, a estados y, Can
Toda la información que se requiere se muestra en la fig. 5.52, y en las tablas siguientes. En la tabla del comportamiento de la red secuencial, se puede ver que las líneas de dirección de la ROM están comandadas por las variables de entrada y por las variables de estado actual. Las salidas de la ROM generan las variables de estado próximo y la salida actual. El registro conformado conformad o por los 3 FFs tipo-D, sirven para sincronizar el funcionamiento funcionamien to de la red. ENT. ACT. EST. ACT.
X1X0 00
0 1
10
11
E STA DO
A S IG N A C IÓ N
A
A /0
A /0
B /0
A /0
A
[0 0 ]
B
A /0
A /0
B /0
C /0
B
[0 1 ]
C
D /0
A /0
B /0
A /0
C
[1 0 ]
D
A /0
A /1
B /0
A /0
D
[1 1 ]
TABLA DE ESTADOS
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 4 08 -
EST.
X 1 X 0
ACT.
0 0
0 1
1 0
1 1
[0 0 ]
[ 0 0 ] /0
[0 0 ]/0
[0 1 ]/0
[ 0 0 ]/ 0
[0 1 ]
[ 0 0 ] /0
[0 0 ]/0
[0 1 ]/0
[ 1 0 ]/ 0
[1 0 ]
[ 1 1 ] /0
[0 0 ]/0
[0 1 ]/0
[ 0 0 ]/ 0
[1 1 ]
[ 0 0 ] /0
[0 0 ]/1
[0 1 ]/0
[ 0 0 ]/ 0
TABLA DE TRANSICIÓN DE ESTADOS
Entrada Actual Estado Actual X 1 < t > X 0 < t > Q 1< t> t> Q 0< t> t> 0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
O
0
0
1
O
1
0
1
1
0
1
1
0
1
FUNCIÓN A
A
0
B
A
1
C
D
0
0
D
A
0
0
0
A
A
0
0
0
B
A
0
0
0
0
C
A
1
1
1
0
0
D
A
0
0
0
0
1
A
B
0
0
1
0
0
1
B
B
1
0
1
0
0
0
1
C
B
1
0
1
1
0
0
1
D
B
1
1
0
0
0
0
0
A
A
1
1
0
1
0
1
0
B
C
1
1
1
0
0
0
0
C
A
1
1
1
1
0
0
0
D
A
A3 D
Sal. Estado Próximo Z < t> t> Q 1 < t+ t+ 1 > Q0< t+ t+ 1 >
I
A2 R
E
A1 C M
C
A0 I
E
D2
Ó
N C
M
O
D1
O N R
I
T E
FIGURA 5.53 PROBLEMA N° 1
SOLUCIÓN PARA
EL
Ejemplo 2.2.- Mediante el uso de una memoria ROM de la capacidad adecuada, diseñar un circuito secuencial sincrónico que cumpla con las funciones indicadas en la siguiente tabla.
D0 N I D
- 4 09 -
La tabla anterior muestra la información que debe almacenarse en cada localidad de la ROM. También se indica la función que se realiza con cada valor de entrada y de acuerdo al estado actual de la red. En esta tabla se ven claramente las señales que se conectarán con las líneas de dirección respectivas. El circuito para este propósito se muestra junto a la tabla de comportamiento en la fig. 5.53.
ENT. ACT.
C A P Í T U L O 5 - M E M O R IA S
O
A
TABLA DEL COMPORTAMIENTO DE LA RED SECUENCIAL SINCRÓNICA
Carlos Novillo Montero
Can
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S
- 4 10 -
C A P Í T U L O 5 - M E M O R IA S ENT. ACT.
ENTRADAS
EST.
FUNCIÓN
X 1
X 0
0
0
NO
0
1
C-U
1
0
1
1
A CT. CU E N TA
- 4 11 -
O O
O 1
O
O
1
1
C -D = C O N T A D O R D O W N
2
M O D = M Ó D U LO
3
N O TA S:
M O D -4
C -U = C O N T A D O R U P
C-D
M O D -4
C-U
M O D -3
1 O
1 1
ESTA D O
A SI G N A C I Ó N
1
3
1
O
O O
2
O
2
1
O 1
2
3
1
O
2
1 O
3
0
2
O
3
1 1
ENT.
EST.
ACT.
TABLA DE ESTADOS
A C T.
O O
O 1
1 O
1 1
O O
O O
O 1
1 1
O 1
O 1
O 1
1 O
O O
1 O
1 O
1 O
1 1
O 1
O O
1 1
1 1
O O
1 1
O O
TABLA DE EXCITACIÓN
FIGURA ESTADO
ENTRADAS
5.54
DIAGRAMA DE
FUNCIÓN
Entrada Actual
Estado Actual
X 1
X 0
Q 1
Q0 < t> t>
Q 1 < t+ t+ 1> 1>
Estado Próximo Q 0 < t+ t+ 1> 1>
FUNCIÓN
O
O
O
O
O
O
0
0
O
O
O
1
O
1
1
1
O
O
1
O
1
O
2
2
O
O
1
1
1
1
3
3
O
1
O
O
O
1
0
1
O
1
O
1
1
O
1
2
X 1
X 0
0
0
NO
0
1
C-U
M O D -4
C -U = C O N T A D O R U P
O
1
1
O
1
1
2
3
1
0
C-D
M O D -4
C -D = C O N T A D O R D O W N
O
1
1
1
O
O
3
0
1
1
C-U
M O D -3
M O D = M Ó D U LO
Carlos Novillo Montero
CU E N TA
N O TA S:
Can
1
O
O
O
1
1
0
3
1
O
O
1
O
O
1
0
1
O
1
O
O
1
2
1
1
O
1
1
1
O
3
2
1
1
O
O
O
1
0
1
Carlos Novillo Montero
Can
C A P ÍT U LO 5 - M E M O R IA S 1
1
O
1
1
O
1
2
1
1
1
O
O
O
2
0
1
1
1
1
O
O
3
0
D1
D0
A3 D
- 4 12 -
I
A2 R
A1
E
C M
C E
A0 I
Ó
M
O
I
A
TABLA DEL COMPORTAMIENTO DE LA RED SECUENCIAL SINCRÓNICA
ENTRADAS
La tabla anterior muestra la información que debe almacenarse en cada localidad de la ROM. También se indica la función que se realiza con cada valor de entrada y de acuerdo al estado actual de la red. En esta tabla se ven claramente las señales que se conectarán con las líneas de dirección respectivas. El circuito se muestra junto a la tabla de comportamiento comportamiento en la fig. 5.55.
FIGURA 5.55
Carlos Novillo Montero
- 4 13 -
Ejemplo 3.3.- Mediante el uso de una memoria ROM de la capacidad adecuada, diseñar un circuito secuencial sincrónico que cumpla con las funciones indicadas en la siguiente tabla.
N C O N T E N I D O R
C A P Í T U L O 5 - M E M O R IA S
FUNCIÓN
X 1
X 0
O
O
C -U
M O D -6
O
1
C -U
M O D -7
C -U = C O N T A D O R U P
1
O
C -D
M O D -8
C -D = C O N T A D O R D O W N
1
1
N O C U E N TA
N O TA S:
M O D = M Ó D U LO
D:\RESPALDOS\Digitales\SD-Cp5Col.wpd Revisión: Septiembre - 2008
SOLUCIÓN AL EJEMPLO EJEMPLO 2
Can
Carlos Novillo Montero
Can