memorias

60
Carlos Novillo Montero Can MEMORIAS 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, o resultados de cálculos intermedios, o instrucciones para un procesador o los tres. Cuando no 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, que las utilizan 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) y la memoria. FIGURA 5.1 RELACIÓN DE LA MEMORIA DENTRO DEL MICROCOMPUTADOR

description

memorias ROM

Transcript of memorias

  • Carlos Novillo Montero Can

    M E M O R I A SUn procesador digital generalmente requiere medios o dispositivos

    para almacenar informacin. La informacin as almacenada puede consistirde nmeros que se usarn en un clculo, o resultados de clculosintermedios, o instrucciones para un procesador o los tres. Cuandono involucra un clculo, puede llamarse simplemente dato almacenado.Por ejemplo, si se quiere imprimir documentos, ser necesario undispositivo de memoria para almacenar los documentos. La parte de unprocesador digital que proporciona la facilidad de almacenamiento deinformacin se denomina memoria.

    En la fig. 5.1, puede verse que los diferentes tipos de memoriageneralmente estn relacionados a los computadores, que las utilizaninternamente para procesar informacin. Para el correcto funcionamientose requieren 3-buses de informacin: Datos, direcciones y control,que conectan la CPU (Unidad Central de Procesamiento) y la memoria.

    FIGURA 5.1 RELACIN DE LA MEM ORIA DENTRO DELMICROCOMPUTADOR

  • CAPTULO 5 - MEMORIAS - 194 -

    Carlos Novillo Montero Can

    Algunos de los dispositivos externos tambin constituyen diferentesclases de memoria, por ejemplo la cinta magntica , la memoria flash,el disco duro o el DVD o el Blue Ray. Cada uno de estos tipos de memoriarealiza alguna funcin especfica y por tanto, a cada uno se le dael tratamiento adecuado.

    Trminos utilizados

    Celda de Memoria.- Dispositivo o circuito elctrico que se usa paraalmacenar un solo bit [0 o 1]. Algunos ejemplos de celdas de memoriasson: un flip-flip, un capacitor con carga o un punto en una cinta oen un disco magnticos.

    Palabra de Memoria.- Grupo de bits [celdas] en una memoria que representainstrucciones o datos de algn tipo. Por ejemplo, un registro que constade ocho FFs puede considerarse como una memoria que almacena una palabrade ocho bits. El tamao de las palabras en los computadores modernosvara comnmente de 4- a 64-bits o ms, segn la capacidad de lacomputadora. Una palabra digital puede representar: una DIRECCIN,una INSTRUCCIN o un DATO.

    Bit.- Dgito binario, solo puede tomar los valores 0 o 1. [Binary digit].

    Blu-Ray.- Blu-Ray (tambin conocido como Blu-Ray Disc o BD) es un formatode disco ptico de nueva generacin de 12 cm de dimetro (igual queel CD y el DVD) para vdeo de alta definicin y almacenamiento de datosde alta densidad. Su capacidad de almacenamiento actualmente llegaa 50 GB a doble capa y a 25 GB a una capa. Se acaba de patentar unBlu-Ray de 400 GB a 16 capas y se espera que salga al mercado en el2010, as como se tiene pensado patentar un Blu-Ray de 1 Terabyte para2011 o 2012. La consola de videojuegos PlayStation 3 puede leer discosde hasta doble capa y se ha confirmado que est lista para recibirel disco de 16 capas. Este formato se impuso a su competidor, el HDDVD, en la guerra de formatos iniciada para convertirse en el estndarsucesor del DVD, como en su da ocurri entre el VHS y el Betamax,o el fongrafo y el gramfono. Despus de la cada de muchos apoyosde HD-DVD, Toshiba decidi abandonar la fabricacin de reproductoresy las investigaciones para mejorar su formato.

  • CAPTULO 5 - MEMORIAS - 195 -

    Carlos Novillo Montero Can

    Bus.- Grupo de conductores que llevan un mismo tipo de informacin.

    Byte.- Trmino especial que se usa para una palabra de 8-bits. Un bytesiempre consta de 8-bits, que es el tamao de palabra ms comn enlas micro-computadoras.

    Capacidad.- Especifica cuntos bits puede almacenar una memoriaparticular. Suponga que se tiene una memoria que puede almacenar 4096palabras de 32-bits. Esto representa una capacidad total de 131 072-bits.La capacidad de la memoria, tambin puede expresarse como 4096x32.Cuando se expresa de esta manera, el primer valor [4096] representael nmero de palabras y el segundo [32], el nmero de bits por palabra[tamao de la palabra]. El nmero de palabras contenidas en una memoriaa menudo es mltiplo de 1024. Cuando se refiere a la capacidad de lamemoria, es comn utilizar la designacin 1K [= 1KILO] para representar 1 024 = 2 ; 1M [= 1MEGA] para representar 1 048 576 = 2 ; 1G [= 1GIGA]10 20

    para representar 1 073 741 824 = 2 . Por tanto, una memoria que tiene30una capacidad de almacenamiento de 4Kx32 es en realidad una memoriade 4096x32. As mismo, una memoria RAM de 256MBytes, tiene una capacidad

    total de 256 x 1 048 576 = 268 435 456-Bytes, o 2 147 483 648-bits.

    Direccin.- Nmero que identifica la localidad de una palabra en lamemoria. Cada palabra almacenada en una memoria tiene una direccinnica. Las direcciones siempre se especifican como un nmero binario,aunque algunas veces, por conveniencia, se utilizan nmeros hexadecimalesy decimales. La siguiente tabla ilustra una pequea memoria que constade ocho palabras de 4-bits/palabra. Cada una de estas ocho palabrastiene una direccin especfica representada como un nmero de 3 bits

    2 1 0 2 2[A A A ] que vara de 000 a 111 . Siempre que se haga referencia a unalocalidad especfica de una palabra en la memoria, se utilizar sucdigo de direccin [ADDRESS] para identificarla.

  • CAPTULO 5 - MEMORIAS - 196 -

    Carlos Novillo Montero Can

    M E M O R I A

    HEX Direccin Contenido HEX

    0 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

    A2 A1 A0 b3 b2 b1 b0

    DVD.- Digital Versatile Disk [Disco Verstil Digital] o Digital VideoDisk [Disco para Video Digital] que permite almacenar grandes volmenesde informacin: largometrajes, audio e imagen [videos musicales], etc.

    Operacin de Escritura.- Operacin por medio de la cual se coloca una nuevainformacin en cierta localidad de la memoria. Tambin se llama operacinde almacenaje. Siempre que una palabra se escribe en una localidadde la memoria, sta reemplaza a la palabra que se encontrabaanteriormente ah. En una operacin de escritura, el dato anteriormentealmacenado se pierde. Ejemplo; instrucciones para la operacin de escritura.

    STS $060,R16LOAD 060H,AMOV @060H,A

    _ a Destino Origen

    en este caso, el contenido de los registros R16 o A de la CPU se almacena[carga] en la localidad de memoria 60H.

    Proceso de Escritura:1. La CPU proporciona la direccin de la localidad de memoria donde se va a almacenar

    el dato.2. La CPU coloca, en el bus de datos, la informacin que se va a almacenar.3. La CPU genera las seales de comando apropiadas para la operacin de escritura en

    la memoria.4. La memoria decodifican la direccin de la localidad seleccionada para efectuar la

    escritura.5. La informacin que est en el bus de datos se almacena en la localidad de memoria

    seleccionada.

    Operacin de Lectura.- Operacin con la cual la palabra binaria almacenada

  • CAPTULO 5 - MEMORIAS - 197 -

    Carlos Novillo Montero Can

    en una localidad [direccin] especfica de la memoria se la capta ydespus se la transfiere a otro dispositivo. Por ejemplo, si se deseautilizar la palabra almacenada en la localidad-4 de la memoria de latabla anterior con algn fin, se tiene que realizar una operacin de

    2lectura en la direccin 100 . A la operacin de lectura a menudo lase conoce como operacin de extraccin [fetch], ya que se extrae unapalabra de la memoria. Se utilizan indistintamente ambos trminos. Ejemplo; instrucciones para la operacin de lectura.

    LDS R16,$060H

    LOAD A,060H

    MOV A,@060H

    _ a

    Destino Origen

    en este caso, el contenido de la localidad de memoria 060H se cargaen el registro R16 o A de la CPU. En una operacin de lectura, lainformacin de la localidad seleccionada no se pierde.

    Proceso de Lectura:1. La CPU proporciona la direccin de la localidad de memoria donde se encuentra el

    dato que se va a leer.2. La CPU activa las seales de comando adecuadas para la operacin de lectura.3. La memoria decodifica la direccin de la localidad seleccionada para efectuar la lectura.4. La memoria colocan el contenido de la localidad seleccionada en el bus de datos de

    donde se transfiere a la CPU.

    Tiempo de Acceso.- Medida de la velocidad de operacin del dispositivode memoria. Es la cantidad de tiempo que se requiere para realizaruna operacin de lectura. En trminos ms especficos, es el tiempoque transcurre entre la recepcin de una nueva direccin en la entradade la memoria y la disposicin de los datos en la salida. Para

    ACCespecificar el tiempo de acceso se usa el smbolo t .

    Memoria Voltil.- Cualquier tipo de memoria que requiere la aplicacinde energa elctrica a fin de almacenar informacin. Si se retira laenerga elctrica, toda la informacin almacenada en la memoria seperder. Muchas memorias de semiconductor son voltiles, mientras quetodas las memorias magnticas son no voltiles.

    Memoria No Voltil.- Una memoria no voltil almacenada la informacinan cuando se desconecte la energa elctrica.

    Memoria de Acceso Aleatorio [RAM].- Memoria en la cual la localizacinfsica real de una palabra de la memoria no tiene efecto sobre el tiempoque se tarda en leer de esa localidad o escribir en ella. En otras

  • CAPTULO 5 - MEMORIAS - 198 -

    Carlos Novillo Montero Can

    palabras, el tiempo de acceso es el mismo para cualquier localidadde la memoria. Muchas memorias de semiconductor y de ncleo magnticoson RAM.

    Memoria de Acceso Secuencial [SAM].- Tipo de memoria en la cual el tiempode acceso no es constante, sino que vara segn la direccin de lalocalidad. Cierta palabra almacenada se halla por sucesin a travsde todas las localidades hasta que se llega a la direccin deseada.Esto produce tiempos de acceso que son muchos ms largos que en unamemoria de acceso aleatorio. Algunos ejemplos de dispositivos de memoriacon acceso secuencial son la cinta y el disco magnticos, y la memoriade burbuja magntica [MBM]. Para ilustrar la diferencia entre lasmemorias SAM y RAM, considere la situacin en la que se han grabado60 minutos de msica en una cinta de audio. Cuando desea escuchar unameloda en particular, por lo general hay que rebobinar o adelantarla cinta hasta encontrarla. Este proceso es relativamente lento y lacantidad de tiempo requerido depende del sitio sobre la cinta dondese encuentra grabada la meloda. Este es un buen ejemplo de memoriaSAM ya que se tiene que recorrer toda la informacin hasta que seencuentre lo que se est buscando. Su contraparte RAM, es un tocadiscosautomtico [CD driver], donde es posible seleccionar cualquier melodaal proporcionar el cdigo apropiado y la operacin siempre transcurreen la misma cantidad de tiempo, sin importar cul sea la melodaseleccionada.

    Memoria de Lectura y Escritura [RWM].- Cualquier memoria de la que se puedeleer informacin o en la que se puede escribir en ella con la mismafacilidad.

    Memoria Solo para Lectura [ROM].- Extensa clase de memorias de semiconductordiseadas para aplicaciones donde la relacin de operaciones de lecturaa operaciones de escritura es muy alta. En trminos tcnicos, en unaROM slo puede escribirse [programarse] una vez y esta operacinnormalmente se efecta en la fbrica. Por lo tanto, la informacinslo puede leerse de la memoria. Otros tipos de ROM son en realidadmemorias en su mayora slo de lectura [ROM], en las que puede escribirsems de una vez, pero la operacin de escritura es ms complicada quela de lectura y no se realiza a menudo. Toda memoria ROM es no voltil,y guarda los datos an cuando se desconecte la energa elctrica.

    Memoria Esttica [SRAM].- Dispositivos de memoria de semiconductor enlos cuales los datos almacenados se quedarn permanentemente guardadosen tanto se aplique energa, sin necesidad de escribir los datosperidicamente en la memoria.

  • CAPTULO 5 - MEMORIAS - 199 -

    Carlos Novillo Montero Can

    Memoria Dinmica [DRAM].- Dispositivo de memoria de semiconductor enel que los datos almacenados no quedarn permanentemente guardados,an con energa aplicada, a menos que se los reescriba [refresque]peridicamente en la memoria.

    Memoria Flash.- Son memorias del tipo EEPROM, de alta capacidad y defcil transporte. Reemplazan con mucha ventaja a los diskettes, porejemplo una Flash USB de 1GBytes, reemplaza a un equivalente mayora 700 diskettes.

    Memoria Cach.- Memoria de Visitas. Es una copia de las pginasrecientemente visitadas que el navegador mantiene en la computadora.De esta manera, si el usuario necesita volver a entrar a esos sitios,lo har a travs de su disco duro y no desde Internet. La ventaja deeste tipo de memoria es que disminuye el tiempo de carga de pginas,la desventaja es que si se actualiza la pgina, el usuario no puedehacerlo porque tiene la versin anterior.

    Memoria Interna [Principal].- Guarda los datos e instrucciones con los quetrabaja la CPU. Es la memoria ms rpida del sistema de cmputo y,en general, est constituida por dispositivos de memoria desemiconductor.

    Memoria Secundaria [Auxiliar].- Almacena grandes cantidades de informacinexterna a la computadora. Es ms lenta que la memoria interna y siemprees no voltil. El disco duro [hard disk], la memoria Flash, la cintay los discos magnticos son dispositivos comunes de esta clase dememoria.

    MBM [Memoria de Burbuja Magntica].- Dispositivo de almacenamientosecundario, de estado slido, de acceso secuencial, no voltil queest formada por elementos magnticos muy pequeos [burbujas] en unCI. Es relativamente lenta y no puede usarse como memoria interna.

    Memoria de Disco-ptico [OROM].- Memoria de Disco-Compacto [CD-ROM].- Sirvenpara almacenar grandes cantidades de informacin, como enciclopedias,diccionarios, procesadores de texto, etc.

    Disco ptico de Lectura/Escritura.- Emplea una superficie diferente, estrecubierta con material magntico cuyas propiedades magnticas puedencambiarse mediante luz lser.

    Ratn [Mouse].- Dispositivo perifrico que permite trabajar fcilmentedentro de un programa basado en Windows.

  • CAPTULO 5 - MEMORIAS - 200 -

    Carlos Novillo Montero Can

    Compuerta de 3-Estados.- Compuerta digital que tiene los dos estadosL Lnormales: 0 y 1 y un tercer estado de alta-impedancia [Hi-Z].

    Diskette [Flopy-Disk].- Guarda informacin en una lmina de plsticorecubierta de material magntico [baja capacidad de almacenamiento]en la actualidad ya no se utiliza.

    Scanner.- Dispositivo perifrico que permite capturar imgenes o texto.

    Plotter.- Dispositivo perifrico que permite imprimir imgenes o textoen formato grande.

    USB [Universal Serial Bus].- Es un tipo de conector o puerto de entradao salida de un computador. Transmite informacin en serie a travsde 4-cables: uno de polarizacin, otro de tierra [comn o referencia]y los dos restantes para los datos que se los enva en forma balanceada

    L[si se transmite un 1 con 2,5V, una lnea est en +2,5V y la otra en-2,5V]. La velocidad de lectura [USB 2.0] es de 9Mbps y para escritura,8Mbps.

    Operacin General de la Memoria1.- Seleccionar la localidad de la memoria a la que se quiere tener acceso para una

    operacin de lectura o de escritura.2.- Seleccionar la operacin que se efectuar [lectura/escritura].3.- Proporcionar los datos de entrada que se almacenarn durante una operacin de

    escritura.4.- Retener los datos de salida que vienen de la memoria durante una operacin de lectura.5.- Habilitar [deshabilitar] la memoria para que responda [no] a las entradas de direccin

    y al comando lectura/escritura.

    La fig. 5.2 ilustra estas funciones bsicas en el diagrama

    FIGURA 5.2 MEMORIA 16x4

  • CAPTULO 5 - MEMORIAS - 201 -

    Carlos Novillo Montero Can

    simplificado de una memoria 16 x 4 [16-palabras de 4-bits cada palabra= 64-bits de capacidad]. Como el tamao de cada palabra es de 4-bits,hay 4-lneas para entrada de datos y 4-lneas para salida de datos.Durante una operacin de escritura, que almacenar una palabra en lamemoria, los datos deben aplicarse a las lneas de entrada de datos.Durante una operacin de lectura, la palabra leda desde la memoriaaparece en las lneas de salida de datos.

    DIRECCIN DE

    LA MEMORIA

    CELDAS DE

    LA MEMORIA

    3 2 1 0 3 2 1 0HEX A A A A D D D D 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

    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 C O N T E N I D O

    3 0Entradas de Direccin [A - A ].- Se requieren N-lneas de direccin parauna memoria que tiene 2 palabras. Cada localidad de la memoria [palabra]Nrequiere una direccin especfica. Por ejemplo: N = 4, entonces 2 =416 localidades [o palabras].

    Entrada [Lectura/Escritura].- Determina el tipo de operacin que realizala memoria. Algunas memorias tienen lneas separadas paralectura/escritura. Cuando solo se dispone de una entrada , entonces = 1 implica lectura y cuando = 0, significa escritura. La operacinde escritura reemplaza al dato que estuvo anteriormente ah. La operacinde lectura no destruye al dato que estuvo almacenado.

    Habilitacin de la Memoria.- [CE (Chip Enable), CS (Chip Select), ME (MemoryEnable), etc.]. Entrada que permite deshabilitar toda o parte de lamemoria de modo que no responda a las otras entradas. Normalmente la

    L Lmemoria se habilita con 0 y se deshabilita con 1 , [aunque existen

  • CAPTULO 5 - MEMORIAS - 202 -

    Carlos Novillo Montero Can

    memorias que funcionan al contario]. Esta entrada es muy til cuandose combinan varios mdulos de memoria para formar una de mayor capacidad.

    Tipos de Memoria- Memoria de Acceso Secuencial [SAM]- Memoria de Acceso Aleatorio [RAM]- Memoria Solo para Lectura [ROM]

    Memorias de Acceso Secuencial [SAM = Secuential Access Memory] .- Lacaracterstica principal de las memorias de acceso secuencial, es quelas palabras se escriben y se leen en secuencia. Esta es la principallimitacin de este tipo de memoria. Una ventaja de estas memorias esque son relativamente baratas y muy eficientes cuando es posible[conviene] escribir los datos en la memoria en el mismo orden en quese los utilizar posteriormente. Algunos ejemplos de memorias de accesosecuencial son

    S Cintas de papel perforadoS Cintas magnticasS Discos magnticosS Discos compactos [CD, DVD o Blu-Ray].S Memorias con registros de desplazamiento: LIFO [Last In - First Out] y FIFO [Firts

    In - First Out] [Stacks o Pilas]

    Memorias de Acceso Aleatorio [RAM = Random Access Memory].- Las palabrasse almacenan en localidades. Para referirse a una localidad particularhay que indicar la direccin de esa localidad, para la escritura dedatos en una localidad direccionada o para sacar el dato, es decir,lectura desde una localidad direccionada. El tiempo necesario paracompletar la operacin de escritura de una palabra en la memoria sedenomina tiempo de acceso-de-escritura (y el correspondiente para lecturatiempo de acceso-de-lectura). Asumir que se debe escribir o leer unapalabra desde una localidad de la memoria, suponer, adems, que sepone atencin en una segunda localidad tomada al azar, y se quiereacceder a esa localidad para lectura o escritura. En una memoria deacceso aleatorio, el tiempo de acceso a la segunda localidad es elmismo que para todas las localidades. Esta situacin es diferente enel caso de las memorias de acceso secuencial, en las que el tiempode acceso depende de su ubicacin respecto de la primera localidadaccedida.

    Memoria Solo para Lectura [ROM = Read Only Memory].- Es un tipo de memoriade acceso al azar. La ROM difiere de la RAM en que en la ROM no sepuede escribir informacin mientras est operando el sistema, es decir,en tiempo real. El contenido de la memoria generalmente lo establece

  • CAPTULO 5 - MEMORIAS - 203 -

    Carlos Novillo Montero Can

    el fabricante o el usuario y posteriormente no se puede alterar. Tiposde ROM: [ROM = Read-Only Memory; PROM = Programmable-ROM; EPROM =Erasable-ROM; EEPROM = Electrical-EPROM, Flash, todas ellas tiene ladenominacin comn de memorias ROM].

    MEMORIA SLO PARA LECTURA [ROM]

    Una memoria slo para lectura es un dispositivo que almacena informacinen forma permanente. Esto es, hay una operacin inicial durante lacual se escribe la informacin en la memoria y de ah, la memoria esslo para lectura y no se puede volver a escribir en ella. Generalmentela informacin la pone el fabricante de la ROM. Sin embargo, hay memoriasque permiten al usuario escribir la informacin, a tales memorias selas conoce como memorias programables (PROM = Programmable-ROM). Tambinhay memorias ROM en las que puede cambiarse la informacin. Sin embargo,en tales casos, la operacin de escritura requiere un tiempo que esmucho mayor que el tiempo requerido para lectura. Tales dispositivos[conocidos como PROM borrables EPROM] son ROM en el sentido de quepara cambiar la informacin, es necesario interrumpir el proceso digitalen el que est involucrada la memoria.La caracterstica ms importante de las ROM es que la informacin

    almacenada no se pierde aunque se interrumpa la energa elctrica.A estas memorias se las conoce como no-voltiles. En contraste, lasRAM son memorias voltiles.

    Aplicaciones de las ROM.- En los Sistemas Digitales, las ROM tienenun campo muy amplio de aplicaciones. Se las utiliza en

    Realizacin de tablas de verdad arbitrarias que requieren muchasvariables de entrada y de salida, en este caso, la ROM reemplaza unagran cantidad de compuertas lgicas, de modo que una ROM puede sermucho ms conveniente en tamao, conexiones, peso y costo.

    Las ROM se utilizan ampliamente en conversin de cdigos para displaysalfanumricos, o generacin de caracteres. Los caracteres alfanumricosen un monitor en general se presentan como un grupo de puntos.Dependiendo del carcter presentado, algunos puntos son luminososmientras que otros son oscuros. Cada carcter debe ajustarse a unpatrn de puntos que generalmente se disponen como una matriz: 5X7,7X9, etc. El modelo de puntos de cada carcter puede representarsecomo un cdigo binario [es decir, punto luminoso = 1; punto oscuro= 0].

    Para producir resultados que podran obtenerse mediante clculos queinvolucran una secuencia de operaciones aritmticas, por ejemplo:multiplicacin, divisin, evaluacin de funciones trigonomtricas

  • CAPTULO 5 - MEMORIAS - 204 -

    Carlos Novillo Montero Can

    o logartmicas.Para almacenar programas de las microcomputadoras (Firmware, ROM-BIOS),lenguajes de programacin: BASIC, etc.

    Sistemas Operativos. Memoria de arranque; las grandes computadorasy las personales no tienen el OS [Operanting System] en la ROM sinoen CD o DVD. En ese caso, se utiliza la ROM para almacenar un pequeoprograma de arranque que sirve para inicializar la circuitera internay externa del computador.

    Juegos electrnicos.Cajas registradoras.Inyeccin de combustible en automviles controlados con microprocesador.Tabla trigonomtrica.- El CI-MM4220BM de la National Semiconductorsalmacena la funcin seno para ngulos entre 0 y 90. La ROM se organizacomo una memoria de 128x8 con 7 lneas para direccin y 8 lneas paradatos. Las entradas representan el ngulo en incrementos deaproximadamente 0,7. La direccin 000 0000 = 0; la direccin 0000001 = 0,7; la direccin 000 0010 = 0,14; as sucesivamente hastala direccin 111 1111 = 89,3. Las salidas de datos representan elvalor aproximado de la funcin seno del ngulo. Para la direccin100 0000 = 45, la salida es 1011 0101, puesto que la funcin senoes menor que la unidad, estos valores se interpretan como un fraccin,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 paragenerar una funcin sinusoidal. El generador de funciones es un circuitoque produce formas de onda: sinusoidales, triangulares, dientes desierra, cuadradas, etc. La fig. 5.3 muestra cmo utilizar una tablade bsqueda en ROM y un convertidor de Digital-a-Analgico (DAC) paragenerar 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 diferentevoltaje sobre la onda sinusoidal]. El contador de 8-bits recibe demanera continua la seal de reloj y con esto proporciona en formasecuencial las direcciones de entrada a la ROM. Conforme el contadorrecorre sus 256 estados, que generan 256 direcciones, la ROM da salidaa 256 puntos al DAC. La salida del DAC ser una forma de onda escalonadacon 256 valores de voltaje analgicos diferentes, los que corresponden

    FIGURA 5.3 APLICACIN DE M EM ORIAS ROM [GENERADOR DE FUNCIONES]

  • CAPTULO 5 - MEMORIAS - 205 -

    Carlos Novillo Montero Can

    a los datos. El filtro pasa bajos reduce la amplitud de los pasos desalida del DAC para producir una forma de onda casi lisa. Circuitoscomo este se emplean en algunos generadores de funciones comerciales.La misma idea se utiliza en algunos sintetizadores de voz, donde laforma de onda digitalizada de la voz se almacena en una ROM.

    La ROM como Encoder.- Un encoder es una estructura con compuertas0 1 M-1 0 1lgicas que tienen M entradas: I , I , ..., I y K salidas: D , D ,

    K-1..., D . Es necesario que en cualquier instante una sola entradai i Lindividual, por ejemplo, I sea igual a 1 [I = 1 ] mientras que todas

    Llas dems estn en nivel bajo [0 ]. [Alternativamente, se puede teneri L L iI = 0 y todas las dems entradas a 1 ]. Correspondiente a cada I ,

    L 0 1que puede estar a 1 , las K-salidas tomarn el nivel lgico D , D ,K-1..., D .

    3 2 1 0 7 6 5 4 3 2 1 0Z Z Z Z D D D D D D D D

    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

    1 0 0 0 1 1 1 1 0 1 0 0

    DIRECCIN C O N T E N I D O

    M E M O R I A

    D7 = Z0 + Z1 + Z3 D3 = Z0 + Z2

    D6 = Z0 + Z3 D2 = Z0 + Z2 + Z3

    D5 = Z2 + Z3 D1 = Z0 + Z1 + Z2

    D4 = Z1 + Z3 D0 = Z0 + Z1

    La fig. 5.4 muestra la estructura lgica de un encoder, en ella semuestra la tabla de funcin y su implementacin con compuertas OR.

    FIGURA 5.4 MEMORIA ROM COMO ENCODER

  • CAPTULO 5 - MEMORIAS - 206 -

    Carlos Novillo Montero Can

    La ROM indicada almacena 4-palabras de 8-bits cada palabra.i LEsto es, el encoder acepta la entrada Z = 1 e identifica0 1 K-1esta situacin mediante la palabra cdigo D , D , ..., D ; o si

    al encoder se lo mira en su aplicacin como memoria, la localidad dei Lalmacenamiento Z se direcciona poniendo Z = 1 y la ROM respondema

    presentando en sus salidas la palabra almacenada en esa localidad.Generalmente la direccin de una palabra almacenada se la da en un

    sistema hexadecimal o como una palabra codificada en binario. Entonceses necesario poner entre la direccin codificada en binario y la ROMun dispositivo que tome en cuenta la direccin y genere una salidasimple correspondiente a una lnea individual.

    Tal dispositivo realiza la funcin de un decodificador. La fig. 5.5muestra el diagrama de bloque de tal decodificador y la fig. 5.6 elcircuito con compuertas AND.

    En las memorias comerciales, el decodificador se encuentra incluidoen el CI, de manera que no hay que preocuparse por disear eldecodificador de direccin.

  • CAPTULO 5 - MEMORIAS - 207 -

    Carlos Novillo Montero Can

    Esto disminuye grandemente el nmero de lneas de direccin que serannecesarias en el chip. La fig. 5.7 muestra el diagrama de bloques deuna memoria ROM como encoder en la que se incluye el decodificadorde direccin.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],para lo cual habr que eliminar [quemar] los fusibles de los diodosque no se requieren para la informacin que se desea almacenar. Seobserva que la memoria vaca almacena unos [todo unos], lo que se debeprogramar son los ceros.

    FIGURA 5.8 MEMORIA ROM CON MATRIZ DE DIODOS

    FIGURA 5.9 MEMORIA PROM CON MATRIZ DE DIODOS

  • CAPTULO 5 - MEMORIAS - 208 -

    Carlos Novillo Montero Can

    En la fig. 5.10 se han sustituido los diodos por transistores NPN,en este caso, la juntura BE funciona como un diodo, debido a que los

    CCcolectores estn conectados a V .

    La implementacin de una PROM con transistores BJT se realiza la

    FIGURA 5.9 MEMORIA PROM CON MATRIZ DE DIODOS

    FIGURA 5.10 ROM CON MATRIZ DE TRANSISTORES BJT

  • CAPTULO 5 - MEMORIAS - 209 -

    Carlos Novillo Montero Can

    matriz completa con BJTs con fusibles en la Base de los transistores.En la fig. 5.11, los transistores NPN se reemplazan por E-MOSFETs,

    las resistencias tambin se sustituyen por E-MOSFETs que trabajan enla regin hmica [resistencia dinmica].

    EPROM [ROM programable y borrable o alterable].- Tambin se la conocecomo UV-EPROM porque se la borra con luz ultravioleta, utiliza tran-sistores E-MOSFET con Compuerta flotante [(Floating-Gate FG), cadatransistor es de un tipo de MOSFET conocido como FAMOS = Floating-gateAvalanche-injection Metal Oxide Silicon].

    FIGURA 5.11 ROM N-MOS

  • CAPTULO 5 - MEMORIAS - 210 -

    Carlos Novillo Montero Can

    FIGURA 5.14 MEMORIAEPROM

    La fig. 5.12 muestra la arquitectura de una EPROM [8x8] N-MOSFET decompuerta flotante. La fig. 5.13 muestra un E-MOSFET-FAMOS, un tipode transistor en el que la Compuerta en operacin normal estcompletamente aislada [rodeada de material aislante de muy alta

    2impedancia O Si] y separada de conexin elctrica de cualquier otraparte del CI.

    FIGURA 5.12 ARQUITECTURA DE UNA EPROM 8x8 FAMOS

    FIGURA 5.13 TRANSISTORFAMOS

  • CAPTULO 5 - MEMORIAS - 211 -

    Carlos Novillo Montero Can

    Es posible establecer una carga negativa entre las Compuertas [fijay flotante] aplicando un alto voltaje [prximo a la ruptura de la capa

    2de O Si] entre el Drenaje [Drain] y la Compuerta [Gate]. La carga negativainsertada entre las Compuertas mediante este tratamiento, deja alcorrespondiente transistor con un canal conductor. La EPROM se borraexponindola a luz ultravioleta de cierta longitud de onda, que sirvepara descargar las Compuertas cargadas y que permite que la Compuertaflotante se haga ligeramente conductora; para esto, la EPROM se alojaen un chip con ventana de cuarzo [fig. 5.14] a travs de la que pasala luz ultravioleta que borra a la EPROM. Una vez que se borra lainformacin, la EPROM almacena 1s. La EPROM puede ser programada porel usuario y puede borrarse y reprogramarse algunas veces. Cuando estprogramada, la EPROM es una memoria no voltil.

    Compuertas de 3-Estados.- El circuito que se muestra en la fig. 5.15corresponde a un buffer-inversor de 3-estados TTL. Cuando la entrada

    L Lde habilitacin [G] est en 1 , la salida es Y = . Cuando G = 0 ,la salida se pone en alta impedancia. Tambin se indica el smbololgico.

    EEPROM [ROM programable y borrable Elctricamente].- Se basa en elmismo principio de las memorias EPROM, solo que en los transistoresFAMOS, la capa de dixido de silicio, es ms delgada por lo que lascargas que se almacena entre las Compuertas fija y flotante, puedeneliminarse con un voltaje negativo.

    Memoria EPROM 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 normalutiliza una sola fuente de polarizacin de +5V. La fig. 5.16 muestra

    FIGURA 5.15 COMPUERTA NOT TTL DE 3-ESTADOS

  • CAPTULO 5 - MEMORIAS - 212 -

    Carlos Novillo Montero Can

    la distribucin de pines de la EPROM-2732.

    MODOPP/V ILSALIDAS V = TTL-Bajo

    IL IL IHLectura/Verificacin V V DATO-sal. V = TTL-Alto

    DESHABILITARsalida IL IH

    V V Alta-Z X = No importa

    PP V = 21V Nominal

    IHESPERA V X Alta-Z Modo de espera = 175mW

    IL PPPROGRAMA V V DATO-ent. Modo Normal = 500mW

    La tabla de funcin anterior es la que proporciona el fabricantepara la memoria EPROM-2732.

    Ciclo de Programacin y Verificacin [Temporizacin] de la EPROM-2732.- La fig.2.17 muestra el diagrama de la temporizacin de la EPROM 2732.

    FIGURA 5.16 DISTRIBUCIN DE PINES DE LA MEMORIAEPROM 2732 DE 4 KBYTES

  • CAPTULO 5 - MEMORIAS - 213 -

    Carlos Novillo Montero Can

    Donde11. Al tiempo t , se pone la direccin de la localidad donde se quiere almacenar la palabra.

    PP2. Al mismo tiempo, en la entrada se aplica el pulso V [21V].

    3. Simultneamente, se ponen los datos en el bus de datos [que en este modo, funciona

    PPcomo entrada de datos], porque V aplicado a desactiva los buffers de salida

    de datos.

    wp4. Cuando se estabilizan los datos, se aplica un pulso de nivel bajo en [t = 50ms].

    5. Termina la programacin, regresa al estado alto y pasa al estado bajo. Las

    lneas de datos pasan al estado de alta-Z [alta-impedancia].6. Por ltimo, se verifica que la palabra de datos se haya escrito de manera correcta en

    la localidad de memoria seleccionada. El modo de verificacin es similar a un proceso

    Lde lectura. La entrada se mantiene en 0 y se aplica un pulso de nivel bajo en la

    3entrada al tiempo t . Lo anterior hace que la circuitera interna de la EPROM lleve

    el dato desde la localidad de memoria seleccionada hacia los buffers de salida, dondepuede leerse.

    La EPROM de la fig. 5.18 corresponde a una memoria de 256 K-bitsdistribuidos en un arreglo de 32K x 8 [32KBytes] para lo que se necesitan

    14 015 lneas de direccin [A -A ]. En este caso, se dispone de una lneaPPOE independiente de V . Las otras lneas son similares a las de la

    EPROM 2732. La programacin se la realiza de la misma manera que antes.

    Memorias Slo para Lectura CMOS EPROM.- Tericamente el proceso de grabadoy borrado de una celda CMOS es reversible hasta el infinito. En laprctica, las memorias EPROM empiezan a dar problemas a partir de los

    FIGURA 5.18 DISTRIBUCIN DE PINES DE LA MEMORIAEPROM 27C256 DE 32 KBYTES

  • CAPTULO 5 - MEMORIAS - 214 -

    Carlos Novillo Montero Can

    1000 ciclos de programacin y borrado, [suficiente para las necesidadesde la mayora de los usuarios].Se debe tener en cuenta que fuentes de luz habituales en el entorno,

    como lmparas fluorescentes o la luz solar, tambin emiten energaen longitudes de onda del UV, aunque en mucha menor medida. No obstantees aconsejable proteger la ventana de una EPROM con un adhesivo opaco,para evitar que este tipo de luz degrade el contenido de la memoria.En cuanto al voltaje de programacin, es necesario saber con qu

    tipo de memoria se trabaja. Las primeras memorias de este tipoDCnecesitaban voltajes de programacin de 25V . Versiones ms modernasDCpermiten voltajes de programacin de 12,5V .

    En cuanto a los tiempos de acceso, las primeras memorias de tipoMOS ofrecan unos tiempos de acceso del orden de 200ns. En la actualidad,los tiempos de acceso se han reducido considerablemente, y soncomparables a las memorias bipolares, por lo que stas han cado endesuso.

    La organizacin y la distribucin de pines de la EPROM 27C256 semuestran en la fig. 5.19. En ella se observan las lneas de direccin[A14-A0], las lneas de datos [D7-D0], una lnea de habilitacin delintegrado [ ] y la lnea de habilitacin de las salidas [ ]. En elencapsulado, adems se pueden ver las lneas de polarizacin y del

    PPvoltaje de programacin V .La fig. 5.20 muestra el modo de operacin mediante el diagrama de

    temporizacin de una memoria EPROM. En el diagrama se observa que esCEnecesario un tiempo de habilitacin del chip [t ] para que los datos

    se presenten de manera estable en la salida. As mismo, mientras lalnea se encuentra en nivel alto, la salida de la memoria est en

    FIGURA 5.19 EPROM 27C256 DE 32 KBYTES

  • CAPTULO 5 - MEMORIAS - 215 -

    Carlos Novillo Montero Can

    alta impedancia [HI-Z].

    Adems del modo de operacin de lectura de datos, las EPROM disponende otros modos, entre los que se encuentra el modo de programacin,para escribir nueva informacin; el modo de inhabilitacin de la salida,esta se pone en alta impedancia; el modo de reposo, que permite menorconsuno de energa, etc.

    FUNCIN DE LOS P INES1

    M ODO CE OE VPP A0 A9 SALIDAS

    LEER VIL VIL VCC A0 A9 SALIDA DE DATOS

    DESHABILITAR SALIDAS VIL VIH VCC X X ALTA-Z

    STAND-BY [TTL] VIH X VCC X X ALTA-Z

    PROGRAMA VILP VIHP VPP A0 A9 ENTRADA DE DATOS

    VERIFICACIN PROPGRAM A VIHP VILP VPP A0 A9 SALIDA DE DATOS

    DESBHABILITAR PROGRAM A VIHP VIHP VPP X X ALTA-Z

    LEER IDENTIFICACIN [M FG] VIL VIL VCC VL VHV 34H2 3

    LEER IDENTIFICACIN [DEV] VIL VIL VCC VIH VHV 1FH2 3

    1. PUEDE SER VIL O VIH

    2. VHV = 12V 0,5V

    3. A1 - A8 y A10 - A14 = VIL.

    Versiones ms complejas incluyen el modo de verificacin de laprogramacin, que permite comprobar que el dato que se escribi esel correcto. Este modo asegura la correcta programacin de las memoriasy es til para memorias de gran capacidad de almacenamiento [por ejemplo1Mbyte]. En el modo de verificacin la memoria permanece en modo delectura mientras se aplica el voltaje de programacin. Esto permiteverificar muy rpidamente la programacin correcta o incorrecta deldato.El modo de identificacin automtica [Signature] permite leer una

    zona concreta de la memoria, en la cual estn codificadas de formaparticular el nombre del fabricante y el tipo de memoria. Las lneas

  • CAPTULO 5 - MEMORIAS - 216 -

    Carlos Novillo Montero Can

    de datos proporcionan el cdigo del fabricante cuando A0 est en nivelL Lbajo [0 ] y el cdigo de la memoria cuando A0 est en nivel alto [1 ].

    Las EPROMs almacenan bits de datos en celdas formadas a partir detransistores FAMOS [Floating Gate Avalanche-Injection Metal-OxideSemiconductor] de carga almacenada.Estos transistores son similares a los transistores de efecto de

    campo [FETs] canal-P, pero tienen dos Compuertas. La Compuerta interioro flotante est completamente rodeada por una capa aislante de dixidode silicio; la Compuerta exterior o Compuerta de control [o fija] esla efectivamente conectada a la circuitera externa.La cantidad de carga elctrica almacenada sobre la Compuerta flotante

    determina que el bit de la celda contenga un 1 o un 0; las celdascargadas almacenan un 0, mientras que las que no lo estn, almacenanun 1.Tal como las EPROMs salen de la fbrica, todas las celdas se encuentran

    descargadas, por lo cual el bit asociado es un 1; de ah que una EPROMvirgen 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 travs del canal de transistor desdela Fuente [Source] hacia la Compuerta [Gate] (los electrones siguenel camino inverso). Al mismo tiempo se aplica un voltaje relativamentealto sobre la compuerta de control del MOSFET, crendose de esta maneraun campo elctrico fuerte dentro de las capas del material semiconductor.Ante la presencia de este campo elctrico fuerte, algunos de los

    electrones que pasan el canal Fuente-Compuerta ganan suficiente energacomo para formar un tnel y atravesar la capa de dixido de silicioque normalmente asla la Compuerta flotante.En la medida que estos electrones se acumulan en la Compuerta flotante,

    dicha Compuerta toma carga negativa, lo que finalmente produce quela celda tenga un 0.Como se mencion anteriormente, el proceso de borrado de los datos

    contenidos en una EPROM se lleva a cabo exponiendo la misma a luzultravioleta. El punto reside en que la misma contiene fotones [Cuantosde energa electromagntica] de energa relativamente alta.Los fotones incidentes excitan los electrones almacenados en la

    Compuerta flotante hacia un estado de energa lo suficientemente altacomo para que los mismos puedan formar un tnel a travs de la capaaislante y escapar de la Compuerta flotante, lo que descarga la mismay retorna la celda al estado 1.

    Programacin de las EPROM.- Para la programacin de este tipo de memoriases necesario respetar los cronogramas de grabado que indican losfabricantes. Para memorias de tamao pequeo es suficiente con utilizarprogramadores que siguen estos cronogramas, en los cuales el tiempode grabado por byte es del orden de 100ms.

  • CAPTULO 5 - MEMORIAS - 217 -

    Carlos Novillo Montero Can

    Para memorias de mayor capacidad este tiempo se hace demasiado largo[una memoria CI-27512 necesitara casi dos horas], por lo que esnecesario el desarrollo de algoritmos de programacin ms rpidos.Estos algoritmos slo se encuentran en los programadores comerciales,y dependen de cada dispositivo y de cada fabricante.

    PROM Elctricamente Borrable [EEPROM].- Se desarroll al rededorde 1980 como una mejora de la EPROM. Aprovecha la misma estructurade Compuerta flotante de la EPROM y agrega la caracterstica de borradoelctrico mediante la adicin de una delgada regin de xido sobreel Drenaje de la celda de memoria MOSFET. Aplicando un alto voltaje[21V] entre la Compuerta y el Drenaje del MOSFET, puede inducirse unacarga a la Compuerta flotante, donde permanecer aun cuando se suspendael suministro de energa. La inversin del mismo voltaje produce laeliminacin de las cargas capturadas en la Compuerta flotante y borrala celda. Debido a que el mecanismo de transporte de cargas requierecorrientes bajas, la programacin y el borrado de una EEPROM puedehacerse, por lo general, en el circuito de trabajo.

    La circuitera interna borra de manera automtica las celdascorrespondientes en la localidad de memoria antes de escribir los nuevosdatos.

    < Tiempo de borrado com pleto de una EEPROM,

    aproxim adam ente 10m s [en el circuito].

    < Tiem po de program acin de una localidad de

    EEPROM, aproxim adam ente 10m s.

    ACC< Intel 2816, EEPROM de 2Kx8 [T = 250ns]

    < Intel 2864, EEPROM de 8Kx8

    ENTRADAS

    MODO SALIDAS

    IL IL IHLECTURA V V V Dato-Sal

    IL IH ILESCRITURA V V V Dato-Ent

    IHESPERA V X X Alta-Z

    Debido a que la EEPROM puede borrarse y reprogramanse aplicando voltajesadecuados, no se necesita retirarla del circuito del que forma parte,siempre que los componentes de soporte adicionales sean parte de la

    FIGURA 5.21 MEMORIAEEPROM DE 8KBytes

  • CAPTULO 5 - MEMORIAS - 218 -

    Carlos Novillo Montero Can

    circuitera. La circuitera de soporte incluye el voltaje de programacinPPde 21V [V ], que usualmente se genera a partir de la fuente de +5V

    mediante un convertidor DC-DC y la circuitera para controlar latemporizacin y secuencia de 10ms para las operaciones de borrado yprogramacin.

    Memoria RPROM o EEPROM.- Los datos contenidos en este CI se borranelctricamente si se aplican a las entradas valores de voltaje adecuados.Para el borrado de los circuitos RPROM, como para la programacin,se necesita un programador especial. Las memorias EEPROM no puedentratarse como si fuesen RAM no voltiles, pues aunque pueden leerseigual que una ROM o RAM, su escritura es un proceso mucho ms lentoy que requiere voltajes y corrientes ms elevados que en la lectura.Las memorias EEPROM se emplean principalmente para almacenar programas,

    aunque en la actualidad es cada vez ms frecuente el uso de combinacionesRAM + EEPROM, utilizando estas ltimas como memorias de seguridad queguardan el contenido de las RAM. Una vez reanudada la alimentacin,el contenido de la EEPROM se vuelve a copiar en la RAM. Las solucionesde este tipo, sustituyen a las clsicas RAM + batera [NVRAM] puestoque presentan muchos menos problemas.

    Memoria FLASH.- Son dispositivos evolucionados de las EPROM, en lasque se accede a la informacin por bloques. Para grabar un bloque dedatos en una memoria FLASH, primero es necesario borrarlo completamente,luego se escriben los nuevos datos. Los bloques suelen ser de 512 Bytesa 56KBytes. Las memorias FLASH USB contienen varios CIs de memoriaFLASH con un controlador y una interfaz tipo USB. Emulan elcomportamiento de un disco magntico.Los bloques de memoria se asocian a sectores de disco de 512 Bytes,

    escribindose y leyndose por bloques. En la memoria FLASH se generaun archivo que indica el contenido de la memoria en cuanto a directorios[carpetas] y archivos que tiene almacenados, as como la ubicacinde los archivos dentro de la memoria. Este tipo de memoria es muy populary conveniente porque reemplaza una gran cantidad de diskettes en unespacio fsico muy pequeo y a un costo muy adecuado. Adems, son deltipo Plug & Play. Los Sistemas Operativos actuales las reconocenfcilmente.El grfico de la fig. 5.22 muestra la implementacin en diagrama de

    bloques de una memoria FLASH del tipo USB. Puede verse el bloque dememoria propiamente dicho y la circuitera adicional para facilitarla conexin al computador.

  • CAPTULO 5 - MEMORIAS - 219 -

    Carlos Novillo Montero Can

    Se trata de una memoria no voltil, de bajo consumo, en la que sepuede escribir y borrar. Funciona como una ROM y una RAM pero consumemenos energa y es ms pequea. A diferencia de la ROM, la memoriaFLASH es programable en el circuito. Es ms rpida y de mayor densidadque la EEPROM. La alternativa FLASH est recomendada frente a la EEPROMcuando se precisa de gran cantidad de memoria no voltil de programa.Es ms veloz y tolera ms ciclos de escritura/borrado.Las memorias EEPROM y FLASH son muy tiles al permitir que los

    microcontroladores que las incorporan puedan ser reprogramados en elcircuito, es decir, sin tener que sacar el CI de la tarjeta.

    RAM DE SEMICONDUCTOR

    El trmino RAM significa memoria de acceso aleatorio [Random AccessMemory], lo que quiere decir que se puede tener fcil acceso a cualquierlocalidad de memoria. Muchos tipos de memoria pueden clasificarse comode acceso aleatorio, pero cuando el trmino RAM se utiliza con memoriasde semiconductor, generalmente se considera que significa memoria delectura y escritura (RWM) en contraste con la ROM. Ya que es una prcticacomn usar el trmino RAM para referirse a la RWM de semiconductor,se lo utilizar de aqu en adelante.Las RAM se emplean en las computadoras como dispositivos de

    almacenamiento temporal para programas y datos. El contenido de muchasde las localidades de la RAM se leer o escribir en ellas a medidaque la computadora ejecuta un programa. Esto requiere que la RAM tengaciclos de lectura y escritura rpidos para que no reduzca la velocidadde operacin de la computadora.La mayor desventaja de las RAM es que son voltiles, es decir, que

    pierden toda la informacin contenida en ellas si se interrumpe laenerga. Sin embargo, algunas RAM-CMOS emplean una pequea cantidadde energa en el modo de espera [ninguna tarea de escritura o lectura],que se las puede alimentar con bateras cada vez que se interrumpela fuente de alimentacin principal, reciben el nombre de NVRAM [RAMno voltiles]. Por supuesto, la ventaja principal de las RAM es quese puede escribir en ellas y se puede leer de ellas muy rpidamente

    FIGURA 5.22 DIAGRAMA DE BLOQUES DE UNA MEMORIA FLASH USB

  • CAPTULO 5 - MEMORIAS - 220 -

    Carlos Novillo Montero Can

    y con la misma facilidad, las veces que sea necesario.

    Arquitectura de la RAM.- Como sucede con la ROM, es til pensar quela RAM consta de varios registros, cada uno de los cuales almacenauna sola palabra de datos y con una direccin nica. Las RAM comnmentevienen con capacidades de 1K, 4K, 8K, 16K, 32K, 64K, 128K, 256K, etc.y tamaos de palabras de 1-, 4- u 8-bits. Como se observar ms adelante,la capacidad de palabra y tamao de estas puede expandirse combinandocircuitos integrados.

    La fig. 5.23 muestra la arquitectura simplificada de una RAM quealmacena 32-palabras de 4-bits [memoria de 32 x 4]. Estas palabras tienen

    10direcciones que van desde 0 hasta 31 . A fin de seleccionar una delas 32 localidades para leer o escribir, se aplica un cdigo binarioa un circuito decodificador de direccin. Puesto que 32 = 2 , el5decodificador requiere de un cdigo de entrada de 5-bits.Cada cdigo de direccin activa una determinada salida del decodificador

    la que, a su vez, habilita su correspondiente registro. Por ejemplo,si el cdigo de direccin es

    4 3 2 1 0 2 10A A A A A = 1 1010 [1AH = 26 ]

    2 10como 1 1010 = 1AH = 26 , la salida 26 del decodificador pasar al estadoalto, seleccionando el registro [localidad] 26 para una operacin delectura o de escritura.

    Terminales Comunes de Entrada/Salida.- A fin de disminuir el nmero de

    FIGURA 5.23 ARQUITECTURA DE UNA RAM DE 32x4

  • CAPTULO 5 - MEMORIAS - 221 -

    Carlos Novillo Montero Can

    pines en el encapsulado del CI. Los fabricantes a menudo combinan lasfunciones de entrada y salida de datos utilizando pines comunes deentrada/salida.

    La entrada controla la funcin de estos pines I/O [E/S]. Duranteuna operacin de lectura, los pines E/S actan como salidas de datosque reproducen el contenido de la localidad seleccionada.Durante una operacin de escritura, los pines E/S actan como entradas

    de datos. Como se ve en la fig. 5.24, para que no haya interferenciaentre los datos que entran y los que salen, se utilizan buffers de3-estados, esta clase de arreglo se denomina transceiver.Se puede observar por qu se hace esto considerando el CI de la fig.

    5.23. Con pines de entrada/salida separados, se requiere un total de17 pines [incluyendo tierra y fuente de polarizacin], con 4-pinescomunes E/S, slo se necesitan 13-pines. La disminucin del nmerode pines se hace ms significante en CIs con palabras de mayor tamao.

    La fig. 5.25 muestra una memoria SRAM 2x2 implementada con Flip-Flopsde estado slido. El bus de datos es bidireccional, para esto se utilizanlos buffers de 3-estados tanto para la entrada como para la salidade datos. El decodificador de direccin interno junto con las lneasde comando permiten que solo se activen los buffers correspondientesal evento que se desea. La siguiente tabla muestra los modos de operacin

    FIGURA 5.24 TRANSCEIVER

    FIGURA 5.25 ARQUITECTURA DE UNA SRAM 2x2 CONBUS DE DATOS BIDIRECCIONAL

  • CAPTULO 5 - MEMORIAS - 222 -

    Carlos Novillo Montero Can

    de la memoria de la fig. 5.25. Cuando la lnea est en 1L, los bufferscorrespondientes de Ent/Sal de la memoria quedan en alta impedancia.

    CE A FUNCIN

    0 0 0 Escribe en la Loc. 0

    0 0 1 Escribe en la Loc. 1

    0 1 0 Lee la Loc. 0

    0 1 1 Lee la Loc. 0

    1 X X Alta-Z

    Las figs. 5.26 a) y b) muestran una celda de memoria con transistoresBJT y con MOSFET respectivamente.

    a) FLIP-FLOP BJT b) FLIP-FLOP MOSFET-NFIGURA 5.26 CELDA DE MEMORIA SRAM

    FIGURA 5.27 ARQUITECTURA DE UNA SRAM 4x4

  • CAPTULO 5 - MEMORIAS - 223 -

    1 Algunos fabricantes de CIs, utilizan el smbolo [habilitacin de escritura] o en vez de . En cualquier caso,

    la operacin es la misma.

    Carlos Novillo Montero Can

    La fig. 5.27 corresponde a la arquitectura de una memoria SRAM 4x4de semiconductor, se requieren dos lneas de direccin, dos lneaspara Ent/Sal de datos, dos lneas de comando y .

    Operacin de Escritura.- Para escribir una nueva palabra de 4-bits en elL Lregistro seleccionado, se requiere que = 0 y = 0 . Esta

    combinacin habilita los buffers de entrada de manera que la palabrade 2-bits aplicada a las entradas de datos se guardar en el registro

    Lseleccionado. = 0 , tambin deshabilita los buffers de salida queson de 3-estados, de manera que las salidas de datos se encuentrenen estado de alta-Z durante una operacin de escritura. La operacinde escritura, desde luego, destruye la palabra que estuvo almacenadaantes en esa localidad.

    Operacin de Lectura.- El cdigo de direccin selecciona un registro dela memoria para leer o escribir. A fin de leer el contenido del registro

    Lseleccionado, la entrada LECTURA/ESCRITURA [ ] debe ser 1 . Adems,1

    Lla entrada [seleccin del CI] debe estar activada [0 , en este caso].L LLa combinacin de = 1 y CS = 0 , habilita los buffers de salida

    de manera que el contenido del registro seleccionado aparecer en lasL2-salidas de datos. = 1 , tambin deshabilita a los buffers de

    entrada de manera que las entradas de datos no afecten el contenidode la memoria durante la operacin de lectura.

    Habilitacin del CI.- Muchos circuitos de memoria tienen una o ms entradas que se usan para habilitar o deshabilitar al circuito en su totalidad.En el modo deshabilitado, todas las entradas y salidas de datos sedeshabilitan [alta-Z], de manera que no se puede ejecutar ningunaoperacin ni de lectura ni de escritura. La razn para tener variasentradas se aclarar cuando se combinen CIs de memoria para obtenermemorias de mayor capacidad. Note que muchos fabricantes llaman [ChipEnable] a estas entradas. Cuando las entradas o se encuentranen 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 memoriaestn diseados para consumir una potencia mucho menor cuando no estnseleccionados. En grandes sistemas de memoria, para una operacin dadade memoria, sern seleccionados uno o ms CIs de memoria mientras que

  • CAPTULO 5 - MEMORIAS - 224 -

    Carlos Novillo Montero Can

    los dems no.

    RAM Esttica [SRAM].- La operacin de la RAM que se ha analizandohasta ahora, se aplica a una RAM esttica [aquella que puede almacenardatos mientras se aplica energa al circuito]. Las celdas de la memoriaRAM esttica son en esencia flip-flops que permanecern en un estadodeterminado [almacenarn un bit] indefinidamente, siempre y cuandono se interrumpa el suministro de energa al circuito. Ms adelantese describir la RAM dinmica [DRAM], que almacena datos como cargasen capacitores. Con la RAM dinmica los datos almacenados desaparecerngradualmente debido a la descarga del capacitor, de manera que esnecesario refrescar los datos en forma peridica [recargar loscapacitores].Las SRAM se encuentran disponibles en tecnologas bipolar y MOS, aunque

    la vasta mayora de las aplicaciones hace uso de RAMs NMOS o CMOS.Las bipolares tienen la ventaja en velocidad [pero la NMOS cierragradualmente la brecha] y los dispositivos MOS tienen capacidades muchomayores con menor consumo de energa. La celda bipolar tiene 2transistores bipolares y 2 resistencias, en tanto que la celda NMOStiene 4 MOSFET de canal N. La celda bipolar requiere ms rea de circuitodebido a que un transistor bipolar es ms complejo que un E-MOSFET,y la celda bipolar requiere resistencias separadas, mientras que lacelda MOS utiliza MOSFET como resistencias. Una celda de memoria CMOSes semejente a una celda NMOS, excepto que emplea MOSFET de canal Ny P [complementarios]. Esto disminuye el consumo de energa, peroincrementa la complejidad del circuito.

    Temporizacin de la SRAM.- Las memorias RAM son los que ms frecuentementese utilizan como memoria interna de una computadora. La CPU efectaen forma continua operaciones de lectura y escritura en su memoriaa muy alta velocidad determinada por las limitaciones de la CPU. Lamemoria que se conecta a la CPU, debe ser lo suficientemente rpidapara responder a los comandos de lectura y escritura de la CPU, y undiseador de computadoras debe interesarse en las diversascaractersticas de temporizacin de la RAM.No todas las RAM tienen las mismas caractersticas de temporizacin

    pero muchas de ellas son similares, de manera que se utilizar unconjunto de caractersticas comunes con fines ilustrativos. La nomen-clatura de los diferentes parmetros de temporizacin variar de unfabricante a otro, pero el significado de cada parmetro es por logeneral fcil de determinar a partir de los diagramas de tiempo dela memoria en las hojas de especificaciones de la RAM. Las siguientesfiguras muestran los diagramas de tiempo de un ciclo de escritura yuno de lectura respectivamente de una RAM comn.

  • CAPTULO 5 - MEMORIAS - 225 -

    Carlos Novillo Montero Can

    Ciclo de Escritura.- La fig. 5.28 muestra la temporizacin de las sealespara un ciclo de escritura, que comienza cuando la CPU proporciona,

    0en t , una nueva direccin a la RAM. La CPU lleva las lneas y ASal estado BAJO despus de esperar un intervalo de tiempo, t , denominado

    tiempo de establecimiento de direccin. Esto brinda, a losdecodificadores de direccin de la RAM, el tiempo necesario pararesponder a la nueva direccin. Las seales y se mantienen

    Wen el nivel BAJO un intervalo de tiempo igual a t , denominado tiempode escritura.

    AS T =Tiempo de establecimiento de la nueva direccin [Address Setup Time]

    WP T = Tiempo de escritura [Write Pulse Time]

    DS T = Tiempo de establecimiento del dato [Data Setup Time]

    DH T = Tiempo de retencin del dato [Data Hold]

    AH T = Tiempo de retencin de la direccin [Address Hold]

    WC T = Tiempo del ciclo completo de escritura

    1En t , durante el intervalo de tiempo de escritura, la CPU enva albus de datos el dato vlido que se va a escribir en la RAM. Los datostienen que mantenerse en la entrada de la RAM por lo menos un intervalo

    DS DHde tiempo t previo a, y por lo menos un intervalo de tiempo t despus2 DSde la desactivacin de las seales y en t . El intervalo t recibe

    DHel nombre de tiempo de establecimiento del dato, mientras que t sedenomina tiempo de retencin del dato. De manera similar, las entradasde direccin deben permanecer estables durante el intervalo de retencin

    AH 2de la direccin, t , despus de t . Si no se satisface cualquiera deestos requisitos de tiempo, la operacin de escritura no se llevar

    WCa cabo de manera confiable. El ciclo completo de escritura, t , que0 4se extiende desde t hasta t , termina cuando la CPU cambia el estado

    de las lneas de direccin para colocar en ellas una nueva direccin

  • CAPTULO 5 - MEMORIAS - 226 -

    Carlos Novillo Montero Can

    para el siguiente ciclo de escritura o lectura.

    Ciclo de Lectura.- Las formas de onda de la fig. 5.29 muestran la maneraen que se comportan las entradas de direccin, de datos, y deseleccin del CI durante un ciclo de lectura de memoria. Como ya seindic, la CPU proporciona estas seales de entrada a la RAM cuandose desea leer el dato almacenado en una localidad de memoria especfica.La RAM puede tener muchas localidades cuya direccin proviene del busde direcciones de la CPU, en el diagrama aparecen, por claridad, comobus. En l tambin se encuentra la salida de datos de la RAM. Recuerdeque la salida de datos de la RAM est conectada al bus de datos dela CPU.

    0El ciclo de lectura empieza en el tiempo t . Antes de ese instante,las entradas de direccin tendrn la que se encuentre sobre el busde direccin, que corresponde a la operacin previa. Debido a que laentrada de seleccin del CI de RAM no est activa, sta no respondera la direccin anterior. Note que la lnea se encuentra en el

    0estado activo ALTO antes de t y permanece en l durante todo el ciclode lectura. En muchos sistemas de memoria, por lo general, semantiene en el estado ALTO excepto cuando se lleva al estado BAJO duranteel ciclo de escritura. La salida de datos de la RAM se encuentra ensu estado de alta-Z ya que = 1.

    ACC T = Tiempo de acceso [Access Time]

    CO T = Tiempo requerido para obtener en la salida un dato vlido [Chip-Enable OutputValid]

    OD T = Tiempo de salida de datos [Output-Data Time]

    RC T = Tiempo del ciclo de lectura [Read-Cycle Time]

    0En t , la CPU enva una nueva direccin a las entradas de la RAM;esta es la direccin de la localidad donde se realizar la operacin

  • CAPTULO 5 - MEMORIAS - 227 -

    Carlos Novillo Montero Can

    de lectura. Despus de dejar transcurrir el tiempo necesario para que1las seales de direccin se estabilicen, se activa la lnea . En t

    la RAM responde colocando el dato, contenido en la localidad cuyadireccin enva la CPU, en la lnea de salida de datos. El intervalo

    0 1 ACCentre t y t es el tiempo de acceso, t , de la RAM y es el tiempoque transcurre entre la aplicacin de una nueva direccin y la aparicinde un dato vlido en la salida de la memoria. El parmetro de

    COtemporizacin, t , es el tiempo que le toma a la salida de la RAM paracambiar su estado de alta-Z al estado de dato vlido una vez activadala seal .

    2En t , regresa al estado ALTO mientras que la salida de la RAMregresa a su estado de alta-Z despus de transcurrir cierto tiempo,ODt . De este modo, los datos colocados por la RAM en su salida pasan

    1 3al bus de datos entre t y t . La CPU puede tomar el dato del bus encualquier momento dentro de este intervalo. En muchas computadoras,

    2la CPU emplea la TPP [transicin positiva] de la seal en t , pararetener los datos en sus registros internos.

    RC 0El tiempo del ciclo de lectura completo, t , se extiende desde t4hasta t , que es cuando la CPU cambia las entradas de direccin a una

    direccin diferente para el siguiente ciclo de lectura o escritura.RC WCEl tiempo que dura el ciclo de lectura, t , o el de escritura, t ,

    est determinado esencialmente por la rapidez con la que trabaja elcircuito de memoria. Por ejemplo, en una aplicacin real, la CPU leea menudo palabras sucesivas de datos, una despus de otra. Si la memoria

    RCtiene un t de 50ns, la CPU puede leer una palabra cada 50ns, es decir20 millones de palabras por segundo [20MHz].

    FIGURA 5.30 MEMORIASRAM

  • CAPTULO 5 - MEMORIAS - 228 -

    Carlos Novillo Montero Can

    ENTRADAS

    MODO CS2 SALIDAS

    LECTURA 1 0 1 0 DATO-SAL

    ESCRITURA 0 0 1 X DATO-ENT

    DESHABILITACIN DE

    LAS SALIDAS1 X X 1 ALTA-Z

    NO SELECCIONADAS

    [Reduccin de energa]

    X 1 X XALTA-Z

    X X 0 X

    Memorias Dinmicas [DRAM].- Se fabrican con tecnologa MOS. Grancapacidad de almacenamiento. Bajo consumo de potencia. Velocidad deacceso media. Las DRAM guardan la informacin en forma de cargaselctricas en pequeos capacitores [pocos pF] MOS. Debido a que lainformacin tiende a perderse con el tiempo, es necesario un procesoque se denomina refresco de la DRAM, cuyo periodo es desde 2 hasta10ms. Esto es una desventaja puesto que requieren ms elementos parael diseo del sistema de memoria. Hay que incluir la circuitera parala operacin de refresco durante los intervalos de acceso para laoperacin de lectura o de escritura. Para baja capacidad [64KBytes] una versin usa chips denominadoscontroladores para memorias dinmicas que contienen toda la lgicanecesaria para refrescar los chips de DRAM que conforman el sistema.Esto reduce grandemente la circuitera de refresco.

    La fig. 5.31 es una representacin simblica de una celda de memoriadinmica. Los interruptores [SW1 - SW4] son MOSFETs controlados porla salida de varios decodificadores que actan junto con la seal .

    L LUn 1 en DATA-IN carga al capacitor y O lo descarga.En una operacin de escritura los interruptores SW1 y SW2 se cierran

    [SW3 y SW4, abiertos]. En una operacin de lectura todos losinterruptores se cierran a excepcin de SW1, esto significa que cadavez que se efecta una operacin de lectura se refresca la DRAM.

  • CAPTULO 5 - MEMORIAS - 229 -

    Carlos Novillo Montero Can

    Direcciones Multiplexadas.- La matriz de una DRAM de 16K X 1 tiene 14 entradaspara direcciones. Una matriz DRAM de 64K X 1 tendr 16 entradas paradirecciones. Una DRAM de 1M X 4 necesita 20 entradas de direccin. LosCIs de memoria de alta capacidad como estos, necesitan muchos terminalessi para cada bit de direccin se utiliza un terminal separado. Parareducir el nmero de terminales en los CIs DRAM de alta capacidad,los fabricantes emplean la multiplexin de direcciones, lo que permiteque cada terminal d cabida a dos bits de direccin. El ahorro en elnmero de terminales se traduce en una reduccin importante en el tamaode los CIs. A su vez, esto es muy importante en tarjetas de memoriade gran capacidad, donde se desea maximizar la cantidad de memoriaque se puede acomodar en una tarjeta.

    RSt = Row Setup Time

    CSt = Column Setup Time

    En la fig. 5.32BLQ-1 # Registro de 7-bits para la direccin de filasBLQ-2 # Decodificador de direccin de filasBLQ-3 # Registro de 7-bits para la direccin de columnasBLQ-4 # Decodificador de direccin de columnas

  • CAPTULO 5 - MEMORIAS - 230 -

    Carlos Novillo Montero Can

    Se utilizar el CI-4116, una DRAM de 16K X 1, para ilustrar la ideade la multiplexacin de direcciones. En la figura 5.32 a) se encuentraun diagrama simplificado de la arquitectura interna de este CI. ElCI contiene una matriz de celdas dispuestas en 128 filas y 128 columnas.Existe una sola lnea de entrada de datos, una sola lnea de salidapara datos y una entrada . Tambin existen siete entradas para

    0 7direcciones y cada una tiene una doble funcin [por ejemplo A /A0 7funcionar como A y A ]. Asimismo, se incluyen dos entradas de seleccin

    para sincronizar las direcciones de fila y columna en loscorrespondientes registros que se encuentran en el CI. La seal deseleccin de fila [Row Address Selection] almacena los 7-bits menossignificantes del bus de direccin en el registro de 7-bits [BLQ-1]asociado con las direcciones de filas, mientras que la seal de seleccinde columna [Column Address Selection] almacena los 7-bits mssignificantes del bus de direccin en el registro de 7-bits [BLQ-3]asociado con las direcciones de columnas.

    La direccin de 14 bits se enva a la DRAM en dos pasos, utilizandopara ello las seales y . El diagrama de temporizacin se ilustraen la fig. 5.32b). Inicialmente, y se encuentran en estado

    0ALTO. En el tiempo t , se aplica en las entradas de direccin los 7bits menos significantes que corresponden a la direccin de la fila0 6A a A . Despus de esperar a que transcurra el tiempo de establecimiento

    RSrequerido [t ] para el registro de direccin de fila, la seal 1cambia a t hacia el nivel BAJO. La transicin negativa carga la

    direccin de la fila en el registro de direcciones de fila, por lo0 6que ahora A a A aparecen en la entrada del decodificador de filas.

    El nivel BAJO en tambin habilita este decodificador para que puedadecodificar las direcciones de fila y seleccionar una de las filasde la matriz.

    2En el tiempo t se aplica la direccin de 7 bits ms significantes7 13 3[A a A ] correspondiente a la columna. En t , la entrada cambia

    a nivel BAJO para cargar la direccin de la columna en el registrode direcciones de la columna. tambin habilita el decodificadorde columna para que ste pueda decodificar la direccin de columnay seleccionar una columna de la matriz.

    Ahora, las dos partes de la direccin se encuentran en sus respectivosregistros, y los decodificadores las han decodificado para seleccionarla celda que corresponde a las direcciones de fila y columna; por tanto,ya se puede realizar una operacin de escritura o lectura sobre esacelda, al igual que en una RAM esttica. Esta DRAM no tiene una entradade seleccin de circuito [CS]. Las seales y llevan a caboesa funcin ya que ambas deben estar en nivel BAJO para que losdecodificadores seleccionen una celda para escritura o lectura.

    Cambio de Formato de las Memorias.- En muchas aplicaciones de memoria

  • CAPTULO 5 - MEMORIAS - 231 -

    Carlos Novillo Montero Can

    la capacidad de almacenamiento requerido en RAM o ROM o bien el tamaode la palabra no puede ser satisfecha por un microcircuito de memoria.En cambio, varios circuitos integrados de memoria pueden combinarsepara ofrecer la capacidad y el tamao de palabra deseados. Se observarcmo se hace esto a travs de varios ejemplos que ilustran los conceptosms importantes que se necesitarn cuando se conecten los CIs de memoriacon un microprocesador.

    Expansin del Tamao de la Palabra.- Suponga que se necesita una memoriaque pueda almacenar M-palabras de 8-bits [M = 2 ] y todo lo que se tienenson circuitos RAM como arreglos de M-palabras de 4 lneas de E/S comunes.Podemos combinar dos de estos CIs de M-palabras x 4 para producir lamemoria que se busca. La configuracin para realizar esto se muestra,como diagrama de bloques, en la fig. 5.33. Examine este diagramacuidadosamente y vea qu puede indagar de l antes de seguir.

    Por ejemplo, se dispone de memorias de 1K X 4 y se desea implementaruna de 1KByte. Como cada circuito puede almacenar 1024 palabras de4-bits y se desea almacenar 1024 palabras de 8-bits, se utilizan 2CI-RAM cada uno para almacenar la mitad de cada palabra, es decir,la RAM-0 almacena los 4-bits menos significantes de cada una de las1024 palabras y la RAM-1 almacena los 4-bits ms significantes de cadauna de las 1024 palabras. En las salidas de la RAM conectadas al busde datos se dispone de una palabra completa de 8-bits.

    Cualquiera de estas 1024 palabras se selecciona mediante la aplicacindel cdigo de direccin adecuado al bus de direcciones de n-lneas

    n-1 0[A , ..., A ]. Las lneas de direccin generalmente provienen de laCPU. Observe que cada lnea del bus de direccin est conectada a lacorrespondiente entrada de direccin de cada circuito. Esto significaque una vez que un cdigo de direccin se coloque en el bus dedirecciones, este mismo cdigo se aplicar a ambos circuitos de maneraque se tenga acceso simultneo a la misma localidad en cada circuito.

    Una vez seleccionada la direccin, se puede escribir o leer en esta

  • CAPTULO 5 - MEMORIAS - 232 -

    Carlos Novillo Montero Can

    direccin con las lneas del control y . Para leer, debeestar en alto y debe estar en bajo.

    Esto ocasiona que las lneas de E/S de la RAM acten como salidas.La RAM-1 coloca su palabra de 4-bits seleccionada en las 4 lneassuperiores del bus de datos y la RAM-0 las coloca en las 4 lneasinferiores del mismo bus de datos. As, el bus de datos contiene lapalabra de 8-bits seleccionada, la que ahora puede transmitirse haciaotro dispositivo [generalmente un registro de la CPU]. La fig. 5.34muestra la memoria RAM de 1Kx8 pedida.

    Para escribir, = 0 y = 0 hacen que las lneas de E/S de laRAM acten como entradas. La palabra de 8-bits que se va a escribirse coloca sobre el bus de datos, [lo que en general hace la CPU]. Los4-bits ms significantes se escriben en la localidad seleccionada dela RAM-1, mientras que los 4 menos significantes se escriben en laRAM-0. En esencia, la combinacin de las dos RAMs, acta como una solamemoria de 1K X 8. A esta combinacin se la conoce como un mdulo dememoria de 1K X 8 [1KByte].

    No todas las RAM tienen las mismas caractersticas de temporizacinpero muchas de ellas son similares, de manera que se utilizar unconjunto de caractersticas comunes con fines ilustrativos. La nomen-clatura de los diferentes parmetros de temporizacin variar de unfabricante a otro, pero el significado de cada parmetro es por logeneral fcil de determinar a partir de los diagramas de tiempo dela memoria en las hojas de especificaciones de la RAM. Las siguientesfiguras muestran los diagramas de tiempo de un ciclo de escritura yuno de lectura respectivamente de una RAM comn.

  • CAPTULO 5 - MEMORIAS - 233 -

    Carlos Novillo Montero Can

    Expansin del Nmero de Palabras.- La fig. 5.35 muestra el caso en quese dispone de memorias RAM de M-palabras de 8-bits cada una, con ellasse ha construido una memoria de 2M-palabras de 8-bits. Para tal propsitose requiere de un decodificador de direccin externo para las lneasde direccin adicionales, que en este caso es un decodificador de 1-a-2.

    Las lneas de salida de cada una de las memorias debe ser de 3-estadospara evitar la interferencia de los datos, de modo que cuando seseleccione uno de los bloques, las salidas del otro estn en altaimpedancia.

    Ejemplo.- Con memorias RAM de 1K X 8, disear una memoria RAM de 2K X 8.La fig. 5.36 muestra la memoria RAM pedida, para este caso se requiere

    10una lnea de direccin adicional [A ]. La lnea de direccin adicionalva a un decodificador de direccin constituido por un decodificadorde 1-2. Para mayores capacidades de memoria, el decodificador de di-reccin puede resultar ms complejo, en cuyo caso se recomienda utilizarun decodificador MSI, como el CI-74139, el CI-74138, etc. La RAM-0entrega las 1024 primeras palabras [localidades de 0 a 1023] y la RAM-1las otras 1024 palabras [localidades de 1024 a 2047].

  • CAPTULO 5 - MEMORIAS - 234 -

    Carlos Novillo Montero Can

    Expansin del Nmero de Palabras y del Nmero de Bits.- El siguiente casose da cuando se requiere aumentar la capacidad de palabras y la capacidadde bits por palabra. La fig. 5.37 muestra un diagrama de bloques enel que se han utilizado bloques de memoria de M-palabras de 4-bitscada una y se ha implementado una memoria de 4xM-palabras de 8-bits.

    FIGURA 5.36 EXPANSIN DEL NMERO DE PALABRAS

  • CAPTULO 5 - MEMORIAS - 235 -

    Carlos Novillo Montero Can

    Para poder realizar esta memoria se requieren 2-lneas de direccinn n+1adicionales [A y A ] que ingresan a un decodificador de direccin

    de 2-4 con salida de acuerdo al tipo de CE de las memorias utilizadas,en este caso, como los CE de las memorias se activan con nivel bajo,las salidas del decodificador deben ser de nivel activo bajo como se indicaen la fig. 5.37. La lnea de habilitacin [G] del decodificador se comandacon el bus de control que viene de la CPU.

    La fig. 5.38 muestra un ejemplo de expansin del nmero de palabrasy del nmero de bits por palabra. En este caso de dispone de memoriasde 256 X 4 y se desea implementar una memoria de 1024 x 8. Cada bloque

    0 7de memoria dispone de 8-lneas para el bus de direccin [A -A ], 4-lneas0 3para el bus de datos[D -D ], una lnea y una lnea .

  • CAPTULO 5 - MEMORIAS - 236 -

    Carlos Novillo Montero Can

    El circuito de memoria resultante tendr de 10-lneas para el bus0 9 0 7de direccin [A -A ], 8-lneas para el bus de datos [D -D ], un

    decodificador de direccin de 2-a-4 [salidas con nivel activo bajo]8 9para las 2-lneas de direccin adicionales [A -A ] requeridas para

    completar las 10.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 filacontribuye con 256-palabras y cada columna con 2-bits, dando un totalde 1024-palabras de 8-bits cada palabra.

    FIGURA 5.38 EJEMPLO DE EXPANSIN DEL NMERO DE PALABRAS Y DE BITS

  • CAPTULO 5 - MEMORIAS - 237 -

    Carlos Novillo Montero Can

    Decodificacin Completa.- Hasta este momento para variar la capacidadde la memoria se ha utilizado solo el nmero de lneas de direccinestrictamente necesario para este propsito, esto es una forma dedecodificacin parcial del bus de direccin.

    Cuando se trabaja con una CPU se dispone de un nmero de lneas dedireccin bien definido, por ejemplo, los microcontroladores de laserie 8751/52 disponen de un bus de direccin de 16 lneas, se podratrabajar con decodificacin parcial, lo que resulta ms fcil, perose corre el riesgo de que se puedan generar direcciones de memoriafalsas. En esos casos es preferible utilizar la decodificacin completa,que cosiste en utilizar todas las lineas del bus de direccin que poseala CPU, las lneas de direccin que no se conectan directamente a lasentradas de las memorias debern ir a un decodificador externo paradireccin, que es el que controlar la ubicacin exacta de cada bloquede memoria.

    Mapa de Memoria.- Es conveniente fragmentar toda la capacidad de memoriaque puede comandar una CPU en varias secciones, tambin llamadas pginaso simplemente bloques de memoria.

    La fig. 5.39 muestra un mapa de memoria para el circuito de memoriade la fig. 5.40, de 16KBytes implementada con memorias de 4Kx4. En estecaso se ha utilizado un decodificador de direccin de 4-a-16 [CI-74154],de modo que los bloques de memoria puedan ubicarse en cualquier lugardel mapa.

    FIGURA 5.39

  • CAPTULO 5 - MEMORIAS - 238 -

    Carlos Novillo Montero Can

    FIGURA 5.40 EJEMPLO DE DISTRIBUCIN DE BLOQUES EN EL MAPA DE MEMORIA

    Por ejemplo, el bloque de memoria cuyo est conectado a la lnea0Y del decodificador, ocupa las localidades de memoria que van desde

    0000H hasta 0FFFH [BLQ-00]; el bloque de memoria conectado a la lnea1Y ocupa las direcciones desde 1000H hasta 1FFFH [BLQ-01]; el bloque

    7conectado a Y , las direcciones 7000H hasta 7FFFH [BLQ-07], etc. Seobserva que los bloque de memoria no ocupan necesariamente direccionesconsecutivas.

    Diseo Combinacional con Memorias ROM.- En el diseo combinacional seK-1 n-1 0 0 n-1deben implementar las funciones de salida: F ; ...; F

  • CAPTULO 5 - MEMORIAS - 239 -

    Carlos Novillo Montero Can

    0 n-1 0..., X >; donde X , ..., X , son las variables binarias de entrada,[fig. 5.41].

    El diseo clsico plantea el problema desde el punto de vista dela minimizacin de las compuertas lgicas que se necesitan paraimplementar las funciones deseadas. Para esto, generalmente se utilizanlos mtodos del mapa-K para funciones de 4- o 5-variables o el de Quine-McCluskey para un mayor nmero de variables.

    La memoria ROM cumple justamente con la funcin indicada en la fig.5.35n-1 0si se considera a las variables de entrada X , ..., X , como las di-

    k-1 0recciones y las funciones F , ..., F , como las salidas de datos dela memoria ROM [fig. 5.42].

    Ejemplo.- En este caso se desea implementar un circuito combinacionalque acepte 4-variables de entrada [D, C, B, A] y que genere cuatro

    3 2 1 0funciones de salida [F , F , F , F ]. Para esto se requiere una memoriaROM de 16x4. Las lneas de direccin de la memoria corresponden a cada

    3 2 1 0una de las variables de entrada [D = A ; C = A ; B = A ; A = A ] y las3 3 2lneas de datos a cada una de las variables de salida [F = D ; F =

    2 1 1 0 0D ; F = D ; F = D ]. El contenido de la ROM corresponde a la informacinrequerida para cada una de las variables de salida.

    0F = Gm(3,6,9,12,15)1F = M(0,3,5,6,9,10,12,15)2F = M(1,4,6,9,10,14,15)3F = Gm(1,2,3,6,8,9,13,14)

    Variables de Ent Variables de Sal

    3 2 1 0HEX D C B A F F F F HEX

    FIGURA 5.41 CIRCUITO LGICO COMBINACIONAL

    FIGURA 5.42 MEMORIA ROM PARA GENERAR FUNCIONES LGICASCOMBINACIONALES

  • CAPTULO 5 - MEMORIAS - 240 -

    Carlos Novillo Montero Can

    0 0 0 0 0 0 1 0 0 4

    1 0 0 0 1 1 0 1 0 A

    2 0 0 1 0 1 1 1 0 E

    3 0 0 1 1 1 1 0 1 D

    4 0 1 0 0 0 0 1 0 2

    5 0 1 0 1 0 1 0 0 4

    6 0 1 1 0 1 0 0 1 9

    7 0 1 1 1 0 1 1 0 6

    8 1 0 0 0 1 1 1 0 E

    9 1 0 0 1 1 0 0 1 9

    A 1 0 1 0 0 0 0 0 0

    B 1 0 1 1 0 1 1 0 6

    C 1 1 0 0 0 1 0 1 5

    D 1 1 0 1 1 1 1 0 E

    E 1 1 1 0 1 0 1 0 A

    F 1 1 1 1 0 0 0 1 1

    A3 A2 A1 A0 D3 D2 D1 D0

    D I R E C C I N C O N T E N I D O

    M E M O R I A

    Para la solucin del problema conviene implementar una tabla de verdadpara estas funciones. La fig. 5.43 muestra el circuito correspondiente.En la tabla anterior, se ve que las variables de entrada [D, C, B,

    3 2 1 0A] corresponden a la lneas de direccin [A , A , A , A ] y que las3 2 1 0funciones de salida F , F , F y F corresponden las salidas de la ROM

    3 2 1 0D , D , D y D respectivamente. Cada uno de los DIP-switchs sirve paragenerar la variable de entrada correspondiente [D, C, B, A], tambinpodran provenir de algn otro circuito lgico.

    Codificacin y Decodificacin con Memorias ROM.- El circuito de la fig. 5.44muestra una aplicacin prctica para conversin de 4-cdigos de 8-bitsde entrada a cdigos de 8-bits de salida. Las lneas de direccin A8y A9, sirven para seleccionar el cdigo de entrada como se muestra

    FIGURA 5.43 MEMORIA ROM PARA GENERAR LAS FUNCIONESBOOLEANAS PEDIDAS

  • CAPTULO 5 - MEMORIAS - 241 -

    Carlos Novillo Montero Can

    en la tabla correspondiente.

    SELEC. CDIGO DE

    ENTRADA

    CDIGO DE

    SALIDAA9 A8

    0 0 ASCII EBCDIC

    0 1 EBCDIC ASCII

    1 0 BIN GRAY

    1 1 GRAY BIN

    EJEMPLO

    Generacin de Caracteres con Memoria ROM.- En la fig. 5.45 se utilizauna ROM de 1Kx8 para comandar una matriz de 8x8 LEDs, donde serepresentarn grficamente todos los smbolos del cdigo ASCIInormalizado de 7-bits. Para la formacin de cada carcter se necesitan8 localidades de memoria [donde se guardan los 8-cdigos necesariospara cada carcter] para los datos de las columnas, por tanto se

    2 1 0requieren 3-lneas de direccin [A , A , A ]. Las salidas del contador2 1 0mdulo 8 [Q , Q , Q ] sirven para generar las 3-lneas de direccin menos

    2 1 0significantes [A , A , A ] respectivamente. Tambin las salidas delcontador se conectan al decodificador de 3-a-8, que sirve para generar

    7 0el barrido de las columnas de la matriz de LEDs [C -C ]; conviene indicarque solo una columna est habilitada cada vez, pero el proceso se repitecontinuamente dando la impresin de que el carcter se forma como sit o d a s l a s c o l u m n a s e s t u v i e r a nhabilitadas al mismo tiempo.

    COMAN

    DO DE

    FILAS

    COLUMNAS

    A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

    1 1 0 0 0 0 1 X X X

    Cdigo ASCII de la a [61H] Q2 Q1 Q0

    FIGURA 5.44 ROM COMO DECODIFICADOR

  • CAPTULO 5 - MEMORIAS - 242 -

    Carlos Novillo Montero Can

    FIGURA 5.45

  • CAPTULO 5 - MEMORIAS - 243 -

    Carlos Novillo Montero Can

    M E M O R I A

    DIREC CONT

    308H 32H

    309H 49H

    30AH 49H

    30BH 49H

    30CH 49H

    30DH 3EH

    30EH 40H

    30FH 00H

    La ROM guarda los cdigos que controlan la matriz para que aparezcael carcter seleccionado por el cdigo ASCII de ese carcter, que se

    9 3coloca en las lneas de direccin ms significantes [A -A ] y cuyas7 0 7 0salidas [D -D ] controlan las filas de la matriz de LEDs [F -F ]. Como

    2ejemplo se muestra la letra a, cuyo cdigo ASCII es 61H [110 0001 ],9 8 7que servir como la parte ms significante del bus de direccin [A A A

    6 5 4 3A A A A ], como se indica en la tabla de contenido, adjunta a la fig.5.45.

    La fig. 5.46 muestra otro ejemplo con la letra N [ASCII 4EH = 1002 9 8 7 6 5 4 31110 / A A A A A A A ]. Analice los dos ejemplos y saque sus conclusiones.

    COMANDO DE FILAS COLUMNAS

    A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

    1 0 0 1 1 1 0 X X X

    Cdigo ASCII de la N [4EH] Q2 Q1 Q0

    M E M O R I A

    DIREC CONT

    270H 7FH

    271H 02H

    272H 04H

    273H 08H

    274H 10H

    275H 20H

    276H 7FH

    277H 00H

    La salida de la memoria ROM no puede comandar directamente la cantidadFIGURA 5.46

  • CAPTULO 5 - MEMORIAS - 244 -

    Carlos Novillo Montero Can

    de corriente que requiere la matriz de LEDs. La fig. 5.47 muestraparcialmente la circuitera que se debe aadir para solucionar elproblema de la corriente, en el anexo correspondiente se muestra lamatriz de LEDs completa.

    Para comandar la filas, se necesita un buffer [CI-74244] y untransistor NPN para cada salida de datos. Las saldas del decodificador74138 tambin necesitan transistores PNP para comandar cada una delas 8 columnas de la matriz.

    Diseo Secuencial Sincrnico con Memorias ROM.- Cuando se debe disearun circuito combinacional o secuencial de gran complejidad, es msaconsejable utilizar elementos programable del tipo FPGAs y memoriasROM. En este caso el inters se centra en la utilizacin de memoriasROM para el diseo de circuitos secuenciales sincrnicos.

    Controlador de N-Pasos sin Saltos.- Para generar una forma de ondacualquiera, o un controlador de N-pasos, se puede usar el circuitoque se nuestra en la fig. 5.48.

    FIGURA 5.47 CIRCUITO DE COMANDO PARA LA MATRIZ DE LEDs

  • CAPTULO 5 - MEMORIAS - 245 -

    Carlos Novillo Montero Can

    Se requiere de un contador 74LS163 que tiene una entrada de borrado0 L[CLR] sincronizada con el reloj. La salida D de la ROM es 1 en todas

    las localidades de la ROM, excepto para la localidad [N-1] en la que0 LD = 0 . Durante la direccin [N-1] la entrada CLR del contador serL0 , con el siguiente pulso de 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 propagacin [retardos] a travsde ella, se puede colocar un registro de FFs tipo-D a la salida dela ROM que tomar los datos [comando] que salen de la ROM de formasincrnica con la seal de reloj.

    Ejemplo.- Utilizando una memoria ROM y un contador, disear un circuitosecuencial sincrnico que permita generar las formas de onda [peridicas]que se muestran en la fig. 5.49.

    La informacin binaria de las formas de onda requeridas se presentaen la siguiente tabla, en ella tambin se observa una columna concondiciones no importa [X], de la memoria ROM solo se necesitan 3 salidas

    2 2 1 1 0 0[D , para la funcin F ; D , para F y D , para F ]. La salida D0 no esnecesaria, pero se la pude usar como una salida para controlar la paridaddel sistema, como bit de comprobacin.

    FIGURA 5.48 DISEO SECUENCIALSINCRNICO CON MEMORIAS ROM

    FIGURA 5.49 FORM AS DE ONDA DEL EJEM PLO

  • CAPTULO 5 - MEMORIAS - 246 -

    Carlos Novillo Montero Can

    3 2 1 0 3 2 1 0Q Q Q Q F F F F

    0 0 0 0 0 0 1 0

    0 0 0 1 1 0 1 1

    0 0 1 0 1 0 0 1

    0 0 1 1 0 1 0 1

    0 1 0 0 0 1 0 0

    0 1 0 1 1 1 1 0

    0 1 1 0 1 1 0 1

    0 1 1 1 0 0 1 0

    1 0 0 0 0 0 1 0

    1 0 0 1 1 0 1 0

    1 0 1 0 1 1 0 0

    1 0 1 1 0 0 0 1

    1 1 0 0 0 0 1 1

    1 1 0 1 1 1 1 1

    1 1 1 0 1 1 1 1

    1 1 1 1 0 0 1 0

    3 2 1 0 3 2 1 0A A A A D D D D

    D I R E C C I N C O N T E N I D O

    M E M O R I A

    De manera que, la memoria estar programada con la informacin[contenido] que se muestra en la tabla anterior. Para implementar elcircuito pedido, tambin se requiere de un contador de mdulo igualal nmero de valores diferentes que tienen las funciones sincrnicasque se desea implementar. En la tabla anterior se puede apreciar que

    2 1 0las lneas de direccin de la ROM [A , A y A ] estn comandadas por2 1 0las variables de estado actual [Q , Q y Q ] respectiva-mente, y que

    2 1 0 2las salidas de la ROM [D , D y D ] generan las funciones de salida [F ,1 0F y F ] respectivamente.La memoria estar programada con la informacin que se muestra en

    la tabla anterior. Para implementar el circuito pedido, es necesario

    FIGURA 5.50 MEMORIA ROM PARA GENERAR LASFORMAS DE ONDA DEL PROBLEMA

  • CAPTULO 5 - MEMORIAS - 247 -

    Carlos Novillo Montero Can

    un contador de mdulo igual al nmero de valores diferentes que tienenlas funciones sincrnicas que se desea implementar. La memoria ROMtiene la capacidad suficiente para almacenar los datos de las funcionespedidas una ROM de 16x4, en este caso, solo se requieren 3-lneas de

    3salida, de modo que no se utilizar la lnea D , fig. 5.50, sin embrago,se lo podra aprovechar como bit de paridad para la deteccin de posibleserrores. La tabla muestra el valor que toman las salidas del contadory que corresponden a las lneas de direccin de la memoria; el contenidode la ROM representa cada uno de los valores que tomarn las variablesde salida.

    Controlador de Programa con Saltos Condicionados y no Condicionados.- Elcircuito de la fig. 5.48 muestra un caso general de la utilizacinde una ROM, para el controlador de programas con saltos condicionadosy no condicionados. El circuito incrementa el contenido del contadorcon cada transicin positiva del reloj, sin embargo, para que el programapueda realizar saltos, es necesario que la nueva posicin del programapueda definirse de manera arbitraria.

    Con cada transicin positiva del reloj se toma la informacinalmacenada en la ROM de control; esa informacin depende de las variablesde entrada y del estado actual y puede definirse arbitrariamente alprogramar la memoria.

    En la fig. 5.51 puede verse que en algunas de las entradas de direccinde la ROM se han conectado las variables de entrada y en las restantes,se realimentan las salidas correspondientes al estado actual. El registrode almacenamiento es para mantener el sincronismo de la red. Acontinuacin se presentan algunos ejemplos de aplicacin de las memorias

    FIGURA 5.51 CONTROL DE SALTOS CONDICIONADOS Y NO CONDICIONADOS

  • CAPTULO 5 - MEMORIAS - 248 -

    Carlos Novillo Montero Can

    ROM en el diseo de circuitos secuenciales sincrnicos.

    Ejemplo 1.- Mediante el uso de una ROM de la capacidad adecuada, disearun circuito secuencial sincrnico que detecte la siguiente secuencia.Al trmino de la deteccin, el circuito debe regresar al estado inicial.

    LEl circuito dispone de una salida Z que tomar el valor 1 solo cuandose cumpla la secuencia.

    t 1 2 3 4

    0X 0 1 0 1

    1X 1 1 0 0

    Para la solucin de este problema se procede de igual for