Apuntes de Sistemas Digitales II

download Apuntes de Sistemas Digitales II

of 130

description

apuntes sobre sistemas digitales, segunda parte

Transcript of Apuntes de Sistemas Digitales II

TEMARIO

I. CONCEPTOS BASICOS

Una computadora digital es una combinacin de dispositivos y circuitos digitales que pueden realizar una secuencia programada de operaciones con un mnimo de intervencin humana. A la secuencia de operaciones se le domina programa. El programa es un conjunto de instrucciones codificadas que se almacena en la memoria interna de la computadora con todos los datos que el programa requiere. Cuando a la computadora se le ordena ejecutar el programa, esta lleva acabo las instrucciones en el orden en que estn almacenadas en la memoria hasta que el programa se completa. Esto lo hace a velocidades extremadamente altas sin cometer ningn error.

1.1 Elementos y Caractersticas de un Sistema de Computo

Toda computadora contiene cinco elementos o unidades esenciales. La unidad aritmtica-1ogica (ALU por sus siglas en ingles), la unidad de memoria, la unidad de control, la unidad de entrada y la unidad de salida. La interconexin bsica de estas unidades se muestra en la figura 1.1. Las flechas en este diagrama indican la direccin en la cual fluyen los datos, informacin o seales de control. Se usan dos flechas de diferente tamao; las flechas mayores representan datos o informacin que consisten en un nmero relativamente grande de lneas paralelas y las flechas menores representan seales de control que por lo general son slo una o unas cuantas lneas. Las diversas flechas tambin se numeran para permitir un fcil acceso a ellas en las descripciones que siguen.

Unidad aritmtica-1gica. La ALU es rea de la computadora en la cual se realizan operaciones aritmticas y 1gicas con datos. El tipo de operacin que se realizar se determina por medio de seales de la unidad de control (flecha 1). Los datos que sern utilizados por la ALU pueden provenir de la unidad de memoria (flecha 2) o de la unidad de entrada (flecha 3). Los resultados de operaciones realizadas en la ALU pueden transferirse a la unidad de memoria para ser almacenados (flecha 4) o a la unidad de salida (flecha 5).

Figura 1.1 Organizacin bsica de la computadora

Unidad de memoria. La memoria almacena grupos de dgitos (palabras) binarios que pueden representar instrucciones (programa) que la computadora ejecutar y los datos que sern operados por el programa. La memoria sirve tambin como almacenamiento de resultados intermedios y finales de operaciones aritmticas (flecha 4). La operacin de la memoria es controlada por la unidad de control (flecha 6), que indica una operacin de lectura o de escritura. Una localidad dada en la memoria se accesa por la unidad de control, la cual proporciona el cdigo de direccin adecuado (flecha 7). Puede escribirse informacin en la memoria de la ALU o de la unidad de entrada (flecha 8), una vez ms bajo el control de la unidad de control. Puede leerse informacin de la memoria de la ALU (flecha 2) o de la unidad de entrada (flecha 9).

Unidad de entrada. Esta unidad consta de todos los dispositivos que se usan para tomar informacin y datos externos a la computadora y colocarlos en la unidad de memoria (flecha 8) o la ALU (flecha 3). La unidad de control determine hacia dnde se enva la informacin de entrada (flecha 10). La unidad de entrada se utiliza para meter el programa y los datos en la unidad de memoria antes de poner en marcha la computadora. Esta unidad se usa asimismo para introducir datos en la ALU desde un dispositivo externo durante la ejecucin de un programa. Algunos de los dispositivos de entrada comunes son los teclados, interruptores, impresoras, unidades de disco magntico, unidades de cinta magntica y convertidores de analgico en digital (ADC).

Unidad de salida. Esta unidad consta de los dispositivos que se usan para transferir datos e informacin de la computadora al "mundo exterior". Los dispositivos de salida son dirigidos por la unidad de control (flecha 12) y pueden recibir datos de la memoria (flecha 9) o de la ALU (flecha 5), los cuales despus se ponen en forma adecuada para uso externo. Algunos ejemplos de dispositivos de salida comunes son dispositivos de exhibicin LED, luces indicadoras, impresoras, unidades de disco o cinta, monitores de vdeo y convertidores de digital a analgico (DAC).

Conforme la computadora ejecuta su programa, generalmente tiene resultados o seales de control que debe presentar al mundo exterior, Por ejemplo, un sistema de computacin podra tener una impresora de lneas como dispositivo de salida. Aqu, la computadora enva seales para imprimir los resultados en papel. Una microcomputadora podra exhibir sus resultados en luces indicadoras o en dispositivos de exhibicin visual LED.

Interfase. El aspecto ms importante de las unidades E/S implica la interfase que puede definirse como la unin de dispositivos dismiles en tal forma que puedan funcionar de manera compatible y coordinada. La interfase de la computadora se define ms especficamente como la sincronizacin de la transmisin de informacin digital entre la computadora y dispositivos externos de entrada/salida.

Muchos dispositivos de entrada/salida no son directamente compatibles con la computadora debido a diferencia en caractersticas como velocidad de operacin, formato de datos (por ejemplo, hex, ASCII, binario), modo de transmisin de datos (por ejemplo, serial, paralelo) y nivel de seales 1gicas. Dichos dispositivos E/S requieren circuitos especiales de interfase que les permitan comunicarse con las porciones CONTROL, MEMORIA y ALU del sistema de la computadora. Un ejemplo comn es la terminal de video (que se abrevia VDT), la cual puede operar como dispositivo de entrada y de salida. La VDT transmite y recibe datos en serie (un bit a la vez) mientras que la mayora de las computadoras manejan datos en forma paralela. Por lo tanto, una VDT requiere circuitos de interfase a fin de enviar datos o recibirlos de una computadora.

Unidad de control. La funcin de la unidad de control debe ser obvia ahora. Dirige la operacin de todas las otras unidades ofreciendo seales de temporizacin y control. En cierto sentido, la unidad de control es como el director de una orquesta, quien es responsable de mantener a cada uno de los miembros de la orquesta en sincronizacin adecuada. Esta unidad contiene circuitos 1gicos y de temporizacin que generan las seales adecuadas que se necesitan para ejecutar cada instruccin en un programa.

La unidad de control extrae una instruccin de la memoria enviando una direccin (flecha 7) y un comando de lectura (flecha 6) a la unidad de memoria. La palabra de instruccin almacenada en la localidad de la memoria se transfiere despus a la unidad de control (flecha 11). Esta palabra de instruccin, la cual esta en alguna forma de cdigo binario, es decodificada despus por los circuitos 1gicos de la unidad de control para determinar que instruccin es solicitada. La unidad de control utiliza esta informacin para generar las seales necesarias para ejecutar la instruccin.

Unidad central de procesamiento (CPU). En la figura 1.1, la ALU y las unidades de control se muestran combinadas en una unidad denominada unidad central de procesamiento CPU por sus siglas en ingls. Esto se hace comnmente con el objeto de separar el "cerebro" real de la computadora de las otras unidades. Utilizaremos la designacin CPU en nuestro trabajo con las microcomputadoras debido a que, como observaremos, en las microcomputadoras la CPU a menudo est encapsulada en un solo Cl LSI llamado microprocesador.

Elementos bsicos de la microcomputadora

Es importante que comprendamos la distincin entre la microcomputadora ((C) y el microprocesador ((P). Una microcomputadora contiene varios elementos, donde el microprocesador es el ms importante de todos ellos. En general, el microprocesador est contenido en un solo CI que contiene toda la circuitera de las unidades de control y aritmtica-lgica en otras palabras, la CPU. Es comn referirse al microprocesador como la MPU (unidad microprocesadora) dado que sta es la CPU (unidad central de procesamiento) de la microcomputadora. Lo anterior se ilustra en la figura 1.2, donde aparecen los elementos bsicos de una microcomputadora.

La unidad de memoria muestra dispositivos RAM y ROM. La seccin de la RAM consta de uno o ms circuitos LSI conectados para ofrecer la capacidad de memoria diseada. Esta seccin de la memoria se utiliza para almacenar programas y datos, los cuales cambiaran con frecuencia durante el curso de la operacin. Tambin se utiliza como almacenamiento de resultados intermedios y finales de operaciones realizadas durante la ejecucin de un programa.

La seccin de la ROM consta de uno o ms circuitos LSI para almacenar instrucciones y datos que no varan. Por ejemplo, podran almacenar un programa que ocasiona que la (C monitoree continuamente un teclado o bien podra almacenar una tabla de cdigos ASCII que se necesitan para exhibir la informacin en una VDT o en una impresora.

Las secciones de entrada y salida contienen los circuitos de interfase que se necesitan para permitir que los dispositivos E/S se comuniquen adecuadamente con el resto de la computadora. En algunos casos estos circuitos son circuitos LSI diseados por el fabricante del MPU para sincronizar su MPU con varios dispositivos E/S. En otros casos los circuitos de interfase pueden ser tan simples como un registro.

Figura 1.2 Elementos bsicos de una microcomputadora ((C).

El microprocesador (MPU). El MPU es el corazn de cualquier microcomputadora. Realiza muchas funciones, entre las que se incluyen:

1. Proporcionar las seales de control y temporizacin para todos los elementos de la microcomputadora.

2. Extraer las instrucciones y los datos de la memoria.

3. Transferir los datos a y desde la memoria y los dispositivos de entrada/salida.

4. Decodificacin de instrucciones.

5. Ejecutar las operaciones aritmticas y 1gicas invocadas por las instrucciones.

6. Responder a las seales de control generadas en entrada/salida tales como

REINICIO E INTERRUPCION.

El MPU contiene toda la circuitera 1gica necesaria para llevar a cabo las funciones anteriores pero, en general, no existe manera de tener acceso a la 1gica interna. En lugar de ello, se puede controlar lo que ocurre dentro del MPU mediante un programa formado por varias instrucciones mismo que se coloca en la memoria para que el MPU lo ejecute. Esto es lo que hace al MPU tan verstil y flexible - cuando se desea cambiar su operacin, slo es necesario cambiar los programas almacenados en la RAM (software) o grabada en la ROM (firmware) sin necesidad de cambiar la electrnica (hardware).

La 1gica interna del MPU es muy compleja pero puede considerarse corno formada por tres secciones bsicas: la seccin de control y temporizacin, la seccin de registros y la ALU (vase Fig. 1.3). Aunque existen interacciones bien definidas entre estas secciones, cada una tiene funciones especificas.

Figura 1.3 Areas de mejor funcionamiento para un chip (P.

La funcin principal de la seccin de control y temporizacin es traer de la memoria y decodificar (interpretar) las instrucciones que estn en la memoria y que forman parte de un programa, para despus generar las seales de control necesarias para ejecutar las instrucciones. Esta seccin tambin genera las seales de control y temporizacin (por ejemplo, R/W y de reloj) para la RAM, ROM y dispositivos de E/S externos.

La seccin de registros contiene varios registros (dentro del MPU) y cada uno tiene una funcin especial. El ms importante de todos ellos es el contador del programa (PC), el cual mantiene la direccin donde se encuentra la siguiente instruccin que se extraer de la memoria. Se har uso de las siglas PC en la descripcin de la ejecucin de un programa. Los dems registros del MPU se emplean para realizar funciones tales como guardar los cdigos correspondientes a las instrucciones mientras stas son decodificadas, retener los datos que constituyen los operandos con los que trabaja la ALU, almacenar las direcciones donde se encuentran los datos en la memoria y varias funciones ms de conteo y almacenamiento con propsitos generales.

La ALU efecta una gran variedad de operaciones aritmticas y 1gicas. Estas operaciones siempre incluyen la adicin y la sustraccin, y las operaciones 1gicas AND, OR, EX-OR, corrimiento, incremento y decremento. Los MPU ms avanzados tienen una ALU que realiza operaciones de multiplicacin y divisin. Durante la operacin de la microcomputadora, las operaciones que la ALU realiza se llevan a cabo bajo el control de la seccin de control y temporizacin la que, claro est, hace lo que indican los cdigos de instruccin que trae de la memoria.

El sistema de canales. La (C tiene tres canales que transportan toda la informacin y seales implicadas en la operacin del sistema. Estos canales conectan el microprocesador CPU a cada uno de los elementos de memoria y E/S, de manera que los datos y la informacin puedan fluir entre la CPU y cualquiera de estos otros elementos. En otras palabras, la CPU se ve continuamente envuelta en el envo o recepcin de informacin hacia o desde una localidad en la memoria, un dispositivo de entrada o un dispositivo de salida.

En la (C, todas las transferencias de informacin se dirigen a la CPU. Cuando la CPU enva datos a otro elemento de la computadora, a sta se le llama operacin de escritura y la CPU escribe en el elemento seleccionado. Cuando la CPU recibe datos de otro elemento se le llama operacin de lectura y la CPU lee del elemento seleccionado. Es muy importante entender que los trminos "lectura" y "escritura" siempre se refieren a la operacin realizada por la CPU.

Los canales implicados en todas las transferencias de datos tienen funciones que se describen como sigue:

Canal de direcciones: Este es un canal unidireccional, debido a que la informacin fluye en una sola direccin, de la CPU a la memoria o a elementos E/S. La CPU slo puede colocar niveles 1gicos en las lneas del canal de direcciones, con lo cual se generan 216 = 65,536 posibles direcciones diferentes. Cada una de estas direcciones corresponde a una localidad de la memoria o a un elemento E/S. Por ejemplo, la direccin 20A016 podra ser una localidad en RAM o ROM donde se almacena una palabra de ocho bits o bien, podra ser un registro buffer de ocho bits que es parte de la circuitera de interfase de un dispositivo de entrada como el teclado.

Cuando la CPU desea comunicarse (leer o escribir) con cierta localidad de la memoria o dispositivo E/S, coloca el cdigo de direccin de 16 bits adecuado en sus salidas de direccin de 16 bits, A0-A15, y en el canal de direcciones. Estos bits de direcciones se decodifican despus para seleccionar la localidad de memoria deseada o dispositivo E/S. En general, el proceso de decodificacin requiere de una circuitera de decodificacin, la cual no se muestra en el diagrama.

Canal de datos: Este es un canal bidireccional pues los datos pueden fluir hacia o desde la CPU. Las ocho terminales de datos de la CPU, D0-D7, pueden ser entradas o salidas, segn que la CPU realice una operacin de lectura o escritura. Durante una operacin de lectura actan como entradas y reciben datos que se han colocado en el canal de datos por la memoria o elemento E/S seleccionados por el cdigo de direcciones en el canal de direcciones. Durante una operacin de escritura las terminales de datos de la CPU actan como salidas y colocan datos en el canal respectivo, que despus se envan a la memoria seleccionada o elemento E/S. En todos los casos, las palabras de datos transmitidas tienen ocho bits de longitud debido a que la CPU maneja palabras de datos de ocho bits, convirtiendo a esta computadora en una (C de ocho bits.

Canal de control: Este es el conjunto de seales que se usa para sincronizar las actividades de los elementos separados de la (C. Algunas de estas seales, como R/W, son seales que la CPU enva a los otros elementos para indicarles que tipo de operacin se espera en ese momento. Los elementos E/S pueden enviar seales de control a la CPU. Un ejemplo de esto es la entrada de reiniciacin (RES) de la CPU la cual, cuando se lleva a BAJA, ocasiona que la CPU se regrese a cierto estado inicial. Otro ejemplo es la entrada de interrupcin de la CPU (INT), que es utilizada por dispositivos E/S para captar la atencin de la CPU cuando realiza otras tareas.

Seales de reloj. Algunos microprocesadores emplean un sistema de reloj que tiene dos fases y que presenta pulsos que no se superponen entre s, como los que se muestran en la figura 1.6. Otros microprocesadores como el Z-80 y el 8086 funcionan con una sola seal de reloj. En nuestras explicaciones utilizaremos el sistema de reloj de dos fases. Las dos fases de reloj, (1 y (2, siempre son parte del canal de control. Otras seales de temporizacin, que se derivan de (1 y (2, algunas veces son generadas por la CPU y se vuelven parte del canal de control.

Puertos de E/S. Durante la ejecucin de un programa, la CPU constantemente lee de, o escribe en la memoria. El programa puede solicitar tambin a la CPU leer de uno de los dispositivos de entrada o bien escribir en uno de los dispositivos de salida. Cada dispositivo E/S se conecta normalmente al sistema de canales de la PC a travs de algn tipo de circuito de interfase. La funcin de la interfase consiste en hacer que la (C y el dispositivo sean compatibles de manera que los datos puedan pasarse con facilidad entre ellos. La interfase se necesita siempre que el dispositivo E/S utilice diferentes niveles, temporizacin o formato de seales que la (C.

Por ejemplo, un dispositivo E/S comn es la terminal de vdeo estndar (que se abrevia TTY), la cual enva informacin codificada en ASCII a la computadora en forma serial (un bit a la vez por una sola lnea). Sin embargo, la PC acepta datos paralelos (ocho bits). Por lo tanto, se usa un circuito de interfase para convertir la seal en serie de la TTY en una palabra de datos paralela de ocho bits y otro para convertir los datos paralelos de salida de la (C en una seal serial para la TTY.

Aunque los dispositivos E/S se tratan como localidades de la memoria, son significativamente diferentes en algunos, aspectos. Una diferencia grande es que los dispositivos E/S pueden tener la capacidad para interrumpir la CPU mientras ejecuta un programa. Lo que esto quiere decir es que un dispositivo E/S puede enviar una seal a la entrada de interrupcin de la CPU (INT) para indicar a la CPU que desea comunicarse con ella. La CPU suspender la ejecucin del programa con el cual esta trabajando en este momento y realizar la operacin adecuada con el dispositivo E/S interruptor. Los RAM y ROM no tienen el recurso de interrupcin.

Palabras de Computadora

La unidad ms pequea de informacin de una computadora es el bit. Sin embargo, un slo bit conlleva muy poca informacin. Por esta razn, la unidad principal de informacin en una computadora es un grupo de bits a los cuales se les da el nombre de palabra. El nmero de bits que forman la palabra recibe el nombre de tamao de la palabra. El tamao de la palabra es una manera comn de describir una computadora. Es frecuente que las computadoras sean descritas en trminos de su tamao de palabra, tales como computadora de 16 bits, computadora de 32 bits, etc. Por ejemplo, una computadora de 16 bits es aquella en la que las instrucciones y datos se almacenan en la memoria en unidades de 16 bits, y son procesados por la CPU tambin en unidades de 16 bits. El tamao de la palabra tambin indica el tamao del canal de datos que lleva los datos entre la CPU y la memoria y entre la CPU y los dispositivos de entrada/salida. En general, una computadora con tamao de palabra grande tiene una mayor velocidad de ejecucin debido a la mayor cantidad de datos e instrucciones que caben dentro de la palabra. Sin embargo, un tamao de palabra grande tambin significa mayor nmero de conexiones entre la CPU, la memoria y los dispositivos de entrada/salida.

Como ya se sabe, un grupo de ocho bits se denomina byte. Dado que las microcomputadoras de ocho bits se han utilizado por mucho tiempo y debido a que los cdigos ASCII ocupan slo un byte, el byte se sigue empleando como unidad para describir el tamao de la palabra y la capacidad de memoria, aun en computadoras que tienen un tamao de palabra grande. Una computadora de 16 bits tiene un tamao de palabra de dos bytes y as sucesivamente. Una memoria que almacena 128K palabras de 16 bits, tiene una capacidad de 256K bytes.

Tipos de palabras de computadora. Una palabra almacenada en la memoria de una computadora puede contener dos clases de informacin instrucciones o datos. Los datos pueden ser numricos o caracteres y sern procesados por el programa que ejecuta la CPU. Estos pueden encontrarse en muchos formatos, entre los que se incluyen representaciones binarias con y sin signo, BCD, de punto flotante (algo similar a la notacin de ingeniera), o cdigos ASCII entre otros. A continuacin se proporciona un ejemplo sobre cmo se almacena en una palabra de ocho bits el nmero +8610:

01010110

El siguiente ejemplo muestra la forma en que se almacena en ASCII el cdigo correspondiente al caracter "V" en una palabra de ocho bits.

01010110

Note que las dos palabras son idnticas. La computadora no conoce la diferencia entre las dos. Es responsabilidad del programador saber que tipo de dato est almacenado en la memoria y asegurarse de que el programa interprete y procese los datos de manera apropiada.

A continuacin se proporciona otro ejemplo donde se almacenan en una palabra de 16 bits dos caracteres codificados en ASCII:

0101011001010111

v w

La misma palabra de 16 bits bien podra ser la representacin del nmero +2210310. De lo anterior, resulta claro que entre ms grande sea el tamao de la palabra mayor ser el nmero de caracteres as como la magnitud de los nmeros que se pueden guardar en ella. Las palabras que guardan instrucciones son ms complejas que las que slo contiene datos.

Palabras de instruccin. El formato que se utiliza con palabras de datos slo varia ligeramente entre diferentes computadoras, especialmente en aquellas con el mismo tamao de palabra. Sin embargo, no sucede lo mismo con el formato de las palabras de instruccin. Estas palabras contienen la informacin que se necesita para que una computadora ejecute sus diversas operaciones, y el formato y cdigo de stas pueden variar ampliamente de una computadora a otra. Segn la computadora, la informacin contenida en una palabra de instruccin puede ser diferente. Pero, para la mayora de las computadoras, las palabras de instruccin llevan dos unidades bsicas de informacin: la operacin que se realizar y la direccin del operando (datos) con el cual se operar

La figura 1.4 muestra un ejemplo de una palabra de instruccin de una sola direccin de una computadora hipottica de 20 bits. Los 20 bits de la palabra de instruccin se dividen en dos partes. La primera parte de la palabra (bits 16-19) contiene el cdigo de operacin (cdigo op, para abreviar). El cdigo op de cuatro bits representa la operacin que a la computadora se le pide ejecutar como la adicin o sustraccin. La segunda parte (bits 0-15) es la direccin del operando que representa la localidad en memoria donde se almacena el operando.

Figura 1.4. Palabra de instruccin comn de una sola direccin.

Con cuatro bits que se usan para el cdigo op hay 24 = 16 posibles cdigos op diferentes, donde cada uno indica una instruccin distinta. Esto significa que una computadora que utiliza este formato de palabra de instruccin se limita a 16 diferentes instrucciones posibles que puede efectuar. Una computadora ms verstil tendra un nmero mayor de instrucciones y por lo tanto requerira ms bits en su cdigo op. En cualquier caso, cada instruccin que una computadora puede ejecutar tiene un cdigo op especifico que la computadora (unidad de control) debe interpretar (decodificar).

La palabra de instruccin de la figura 1.4 tiene 16 bits reservados para el cdigo de direccin del operando. Con 16 bits, hay 216 = 65,536 posibles direcciones diferentes. Por consiguiente, esta palabra de instruccin puede especificar 16 instrucciones distintas y 65,536 direcciones de operando.

Instrucciones de direccin mltiple. La instruccin de una sola direccin que se describi, fue el tipo principal que se us en computadoras de mayor tamao. Sin embargo, las computadoras ms grandes han empezado a usar otros formatos de instruccin que ofrecen ms informacin por palabra de instruccin.

La figura 1.5 muestra dos formatos de palabra de instruccin que contienen ms de una direccin. La instruccin de dos direcciones tiene el cdigo op ms las direcciones de ambos operandos que tomaran parte en la operacin especificada. La instruccin de tres direcciones tiene las direcciones de ambos operandos ms la direccin en la memoria donde se almacenar el resultado.

Estas palabras de instruccin de mltiples direcciones tienen la clara ventaja de que contienen ms informacin que una instruccin de una sola palabra. Esto significa que con una computadora que utiliza instrucciones de mltiples direcciones requerir menos instrucciones para ejecutar un programa determinado. Desde luego, las palabras de instruccin ms largas requieren una unidad de memoria con un mayor tamao de palabra.

Figura 1.5. Formatos de instruccin de mltiples direcciones.

II MEMORIAS

2.1 Tipos

Una ventaja importante de los sistemas digitales sobre los analgicos es la capacidad de almacenar fcilmente grandes cantidades de informacin digital por periodos cortos o largos. Esta capacidad de memoria es la que hace que los sistemas digitales sean tan verstiles y adaptables a muchas situaciones. Por ejemplo, en una computadora digital la memoria principal interna almacena instrucciones que indican a la computadora qu hacer en todas las circunstancias posibles, de manera que la computadora haga su trabajo con una mnima cantidad de intervencin humana.

El flip-flop es un dispositivo de memoria electrnico y grupos de Flip-Flops llamados registros se pueden emplear para almacenar informacin y esta informacin puede ser transferida a otras localidades. Los registros de los FF son elementos de memoria de alta velocidad que se usan extensamente en las operaciones internas de una computadora digital, donde la informacin digital se desplaza en forma continua de una localidad a otra. Adelantos en tecnologa de LSI y VLSI han hecho posible contar con grandes cantidades de FF en un solo CI, dispuestas en diversos formatos de memoria. Estas memorias de semiconductor bipolares y MOS son los dispositivos especializados ms veloces de que se dispone y su costo ha venido disminuyendo continuamente a medida que se mejora la tecnologa de los LSI.

Los datos digitales tambin pueden almacenarse como cargas en capacitores, y un tipo muy importante de memoria de semiconductor hace uso de este principio para obtener almacenamiento de alta densidad a niveles bajos de energa.

Las memorias de semiconductor se utilizan como la memoria principal a de una computadora (Fig. 2.1), donde la rapidez en la operacin es importante. La memoria interna de la computadora est en comunicacin constante con la unidad central de procesamiento (CPU, por sus siglas en ingles) mientras se est ejecutando un programa de instrucciones. El programa y cualquier informacin usada por ste generalmente estn almacenados en la memoria interna.

Aunque las memorias de semiconductor se adaptan bien a la memoria interna de alta velocidad, su costo por bit de almacenamiento prohibe su uso como dispositivos de almacenamiento masivo. Dicho concepto se refiere a la memoria que es externa a la computadora central (Fig. 2.1) y tiene la capacidad de almacenar millones de bits de datos sin energa elctrica. Esta memoria secundaria normalmente es mucho ms lenta que la interna y se utiliza para almacenar informacin (programas, datos, etctera) que no sean utilizados regularmente por la computadora. La informacin es transferida a la memoria interna cuando la computadora la necesita.

Figura 2.1. Un sistema de computacin normalmente utiliza memoria interna de alta velocidad y memoria externa en masa ms lenta.

La cinta y el disco magnticos son dispositivos populares de almacenamiento masivo que son mucho menos costosos por bit almacenado que los dispositivos de memoria interna. Un nuevo tipo en la categora de memoria en masa es la memoria de burbuja magntica (MBM), dispositivo semiconductor que utiliza principios magnticos para almacenar millones de bits en un CI. La MBM es relativamente lenta y no puede usarse como memoria interna.

Operacin general de la memoria

Aunque cada tipo de memoria es diferente en su operacin interna, ciertos principios bsicos de operacin son los mismos para todos los sistemas de memoria. Conocer estas ideas bsicas nos ayudar en el estudio de los dispositivos de memoria individuales.

Todo sistema de memoria requiere varios tipos diferentes de lneas de entrada y salida para desempear las funciones siguientes:

1. Seleccionar la direccin de la memoria a la que se quiera tener acceso para una operacin de lectura o escritura.

2. Seleccionar una operacin de lectura o bien de escritura para ser efectuada.

3. Proporcionar los datos de entrada para ser almacenados en la memoria durante una operacin de escritura.

4. Retener los datos de salida que vienen de la memoria durante una operacin de lectura.

5. Habilitar (o deshabilitar) la memoria de manera que responda (o no) a las entradas de direccin y al comando de lectura/escritura.

La figura 2.2 ilustra estas funciones bsicas en un diagrama simplificado de una memoria de 32 x 4 que almacena 32 palabras de cuatro bits. Como el tamao de palabra es cuatro bits, hay cuatro lneas de entrada, de datos E0-E3 y cuatro lneas de salida de datos S0-S3. Durante una operacin de escritura los datos que se almacenarn en la memoria tienen que ser aplicados a las lneas de entrada de datos. Durante una operacin de lectura la palabra que es leda de la memoria figura en las lneas de salida de los datos.

Figura 2.2. Diagrama de una memoria de 32 * 4

Entradas para direcciones. Dado que esta memoria almacena 32 palabras, tiene 32 diferentes localidades de almacenamiento y, por consiguiente, 32 diferentes direcciones binarias que van desde 00000 hasta 11111 (desde 0 hasta 31 en decimal). En consecuencia, existen cinco entradas para direcciones, desde A0 hasta A4. Para tener acceso a una de las localidades de memoria, ya sea para leer su contenido o escribir en ella, es necesario enviar a travs de las entradas de direcciones la direccin de cinco bits que corresponde a la localidad de inters. En general, se requieren de N direcciones de entrada para una memoria que tiene una capacidad de 2N palabras. La memoria de la figura 2.2 puede pensarse como un arreglo de 32 registros, donde cada uno de ellos retiene una palabra de cuatro bits.

La entrada R/W. La lnea de entrada para lectura/escritura (R/W) determina la operacin que llevara a cabo la memoria. Algunos sistemas de memoria utilizan dos entradas diferentes, una para lectura y otra para escritura. Cuando se emplea una sola entrada R/W la operacin de lectura ocurre cuando R/W = 1, mientras que la de escritura sucede cuando R/W = 0.

Habilitacin de memoria. Muchos sistemas de memoria tienen algn medio para deshabilitar completamente toda o parte de la memoria de manera que no responda. Esto se representa en la figura 2.2 como la entrada HABILITACION DE MEMORIA, aunque puede tener diferentes nombres en los varios sistemas de memoria. Es una entrada activa en ALTO que habilita la memoria para operar en forma normal cuando se mantiene en ALTO. Un estado BAJO en esta entrada deshabilita la memoria, de modo que no responder la direccin y a las entradas R/W. Este tipo de entrada es de utilidad cuando varios mdulos de memoria se combinan para formar una memoria mayor.

2.2 Conexiones

La memoria interna se encuentra en comunicacin constante el CPU (unidad de procesamiento central). En este momento no es necesario estar familiarizado con la operacin detallada de un CPU, as que el siguiente simplificado de la interface CPU-memoria proporcionar la perspectiva para hacer ms significativo el estudio de los dispositivos de memoria.

La memoria interna de una computadora esta formada por CI RAM y ROM que son conectados a la CPU mediante tres grupos de lneas de seal o canales. En la figura 2.3 stos se indican como las lneas de direccin o canal de direcciones, lneas de datos o canal de datos, y lneas de control o canal de control. Cada uno de estos canales esta formado por varias lneas (note que estn representados por una sola lnea con una diagonal) y el numero de estas cambia de una computadora a otra. Los tres canales juegan una parte necesaria al permitir que el CPU escriba o lea datos en la memoria.

Figura 2.3. Tres grupos de lneas (canales) conectan los CI de memoria interna con el CPU.

Cuando una computadora ejecuta las instrucciones de un programa, el CPU extrae(lee) de manera continua informacin de las localidades de memoria las cuales contienen (1) los cdigos de operacin que representan las operaciones que se van a realizar y (2) los datos con los que se llevarn a cabo dichas operaciones. El CPU tambin (escribe) datos en las localidades de memoria que indican las instrucciones del programa. Cada vez que el CPU desea escribir un dato en determinada localidad de memoria, emprende los siguientes pasos:

Operacin de escritura

1. El CPU proporciona la direccin binaria de la localidad de memoria donde debe almacenarse el dato. Coloca esta direccin sobre las lneas del canal de direcciones.

2. El CPU coloca el dato a ser almacenado sobre las lneas del canal de datos.

3. El CPU activa las lneas de control apropiadas para la operacin de escritura en la memoria.

4. Los CI de memoria decodifican la direccin para determinar cual es la localidad de memoria seleccionada para llevar a cabo la operacin de escritura.

5. El dato que se encuentra sobre el canal de datos se transfiere hacia la localidad seleccionada de la memoria.

Cada vez que el CPU desea leer un dato que se encuentra en determinada localidad de memoria, emprende los siguientes pasos:

Operacin de lectura

1. El CPU proporciona la direccin de la localidad de memoria donde se encuentra el dato que va a recuperar. Coloca esta direccin sobre el canal de direcciones.

2. El CPU activa las lneas de control apropiadas para la operacin de lectura de la memoria.

3. Los CI de la memoria decodifican la direccin para determinar cual es la localidad seleccionada para realizar la operacin de lectura.

4. Los CI de memoria colocan el contenido de localidad de memoria sobre el canal de datos, de donde son transferidos hacia el CPU.

Los pasos anteriores deben aclarar la funcin de cada uno de los canales del sistema:

Canal de direcciones. Este es un canal unidireccional que lleva las direcciones desde el CPU hacia los CI de memoria.

Canal de datos. Este canal es bidireccional y lleva los datos entre el CPU y los CI de memoria.

Canal de control. Este canal lleva las seales de control (como la seal R/W) desde el CPU hacia los CI de memoria.

2.3 Memorias Electrnicas (interna)Memorias solo de lectura (ROM)

Las memorias de solo lectura son un tipo de memoria de semiconductor que estn diseadas para retener datos que son permanentes o que no cambian con mucha frecuencia. Durante la operacin normal, no pueden escribirse nuevos datos en una ROM pero si puede leerse informacin de ella. Para algunas ROM los datos que estn almacenados tienen que grabarse durante el proceso de fabricacin; para otras ROM esto se puede hacer en forma elctrica. El proceso de grabar datos se conoce como programacin de la ROM. Algunas ROM no pueden alterar sus datos una vez que se hayan programado; otras pueden borrarse y reprogramarse con la frecuencia que se desee.

Las ROM se usan para almacenar datos e informacin que no cambiara durante la operacin de un sistema. Un uso importante de las ROM se encuentra en el almacenamiento de programas en microcomputadoras. Ya que todas las ROM son no voltiles, estos programas no se pierden cuando la microcomputadora es desconectada. Cuando enciende la mquina, puede empezar de inmediato a ejecutar el programa almacenado en ROM. Las ROM tambin se utilizan para guardar programas y datos en equipos controlados por microprocesador tales como las cajas registradoras electrnicas, instrumentos y sistemas de seguridad.

Diagrama de bloques en ROM. Un diagrama de bloques comn para una ROM se muestra en la figura 2.4. Tiene tres conjuntos de seales: entradas de direccin, entrada(s) de control y salidas de datos. De lo que hemos visto antes, podemos determinar esta ROM almacena 16 palabras, ya que tiene 24 = 16 posibles direcciones y cada palabra contiene ocho bits, puesto que hay ocho salidas de datos. Por lo tanto, sta es una ROM de 16 x 8. Otra manera de describir esta capacidad de la ROM consiste en decir que almacena 16 bytes de datos.

Figura 2.4. Diagrama de bloques de ROM.

Las salidas de datos de muchos circuitos integrados de ROM son salidas de tres estados para permitir la conexin de muchos circuitos ROM al mismo canal de datos para lograr la expansin de la memoria. Los nmeros ms comunes de salidas de datos para ROM son cuatro y ocho bits, con palabras de ocho bits que son las ms comunes.

La entrada de control CS significa seleccin de CI. Esta es esencialmente una entrada de habilitacin que habilita o deshabilita las salidas ROM. Algunos fabricantes utilizan diferentes indicaciones para la entrada de control, como CE (seleccin de CI) o bien OE (habilitacin de salida). Muchas ROM tienen dos o ms entradas de control que deben estar activas para habilitar las salidas de datos y con esto poder leer los datos de la direccin seleccionada. En algunos CI ROM una de las entradas de control (por lo general CE) se emplea para colocar la ROM en un modo espera de bajo consumo de potencia cuando no se hace uso de la memoria. Esto diminuye el consumo de corriente de la fuente de alimentacin del sistema.

La entrada CS que se muestra en la figura 2.4 se encuentra activa en BAJO. Por lo tanto debe estar en el estado BAJO para habilitar la ROM y que los datos aparezcan en las salidas de datos. Note que no existe la entrada R/W (lectura/escritura) debido a que la ROM no puede grabarse en condiciones normales de operacin.

La operacin de lectura. Suponga que la ROM ha sido programada con los datos que se muestran en la tabla 2.1. Diecisis diferentes palabras de datos se almacenan en las 16 localidades de direccin distintas. Por ejemplo, la palabra de datos almacenada en la localidad 0011es 10101111. Por supuesto, los datos se almacenan en binario dentro de la ROM, pero con mucha frecuencia se usa la notacin hexadecimal para mostrar adecuadamente los datos programados. Esto se hace en la tabla 2.2.

A fin de leer una palabra de datos de la ROM, se necesita hacer dos cosas: aplicar las entradas de direccin adecuadas y luego activar las entradas de control. Por ejemplo, si se desea leer el dato almacenado en la localidad 0111 de la ROM de la figura 2.4, se tiene primero que aplicar 0111 en las entradas de direccin A3A2A1A0 de la ROM y despus un nivel BAJO en CS. Las entradas de direccin sern decodificadas dentro de la ROM para seleccionar la palabra de datos correcta, 11101101, la que entonces aparecer en las salidas, D7 hasta D0. Si CS se mantiene en ALTO, las salidas de la ROM son deshabilitadas y permanecern en el estado Alta-Z.

PalabraA3A2A1A0D7D6D5D4D3D2D1D0

0000011011110

1000100111010

2001010000101

3001110101111

4010000011001

5010101111011

6011000000000

7011111101101

8100000111100

9100111111111

10101010111000

11101111000111

12110000100111

13110101101010

14111011010010

15111101011011

Tabla 2.1. Datos Programados

PalabraA3 A2 A1 A0D7-D0

00DE

113A

2285

33AF

4419

557B

6600

77ED

883C

99FF

10AB8

11BC7

12C27

13D6A

14ED2

15F5B

Tabla 2.2. Datos Hexadecimales (hex).

Arquitectura de la ROM

La arquitectura (estructura) interna de un Cl ROM es muy compleja y no necesitamos conocer todos sus detalles. Sin embargo, es constructivo observar un diagrama simplificado de la arquitectura interna como el que se muestra en la figura 2.5 para la ROM de 16 x 8. Existen cuatro partes bsicas: decodificador de renglones, decodificador de columnas, disposicin de registros y buffers de salida.

Figura 2.5. Arquitectura de la ROM de 16 X 8.

Arreglo de registros. El arreglo de registros almacena los datos que han sido programados en la ROM. Cada registro contiene un nmero de celdas de memoria que es igual al tamao de la palabra. En este caso, cada registro almacena una palabra de ocho bits. Los registros se disponen en un arreglo de matriz cuadrada que es comn a muchos circuitos de memoria de semiconductor. Podemos especificar la posicin de cada registro como ubicada en un rengln y una columna especficos. Por ejemplo, el registro 0 se encuentra en el rengln 0 / columna 0 y el registro 9 est en el rengln 1 / columna 2.

Las ocho salidas de datos de cada registro se conectan a un canal de datos interno que corre a travs de todo el circuito. Cada registro tiene dos entradas de habilitacin (E); ambas tienen que ser ALTAS a fin de que los datos del registro sean colocados en el canal.

Decodificadores de direcciones. El cdigo de direccin aplicado A3A2A1A0 determine qu registro del arreglo ser habilitado para colocar su palabra de datos de 8 bits en el canal. Los bits de direccin A1A0 se alimentan a un decodificador 1 de 4 que activa una lnea de seleccin de rengln, y los bits de direccin A3A2 se alimentan a un segundo decodificador 1 de 4 que activa una lnea de seleccin de columna. Solamente un registro estar en el rengln y la columna seleccionados por las entradas de direccin, y estar habilitado.

Buffers de salida. El registro habilitado por las entradas de direccin coloca el dato que contiene sobre el canal de datos. Estos datos entran en los buffers de salida, los cuales se encargan de transmitirlos hacia las salidas externas siempre y cuando CS est en BAJO. Si CS esta en ALTO los buffers de salida se encuentran en el estado de alta impedancia, con lo que de D7 hasta D0 se encuentran flotando.

La arquitectura mostrada en la figura 2.5 es similar a la de muchos Cl ROM. En algunas ROM los registros no estn acomodados en un arreglo cuadrado, hecho que depende del nmero de palabras almacenadas. Por ejemplo, el Cl Intel 2708 es una ROM MOS que guarda 1024 palabras de ocho bits. Sus 1024 registros estn acomodados en un arreglo de 64 por 16. Por lo general, la capacidad de las ROM vara desde 32 * 8 hasta 512K * 8.

Temporizacion de la ROM

Habr un retardo en la propagacin entre la aplicacin de las entradas de una ROM y la aparicin de las salidas de datos durante una operacin de lectura. Este retardo, denominado tiempo de acceso, tACC, es una medida de la velocidad de operacin de la ROM. El tiempo de acceso se describe grficamente por medio de las formas de onda de la figura 2.6

Figura 2.6. Temporizacin comn de una operacin de lectura en ROM.

La forma de onda de ms arriba representa las entradas de direccin, la del medio es una seleccin de CI activa en BAJO, CS, y la de ms abajo representa las salidas de datos. Al tiempo t0 las entradas de direccin estn en algn nivel especifico, algunas en ALTO y algunas en BAJO. CS es ALTA, de manera que las salidas de datos de la ROM se encuentran en su estado alta-Z (representado por la lnea sombreada).

Antes de t1 las entradas de direccin cambian a una nueva direccin para realizar una nueva operacin de lectura. En t1, la nueva direccin es vlida; es decir, cada entrada de direccin est en un nivel 1gico vlido. En este punto la circuitera interna de la ROM empieza a decodificar las nuevas entradas de direccin para seleccionar el registro que enviar sus datos a los buffers de salida. En t2 la entrada CS es activada para habilitar los buffers de salida. Finalmente, en t3, las salidas cambian del estado Alta-Z a los datos vlidos que representan los almacenados en la direccin especificada.

El retardo entre t1, y t3, cuando la nueva direccin y las salidas de datos se vuelven vlidas, es el tiempo de acceso tACC. En general, las ROM bipolares tienen tiempos de acceso que van desde 30 hasta 90 ns; para los dispositivos NMOS este tiempo varia desde 35 hasta 500 ns.

Otro importante parmetro de temporizacin es el tiempo de habilitacin de salida, tOE, que es el retardo entre la entrada CS y la salida de datos vlida. Valores comunes de tOE son de 10 a 20 ns para ROM bipolares y de 25 a 100 ns para ROM MOS. Este parmetro de temporizacin es importante en situaciones donde ]as entradas de direccin estn ya en sus nuevos valores, pero las salidas de la ROM no han sido habilitadas an. Cuando CS pasa a BAJA para habilitar las salidas, el retardo ser tOE.

Tipos de ROM

Ahora que se tiene un conocimiento general de la arquitectura interna y operacin externa de los dispositivos ROM, se observaran brevemente los diversos tipos de ROM para notar cmo difieren en la forma en que son programados y en su capacidad para ser borrados y reprogramados.

ROM programada por mascarilla. Este tipo de ROM tiene sus localidades de almacenamiento escritas (programadas) por el fabricante segn las especificaciones del cliente. Se utiliza un negativo fotogrfico llamado mascarilla para controlar las conexiones elctricas en el circuito. Se requiere una mascarilla especial por cada conjunto diferente de informacin para ser almacenada en la ROM. Ya que las mascarillas son costosas, este tipo de ROM es econmico slo si se necesita una cantidad considerable de la misma ROM. Algunas ROM de este tipo se encuentran disponibles como dispositivos preprogramados tomados de una tabla o manual con informacin que comnmente se utiliza, como frmulas matemticas y cdigos generadores de caracteres para exhibiciones en tubo de rayos catdicos (CRT). Una desventaja importante de este tipo de ROM es que no puede reprogramarse en el caso de un cambio de diseo que requiera una modificacin del programa almacenado. La ROM tendra que ser remplazada por una nueva con el programa deseado escrito en ella. Se han creado varios tipos de ROM programables por el usuario para superar esta desventaja. Sin embargo, las ROM programadas por mascarilla todava representan el enfoque ms econmico cuando se necesita una cantidad considerable de ROM programadas idnticas.

Es comn referirse a las ROM programadas por mascarilla slo como ROM, pero esto puede ser confuso ya que el trmino ROM representa en realidad una categora muy amplia de dispositivos en los que durante su operacin normal, slo se puede leer. Por tanto, se har uso del mnemnico MROM cada vez que se haga referencia a una ROM programada por mascarilla.

La figura 2.7 muestra la estructura de una pequea MROM bipolar. La memoria contiene 16 celdas de memoria colocadas en cuatro renglones, cada uno con cuatro celdas. Cada celda est formada por un transistor bipolar conectado en configuracin de colector comn (entrada en la base, salida en el emisor). El rengln superior de celdas (RENGLON 0) forma un registro de cuatro bits. Note cmo algunos de los transistores (Q0 y Q2) tienen sus bases conectadas a la lnea de habilitacin del RENGLON 0, mientras que otros (Q1 y Q3) no. Lo mismo es cierto para las celdas que se encuentran en los demas renglones. La presencia o ausencia de estas conexiones de base determina si la celda guarda un 1 o un 0, respectivamente. La condicin en cada conexin de base est controlada por la mascarilla fotogrfica durante el proceso de produccin basado en los datos proporcionados por el cliente.

Figura 2.7 Estructura de una MROM bipolar que ilustra el uso de un transistor bipolar para cada celda de memoria. Una conexin de base abierta almacena un 0; una conexin de base cerrada almacena un 1.

Note que las celdas que se encuentran en las mismas posiciones dentro de cada rengln (registro) tienen sus emisores conectados a una salida comn. Por ejemplo, los emisores de Q0, Q4, Q8, y Q12 estn conectados entre s en la salida D3. Como se ver ms adelante, esto no constituye ningn problema ya que slo se activa un rengln de celdas a la vez.

El decodificador de 1 a 4 se emplea para decodificar las entradas de direcciones A1A0, que son las que seleccionan qu rengln (registro) contiene los datos que se van a leer. Las salidas del decodificador, que son activas en ALTO, estn conectadas a las lneas de habilitacin de cada RENGLON, que son las entradas base para los distintos renglones de celdas. Si la entrada de habilitacin del decodificador, EN, se mantiene en el estado ALTO, todas las salidas del decodificador permanecen en su estado inactivo BAJO y con ello todos los transistores del arreglo quedan apagados debido a la ausencia de cualquier voltaje en sus bases. En este caso, todas las salidas de datos se encuentran en el estado BAJO.

Cuando EN se encuentra en su estado activo en BAJO, las condiciones en las entradas de direcciones determinan el rengln (registro) que ser habilitado en forma que se pueda leer en las salidas, del dato contenido en l. Por ejemplo, para leer el RENGLON 0, las entradas A1A0 se ponen en 00. Esto coloca un estado ALTO en la lnea correspondiente al RENGLON 0; las lneas correspondientes a los demas renglones permanecen en 0 V. Este estado ALTO en el RENGLON 0 enciende los transistores Q0 y Q2, pero no a Q1 y Q3. Con Q0 y Q2 en el estado de conduccin, las salidas de dalos D3 y D1 se encuentran en ALTO; las salidas D2 y D0 permanecen en BAJO. De manera similar, la aplicacin de otras direcciones produce los datos de salida correspondientes al registro en cuestin. Usted debe verificar la forma en que las diferentes celdas se correlacionan con las conexiones de base. Las MROM se encuentran disponibles en varias capacidades, todas ellas pequeas. Una de las ms populares es la 74187, la cual se encuentra organizada como una memoria de 256 x 4 y tiene un tiempo de acceso de 40 ns. Sus salidas son del tipo de colector abierto por lo que requieren de resistores externos. Otra ROM bipolar es la 7488A, la cual tiene una capacidad de 32 x 8 y un tiempo de acceso de 45 ns.

Figura 2.8. Smbolo lgico para la MROM TMS47256 fabricada con tecnologa MOS

Las MROM MOS tienen una estructura similar a la que se encuentra en la figura 2.7, con excepcin de que las celdas son MOSFET ms que transistores bipolares. La TMS47256 es una versin NMOS que tiene una capacidad de 32K x 8. Su smbolo aparece en la figura 2.8. Note que esta memoria tiene salidas de tres estados que permiten su fcil conexin al canal de datos de una computadora. Adems de las 14 entradas de direcciones, esta memoria tiene dos entrada de habilitacin, E y S. Ambas entradas tienen que estar en el estado BAJO para habilitar las salidas de la MROM. La entrada E tambin tiene una funcin de reduccin de potencia. Cuando E se mantiene en el estado ALTO, la circuitera interna del Cl se coloca en un estado de espera donde consume muy poca potencia, alrededor de la cuarta parte del valor normal. El TMS47256 tiene un tiempo de acceso de 200 ns y una disipacin de potencia en el estado de espera igual con 82.5 mW. La versin CMOS, el TMS47C256, tiene un tiempo de acceso de 150 ns y una disipacin de potencia en el estado de espera de slo 2.8 mW.

ROM programables (PROM). Una ROM programable por mascarilla es muy costosa y no se utilizar excepto en aplicaciones de grandes volmenes, donde el costo sera repartido sobre muchas unidades. Para ]as aplicaciones de bajo volumen, los fabricantes han creado PROM con conexin fusible, que no se programa durante el proceso de manufacturacin sino que son programadas por el usurio. Sin embargo, una vez programada una PROM se parece a una MROM en que no puede borrarse y reprogramarse. Por lo tanto, si el programa en la PROM es errneo o tiene que ser cambiado, la PROM tiene que ser desechada. Es por esta razn que a menudo se hace referencia a estos dispositivos como ROM "programable una sola vez".

La estructura de la PROM con conexin fusible es muy semejante a la MROM en cuanto que ciertas conexiones quedan intactas o bien son abiertas a fin de programar una celda de la memoria como un 1 o un 0. En la MROM de la figura 2.7 estas conexiones se hacen de las lneas de habilitacin a las bases de transistores. En una PROM cada una de estas conexiones se hace con una pequea conexin fusible que viene intacta del fabricante (vase la figura 2.9). El usuario puede fundir selectivamente cualquiera de estas conexiones fusibles para producir en la memoria los datos almacenados que se desean. Comnmente esto se lleva a cabo aplicando con mucha precaucin un voltaje controlado al dispositivo para producir un flujo de corriente que ocasionar que la conexin fusible se abra en forma semejante a cuando se funde un fusible. Una vez que se funde una conexin fusible, ya no puede volver a conectarse.

Figura 2.9. Las PROM utilizan conexiones fusibles que pueden ser quemadas de manera selectiva por el usuario para programar un 0 lgico en la celda.

El proceso de programacin de una PROM y luego la verificacin de los datos programados puede consumir mucho tiempo y ser muy tedioso cuando se efecta manualmente. Se encuentran disponibles varios programadores comerciales de PROM por varios cientos de dlares, que permiten que se introduzca un programa desde el teclado en memoria de lectura/escritura (RWM) y luego realizar la fundicin del fusible y la verificacin automtica sin intervencin del usuario.

Un CI PROM muy popular es el 74186, el cual esta organizado como 64 palabras de ocho bits y tiene un tiempo de acceso tpico de 50 ns. Otro CI PROM es el TBP28S166, que es un CI de 2K x 8. Las PROM MOS se encuentran en el mercado con capacidades de almacenamiento mucho mayores que las de los dispositivos bipolares. El TMS27PC256 es una PROM CMOS que tiene una capacidad de 32K x 8 y una disipacin de potencia en el estado de espera de slo 1.4 mW. Se encuentra en el mercado con tiempos de acceso que van desde 120 hasta 250 ns.

ROM programable y borrable (EPROM). Una EPROM puede ser programada por el usuario y tambin puede borrarse y reprogramarse tantas veces como se desee. Una vez programada, la EPROM es una memoria no voltil que contendr sus datos almacenados indefinidamente. El proceso para programar una EPROM implica la aplicacin de niveles de voltaje especiales (comnmente en el orden de 10 a 25 V) a las entradas adecuadas del circuito en una cantidad de tiempo especificada (por lo general 50 ms por localidad de direccin). El proceso de programacin usualmente es efectuado por un circuito especial de programacin que est separado del circuito en el cual la EPROM trabajar por 1timo. El proceso de programacin completo puede llevar varios minutos para una EPROM.

En una EPROM las celdas de almacenamiento son transistores MOSFET que tienen una compuerta de silicio sin ninguna conexin elctrica (es decir, una compuerta flotante). En su estado normal, cada transistor esta apagado y cada celda guarda un 1 1gico. El transistor puede encenderse mediante la aplicacin de un pulso de programacin de alto voltaje, el cual inyecta electrones de alta energa en la regin formada por la compuerta flotante. Estos electrones permanecen en esta regin una vez que ha finalizado el pulso ya que no existe ninguna trayectoria de descarga. Esto mantiene al transistor encendido de manera permanente, aun cuando se retire la potencia de alimentacin del dispositivo; con esto la celda guarda ahora un 0 1gico. Durante el proceso de programacin se emplean las direcciones y terminales de la EPROM para seleccionar las celdas de memoria que sern programadas con ceros as como las que se dejarn como unos.

Una vez que se ha programado una celda de la EPROM, se puede borrar su contenido exponiendo la EPROM a la luz ultravioleta (UV), la cual se aplica a travs de la ventana que se encuentra sobre el encapsulado del circuito. La luz UV produce una fotocorriente que va desde la compuerta flotante hacia el sustrato de silicio; con esto se apaga el transistor y se lleva de nuevo a la celda hacia el estado 1 1gico. El proceso de borrado requiere entre 15 y 30 minutos de exposicin a los rayos UV. Desafortunadamente no existe ninguna forma de borrar slo algunas celdas; la luz UV borra todas las celdas al mismo tiempo, por lo que una EPROM borrada almacena slo unos 1gicos. Una vez borrada, la EPROM puede volverse a programar.

Las EPROM se encuentran disponibles en el mercado en una amplia gama de capacidades y tiempos de acceso; es comn encontrar dispositivos con una capacidad de 128K x 8 y un tiempo de acceso de 45 ns. Para ilustrar la operacin de una EPROM, se har uso de una 2732. La 2732 es una EPROM NMOS de 4K x 8 que funciona con una sola fuente de alimentacin de +5V. La figura 2.10 es el smbolo de bloque para la 2732.

Figura 2.10 Smbolo lgico para la EPROM 2732

Note que el smbolo muestra 12 entradas para direcciones, ya que 212 = 4096, y 8 salidas para datos. La memoria tiene dos entradas de control CE es la entrada de habilitacin del circuito y que tambin sirve para colocarlo en el modo de espera, donde disminuye el consumo de energa. La entrada OE/VPP tiene una doble funcin que depende del modo de operacin del dispositivo. OE es la entrada que habilita las salidas y se emplea para controlar los buffers de salida de datos, lo que permite que el dispositivo pueda conectarse al canal de datos de un microprocesador sin contienda por el canal. VPP es el voltaje especial de programacin requerido durante el proceso de programacin.

La 2732 tiene varios modos de programacin que estn controlados por los voltajes aplicados en las terminales CE y OE/VPP , mismos que se presentan en la figura 2.10. El modo de lectura y el de deshabilitacin de salidas son los modos normales de operacin para una EPROM cuando sta forma parte del sistema de memoria interna de una computadora y el CPU lee su contenido con bastante frecuencia. Para estos modos, la entrada CE permanece en su estado activo en BAJO, mientras que el nivel aplicado en OE es el que determina si las terminales de salida del dispositivo contienen datos o son deshabilitadas.

El modo de espera se obtiene a] mantener CE en su estado inactivo en ALTO. Este estado de reduccin de potencia se emplea cuando el CPU no va a tener acceso al dispositivo. En este estado la EPROM no responde a ninguna de sus dems entradas. En el modo de espera, el consumo mximo de potencia de la 2732 es de 175 mW; en los dems modos de operacin este consumo es de 500 mW.

El modo de programa se emplea para grabar nuevos datos en las celdas de la EPROM. El proceso de programacin puede grabar una palabra de ocho bits en una localidad de memoria a la vez. Por un momento suponga que la EPROM ha sido borrada con luz UV, con lo que se tiene una EPROM "limpia" (todas las celdas contienen unos 1gicos). Los pasos requeridos para programar (grabar datos) cualquier localidad de la memoria, son los siguientes:

1. Se aplica en las entradas de direcciones de la EPROM la direccin de la localidad que se desea programar.

2. Al mismo tiempo, se aplica en la terminal de entrada OE/VPP el pulso VPP (21 V).

3. Al mismo tiempo, se ponen los datos que van a escribirse en la localidad de memoria en las terminales para datos del dispositivo, D7 a D0. En el modo de programa, las terminales de datos funcionan como entradas debido a que el alto voltaje aplicado en la terminal OE/VPP deshabilita los buffers de salida de datos.

4. Una vez que se han estabilizado tanto los datos como la direccin, se aplica un pulso BAJO en la entrada CE con una duraci6n de tPW = 50 ms. Durante este intervalo, cada celda de memoria perteneciente a la localidad seleccionada, permanece en uno o es cambiada a cero, dependiendo del correspondiente bit del dato de entrada.

5. Cuando el proceso de programacin est terminado, la entrada CE regresa a su estado ALTO, mientras que OE/VPP lo hace hacia el estado BAJO. En este modo de espera, se retiran los datos de las terminales de datos del dispositivo y stas entran de nuevo en el estado de alta impedancia.

6. El paso final del proceso de programacin es verificar que la palabra de datos haya sido escrita de manera correcta en la localidad de memoria. El modo de verificacin es en realidad, el mismo modo de lectura. La entrada OE se mantiene en BAJO y se aplica un pulso hacia el nivel BAJO en CE. Lo anterior causa que la circuitera interna de la EPROM lleve el dato desde la localidad de memoria seleccionada hacia los buffers de salida para los datos, lugar donde puede leerse el dato.

El proceso de programacin cuando se efecta manualmente puede tomar horas. Se encuentran disponibles en el mercado numerosos programadores de EPROM que pueden programar y verificar una 2732 completa en menos de dos minutos, una vez que el usuario ha introducido los datos en la RWM del programador de la EPROM desde un teclado. Algunos programadores de EPROM permiten que se transfieran datos en la RWM desde una computadora. Este proceso, llamado carga hacia abajo, permite al usuario primero elaborar su programa en una computadora y despus, cuando se termina y est trabajando, transferirlo de la memoria de la computadora al programador de la EPROM, que lo grabar a la EPROM.

PROM elctricamente borrable (EEPROM). Como se observ antes, las EPROM tienen dos desventajas importantes. Primero, tienen que ser retiradas de sus bases a fin de ser borradas y reprogramadas. Segundo, el borrado retira todo el contenido de la memoria; esto requiere una reprogramacin completa aun cuando slo tenga que alterarse una palabra de la memoria. La PROM elctricamente borrable (EEPROM) se invent alrededor del ao de 1980 como una mejora a la EPROM.

La EEPROM aprovecha la misma estructura de compuerta flotante de la EPROM. Agrega la caracterstica de borrado elctrico a travs de la adicin de una delgada regin de xido arriba del drenaje de la celda de memoria MOSFET. Aplicando un voltaje ALTO (21 V) entre la compuerta y el consumo del MOSFET, puede inducirse una carga en la compuerta flotante, donde permanecer aun cuando se suspenda el suministro de energa. La inversin del mismo voltaje produce una eliminacin de las cargas capturadas de la compuerta flotante y borra la celda. Ya que este mecanismo de transporte de cargas requiere corrientes muy bajas, la programaci6n y el borrado de una EPROM puede hacerse por lo general en el circuito (es decir, sin una fuente de luz UV y unidad programadora de PROM).

Una ventaja importante ofrecida por las EEPROM sobre las EPROM es la capacidad de borrar y reprogramar elctricamente palabras individuales en el arreglo de la memoria. Otra ventaja es que una EEPROM completa puede borrarse en cerca de 10 ms (en circuito) versus cerca de 30 minutos de una EPROM en luz UV externa. Una EEPROM tambin puede ser programada con mayor rapidez; requiere slo un pulso de programacin de 10 ms por cada palabra de datos, en comparaci6n con 50 ms de una EPROM.

Debido a que la EEPROM puede borrarse y reprogramarse aplicando voltajes adecuados, no necesitamos retirarla del circuito del cual forma parte, siempre que los componentes de soporte adicionales tambin sean parte de la circuitera. La circuitera de soporte incluye el voltaje de programacin de 21 V (VPP), que generalmente se genera a partir de la fuente de +5V a travs de un convertidor DC a DC, y circuitera para controlar la temporizacin y secuenciacin de 10 ms de las operaciones de borrado y programacin.

La Intel 2816 fue la EEPROM original; fue introducida en el mercado por Intel Corporation en 1981 con una capacidad de 2K x 8, tiempo de acceso de 250 ns y las caractersticas ya descritas con anterioridad. Desde entonces, los avances en el diseo de EEPROM han dado como resultado muchas mejoras. La 2864 es una EEPROM de 8K x 8 que contiene sobre el sustrato de silicio circuitera que es capaz de generar los altos voltajes necesario para ]as operaciones de borrado y programacin; de este modo, el CI requiere slo de una terminal de alimentacin +VCC. Esta caracterstica hace que la 2864 sea tan fcil de utilizar cmo los dispositivos RWM estticos. Claro est, a diferencia de la RWM esttica, la EEPROM es no voltil y mantendr todos los datos escritos en ella aun despus de apagado el voltaje de alirnentacin. Por otro lado, la RWM esttica tiene una circuitera interna menos compleja y tiempos de acceso mucho menores.

Figura 2.11. Smbolo para la EEPROM 2864.

La figura 2.11 muestra el smbolo para la EEPROM 2864 junto con sus modos de operacin ms importantes. Note que las terminales de entrada de datos del dispositivo estn marcadas como terminales de E/S, ya que pueden funcionar como entradas o salidas de datos de acuerdo con el modo de operacin. Tres entradas de control determinan el modo de operacin. CE se emplea para habilitar o deshabilitar el circuito; cuando esta deshabilitado, el circuito se encuentra en el modo de espera de bajo consumo de potencia. OE se emplea para habilitar y deshabilitar los buffers de salida de datos. Durante una operacin de lectura, OE = 0 con lo que se habilitan los buffers de salida; durante la operacin de escritura, 0E = 1 y esto habilita los buffers de salida para que los datos de entrada puedan aplicarse en las terminales E/S. WE selecciona el modo, ya sea ste de escritura o de lectura. En el modo de escritura, se aplica un pulso hacia el nivel BAJO en WE mientras los datos que se desean escribir se colocan en las terminales de E/S. La circuitera interna borra de manera automtica las celdas correspondientes en la localidad de memoria antes de escribir los nuevos datos.

Aplicaciones de las ROM

Las ROM pueden utilizarse en cualquier aplicacin que requiera almacenamiento de datos no voltil, donde los datos rara vez o nunca tengan que ser alterados. Describiremos brevemente algunas de las reas de aplicacin ms comunes.

Almacenamiento de programas en microcomputadora programacin en firme (firmware). En la actualidad, sta es la aplicacin ms ampliamente utilizada de las ROM. Las microcomputadoras personales y de empresas usan ROM para almacenar sus programas de sistema operativo y sus intrpretes de lenguajes (es decir, BASIC), de manera que la computadora pueda utilizarse inmediatamente despus de encenderse. Los productos que tienen una microcomputadora para controlar su operacin utilizan ROM para almacenar programas de control. Algunos ejemplos de estos productos son los juegos electrnicos, las cajas registradoras electrnicas, las balanzas electrnicas e inyeccin de combustible en automviles controlada por microcomputadora.

Los programas de microcomputadora que se almacenan en ROM se conocen como programacin en firme (firmware) ya que no estn sujetos a cambios; los programas que se almacenan en RWM reciben el nombre de programacin blanda (software) puesto que pueden ser fcilmente alterados.

Memoria de arranque. Muchas microcomputadoras y la mayor parte de las computadoras grandes, no guardan sus programas de sistema operativo en ROM. En lugar de ello, dichos programas estn guardados en memoria externa por lo general en disco magntico. Entonces, cmo saben las computadoras qu hacer cuando se les enciende?. En la ROM se guarda un pequeo programa denominado programa de arranque. Cuando se enciende la computadora, sta ejecuta las instrucciones que se encuentran en el programa de arranque. Por lo general, estas instrucciones hacen que el CPU inicialice la circuitera (hardware) del sistema. Hecho esto, el programa de arranque carga los programas del sistema operativo desde la memoria secundaria (disco) hacia la memoria interna de la computadora. En este momento, la computadora comienza a ejecutar el programa correspondiente al sistema operativo y est lista para dar respuesta a los mandatos del usuario. Este proceso de inicio recibe con frecuencia el nombre de "arranque del sistema".

Tablas de datos. Las ROM se usan para almacenar tablas de datos que no varan. Algunos ejemplos de stas son las tablas trigonomtricas (es decir, seno, coseno, etc.) y tablas de conversin de cdigos.

Se dispone de varias tablas de "bsqueda" en ROM estndar con las funciones trigonomtricas. Una de ellas, la National Semiconductor MM4220BM, almacena la funcin seno para ngulos entre 0 y 90 grados. La ROM se organiza como una memoria de 128 x 8, con siete entradas de direccin y ocho salidas de datos. Las entradas de direccin representan el ngulo en incrementos de aproximadamente 0.7o. Por ejemplo, la direccin 0000000 es 0o, la direccin 0000001 es 0.7o, la direccin 0000010 es 1.41o y as sucesivamente hasta llegar a la direccin 1111111, que es 89.3o. Cuando una direccin se aplica a la ROM, las salidas de datos representarn el valor aproximado del seno del ngulo. Por ejemplo, con la entrada de direccin 1000000 (que representa aproximadamente 45o) las salidas de datos sern 10110101. Como el seno es menor que o igual a 1, estos datos se interpretan como una fraccin; esto es, .10110101, el cual, cuando se convierte a decimal es igual a .707 (seno de 45o).

Convertidor de datos. El circuito convertidor de datos toma un dato expresado en cierto cdigo y produce como salida el mismo dato pero en otro cdigo. Por ejemplo, la conversin de cdigo se necesita cuando una computadora saca datos en cdigo binario directo y se desea convertirlo en BCD a fin de exhibirl6 en exhibiciones LED de 7 segmentos.

Uno de los mtodos ms simples de conversin de cdigo utiliza una ROM programada, de manera que la aplicacin de cierta direccin (el cdigo anterior) produzca una salida de datos que representa el equivalente en el nuevo cdigo. La 74185 es una ROM TTL que almacena la conversin de cdigo de binario en BCD para una entrada binaria de 6 bits. Para ilustrar esto, una entrada de direccin de 100110 (38 decimal) producir una salida de datos de 00111000, que es el cdigo BCD del decimal 38. El problema 11-19 trata con este tipo de ROM.

Generadores de caracteres. Si el lector alguna vez ha observado de cerca caracteres alfanumricos (letras, nmeros, etc.) impresos en el monitor de una computadora, seguramente ha notado que cada uno se forma, en trminos generales, un grupo de puntos. Segn el carcter exhibido, algunas posiciones de los puntos son brillantes mientras que otras son oscuras. Cada carcter debe ajustarse a un patrn de posiciones de puntos, que generalmente se dispone como una matriz de 5 x 7 o bien de 7 x 9. El modelo de puntos de cada carcter puede representarse como un cdigo binario (es decir, punto brillante = 1, punto oscuro = 0).

Una ROM generadora de caracteres almacena los cdigos del modelo de puntos por cada carcter ubicado en una direccin correspondiente al cdigo ASCII de ese carcter. Por ejemplo, el modo de puntos de la letra "A" se almacenara en la direccin 1000001, que es el cdigo ASCII de la A mayscula. Las ROM generadoras de caracteres se usan intensamente en cualquier aplicacin que exhiba o impriman caracteres alfanumricos.

Generador de funciones. El generador de funciones es un circuito que produce formas de onda tales como ondas senoidales, diente de sierra, triangulares y cuadradas. La figura 2.12 muestra cmo utilizar una tabla de bsqueda en ROM y un DAC para generar como salida una seal senoidal.

Figura 2.12. Generador de Funciones utilizando una ROM y un ADC.

La ROM guarda 256 distintos valores de ocho bits que corresponden cada uno a un valor diferente de la forma de onda (es decir, a un punto con diferente voltaje sobre la onda senoidal). El contador de ocho bits recibe de manera continua la seal de reloj y con esto proporciona en forma secuencial las direcciones de entrada a la ROM. Conforme el contador recorre sus 256 estados, mismos que generan 256 direcciones, la ROM da salida a 256 puntos hacia el DAC. La salida del DAC ser una forma de onda escalonada con 256 valores de voltaje analgico diferentes, los cuales corresponden a los datos. El filtro pasa bajas reduce la amplitud de los pasos en la salida del DAC para producir una forma de onda casi lisa.

Circuitos como estos se emplean en algunos generadores de funcin comerciales. La misma idea se utiliza en algunos sintetizadores de voz donde la forma de onda digitalizada de voz se almacena en ROM.RAM de semiconductor

Recordemos que el trmino RAM significa memoria con acceso aleatorio, lo cual quiere decir que se puede tener acceso fcilmente a cualquier localidad de direccin de memoria. Muchos tipos de memoria se pueden clasificar como de acceso aleatorio, pero cuando el trmino RAM se utiliza con memorias de semiconductor, generalmente se considera que significa memoria de lectura y escritura (RWM) en contraste con la ROM. Ya que es una prctica comn usar el trmino RAM para referirnos al RWM de semiconductor, lo utilizaremos de aqu en adelante.

Las RAM se emplean en las computadoras como medios de almacenamiento temporal para programas y datos. El contenido de muchas de las localidades de direccin de la RAM ser ledo y escrito a medida que la computadora ejecuta un programa. Esto requiere que la RAM tenga ciclos de escritura y lectura rpidos para que no reduzca la velocidad de operacin de la computadora.

Una gran desventaja de las RAM es que son voltiles o pierden toda la informacin contenida en ellas si se interrumpe el suministro de potencia. Sin embargo, algunas RAM CMOS emplean una cantidad tan pequea de potencia en el modo de espera (ninguna tarea de escritura o lectura), que se pueden alimentar con bateras cada vez que se interrumpe la fuente de alimentacin principal. Por supuesto, la ventaja principal de la RAM es que se puede escribir en ella y tambin se puede leer de ella muy rpidamente con la misma facilidad.

Arquitectura de la RAM

Como sucede con la ROM, es til pensar que la RAM consta de varios registros, cada uno de los cuales almacena una sola palabra de datos y con una direccin nica. Las RAM comnmente vienen con capacidades de palabras de 1K, 4K, 8K, 16K, 64K, 128K, 256K; y tamaos de palabra de uno, cuatro u ocho bits. Como se observar ms adelante, la capacidad de palabras y el tamao de stas pueden extenderse combinando circuitos integrados de memoria.

La figura 2.13 muestra la arquitectura simplificada de una RAM que almacena 64 palabras de cuatro bits cada una (es decir, una memoria de 64 x 4). Estas palabras tienen direcciones que van de 0 a 6310. A fin de seleccionar una de las 64 localidades de direccin para leer o escribir, se aplica un cdigo de direccin binario a un circuito decodificador. Ya que 64 = 26, el decodificador requiere un cdigo de entrada de seis bits. Cada cdigo de direccin activa una determinada salida del decodificador la cual, a su vez, habilita su registro correspondiente. Por ejemplo, suponga un cdigo de direccin aplicado de

A5A4A3A2A1A0 = 011010

Como 0110102 = 2610 la salida del decodificador 26 pasara a estado alto, seleccionan el registro 26 para una operacin de lectura o bien de escritura.

Figura 2.13. Organizacin interna de una RAM de 64 * 4.

Operacin de lectura. El cdigo de direccin selecciona un registro del circuito de memoria para leer o escribir. A fin de leer el contenido del registro seleccionado, la entrada LECTURA/ESCRITURA (R/W) debe ser un 1. Adems, la entrada CS (SELECCION DE CI) debe ser activada (un 1 en este caso). La combinacin de R/W = 1 y CS = 1 habilita los buffers de salida de manera que el contenido del registro seleccionado aparecer en las cuatro salidas de datos. R/W = 1 tambin deshabilita los buffers de entrada de manera que las entradas de datos no afecten la memoria durante la operacin de lectura.

Operacin de escritura. Para escribir una nueva palabra de cuatro bits en el registro seleccionado se requiere que R/W = 0 y CS = 1. Esta combinacin habilita los buffers de entrada de manera que la palabra de cuatro bits aplicada a las entradas de datos se cargar en el registro seleccionado. R/W = 0 tambin deshabilita los buffers de salida que son de tres estados, de manera que las salidas de datos se encuentren en estado Alta-Z durante una operacin de escritura. La operacin de escritura, desde luego, destruye la palabra que estaba almacenada antes en la direccin.

Seleccin de CI. Muchos circuitos de memoria tienen una o ms entradas CS que se usan para habilitar o deshabilitar al circuito en su totalidad. En el modo deshabilitado todas las entradas y salidas de datos se deshabilitan (Alta-Z) de manera cuando se combinen CI de memoria para obtener mayores memorias. Note que muchos fabricantes llaman a estas entradas CE (HABILITACION DE CIRCUITO). Cuando las entradas CS o CE se encuentran en su estado activo, se dice que el CI de memoria ha sido seleccionado; de otro modo se dice que no estd seleccionado. Muchos CI de memoria estn diseados para consumir una potencia mucho menor cuando no estn seleccionados. En sistemas de memoria grandes, para una operacin dada de memorial sern seleccionados uno o ms CI de memoria mientras que los dems no.

Terminales comunes de entrada/salida. A fin de conservar terminales en un encapsulado de CT, los fabricantes a menudo combinan las funciones de entrada y salida de datos utilizando terminales comunes de entrada/salida. La entrada R/W controla la funcin de estas terminales E/S. Durante una operacin de lectura, las terminales E/S actan como salidas de datos que reproducen el contenido de la localidad de direccin seleccionada. Durante una operacin de escritura, las terminales E/S actan como entradas de datos.

Podemos observar por qu se hace esto considerando el CI de la figura 2.13. Con terminales de entrada y salida aparte, se requiere un total de 18 terminales (incluyendo tierra y fuente de potencia). Con cuatro terminales comunes E/S, slo se necesitan 14 terminales . El ahorro en el uso de terminales se hace an ms significativo en CI con tamao de palabra mayor.

RAM esttica (SRAM)

La operacin de la RAM que se ha venido analizando hasta ahora se aplica a una RAM esttica (aquella que puede almacenar datos mientras se aplica energa al circuito). Las celdas de la memoria RAM esttica son en esencia flip-flops que permanecern en un estado determinado (almacenaran un bit) indefinidamente, siempre y cuando no se interrumpa el suministro de energa al circuito. Ms adelante describiremos las RAM dinmicas, que almacenan datos como cargas en capacitares. Con la RAM dinmica los datos almacenados desaparecern gradualmente debido a la descarga del capacitor, de manera que se necesitan refrescar en forma peridica los datos (o sea, recargar los capacitores).

Las RAM estticas (SRAM) se encuentran disponibles en tecnologas bipolar y MOS, aunque la vasta mayora de las aplicaciones hacen uso de RAM NMOS o bien CMOS. Como se dijo antes, las bipolares tienen la ventaja en velocidad (a pesar que el NMOS cierra gradualmente la brecha) y los dispositivos MOS tienen capacidades mucho mayores con menor consumo de potencia. La celda bipolar contiene dos transistores bipolares y dos resistores, en tanto que la celda NMOS contiene cuatro MOSFET de canales N. La celda bipolar requiere mas rea de circuito debido a que un transistor bipolar es ms complejo que un MOSFET, y la celda bipolar requiere resistores separados, mientras que la celda MOS utiliza MOSFET como resistores. Una celda de memoria CMOS seria semejante a la celda NMOS, excepto que empleara MOSFET de canales P. Esto origina menor consumo de energa pero incrementa la complejidad del circuito.

Circuito Real SRAM. Un ejemplo de un CI real SRAM es la CMOS 6264 que es una memoria de 8K * 8 con ciclos de lectura y escritura de 100 ns y un consumo de potencia de slo 0.1 mW en el estado de espera. En la figura 2.14 se muestra el smbolo 1gico correspondiente a la 6264. Note que el circuito tiene 13 entradas para direcciones, dado que 213 = 8192 = 8K, y ocho lneas de E/S para datos. Las cuatro entradas de control determinan el modo de operacin del circuito.

Figura 2.14. Smbolo para la SRAM CMOS 6264.

La entrada WE es igual a la entrada R/W que se ha utilizado hasta este momento. Un nivel BAJO en la entrada WE har que se escriban los datos en la RAM siempre y cuando el circuito haya sido seleccionado las dos entradas de seleccin del CI deben encontrarse activas. Note la forma en que se utiliza el smbolo & para denotar que ambas entradas tienen que estar activas. Un nivel ALTO aplicado en WE produce la operacin de lectura siempre que el dispositivo se encuentre seleccionado y los buffers de salida estn habilitados por OE = BAJO. Cuando el dispositivo deja de estar seleccionado, pasa al estado de bajo consumo de potencia en el que ninguna de las dems entradas tienen efecto sobre l.

RAM dinmica (DRAM)

Las RAM dinmicas se fabrican con tecnologa MOS y se caracterizan por su gran capacidad, bajos requerimientos de consumo de potencia y velocidad de operacin media. Tal como ya se mencion, a diferencia de las RAM estticas, las cuales guardan informacin en FF, las RAM dinmicas guardan los unos y ceros como cargas sobre pequeos capacitores MOS (con capacitancia de slo unos cuantos picofaradios). Dada la tendencia que tienen estas cargas a fugarse despus de cierto tiempo, las RAM dinmicas requieren de la recarga peridica de las celdas de memoria; este proceso recibe el nombre de refresco de la memoria RAM dinmica. En general, cada celda debe refrescarse por lo menos cada cierto periodo, de 2 a 10 ms, o de lo contrario se perdern los datos.

La necesidad de refrescar las celdas es una desventaja de las RAM dinmicas cuando stas se comparan con las RAM estticas, debido a que las primeras aaden ms requerimientos al diseo del sistema de memoria. Hasta hace poco los diseadores de sistemas tenan que incluir circuitera adicional para implantar la operacin de refresco de la memoria durante los intervalos de tiempo en que no se tiene acceso a sta para una operacin de lectura o de escritura. Ahora existen dos alternativas disponibles para ayudar a neutralizar esta desventaja. Para memorias relativamente pequeas (< 64K palabras) la RAM integrada (IRAM) proporciona una solucin. Una IRAM es un CI que incluye la circuitera de refresco sobre el mismo microcircuito, junto con la matriz de celdas de memoria. El resultado es un CI que funciona, desde el punto de vista externo, como un CI de RAM esttica - usted proporciona las direcciones y entonces recoge los datos - pero que en su interior emplea una estructura de RAM dinmica de alta densidad. El diseador no tiene que preocuparse por la operacin de refresco de la memoria ya que sta se realiza de manera automtica en el interior del CI.

Para sistemas de memoria grandes (>64K), existe un enfoque que es ms eficiente en trminos de costos y que hace uso de microcircuitos LSI denominados controladores de memoria dinmica, los cuales contienen toda la 1gica necesaria para refrescar los CI de RAM dinmica que integran el sistema. Esto reduce en buena parte la circuitera adicional que contiene un sistema de RAM dinmica.

Para aplicaciones donde los factores de velocidad y reduccin en la complejidad son ms importantes que las consideraciones de espacio y consumo de potencia, las RAM estticas siguen siendo la mejor opcin. En general, son ms rpidas que las RAM dinmicas y no requieren de ninguna operacin de refresco. Son ms fciles de disear, pero no pueden competir con la mayor capacidad y menor requerimiento de potencia de las RAM dinmicas.

Como consecuencia de su estructura de celda ms sencilla, las DRAM tienen por lo general cuatro veces la densidad de las SRAM. Esto permite colocar hasta cuatro veces ms capacidad de memoria sobre una tarjeta de circuito impreso o, en otros trminos, para la misma cantidad de memoria slo se necesita la cuarta parte del espacio que se ocupara si se emplearan SRAM. El costo por bit de almacenamiento en RAM dinmica se encuentra entre la quinta y cuarta parte del costo en las RAM estticas. Se obtiene un ahorro adicional en el costo debido a los bajos requerimientos de potencia de la RAM dinmica, que por lo comn se encuentra entre un sexto y la mitad de los correspondientes a las RAM estticas, y lo que a su vez permite el uso de fuentes de alimentacin ms pequeas y de menor costo.

Las principales aplicaciones de las SRAM se encuentran en reas donde son necesarias slo pequeas cantidades de memoria (hasta 64K) o donde se requiere de gran velocidad. Muchos instrumentos y aparatos controlados por microprocesador tienen requerimientos muy pequeos de capacidad de memoria. Algunos instrumentos, como el osciloscopio de almacenamiento digital y los analizadores 1gicos, requieren de una memoria de alta velocidad. Para aplicaciones como stas, por lo general se emplea memoria SRAM.

La memoria principal de muchas de las microcomputadoras personales (por ejemplo, la IBM PC o APPLE) emplea DRAM debido a su gran capacidad y bajo consumo de potencia. Sin embargo, estas computadoras algunas veces emplean pequeas cantidades de SRAM para funciones que requieren de mxima velocidad, como las grficas en vdeo y las tablas de bsqueda.

Refresco del contenido de la DRAM

Las celdas de la DRAM tienen que refrescarse de manera peridica (por lo general, cada 2 ms) o de lo contrario pierden el dato que almacenan. Tal como ya se mencion en el estudio de la celda DRAM, la celda se refresca cada vez e se realiza en ellas una operacin de lectura. Parecera entonces que para una DRAM de 16K x 1 es necesario llevar a cabo las operaciones de lectura con una rapidez de una 122 ns (2ms/16,384 = 122 ns). Esto es demasiada rapidez para las DRAM disponibles hoy en el mercado y aun si existiesen DRAM suficientemente rpidas, es poco probable que durante la operacin normal se leyeran todas las celdas. Es por esta razn que los fabricantes disean sus microcircuitos DRAM de forma que:

cada vez que se Ileve acabo una operacin de lectura en una celda, se regeneren todas las celdas que se encuentran en el mismo rengln.

Esto disminuye en gran medida el nmero de operaciones de lectura que deben efectuarse para regenerar toda la memoria; es as como slo es necesario leer 128 renglones una vez cada 2 ms. Aun as, es poco probable leer 128 renglones durante la operacin normal de la memoria; por consiguiente, la operacin de refresco tiene que efectuarse por algn otro medio.

El medio ms comn es el proporcionado por un contador de refresco de siete bits, el cual se emplea para recorrer de manera cclica las 128 direcciones diferentes que corresponden a los renglones. El contador comienza en 0000000, lo que corresponden al rengln 0. Esta direccin se aplica en las entradas para direcciones de la DRAM (MUX = 0) y se cambia RAS hacia el nivel BAJO, mientras que R/W y CAS se mantienen en el nivel ALTO. Esto permite regenerar el rengln 0. El contador se incrementa y la secuencia vuelve a repetirse hasta alcanzar el rengln 127. Este proceso de regeneracin se puede realizar de manera completa en alrededor de 50 (s.

Si bien la idea del contador de regeneracin parece bastante sencilla, debe tomarse en cuenta el hecho de que las direcciones de los renglones que provienen del contador no interfieran con las direcciones enviadas por la CPU durante un ciclo normal de lectura/escritura. Por esta razn las direcciones del contador de regeneracin tienen que ser multiplexadas con las de la CPU, de este modo siempre se activarn las direcciones apropiadas para la DRAM en los tiempos apropiados.

Muchos fabricantes de CI de memoria dinmica han desarrollado CI especiales para el manejo de la operacin de refresco as como del multiplexado necesario para los sistemas de DRAM. Estos CI se conocen como controladores de RAM dinmica. A continuacin se examina de manera breve un CI de este tipo, el 3242 de Intel, que est diseado para emplearse con DRAM de 16K. El diagrama de bloques de la figura 2.15 muestra un 3242 utilizado en conjuncin con una DRAM de 16K x 1.

Figura 2.15. El controlador de DRAM 3242 realiza el multiplexado y refresco de las direcciones y regenera el conteo de stas para una DRAM de 16K.

El 3242 ofrece como salida una direccin multiplexada de siete bits que est conectada a las entradas para direcciones de la DRAM. Existen tres posibles fuentes para esta direccin. El contador de regeneracin de siete bits se incrementa de acuerdo con una seal externa de reloj que esta conectada en su entrada COUNT. Este contador proporciona las direcciones de los renglones de la DRAM durante la operacin de regeneracin. El 3242 tambin toma la direccin de 14 bits que enva la CPU y la multiplexa hacia las direcciones de rengln y columna que se emplean cuando la CPU efecta una operacin de lectura o una de escritura sobre la DRAM. Los niveles 1gicos aplicados a la entrada HABILITACION DEL REFRESCO y HABILITACION DE RENGLON, determinan qu direcciones de siete bits aparecern en las salidas del controlador.

Expansin del tamao de la pal