Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Sistemas digitales Principios y aplicaciones Ronald J. Tocci Monroe Community College Neal S. Widmer Purdue University Gregory L. Moss Purdue University DÉCIMA EDICIÓN Reynaldo Félix Acuña Profesor investigador Departamento de Ingeniería Eléctrica y Electrónica Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México Marcos de Alba Profesor investigador Departamento de Ingeniería Eléctrica y Electrónica Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México Revisión técnicaTraducción Alfonso Vidal Romero Elizondo Ingeniero en Electrónica y Comunicación Instituto Tecnológico y de Estudios Superiores de Monterrey - Campus Monterrey 12-1 Terminología de memoria 12-2 Operación general de la memoria 12-3 Conexiones entre CPU y memoria 12-4 Memorias de sólo lectura 12-5 Arquitectura de la ROM 12-6 Sincronización de la ROM 12-7 Tipos de ROMs 12-8 Memoria Flash 12-9 Aplicaciones de la ROM 12-10 RAM semiconductora 12-11 Arquitectura de la RAM 12-12 RAM estática (SRAM) ■ CONTENIDO D I S P O S I T I V O S D E M E M O R I A C A P Í T U L O 1 2 12-13 RAM dinámica (DRAM) 12-14 Estructura y operación de la RAM dinámica 12-15 Ciclos de lectura/escritura de la DRAM 12-16 Refresco de la DRAM 12-17 Tecnología de la DRAM 12-18 Expansión de tamaño de palabra y capacidad 12-19 Funciones especiales de la memoria 12-20 Diagnóstico de fallas en sistemas de RAM 12-21 Prueba de la ROM ■ OBJETIVOS Al terminar este capítulo, usted podrá: ■ Comprender y utilizar en forma correcta la terminología asociada con los sistemas de memoria. ■ Describir la diferencia entre memoria de lectura/escritura y memoria de sólo lectura. ■ Hablar sobre la diferencia entre memoria volátil y no volátil. ■ Determinar la capacidad de un dispositivo de memoria con base en sus entradas y salidas. ■ Describir los pasos que ocurren cuando la CP lee o escribe en memoria. ■ Distinguir entre los diversos tipos de ROMs y citar algunas aplicaciones comunes. ■ Comprender y describir la organización y operación de las RAMs estáticas y dinámicas. ■ Comparar las ventajas y desventajas relativas de la EPROM, EEPROM y la memoria Flash. ■ Combinar CIs de memoria para formar módulos de memoria con un tamaño de palabra más grande y/o mayor capacidad. ■ Utilizar los resultados de las pruebas en un sistema de RAM o ROM para determinar las posibles fallas en el sistema de memoria. ■ INTRODUCCIÓN Una de las principales ventajas de los sistemas digitales sobre los analógicos es su habilidad para almacenar con facilidad grandes cantidades de información y datos digitales, durante periodos cortos o largos. Esta capacidad de memoria es lo que hace a los sistemas digitales tan versátiles y adaptables a muchas situaciones. Por ejemplo, en una computadora digital la memoria principal interna almacena instrucciones que indican a la computadora lo que debe hacer bajo todas las posibles circunstancias, de manera que la computadora pueda realizar su trabajo con una mínima cantidad de intervención humana. En este capítulo estudiaremos de los tipos de dispositivos y sistemas de memoria que se utilizan con más frecuencia. Ya nos hemos familiarizado bastante con el fl ip-fl op, que es un dispositivo de memoria electrónico. También hemos visto cómo pueden utilizarse grupos de FFs, a los cuales se les llama registros, para almacenar información y cómo esta información puede transferirse hacia otras ubicaciones. Los registros de FF son elementos de memoria de alta velocidad, los cuales se utilizan mucho en las operaciones internas de una computadora digital, en donde la información digital se desplaza continuamente de una ubicación a otra. Los avances en las tecnologías LSI y VLSI han hecho posible colocar grandes 785 786 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA cantidades de FFs en un solo chip, ordenados en diversos formatos de arreglos de memoria. Estas memorias semiconductoras bipolares y MOS son los dispositivos de memoria más veloces disponibles, y su costo se ha ido reduciendo en forma continua, a medida que mejora la tecnología LSI. Los datos digitales también pueden almacenarse como cargas en capacitores; y un tipo muy importante de memoria semiconductora utiliza este principio para obtener un almacenamiento de alta densidad con niveles bajos de requerimiento de energía. Las memorias semiconductoras se utilizan como memoria principal de una computadora (fi gura 12-1), en donde la operación rápida es importante. La memoria principal de una computadora (también conocida como su memoria de trabajo) está en comunicación constante con la unidad central de procesamiento (CPU) a medida que se ejecuta un programa de instrucciones. El programa y cualquier información que éste utilice residen en la memoria principal mientras la computadora trabaja con ese programa. La RAM y la ROM (que defi niremos en breve) conforman la memoria principal. La memoria auxiliar es otra forma de almacenamiento en la computadora (fi gura 12-1); esta memoria auxiliar (también conocida como almacenamiento masivo) está separada de la memoria de trabajo principal y tiene la capacidad de almacenar cantidades masivas de datos, sin necesidad de energía eléctrica. La memoria auxiliar opera a una velocidad mucho más lenta que la memoria principal; almacena programas y datos que la CPU no utiliza en ese momento. Esta información se transfi ere a la memoria principal cuando la computadora la necesita. Los dispositivos de memoria auxiliar comunes son el disco magnético y el disco compacto (CD). Veremos con detalle las características de los dispositivos de memoria más comunes que se utilizan como la memoria interna de una computadora. Primero defi niremos algunos de los términos comunes que se utilizan en los sistemas de memoria. 12-1 TERMINOLOGÍA DE MEMORIA El estudio de los dispositivos y sistemas de memoria está lleno de terminología que algunas veces puede ser abrumadora para un estudiante. Antes de ver una descrip- ción detallada sobre las memorias, sería conveniente que entendiera el signifi cado FIGURA 12-1 Un sistema computacional utiliza, por lo general, memoria principal de alta velocidad y memoria auxiliar externa más lenta. Almacenamiento masivo auxiliar (magnético, óptico) Unidad aritmética Memoria principal (semiconductora) Unidad de control Computadora Procesador central (CPU) SECCIÓN 12-1/TERMINOLOGÍA DE MEMORIA 787 de algunos de los términos más elementales. El resto de los términos los defi niremos a medida que aparezcan en el capítulo. ■ Celda de memoria. Un dispositivo o un circuito eléctrico utilizado para almace- nar un bit (0 o 1). Algunos ejemplos de celdas de memoria son: un fl ip-fl op, un capacitor cargado y un punto individual en cinta o disco magnético. ■ Palabra de memoria. Un grupo de bits (celdas) en una memoria, el cual represen- ta instrucciones o datos de cierto tipo. Por ejemplo, un registro que consiste de ocho FFs puede considerarse como una memoria que almacena una palabra de ocho bits. Los tamaños de las palabras en las computadoras modernas varían, por lo general, de 8 a 64 bits, dependiendo del tamaño de la computadora. ■ Byte. Un término especial que se utiliza para un grupo de ocho bits. Un byte siempre consiste de ocho bits. Los tamaños de las palabras pueden expresarse en bytes o en bits. Por ejemplo, una palabra de un tamaño de ocho bits puede expresarse también cómo una palabra de un byte; una palabra de 16 bits equi- vale a 2 bytes, y así sucesivamente. ■ Capacidad. Una manera de especifi car cuántos bits pueden almacenarse en un dispositivo de memoria específi co o en un sistema completo de memoria. Por ejemplo, suponga que tenemos una memoria que puede almacenar 4096 pala- bras de 20 bits. Esto representa una capacidad total de 81,920 bits. También podríamos expresarla capacidad de esta memoria como 4096 � 20. Cuando se expresa de esta manera, el primer número (4096) es el de palabras y el segundo número (20) es el de bits por palabra (tamaño de palabra). El número de pala- bras en una memoria es por lo común un múltiplo de 1024. Es común utilizar la designación “1K” para representar 1024 � 210 cuando se hace referencia a la capacidad de la memoria. Por lo tanto, una memoria que tiene una capacidad de almacenamiento de 4K � 20 es en realidad una memoria de 4096 � 20. El desa- rrollo de memorias más grandes trajo consigo la designación “1M” o “1 meg” para representar 220 � 1,048,576. Por lo tanto, una memoria con una capacidad de 2M � 8 tiene en realidad una capacidad de 2,097,152 � 8. La designación “giga” se refi ere a 230 � 1,073,741,824. Cierto chip de memoria semiconductora se especifi ca como de 2 K � 8. ¿Cuántas palabras pueden almacenarse en este chip? ¿Cuál es el tamaño de palabra? ¿Cuán- tos bits en total puede almacenar este chip? Solución 2K � 2 � 1024 � 2048 palabras Cada palabra es de ocho bits (un byte). Por lo tanto, el número total de bits es 2048 � 8 � 16,384 bits ¿Qué memoria almacena más bits: una de 5M � 8 o una que almacena 1M palabras con un tamaño de palabra de 16 bits? Solución 5M � 8 � 5 � 1,048,576 � 8 � 41,943,010 bits 1M � 16 � 1,048,576 � 16 � 16,777,216 bits La memoria de 5M � 8 almacena más bits. EJEMPLO 12-1A EJEMPLO 12-1B 788 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA ■ Densidad. Otro término para capacidad. Cuando decimos que un dispositivo de memoria tiene una mayor densidad que otra, queremos decir que puede alma- cenar más bits en la misma área de silicio; es más densa. ■ Dirección. Un número que identifi ca la ubicación de una palabra en memoria. Cada palabra que se almacena en un dispositivo o sistema de memoria tiene una dirección única. Las direcciones siempre existen en un sistema digital en forma de un número binario, aunque a menudo se utilizan números octales, hexade- cimales y decimales para representar la dirección. La fi gura 12-2 ilustra una pequeña memoria que consiste de ocho palabras. Cada una de estas ocho pala- bras tiene una dirección específi ca, la cual se representa como un número de tres bits que varía de 000 a 111. Cada vez que hacemos referencia a la ubicación de una palabra específi ca en memoria, utilizamos su código de dirección para identifi carla. ■ Operación de lectura. La operación mediante la cual la palabra binaria almace- nada en una ubicación específi ca de memoria (dirección) se detecta y después se transfi ere hacia otro dispositivo. Por ejemplo, si queremos utilizar la palabra 4 de la memoria de la fi gura 12-2 para cierto propósito, debemos realizar una ope- ración de lectura en la dirección 100. A la operación de lectura, por lo general, se le conoce como operación buscar (fetch), ya que se está buscando una palabra en memoria. Utilizaremos ambos términos de manera indistinta. ■ Operación de escritura. La operación mediante la cual se coloca una nueva pala- bra en una ubicación de memoria específi ca. También se le conoce como opera- ción almacenar. Cada vez que se escribe una nueva palabra en una ubicación de memoria, ésta sustituye a la palabra que estaba ahí almacenada. ■ Tiempo de acceso. Una medida de la velocidad de operación de un dispositivo de memoria. Es la cantidad de tiempo que se requiere para realizar una operación de lectura. Dicho de manera más específi ca, es el tiempo desde que la memoria recibe una nueva dirección de entrada y hasta que los datos están disponibles en la salida de la memoria. Se utiliza el símbolo tACC para el tiempo de acceso. ■ Memoria volátil. Cualquier tipo de memoria que requiere la aplicación de ener- gía eléctrica para poder almacenar información. Si se quita la energía eléctrica, se perderá toda la información almacenada en la memoria. Muchas memorias semiconductoras son volátiles, mientras que todas las memorias magnéticas son no volátiles, lo cual signifi ca que pueden almacenar información sin energía eléctrica. ■ Memoria de acceso aleatorio (RAM). Memoria en la cual la ubicación física de una palabra de memoria no tiene efecto sobre el tiempo que tardan las opera- FIGURA 12-2 La ubicación de cada palabra tiene una dirección binaria específi ca. Direcciones 000 001 010 011 100 101 110 111 Palabra 0 Palabra 1 Palabra 2 Palabra 3 Palabra 4 Palabra 5 Palabra 6 Palabra 7 SECCIÓN 12-1/TERMINOLOGÍA DE MEMORIA 789 ciones de lectura o escritura, en una ubicación determinada. En otras palabras, el tiempo de acceso es igual para cualquier dirección en memoria. La mayoría de las memorias semiconductoras son del tipo RAM. ■ Memoria de acceso secuencial (SAM). Un tipo de memoria en la cual el tiempo de acceso no es constante, sino que varía dependiendo de la ubicación de la dirección. Una palabra específi ca que esté almacenada se encuentra mediante la búsqueda secuencial a través de todas las ubicaciones de las direcciones, has- ta que se llega a la dirección deseada. Esto produce tiempos de acceso mucho más largos que los de las memorias de acceso aleatorio. Un ejemplo de un dis- positivo de memoria de acceso secuencial es el respaldo en cinta magnética. Para ilustrar la diferencia entre SAM y RAM, considere la situación en la que se graban 60 minutos de canciones en un cassette de audio. Cuando deseamos escuchar una canción específi ca, tenemos que rebobinar o adelantar la cinta hasta encontrarla. El proceso es relativamente lento y la cantidad de tiempo requerido depende del lugar en la cinta en el que esté grabada la canción desea- da. Esto es igual que la SAM, ya que hay que avanzar en secuencia a través de toda la información hasta encontrar lo que estamos buscando. La contraparte de la RAM para esto sería un CD de audio, en donde se puede seleccionar con rapidez cualquier canción con sólo introducir el código apropiado, y se requiere aproximadamente el mismo tiempo sin importar cuál canción seleccione. Las memorias de acceso secuencial se utilizan cuando los datos a los que se va a acceder siempre vienen en una larga secuencia de palabras sucesivas. Por ejem- plo, la memoria de video debe enviar su contenido en el mismo orden una y otra vez, para regenerar la imagen en la pantalla de CRT. ■ Memoria de lectura/escritura (RWM). Cualquier memoria que se puede leer, o en la que se puede escribir, con la misma facilidad. ■ Memoria de sólo lectura (ROM). Una amplia variedad de memorias semicon- ductoras, diseñadas para aplicaciones en las que la proporción de operaciones de lectura en comparación con las de escritura es muy alta. Técnicamente, se puede escribir (programar) en una ROM sólo una vez, y esta operación, por lo general, se realiza en la fábrica. Después de eso, la información sólo se puede leer de la memoria. Otros tipos de ROM son en realidad memorias de casi siem- pre lectura (RMM), en las cuales se puede escribir más de una vez; pero la ope- ración de escritura es más complicada que la operación de lectura, por lo cual no se realiza con mucha frecuencia. Más adelante hablaremos sobre los diversos tipos de ROM. Toda la ROM es no volátil y almacenará los datos aunque se retire la energía eléctrica. ■ Dispositivos de memoria estática. Los dispositivos de memoria semiconductora en la cual los datos se almacenarán de manera permanente, siempre y cuando se aplique energía, sin necesidad de reescribir los datos en la memoria en forma periódica. ■ Dispositivos de memoria dinámica. Dispositivos de memoria semiconductora en los cuales los datos no se almacenarán en forma permanente, aún y cuando se le aplique energía, a menos que se reescriban en forma periódica en la memoria. A esta última operación se le conoce como operación de regeneración. ■ Memoria principal. También se le conoce como memoria de trabajo de la compu- tadora. Almacena instrucciones y datos con losque la CPU está trabajando en un momento dado. Es la de mayor velocidad en la computadora y siempre es semi- conductora. ■ Memoria auxiliar. También se le conoce como almacenamiento masivo, ya que guarda cantidades masivas de información externa a la memoria principal. Es más lenta en velocidad que la memoria principal y siempre es no volátil. Los discos magnéticos y los CDs son dispositivos comunes de memoria auxiliar. 790 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA PREGUNTAS DE REPASO 1. Defi na los siguientes términos. (a) Celda de memoria. (b) Palabra de memoria. (c) Dirección. (d) Byte. (e) Tiempo de acceso. 2. Cierta memoria tiene una capacidad de 8K � 16. ¿Cuántos bits hay en cada palabra? ¿Cuántas palabras se almacenan? ¿Cuántas celdas de memoria contie- ne esta memoria? 3. Explique la diferencia entre las operaciones leer (buscar) y escribir (almace- nar). 4. Verdadero o falso: una memoria volátil pierde sus datos almacenados cuando se interrumpe la energía eléctrica. 5. Explique la diferencia entre SAM y RAM. 6. Explique la diferencia entre RWM y ROM. 7. Verdadero o falso: una memoria dinámica retendrá sus datos mientras se le apli- que energía eléctrica. 12.2 OPERACIÓN GENERAL DE LA MEMORIA Aunque cada tipo de memoria es distinto en su operación interna, ciertos principios de operación básicos son iguales para todos los sistemas de memoria. Comprender estas ideas básicas le ayudará en el estudio de los dispositivos de memoria indivi- duales. Todo sistema de memoria requiere varios tipos distintos de líneas de entrada y de salida para realizar las siguientes funciones: 1. Seleccionar la dirección en memoria a la que se va a acceder para una operación de lectura o de escritura. 2. Seleccionar una operación de lectura o de escritura a realizar. 3. Suministrar los datos de entrada que se van a almacenar en memoria durante una operación de escritura. 4. Retener los datos de entrada que provienen de la memoria durante una opera- ción de lectura. 5. Habilitar (o deshabilitar) la memoria, de manera que responda (o no) a las entra- das de dirección y a la línea de selección de lectura/escritura. La fi gura 12-3(a) ilustra estas funciones básicas en un diagrama simplifi cado de una memoria de 32 � 4, la cual almacena 32 palabras de cuatro bits. Como el tamaño de palabra es de cuatro bits, hay cuatro líneas de entrada de datos (I0 a I3) y cuatro líneas de salida de datos (O0 a O3). Durante una operación de escritura, los datos que se van a almacenar en memoria deben aplicarse a las líneas de entrada de datos. Durante una operación de lectura, la palabra que se va a leer de memoria aparece en las líneas de salida de datos. Entradas de dirección Como esta memoria almacena 32 palabras, tiene 32 distintas ubicaciones de almace- namiento y, por lo tanto, 32 distintas direcciones binarias, las cuales varían de 00000 a 11111 (de 0 a 31 en decimal). Por ende, hay cinco entradas de dirección (A0 a A4). Para acceder a una de las ubicaciones de memoria para una operación de lectura o de escritura se aplica el código de dirección de cinco bits para esa ubicación espe- cífi ca a las entradas de dirección. En general, se requieren N entradas de dirección para una memoria con una capacidad de 2N palabras. Podemos visualizar la memoria de la fi gura 12-3(a) como un arreglo de 32 regis- tros, en donde cada registro almacena una palabra de cuatro bits, como se muestra en la fi gura 12-3(b). La ubicación de cada dirección que se muestra contiene cuatro celdas de memoria que retienen 1s y 0s, los cuales conforman la palabra de datos que se almacena en esa ubicación. Por ejemplo, la palabra de datos 0110 se almace- na en la dirección 00000, la palabra de datos 1001 se almacena en la dirección 00001, y así en lo sucesivo. La entrada R/W Esta entrada controla qué operación de memoria se va a realizar: lectura (R) o escri- tura (W). La entrada se identifi ca como R/W; no hay barra sobre la R, lo cual indica que la operación de lectura ocurre cuando R/W � 1. La barra sobre la W indica que la operación de escritura se realiza cuando R/W � 0. A menudo se utilizan otras etiquetas para identifi car esta entrada. Dos de las más comunes son W (escritura) y WE (habilita escritura). De nuevo, la barra indica que la operación de escritura se lleva a cabo cuando la entrada está en BAJO. En estos últimos casos se sobreentien- de que la operación de lectura ocurre cuando la entrada está en ALTO. La fi gura 12-4 muestra una ilustración simplifi cada de las operaciones de lectu- ra y de escritura. La fi gura 12-4(a) muestra cómo se escribe la palabra de datos 0100 en el registro de memoria que se encuentra en la ubicación de dirección 00011. Esta palabra de datos se hubiera aplicado a las líneas de entrada de datos de la memo- ria, y sustituye los datos que estaban almacenados antes en la dirección 00011. La fi gura 12-4(b) muestra cómo se lee la palabra de datos 1101 de la dirección 11110. Esta palabra de datos aparecería en las líneas de salida de datos de la memoria. Después de la operación de lectura, la palabra de datos 1101 sigue almacenada en la dirección 11110. En otras palabras, la operación de lectura no modifi ca los datos almacenados. Habilitación de memoria Muchos sistemas de memora tienen ciertos medios para deshabilitar por comple- to toda o parte de la memoria, de manera que no responda a las demás entradas. Esto se representa en la fi gura 12-3 como la entrada HABILITACIÓN DE MEMO- RIA (MEMORY ENABLE), aunque puede tener distintos nombres en los diversos sistemas de memoria, como habilitación de chip (CE, acrónimo de CHIP ENABLE) 0 1 1 0 Línea de control de lectura/escritura Salidas de datos (a) Habilitación de memoria Entradas de dirección MSB Entradas de datos A4 A3 A2 A1 A0 I3 I2 I1 I0 O3 O2 O1 O0 R/W ME 32 x 4 Memoria 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 ••• ••• ••• ••• ••• ••• ••• Direcciones Celdas de memoria (b) FIGURA 12-3 (a) Diagrama de una memoria de 32 � 4; (b) arreglo virtual de las celdas de memoria en 32 palabras de cuatro bits. SECCIÓN 12-2/OPERACIÓN GENERAL DE LA MEMORIA 791 792 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA o selección de chip (CS, acrónimo de CHIP SELECT). Aquí se muestra como una entrada activa en ALTO, la cual habilita a la memoria para que opere en forma normal cuando se mantiene en ALTO. Un nivel BAJO en esta entrada deshabilita la memoria, de manera que no pueda responder a las entradas de dirección y R/W. Este tipo de entrada es útil cuando se combinan varios módulos de memoria para formar una memoria más grande. Más adelante examinaremos esta idea. Describa las condiciones en cada entrada y salida cuando se lee el contenido de la ubicación de dirección 00100. Solución Entradas de dirección: 00100 Entradas de datos: xxxx (no se utilizan) R/W: ALTO HABILITACIÓN DE MEMORIA: ALTO Salidas de datos: 0001 Describa las condiciones en cada entrada y salida cuando se escribe la palabra de datos 1110 en la ubicación de dirección 01101. Solución Entradas de dirección: 01101 Entradas de datos: 1110 R/W: BAJO HABILITACIÓN DE MEMORIA: ALTO Salidas de datos: xxxx (no se utilizan; por lo general, están en Hi-Z) Cierta memoria tiene una capacidad de 4K � 8. (a) ¿Cuántas líneas de entrada y salida de datos tiene? (b) ¿Cuántas líneas de dirección tiene? (c) ¿Cuál es su capacidad en bytes? FIGURA 12-4 Ilustración simplifi cada de las operaciones de lectura y de escritura en la memoria de 32 � 4; (a) escritura de la palabra de datos 0100 en la ubicación de memoria 00011; (b) lectura de la palabra de datos 1101 de la ubicación de memoria 11110. 0 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 01 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 ••• ••• ••• ••• ••• ••• ••• Direcciones 0 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 ••• ••• ••• ••• ••• 0100 1101 (a) ESCRITURA de la palabra de datos 0100 en la ubicación de memoria 00011. (b) LECTURA de la palabra de datos 1101 de la ubicación de memoria 11110. EJEMPLO 12-2 EJEMPLO 12-3 EJEMPLO 12-4 PREGUNTAS DE REPASO Solución (a) Ocho de cada una, ya que el tamaño de palabra es de ocho. (b) La memoria almacena 4K � 4 � 1024 � 4096 palabras. Por lo tanto, hay 4096 direcciones de memoria. Como 4096 � 212, se requiere un código de dirección de 12 bits para especifi car una de 4096 direcciones. (c) Un byte es de ocho bits. Esta memoria tiene una capacidad de 4096 bytes. La memoria de ejemplo de la fi gura 12-3 ilustra las funciones de entrada y sali- da que son comunes para la mayoría de los sistemas de memoria. Desde luego que cada tipo de memoria pude tener otras líneas de entrada y de salida que sean pecu- liares para esa memoria. Describiremos estas líneas adicionales de entrada y salida cuando veamos los tipos de memoria individuales. 1. ¿Cuántas entradas de dirección, entradas de datos y salidas de datos se requieren para una memoria de 16K � 12? 2. ¿Cuál es la función de la entrada R/W? 3. ¿Cuál es la función de la entrada HABILITACIÓN DE MEMORIA? 12-3 CONEXIONES ENTRE CPU Y MEMORIA Una buena parte de este capítulo se dedica al análisis de la memoria semiconduc- tora, que como vimos antes, conforma la memoria principal de la mayoría de las computadoras modernas. Recuerde que esta memoria principal se encuentra en comunicación constante con la unidad central de procesamiento (CPU). No es nece- sario estar familiarizado con la operación detallada de una CPU en este punto, por lo que el siguiente tratamiento simplifi cado de la interfaz entre CPU y memoria le proveerá la perspectiva que necesita para que nuestro estudio de los dispositivos de memoria sea más enriquecedor. La memoria principal de una computadora está compuesta por CIs tipo RAM y ROM, los cuales se conectan a la CPU a través de tres grupos de líneas de señal o buses, los cuales se representan en la fi gura 12-5 como las líneas de dirección o bus de dirección, las líneas de datos o el bus de datos, y las líneas de control o el bus de control. Cada uno de estos buses consiste de varias líneas (observe que se represen- tan mediante una sola línea con una barra diagonal), y el número de líneas en cada bus varía de una computadora a otra. Los tres buses juegan un papel necesario para permitir que la CPU escriba datos en la memoria y lea datos de ella. CI de memoria CI de memoria CPU Bus de datos Bus de direcciones Bus de control FIGURA 12-5 Tres grupos de líneas (buses) conectan a los CIs de la memoria principal con el CPU. SECCIÓN 12-3/CONEXIONES ENTRE CPU Y MEMORIA 793 794 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA PREGUNTAS DE REPASO Cuando una computadora ejecuta un programa de instrucciones, la CPU busca en forma continua (lee) información de esas ubicaciones en memoria que contienen (1) los códigos del programa que representan las operaciones a realizar y (2) los datos sobre los cuáles se va a trabajar. La CPU también almacenará (escribirá) datos en ubicaciones de memoria, según lo dicten las instrucciones del programa. Cada vez que la CPU desea escribir datos a una ubicación de memoria específi ca, deben realizarse los siguientes pasos: Operación de escritura 1. La CPU suministra la dirección binaria de la ubicación de memoria en la que se van a almacenar los datos. Coloca esta dirección en las líneas del bus de direc- ción. 2. La CPU coloca los datos que se van a almacenar en las líneas del bus de datos. 3. La CPU activa las líneas de señal de control apropiadas para la operación de escritura en la memoria. 4. Los CIs de la memoria decodifi can la dirección binaria para determinar qué ubicación se está seleccionando para la operación de almacenamiento. 5. Los datos en el bus de datos se transfi eren hacia la ubicación de memoria selec- cionada. Cada vez que la CPU desea leer datos de una ubicación específi ca en memoria, deben realizarse los siguientes pasos: Operación de lectura 1. La CPU suministra la dirección binaria de la ubicación de memoria de la cual se van a recuperar los datos. Coloca esta dirección en las líneas del bus de direc- ción. 2. La CPU activa las líneas de señal de control apropiadas para la operación de lectura de la memoria. 3. Los CIs de la memoria decodifi can la dirección binaria para determinar cuál ubicación se está seleccionando para la operación de lectura. 4. Los CIs de memoria colocan los datos de la ubicación de memoria seleccionada en el bus de datos, desde donde se van a transferir hacia la CPU. Los pasos anteriores deben dejar en claro la función de cada uno de los buses del sistema: ■ Bus de dirección. Este bus unidireccional transporta las salidas de la dirección binaria del CPU hacia los CIs de memoria, para seleccionar una ubicación de memoria. ■ Bus de datos. Este bus bidireccional transporta los datos entre el CPU y los CIs de memoria. ■ Bus de control. Este bus transporta las señales de control (tales como la señal R/W) desde el CPU hacia los CIs de memoria. A medida que profundicemos sobre los CIs de memoria reales, examinaremos la actividad de las señales que aparecen en estos buses para las operaciones de lectura y de escritura. 1. Nombre los tres grupos de líneas que conectan a la CPU y con la memoria interna. 2. Describa los pasos que se llevan a cabo cuando la CPU lee de memoria. 3. Describa los pasos que se llevan a cabo cuando la CPU escribe en memoria. 12-4 MEMORIAS DE SÓLO LECTURA La memoria de sólo lectura es un tipo de memoria semiconductora, diseñada para retener datos que sean permanentes o que no cambien con frecuencia. Durante la operación normal, no pueden escribirse datos en una ROM, pero sí se pueden leer. Para algunas ROMs, los datos almacenados deben integrarse durante el proceso de manufactura; para otras ROMs los datos pueden introducirse mediante electricidad. Al proceso de introducir datos se le llama programación o quemado de la ROM. Algu- nas ROMs no pueden cambiar sus datos una vez programadas; otras pueden borrarse y reprogramarse tantas veces como se requiera. Más adelante veremos con detalle estos diversos tipos de ROMs. Por ahora supondremos que las ROMs se han progra- mado y que contienen datos. Las ROMs se utilizan para almacenar datos e información que no va a cambiar durante la operación normal de un sistema. Un uso principal para las ROMs es el almacenamiento de programas en las microcomputadoras. Como todas las ROMs son no volátiles, estos programas no se pierden cuando se desconecta la energía eléctrica. Cuando la microcomputadora se enciende, puede comenzar de inmediato a ejecutar el programa almacenado en la ROM. Estas memorias también se utilizan para alma- cenar programas y datos en equipos controlados por microprocesador, tales como: cajas registradoras, electrodomésticos y sistemas de seguridad. Diagrama de bloques de la ROM La fi gura 12-6(a) muestra un diagrama de bloques típico para una ROM. Tiene tres conjuntos de señales: entradas de dirección, entrada(s) de control y salidas de datos. De nuestros análisis anteriores podemos determinar que esta ROM almacena 16 palabras, ya que tiene 24 � 16 direcciones posibles, y cada palabra contiene ocho bits ya que hay ocho salidas de datos. Es decir, ésta es una ROM de 16 � 8. Otra manera de describir la capacidad de esta ROM es decir que almacena 16 bytes de datos. Las salidas de datos de la mayoría de los CIs de ROM son triestado, para per- mitir la conexión de muchos chips de ROM al mismo bus de datos para expandir la memoria. Los números más comunes desalidas de datos para las ROMs son cuatro, ocho y 16 bits, siendo más comunes las palabras de ocho bits. La entrada de control CS signifi ca selección de chip. En esencia es una entrada de habilitación, para habilitar o deshabilitar las salidas de la ROM. Algunos fabri- cantes utilizan distintas etiquetas para la entrada de control, como CE (habilitación de chip) u OE (habilitación de salida). Muchas ROMs tienen dos o más entradas de control que deben estar activas para poder habilitar las salidas de datos, de manera que éstos pueden leerse de la dirección seleccionada. En algunos CIs de ROM, una de las entradas de control (por lo general CE) se utiliza para colocar la ROM en un modo de espera de baja energía cuando no está en uso. Esto reduce el consumo de corriente de la fuente de energía del sistema. La entrada CS que se muestra en la fi gura 12-6(a) es activa en BAJO; por lo tan- to, debe encontrarse en el estado BAJO para permitir que aparezcan los datos de la ROM en las salidas de datos. Observe que no hay entrada R/W (lectura/escritura) ya que no se puede escribir en la ROM durante su operación normal. La operación de lectura Supongamos que la ROM se programó con los datos que se muestran en la tabla de la fi gura 12-6(b). Se almacenan dieciséis palabras de datos distintas en las 16 ubi- caciones de dirección. Por ejemplo, la palabra de datos almacenada en la ubicación 0011 es 10101111. Desde luego que los datos se almacenan en binario dentro de la ROM, pero muy a menudo utilizamos notación hexadecimal para mostrar los datos programados con efi ciencia. Esto se hace en la fi gura 12-6(c). Para poder leer una palabra de datos de la ROM, necesitamos hacer dos cosas: (1) aplicar las entradas de dirección apropiadas y, después, (2) activar las entradas de control. Por ejemplo, si deseamos leer los datos almacenados en la ubicación SECCIÓN 12-4/MEMORIAS DE SÓLO LECTURA 795 796 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA PREGUNTAS DE REPASO D7 D6 D5 D4 D3 D2 D1 D0 ROM de 16 x 8 A0 A1 A2 A3 CS (selección de chip) Entrada de control (a) = triestado Entradas de dirección Salidas de datos (b) A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Palabra 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 D7 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 0 D6 1 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 D5 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 D4 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 D3 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 D2 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 D0 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 D1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 Dirección Datos (c) Palabra 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Dirección Datos A3 A2 A1 A0 0 1 2 3 4 5 6 7 8 9 A B C D E F D7 –D0 DE 3A 85 AF 19 7B 00 ED 3C FF B8 C7 27 6A D2 5B FIGURA 12-6 (a) Símbolo de bloque típico de la ROM; (b) tabla que muestra los datos binarios en cada una de las ubicaciones de memoria; (c) la misma tabla en hexadecimal. 0111 de la ROM en la fi gura 12-6, debemos aplicar A3A2A1A0 � 0111 a las entradas de dirección y después aplicar un nivel BAJO a CS. Las entradas de dirección se deco- difi carán dentro de la ROM para seleccionar la palabra de datos correcta, 11101101, que debe aparecer en las salidas D7 a D0. Si CS se mantiene en ALTO, las salidas de la ROM se deshabilitarán y quedarán en el estado Hi-Z. 1. Verdadero o falso: todas las ROMs son no volátiles. 2. Describa el procedimiento para leer de ROM. 3. ¿Qué es programación o quemado en una ROM? 12-5 ARQUITECTURA DE LA ROM La arquitectura (estructura) interna de un CI de ROM es muy compleja, por lo que no intentaremos familiarizarnos con todos sus detalles. No obstante, por cuestión didáctica sí podemos ver un diagrama simplifi cado de la arquitectura interna, como el que se muestra en la fi gura 12-7 para la ROM de 16 � 8. Hay cuatro partes básicas: arreglo de registros, decodifi cador de fi la, decodifi cador de columna y búferes de salida. Arreglo de registros El arreglo de registros almacena los datos que se programan en la ROM. Cada regis- tro contiene varias celdas de memoria que equivalen al tamaño de palabra. En este caso, cada registro almacena una palabra de ocho bits. Los registros se ordenan en un arreglo de matriz cuadrada, común para muchos chips de memoria semiconduc- tora. Podemos especifi car que la posición de cada registro está en una fi la y una columna específi cas. Por ejemplo, el registro 0 está en la fi la 0, columna 0, y el regis- tro 9 está en la fi la 1, columna 2. Decodificadores de dirección El código de dirección A3A2A1A0 que se aplica es el que determina qué registro en el arreglo se habilitará para colocar su palabra de datos de ocho bits en el bus. Los bits de dirección A1A0 se alimentan a un decodifi cador 1 de 4, el cual activa una línea de selección de fi la, y los bits de dirección A3A2 se alimentan a un segundo decodifi ca- dor 1 de 4, el cual activa una línea de selección de columna. Sólo habrá un registro Registro 0 E E Registro 4 E E Registro 8 E E Registro 3 E E Registro 7 E E Registro 11 E E Registro 15 E E Registro 2 E E Registro 6 E E Registro 10 E E Registro 14 E E Registro 1 E E Registro 5 E E Registro 9 E E Registro 13 E E Registro 12 E E SELECCIÓN DE FILA A0 A1 Decodifi- cador 1 de 4 MSB 0 1 2 3 SELECCIÓN DE COLUMNA A2 A3 Decodifi- cador 1 de 4 MSB 0 1 2 3 Columna 0 Columna 1 Columna 2 Columna 3 Fila 0 Fila 1 Fila 2 Fila 3 Columna 0 Columna 1 Columna 2 Columna 3 [8] D7 D6 D5 D4 D3 D2 D1 D0 Búferes de salida ECS FIGURA 12-7 Arquitectura de una ROM de 16 � 8. Cada registro almacena una palabra de ocho bits SECCIÓN 12-5/ARQUITECTURA DE LA ROM 797 798 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA en la fi la y la columna seleccionadas por las entradas de dirección, por lo que éste es el que se habilitará. ¿Cuál registro se habilitará a través de la dirección de entrada 1101? Solución A3A2 � 11 hará que el decodifi cador de columna active la línea de selección de la columna 3, y A1A0 � 01 hará que el decodifi cador de fi la active la línea de selección de la fi la 1. Esto hará que ambas entradas de habilitación del registro 13 cambien a ALTO, para provocar que se coloquen sus salidas de datos en el bus. Observe que los otros registros de la columna 3 tendrán sólo una entrada de habilitación activada; lo mismo se aplica para los registros de la otra fi la 1. ¿Qué dirección de entrada habilitará el registro 7? Solución Las entradas de habilitación de este registro están conectadas a las líneas de selec- ción de la fi la 3 y la columna 1, respectivamente. Para seleccionar la fi la 3, las entra- das A1A0 deben estar en 11 y para seleccionar la columna 1, las entradas A3A2 deben estar en 01. Por lo tanto, la dirección requerida será A3A2A1A0 � 0111. Búferes de salida El registro que se habilite mediante las entradas de dirección colocará sus datos en el bus de datos. Estos datos se alimentan hacia los búferes de salida, los cuales pasa- rán esos datos hacia las salidas de datos externas, siempre y cuando CS permanezca en BAJO. Si CS cambia a ALTO, los búferes de salida se colocarán en el estado Hi-Z y las salidas D7 a D0 estarán fl otando. La arquitectura que se muestra en la fi gura 12-7 es similar a la de muchas ROMs de CI. Dependiendo del número de palabras de datos almacenadas, los registros en algunas ROMs no se ordenarán en un arreglo cuadrado. Por ejemplo, el chip Intel 27C64 es una ROM tipo CMOS que almacena 8192 palabras de ocho bits. Sus 8192 registros están ordenados en un arreglo de 256 fi las � 32 registros. Las capacidades de la ROM varían desde 256 � 4 hasta 8M � 8. Describa la arquitectura interna de una ROM que almacena 4K bytes y utiliza un arreglo de registros cuadrado. Solución 4K son en realidad 4 � 1024 � 4096, por lo que esta ROM almacena 4096 palabras de ocho bits. Se puede considerar quecada palabra se almacena en un registro de 8 bits y que hay 4096 registros conectados a un bus de datos común interno del chip. Como 4096 � 642, los registros están ordenados en un arreglo de 64 � 64; es decir, hay 64 fi las y 64 columnas. Esto requiere un decodifi cador 1 de 64 para decodifi car seis entradas de dirección para la selección de fi la, y un segundo decodifi cador 1 de 64 para decodifi car otras seis entradas de dirección para la selección de columna. Por lo tanto, se requiere un total de 12 entradas de dirección. Esto tiene sentido, ya que 212 � 4096 y hay 4096 direcciones distintas. EJEMPLO 12-7 EJEMPLO 12-6 EJEMPLO 12-5 PREGUNTAS DE REPASO 1. ¿Qué código de dirección de entrada se requiere si queremos leer los datos del registro 9 en la fi gura 12-7? 2. Describa la función del decodifi cador de selección de fi la, del decodifi cador de selección de columna y de los búferes de salida en la arquitectura de la ROM. 12-6 SINCRONIZACIÓN DE LA ROM Durante una operación de lectura se produce un tiempo de propagación entre la aplicación de las entradas de una ROM y la aparición de las salidas de datos. Este tiempo de propagación, conocido como tiempo de acceso (tACC), es una medida de la velocidad de operación de la ROM. En la fi gura 12-8 se describe el tiempo en forma gráfi ca, mediante las formas de onda. La forma de onda superior representa las entradas de dirección; la forma de onda de en medio es la señal de selección de chip CS activa en bajo; y la forma de onda inferior representa las salidas de datos. En el tiempo t0, todas las entradas de dirección se encuentran en un nivel específi co, algunas en ALTO y otras en BAJO. CS está en ALTO, por lo que las salidas de datos de la ROM se encuentran en su estado Hi-Z (el cual se representa mediante la línea sombreada). Justo antes de t1, las entradas de dirección cambian a una nueva dirección para una nueva operación de lectura. En t1, la nueva dirección es válida; es decir, cada entrada de dirección se encuentra en un nivel lógico válido. En este punto, el circui- to interno de la ROM comienza a decodifi car las nuevas entradas de dirección para seleccionar el registro que debe enviar sus datos a los búferes de salida. En t2 se activa la entrada CS para habilitar los búferes de salida. Por último, en t3 las salidas cambian del estado Hi-Z a los datos válidos que representan los datos almacenados en la dirección especifi cada. El retraso de tiempo entre t1, cuando la nueva dirección se hace válida, y t3, cuando las salidas de datos se hacen válidas, es el tiempo de acceso tACC. Las ROMs bipolares ordinarias tendrán tiempos de acceso que varían en el intervalo de 30 a 90 ns; los tiempos de acceso de los dispositivos NMOS variarán de 35 a 500 ns. Las mejoras en la tecnología CMOS han hecho posibles tiempos de acceso en el inter- valo de 20 a 60 ns. En consecuencia, los dispositivos bipolares y NMOS se producen raras veces en ROMs más recientes (grandes). Otro parámetro importante de sincronización es el tiempo de habilitación de sali- da (tOE), que es el retraso entre la entrada CS y la salida de datos válida. Los valores 1 0 Entradas de dirección Salidas de datos Antigua dirección Nueva dirección válida tACC tOE Hi-Z Salidas de datos válidas 1 0 0 1 0 Tiempot3t2t1t0 CS FIGURA 12-8 Sincronización típica para una operación de lectura de la ROM. SECCIÓN 12-6/SINCRONIZACIÓN DE LA ROM 799 800 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA comunes para tOE son de 10 a 20 ns para las ROMs bipolares, de 25 a 100 ns para las ROMs NMOS y de 12 a 50 para las ROMs CMOS. Este parámetro de sincronización es importante en situaciones en las que las entradas de dirección ya se encuen- tran establecidas en sus nuevos valores, pero las salidas de la ROM todavía no se han habilitado. Cuando CS cambie a BAJO para habilitar las salidas, el retraso será tOE. 12-7 TIPOS DE ROMS Ahora que tenemos una comprensión general sobre la arquitectura interna y la opera- ción externa de los dispositivos de ROM, analizaremos los diversos tipos de ROMs para ver cómo difi eren en la manera en que se programan, se borran y se reprograman. ROM programada por máscara La ROM programada por máscara (MROM) almacena su información al momento en que se fabrica el circuito integrado. Como puede ver en la fi gura 12-9, las ROMs están compuestas de un arreglo rectangular de transistores. La información se alma- cena ya sea mediante la conexión o la desconexión de la fuente de un transistor con Q0 D3 D2 D1 D0 Salida de datos +VddFila 0 Fila 1 Fila 2 Fila 3 Línea de habilitación de fila A1 A0 EN Decodificador 1 de 4 0 1 2 3 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15A1 0 0 1 1 Dirección A0 0 1 0 1 D3 1 1 1 0 D2 0 0 1 1 D1 1 0 1 1 D0 0 1 0 1 Datos FIGURA 12-9 La estructura de una MROM tipo MOS muestra que se utiliza un MOSFET para cada celda de memoria. Una conexión de fuente abierta almacena un “0”; una conexión de fuente cerrada almacena un “1”. EJEMPLO 12-8 la columna de salida. El último paso en el proceso de fabricación es formar todas estas rutas conductoras o conexiones. El proceso utiliza una “máscara” para depo- sitar metales en el silicio, los cuales determinan en dónde se forman las conexiones de una manera similar al uso de patrones y pintura en aerosol, pero en una escala mucho más pequeña. La máscara es muy precisa y costosa, y debe fabricarse de manera específi ca para el cliente, con la información binaria correcta. En conse- cuencia, este tipo de ROM es económica sólo cuando se van a fabricar muchas ROMs con la misma información exacta. Por lo general, a las ROMs programadas por máscara se les conoce sólo como ROMs, lo cual puede ser confuso ya que el término ROM en realidad representa a la amplia categoría de dispositivos que, durante la operación normal, sólo se pue- den leer. Utilizaremos la abreviación MROM cada vez que hagamos referencia a las ROMs programadas por máscara. La fi gura 12-9 muestra la estructura de una pequeña MROM tipo MOS de 16 cel- das de memoria ordenadas en cuatro fi las o cuatro celdas. Cada celda es un transis- tor MOSFET de canal N, conectado en la confi guración de colector común (entrada en la compuerta, salida en la fuente). La fi la superior de celdas (FILA 0) constituye un registro de cuatro bits. Observe que algunos de los transistores en esta fi la (Q0 y Q2) tienen su fuente conectada a la línea de la columna de salida, mientras que otros (Q1 y Q3) no. Lo mismo se aplica a las celdas en cada una de las otras fi las. La presen- cia o ausencia de estas conexiones de fuente determina si una celda almacena un 1 o un 0, respectivamente. La condición de cada conexión de fuente se controla durante la producción mediante la máscara fotográfi ca, con base en los datos suministrados por el cliente. Observe que las salidas de datos están conectadas a las líneas de columna. Por ejemplo, al hacer referencia a la salida D3, cualquier transistor que tenga una conexión de la fuente (como Q0, Q4 y Q8) a la columna de salida puede cambiar a Vdd hacia la columna, para que tenga un nivel ALTO lógico. Si Vdd no se conecta a la línea de columna, la salida se mantendrá en un nivel lógico BAJO mediante la resis- tencia descendente. En un momento determinado, se encenderá un máximo de un transistor en una columna debido al decodifi cador de fi la. El decodifi cador de 1 a 4 se utiliza para decodifi car las entradas de dirección A1A0 para seleccionar de cuál fi la (registro) se van a leer los datos. Las salidas acti- vas en ALTO del decodifi cador proporcionan las líneas de habilitación de FILA que son las entradas de compuerta para las diversas fi las de celdas. Si la entrada de habilitación EN del decodifi cador se mantiene en ALTO, todas las salidas del deco- difi cador estarán en su estado BAJO inactivo, y todos los transistores en el arreglo estarán apagadosdebido a la ausencia de voltaje en compuerta. Debido a esta situa- ción, todas las salidas de datos estarán en el estado BAJO. Cuando EN se encuentra en su estado activo en BAJO, las condiciones en las entradas de dirección determinan qué fi la (registro) se habilitará para que puedan leerse sus datos en las salidas de datos. Por ejemplo, para leer la FILA 0, las entradas A1A0 se establecen en 00. Esto coloca un nivel ALTO en la línea de la FILA 0; todas las demás líneas de fi la están en 0 V. Este nivel ALTO en FILA 0 enciende los tran- sistores Q0, Q1, Q2 y Q3. Cuando todos los transistores en la fi la estén conduciendo, Vdd se cambiará a cada una de las terminales de la fuente del transistor. Las salidas D3 y D1 cambiarán a ALTO debido a que Q0 y Q2 están conectados a sus respectivas columnas. D2 y D0 permanecerán en BAJO ya que no hay ruta de las terminales de fuente de Q1 y Q3 hacia sus columnas. De manera similar, la aplicación de los otros códigos de dirección producirá salidas de datos del registro correspondiente. La tabla en la fi gura 12-9 muestra los datos para cada dirección. Usted deberá verifi car cómo se correlaciona esto con las conexiones de fuente a las diversas celdas. Las MROMs pueden usarse para almacenar tablas de funciones matemáticas. Demuestre cómo puede usarse la MROM de la fi gura 12-9 para almacenar la función y � x2 � 3, en donde la dirección de entrada suministra el valor para x y el valor de los datos de salida es y. SECCIÓN 12-7/TIPOS DE ROMs 801 802 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA Solución El primer paso es utilizar una tabla que muestre la salida deseada para cada conjun- to de entradas. El número binario de entrada x se representa mediante la dirección A1A0. El número binario de salida es el valor deseado de y. Por ejemplo, cuando x � A1A0 � 102 � 210, la salida deberá ser 2 2 � 3 � 710 � 01112. La tabla completa se muestra en la tabla 12-1. Esta tabla se proporciona al fabricante de MROMs para que desarrolle la máscara que realizará las conexiones apropiadas dentro de las cel- das de memoria, durante el proceso de fabricación. Por ejemplo, la primera fi la en la tabla indica que las conexiones a la fuente de Q0 y Q1 se dejarán desconectadas, mientras que las conexiones a Q2 y Q3 sí se realizarán. Como vimos en el capítulo 9, por lo general, las MROMs tienen salidas triestado que les permiten utilizarse en un sistema de bus. En consecuencia, debe haber una entrada de control para habilitar y deshabilitar las salidas triestado. Esta entrada de control se etiqueta por lo común como OE (habilitación de salida). Para poder distin- guir esta entrada de habilitación triestado de la entrada de habilitación del decodi- fi cador de dirección, a esta última, por lo general, se le hace referencia como CE (habilitación de chip). La señal de habilitación de chip realiza algo más que sólo habilitar el decodifi cador de dirección. Cuando se deshabilita CE, todas las funcio- nes del chip están deshabilitadas, incluyendo las salidas triestado, y todo el circuito se coloca en un modo de bajo consumo de energía, en el cual se consume una canti- dad mucho menor de corriente de la fuente de energía. La fi gura 12-10 muestra una MROM de 32K � 8. Las 15 líneas de dirección (A0-A14) pueden identifi car 215 ubi- caciones de memoria (32, 767 o 32K). Cada ubicación de memoria guarda un valor de datos de ocho bits, que puede colocarse en las líneas de datos D7-D0 cuando el chip está habilitado y las salidas están habilitadas. TABLA 12-1 x y � x2 � 3 A1 A0 D3 D2 D1 D0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 FIGURA 12-10 Símbolo lógico para una MROM de 32K � 8. CE OE D7 D6 D5 D4 D3 D2 D1 D0 ROM 32K � 8 [PWR DWN] A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 ROMs programables (PROMs) Una ROM programable por máscara es muy costosa y se utiliza sólo en aplicaciones donde se debe fabricar una alta cantidad de memorias idénticas, y así repartir el costo entre muchas unidades. Para las aplicaciones de menor volumen, los fabrican- tes han desarrollado PROMs con enlaces de fusible, las cuales son programables por el usuario; esto es, no se programan durante el proceso de fabricación sino que el usuario las programa según sus necesidades. Sin embargo, una vez programada, una PROM es como una MROM ya que no puede borrarse y reprogramarse. Por lo tanto, si el programa en la PROM tiene fallas o debe modifi carse, hay que desechar esa PROM. Por esta razón, a estos dispositivos se les conoce por lo general como ROMs “programables una sola vez” (OTP). La estructura de una PROM con enlace de fusible es muy similar a la estructura de una MROM, ya que ciertas conexiones se dejan intactas o se abren para poder programar una celda de memoria como 1 o 0, respectivamente. Una PROM viene del fabricante con una conexión delgada de enlace de fusible en la terminal de la fuen- te de cada transistor. En esta condición, cada transistor almacena un 1. El usuario entonces puede “volar” el fusible de cualquier transistor que necesite almacenar un 0. Por lo común, la programación o “quemado” de datos en una PROM se realiza mediante la selección de una fi la al aplicar la dirección deseada en las entradas de dirección, después se colocan los datos deseados en las terminales de datos y luego se aplica un pulso a una terminal especial de programación en el CI. La fi gura 12-11 muestra el funcionamiento interno de este proceso. Q0 +Vdd/Vpp Q1 +Vdd/Vpp Líneas de datos (columnas) Vdd “1” 0 V “0” Datos almacenados Fila 0 Alta corriente Enlace de fusible Fusible derretido FIGURA 12-11 Las PROMs utilizan enlaces de fusible; el usuario puede abrir estos enlaces en forma selectiva para programar un 0 lógico en una celda. Todos los transistores en la fi la seleccionada (fi la 0) se encienden y se aplica Vpp en sus terminales de colector. Las columnas (líneas de datos) que tengan un 0 lógico en ellas (por ejemplo, Q1) proveerán una ruta de alta corriente a través del enlace de fusible para quemarlo y dejarlo abierto, con lo cual se almacenará un 0 lógico en forma permanente. Las columnas que tengan un 1 lógico (por ejemplo, Q0) tendrán Vpp en un lado del fusible y Vdd en el otro lado, con lo cual consumirán mucha menos corriente y dejarán el fusible intacto. Una vez que se hayan programado todas las ubicaciones de dirección de esta forma, los datos quedarán almacenados en forma permanente en la PROM y podrán leerse una y otra vez, mediante el acceso a la dirección apropiada. Los datos no cambiarán cuando se quite la energía del chip PROM, ya que no hay nada que pueda hacer que un enlace de fusible abierto se vuelva a cerrar. Una PROM se programa mediante el mismo equipo y proceso que describimos en el capítulo 4 para programar un PLD. La TMS27PC256 es una PROM tipo CMOS muy popular, con una capacidad de 32K � 8 y una disipación de energía en modo suspendido de sólo 1.4 mW. Está disponible con tiempos de acceso que varían entre 100 y 250 ns. ROM programable y borrable (EPROM) Una EPROM puede programarse por el usuario, y también puede borrarse y repro- gramarse casi todas las veces que se requiera. Una vez programada, la EPROM es SECCIÓN 12-7/TIPOS DE ROMs 803 804 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA una memoria no volátil que almacenará sus datos en forma indefi nida. El proceso para programar una EPROM es el mismo que para una PROM. El elemento de almacenamiento de una EPROM es un transistor MOS con una compuerta de silicio que no tiene conexión eléctrica (es decir, una compuerta fl otan- te) pero está muy cerca de un electrodo. En su estado normal no hay carga almace- nada en la compuerta fl otante, por lo que el transistor producirá un 1 lógico cada vez que el decodifi cador de dirección lo seleccione. Para programar un 0 se utiliza un pulso de alto voltaje para dejar una carga neta en la compuerta fl otante. Esta cargahace que el transistor produzca como salida un 0 lógico cuando se selecciona. Como la carga está atrapada en la compuerta fl otante y no tiene ruta de descarga, el 0 se almacenará hasta que se borre. Para borrar los datos se restauran todas las celdas a un 1 lógico. Para ello se neutraliza la carga en el electrodo fl otante al exponer el silicio a una luz ultravioleta (UV) de alta intensidad durante varios minutos. La 27C64 es un ejemplo de un CI de memoria pequeño de 8K � 8K, disponible como PROM “programable sólo una vez” (OTP) o como EPROM borrable con luz UV. La diferencia obvia en los dos CIs es la “ventana” transparente de cuarzo de la EPROM, que se muestra en la fi gura 12-12(b). Esta ventana permite que la luz UV se refl eje sobre el silicio. Ambas versiones operan a partir de una sola fuente de energía de �5 V durante su operación normal. La fi gura 12-12(a) es el símbolo lógico para la 27C64. Observe que muestra 13 entradas de dirección (debido a que 213 � 8192) y ocho salidas de datos. Tiene cuatro entradas de control. CE es la entrada de habilitación de chip que se utiliza para colocar el dispositivo en un modo de suspensión, en donde se reduce su con- sumo de energía. OE es la entrada de habilitación de las salidas y se utiliza para controlar los búferes triestado de salida de datos del dispositivo, de manera que éste pueda conectarse al bus de datos de un microprocesador sin contención de bus. VPP es el voltaje de programación especial requerido durante el proceso de programa- ción. PGM es la entrada de habilitación de programa que se activa para almacenar datos en la dirección seleccionada. La 27C64 tiene varios modos de operación que se controlan mediante las ter- minales CE, OE, VPP y PGM, como se presentan en la fi gura 12-12(c). El modo pro- EPROM 8K x 8A12 OE CE A11 A1 A0 • • • • • Entradas de control Entradas de dirección +VCC 27C64 D7 D6 D5 D4 D3 D2 D1 D0 Salidas de datos (a) Ventana para borrar con UV (b) (c) PGM Modo Lectura Deshabilita salidas Suspensión Programa CE 0 0 1 0 OE 0 1 X 1 Entradas Verifica PGM 0 0 D7 – D0 DATOSsal Alta impedancia Alta impedancia DATOSent Salidas DATOSsal VPP 0–5V 0–5V X 12.75 V 12.75 V PGM 1 1 X 0 1 +VPP FIGURA 12-12 (a) Símbolo lógico para la EPROM 27C64; (b) encapsulado típico de una EPROM en el que se muestra una ventana ultravioleta; (c) modos de operación del 27C64. grama se utiliza para escribir nuevos datos en las celdas de la EPROM. Esto se hace con más frecuencia en una EPROM “limpia”, una que haya sido borrada antes con luz UV para que todas las celdas sean 1. El proceso de programación escribe una palabra de ocho bits en una ubicación de memoria en un momento dado, como se indica a continuación: (1) la dirección se aplica a las terminales de dirección; (2) los datos deseados se colocan en las terminales de datos, que funcionan como entradas durante el proceso de programación; (3) se aplica un voltaje de programación más alto de 12.75 V en VPP; (4) CE se mantiene en BAJO; (5) se aplica un pulso a PGM para que cambie a BAJO durante 100 μs y los datos se leen de vuelta. Si los datos no se almacenaron con éxito, se aplica otro pulso a PGM. Esto se repite en la misma dirección hasta que los datos se almacenan con éxito. Una EPROM limpia puede programarse en menos de un minuto, una vez que se hayan introducido, transferido o descargado los datos deseados en el programador de EPROMs. La 27C512 es una EPROM común de 64K � 8 que opera en forma muy parecida a la 27C64, pero ofrece más capacidad de almacenamiento. Las principales desventajas de las UV-EPROMs son que deben removerse del circuito para programarse y borrarse, la operación borra todo el chip y puede durar hasta 20 minutos. PROM programable y borrable eléctricamente (EEPROM) Las desventajas de la EPROM se solucionaron con el desarrollo de la PROM pro- gramable y borrable eléctricamente (EEPROM) como una mejora sobre la EPROM. La EEPROM retiene la misma estructura de compuerta fl otante que la EPROM, pero agrega una región de óxido muy delgada por encima del colector de la celda de memoria de MOSFET. Esta modifi cación produce la característica principal de la EEPROM: su capacidad de borrarse mediante electricidad. Al aplicar un alto voltaje (21 V) entre la compuerta y el colector del MOSFET, se puede inducir una carga en la compuerta fl otante, en donde permanecerá aunque se corte la energía; si se invierte el mismo voltaje se eliminarán las cargas atrapadas de la compuerta fl otante y se borrará la celda. Como este mecanismo de transporte de cargas requie- re corrientes muy bajas, el borrado y la programación de una EEPROM pueden rea- lizarse en el circuito (es decir, sin una fuente de luz UV ni dispositivo especial para programar PROMs). Otra ventaja de la EEPROM en comparación con la EPROM es la habilidad de borrar y reescribir bytes individuales (palabras de ocho bits) en el arreglo de memo- ria mediante electricidad. Durante una operación de escritura, el circuito interno borra de manera automática todas las celdas en una ubicación de dirección antes de escribir los nuevos datos. Esta capacidad de borrar bytes facilita en forma con- siderable la realización de modifi caciones en los datos que se almacenan en una EEPROM. Las primeras EEPROMs, como la 2816 de Intel, requerían circuitos externos de soporte apropiados para los chips de memoria. Estos circuitos de soporte incluyen el voltaje de programación de 21 V (VPP), que por lo común se genera a partir de una fuente de �5 V a través de un convertidor de corriente directa a corriente directa, e incluye circuitos para controlar la sincronización y la secuencia de las operaciones de borrar y programar. Los dispositivos más recientes, como el 2864 de Intel, inte- gran estos circuitos de soporte en el mismo chip junto con el arreglo de memoria, por lo que sólo se requiere una sola terminal de energía de �5 V. Esto hace que la EEPROM sea tan fácil de usar como la memoria de lectura/escritura que veremos en breve. La capacidad de borrar bytes de la EEPROM y su alto nivel de integración incu- rren en dos faltas: densidad y costo. La complejidad de la celda de memoria y los circuitos de soporte en el chip ponen a las EEPROM en desventaja considerable con las EPROM, en cuanto a la capacidad de bits por milímetro cuadrado de silicio; una EEPROM de 1 Mbit requiere casi el doble de silicio que una EPROM de 1 Mbit. Por lo tanto, y a pesar de su superioridad operacional, las desventajas de la EEPROM en cuanto a densidad y efectividad en costo han evitado que sustituya a la EPROM en aplicaciones en donde la densidad y el costo son factores imperativos. SECCIÓN 12-7/TIPOS DE ROMs 805 806 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA El símbolo lógico para el Intel 2864 se muestra en la fi gura 12-13(a). Se organiza como un arreglo de 8K � 8, con 13 direcciones de entrada (213 � 8192) y ocho termi- nales de E/S de datos. Tres entradas de control determinan el modo de operación, de acuerdo con la tabla que se proporciona en la fi gura 12-13(b). Cuando CE � ALTO, el chip está en su modo de suspensión de bajo consumo de energía, en el cual no se Modo de escritura EEPROM 8K x 8 2864 I/O7 I/O6 I/O5 I/O4 I/O3 I/O2 I/O1 I/O0 A12 A11 A1 A0 OE CE WE Entradas de control Entradas de dirección +5 V Datos (a) Modo LECTURA ESCRITURA SUSPENSIÓN CE OE Terminales de E/S DATOSSAL DATOSENT Alta impedancia (b) BAJO BAJO ALTO BAJO ALTO X WE ALTO BAJO X 1 0 DATOS VÁLIDOS 0 DIRECCIÓN ESTABLE Modo de suspensión Suspensión DIRECCIÓN 1 0 1 0 1 0 1 t1 t5t2 t3 t4 por lo general de 200 ns (c) Operaciones de borrado y almacenado; por lo general, 5 ms. CE OE WE E/S DE DATOS Entradas • • • • FIGURA 12-13 (a) Símbolo para la EEPROM 2864; (b) modos de operación; (c) sincronización para la operación de escritura. realizan operaciones en ningunaubicación de memoria y las terminales de datos se encuentran en el estado Hi-Z. Para leer el contenido de una ubicación de memoria determinada, se aplica la dirección deseada en las terminales de dirección; CE se lleva a BAJO; y la terminal de habilitación de salida OE se lleva a BAJO para habilitar los búferes de datos de salida del chip. La terminal de habilitación de salida WE se mantiene en ALTO durante una operación de lectura. Para escribir en (es decir, programar) una ubicación de memoria se deshabilitan los búferes de salida, de manera que los datos que se van a escribir puedan aplicarse como entradas para las terminales de E/S. La fi gura 12-13(c) muestra un diagrama de la sincronización para la operación de escritura. Antes de t1, las entradas CE y WE se llevan a BAJO para comenzar la operación de escritura; OE está en ALTO, por lo que las terminales de datos permanecerán en el estado Hi-Z. En t3 se aplican los datos en las terminales de E/S y en t4 se escriben en la ubicación de dirección en el fl anco positivo de WE. En t5 se extraen los datos. En realidad, los datos se fi jan pri- mero (en el fl anco positivo de WE) en una memoria de búfer de FF que forma parte de los circuitos del 2864. Los datos se retienen ahí mientras otro circuito en el chip realiza una operación de borrado en la ubicación de dirección seleccionada en el arreglo de la EEPROM, después de lo cual el byte de datos se transfi ere del búfer al arreglo de la EEPROM y se almacena en esa ubicación. Esta operación de borrado y almacenado dura aproximadamente 5 ms. Cuando CE regresa al nivel ALTO en t4, el chip está nuevamente en el modo de espera mientras se completan las operacio- nes internas de borrado y almacenado. La 2864 tiene un modo de escritura mejorado, en el cual se permite al usuario escribir hasta 16 bytes de datos en la memoria del búfer de FF, en donde se retienen mientras el circuito de la EEPROM borra las ubicaciones de dirección selecciona- das. Después, los 16 bytes de datos se transfi eren al arreglo de la EEPROM para almacenarlos en esas ubicaciones. Este proceso dura también alrededor de 5 ms. Debido a que el proceso interno de almacenar un valor de datos en una EEPROM es bastante lento, la velocidad de la operación de transferencia de datos también puede ser más lenta. En consecuencia, muchos fabricantes ofrecen dispositivos EEPROM en encapsulados de ocho terminales que se integran a un bus serial de dos o tres alambres. Esto ahorra espacio físico en el tablero del sistema, lo contrario a utilizar una 2864 en un encapsulado DIP amplio de 28 terminales. También simplifi - ca la interfase de hardware entre la CPU y la EEPROM. CD-ROM El disco compacto (CD) es un tipo muy prominente de almacenamiento de sólo lec- tura que se utiliza en la actualidad en los sistemas computacionales. La tecnología de disco y el hardware necesario para recuperar la información son los mismos que se utilizan en los sistemas de audio. Sólo el formato de los datos es distinto. Los discos se fabrican con una superfi cie altamente refl ectiva. Para almacenar datos en los discos, un rayo láser muy intenso se enfoca en un punto muy pequeño del disco. Este rayo quema un pozo difractor de luz en ese punto de la superfi cie del disco. Los datos digitales (1s y 0s) se almacenan en el disco un bit a la vez, mediante el proceso de quemar o no quemar un pozo en el recubrimiento refl ectivo. La información digi- tal se ordena en el disco como una espiral continua de puntos de datos. La precisión del rayo láser permite almacenar muy grandes cantidades de datos (más de 550 Mbytes) en un pequeño disco de 120 mm. Para poder leer los datos se enfoca un rayo láser mucho menos poderoso, que el utilizado para almacenar, en la superfi cie del disco. En cualquier punto, la luz refl e- jada se detecta ya sea como un 1 o como un 0. Este sistema óptico está montado en un transporte mecánico que se mueve hacia delante y hacia atrás a lo largo del radio del disco, siguiendo la espiral de datos a medida que el disco gira. Los datos que se recuperan del sistema óptico llegan un bit a la vez en un fl ujo de datos en serie. La rotación angular del disco se controla para mantener una velocidad constante de puntos de datos entrantes. Si el disco se va a utilizar para grabación de audio, este fl ujo de datos se convierte en una forma de onda analógica. Si el disco se va a uti- lizar como ROM, los datos se decodifi can en bytes en paralelo que la computadora SECCIÓN 12-7/TIPOS DE ROMs 807 808 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA PREGUNTAS DE REPASO pueda utilizar. La tecnología del reproductor de CD, aunque muy sofi sticada, tiene un bajo costo relativo y se está convirtiendo en la manera estándar de cargar gran- des cantidades de datos en una computadora personal. Las principales mejoras que están ocurriendo ahora en la tecnología del CD-ROM incluyen un tiempo de acceso más rápido al recuperar los datos. 1. Verdadero o falso: una MROM puede programarse por el usuario. 2. ¿Qué diferencia tiene una PROM en comparación con una MROM? ¿Puede borrarse y reprogramarse? 3. Verdadero o falso: una PROM almacena un 1 lógico cuando su enlace de fusible está intacto. 4. ¿Cómo se borra una EPROM? 5. Verdadero o falso: no hay forma de borrar sólo una porción de una memoria EPROM. 6. ¿Qué función realizan los programadores de PROM y de EPROM? 7. ¿Qué desventajas de las EPROMs solucionan las EEPROMs? 8. ¿Cuáles son las principales desventajas de la EEPROM? 9. ¿Qué tipo de ROM puede borrar un byte a la vez? 10. ¿Cuántos bits se leen de un disco CD-ROM en cualquier punto en el tiempo? 12-8 MEMORIA FLASH Las EPROMs son no volátiles, ofrecen tiempos de acceso de lectura rápidos (por lo general de 120 ns) y tienen una alta densidad y un bajo costo por bit. No obstan- te, hay que extraerlas de su circuito/sistema para borrarlas y reprogramarlas. Las EEPROMs son no volátiles, ofrecen un acceso de lectura rápido y permiten borrar y reprogramar bytes individuales con rapidez y dentro del circuito. Sufren de una menor densidad y un costo mucho más alto que las EPROMs. El reto para los ingenieros de semiconductores era fabricar una memoria no volátil con la capacidad de la EEPROM de borrarse mediante electricidad y dentro del circuito, pero con densidades y costos mucho más cercanos a los de las EPROMs, al tiempo que se mantuviera el acceso de lectura de alta velocidad de ambos tipos de memorias. La respuesta a este reto fue la memoria Flash. En su estructura, la celda de una memoria Flash es parecida a la celda simple de un solo transistor de la EPROM (y distinta de la celda más compleja de dos transis- tores de la EEPROM), sólo que es un poco más grande. Tiene una capa de óxido más delgada en la compuerta, la cual le permite la capacidad de borrarse mediante elec- tricidad, pero puede construirse con densidades mucho más altas que las EEPROMs. El costo de la memoria Flash es mucho menor que el de la EEPROM. La fi gura 12-14 ilustra las ventajas y desventajas de las diversas memorias semiconductoras no volátiles. A medida que aumenta la fl exibilidad en el borrado/la programación (de la base al vértice del triángulo), también aumentan la complejidad y el costo. Las memorias MROM y PROM son los dispositivos más económicos y simples, pero no pueden borrarse y reprogramarse. La EEPROM es la más compleja y costosa debido a que puede borrarse y reprogramarse en un circuito, byte por byte. Las memorias Flash se llaman así debido a sus tiempos rápidos de borrado y escritura. La mayoría de los chips Flash utilizan una operación de borrado en masa, en el cual todas las celdas en el chip se borran en forma simultánea; este proceso de borrado en masa requiere, por lo general, de cientos de milisegundos, en compa- ración con los 20 minutos para las EPROMs de UV. Algunas memorias Flash más recientes ofrecen un modo de borradopor sector, en donde pueden borrarse sectores específi cos del arreglo de memoria (por ejemplo, 512 bytes) uno a la vez. Esto evita tener que borrar y reprogramar todas las celdas cuando sólo se necesita actualizar una parte de la memoria. Una memoria Flash común tiene un tiempo de escritura de 10 μs por byte, en comparación con los 100 �s para la EPROM más avanzada y 5 ms para la EEPROM (que incluye el tiempo de borrado de bytes automático). El CI de memoria Flash CMOS 28F256A La fi gura 12-15(a) muestra el símbolo lógico para el circuito de memoria Flash CMOS 28F256A de Intel Corporation, el cual tiene una capacidad de 32K � 8. El diagrama muestra 15 entradas de dirección (A0 � A14) necesarias para seleccionar las distintas direcciones de memoria; es decir, 215 � 32K � 32,768. Las ocho termi- nales de entrada/salida de datos (DQ0 � DQ7) se utilizan como entradas durante las operaciones de escritura de memoria y como salidas durante las operaciones de lectura de memoria. Estas terminales de datos fl otan en el estado Hi-Z cuando el chip se deselecciona (CE � ALTO) o cuando las salidas están deshabilitadas (OE � ALTO). La entrada de habilitación de escritura (WE) se utiliza para controlar las operaciones de escritura en memoria. Observe que el chip requiere dos voltajes de fuente de energía: VCC es el voltaje estándar de �5 V que se utiliza para los circuitos lógicos; VPP es el voltaje de la fuente de energía para borrar/programar, cuyo valor Se puede borrar en el circuito mediante electricidad, byte por byte Se puede borrar en el circuito mediante electricidad, por sector o en masa (todas las celdas) Se puede borrar mediante rayos UV en masa; se borra y se reprograma fuera del circuito No puede borrarse ni reprogramarse EEPROM Flash EPROM MROM y PROM C o m p le jid a d y c o st o d e l d is p o si tiv o FIGURA 12-14 Las ventajas y desventajas de las memorias semiconductoras no volátiles muestran que la complejidad y el costo aumentan a medida que se incrementa la fl exibilidad en el borrado y la programación. CMOS 32K x 8 DQ0 A0 A14 +VCC (a) Modo LECTURA SUSPENSIÓN ESCRITURA* CE OE Terminales de datos DATOSSAL Alta impedancia DATOSENT (b) BAJO ALTO BAJO BAJO X ALTO WE ALTO X BAJO Entradas • • • • WE CE OE +VPP DQ7 • • • • • • • • VSS 28F256A Memoria Flash *Nota: si VPP ≤ 6.5 V, no puede realizarse una operación de escritura FIGURA 12-15 (a) Símbolo lógico para el chip de memoria Flash 28F256A; (b) las entradas de control CE, WE y OE. SECCIÓN 12-8/MEMORIA FLASH 809 810 CAPÍTULO 12/DISPOSITIVOS DE MEMORIA nominal es de �12V, el cual se necesita para las operaciones de borrado y progra- mación (escritura). Los chips Flash más nuevos generan el VPP de manera interna y sólo requieren una fuente de energía. Los dispositivos de bajo voltaje más recientes operan sólo con 1.8 V. Las entradas de control (CE, OE y WE) controlan lo que ocurre en las terminales de datos, en forma muy parecida a la de la EEPROM 2864, como muestra la tabla de la fi gura 12-15(b). Por lo general estas terminales de datos se conectan a un bus de datos. Durante una operación de escritura, los datos se transfi eren a través del bus (por lo general desde el microprocesador) y hacia el chip. Durante una opera- ción de lectura, los datos en el interior del chip se transfi eren a través del bus de datos (por lo general hacia el microprocesador). Podremos comprender mejor la operación de este chip de memoria Flash si analizamos su estructura interna. La fi gura 12-16 es un diagrama del 28F256A en el que se muestran sus principales bloques funcionales. Deberá remitirse a este diagrama según lo necesite durante el siguiente análisis. La característica única de esta estructura es el registro de instrucciones, el cual se utiliza para administrar todas las funciones del chip. Los códigos de instrucción se escriben en este registro para controlar qué operaciones se deben llevar a cabo dentro del chip (por ejemplo, borrar, borrar-verifi car, programar, programar-verifi car). Por lo general, estos códigos de instrucción llegan a través del bus de datos desde el microprocesador. La lógica de control de estado examina el contenido del registro de instrucciones y genera seña- les de lógica y control para que el resto de los circuitos del chip lleve a cabo los pasos en la operación. Algunos ejemplos de los tipos de instrucciones que pueden enviarse a la memoria Flash se muestran aquí para que se dé una idea de por qué son nece- sarios. Cada instrucción se almacena en el registro mediante el uso del mismo ciclo de escritura que se describió para la EEPROM en la fi gura 12-13(c). Instrucción leer. Al escribir un código de 00 hexadecimal en el registro de ins- trucciones se prepara el CI de memoria para la operación de lectura. Después de esto puede usarse un ciclo normal de lectura para acceder a los datos alma- cenados en cualquier dirección. VCC A0–A14 • • • • WE CE OE VSS VPP Interruptor de voltaje de borrado Interruptor de voltaje de PGM Latch de datos Búferes de entrada/salida Compuerta Y Matriz de celdas de 262,144 bits Decodificador Y Decodificador X L a tc h d e d ir e cc ió n Lógica de Habilitación de chip Habilitación de salida Control de estado Registro de instrucciones Temporizador integrado para detención de programación/borrado STB STB A la fuente del arreglo DQ0–DQ7 FIGURA 12-16 Diagrama funcional del chip de memoria Flash 28F256A. (Cortesía de Intel Corporation.) PREGUNTAS DE REPASO Instrucción establecer-borrar/borrar. Debe escribirse el código de 20 hexade- cimal en el registro de instrucciones dos veces en una fi la para comenzar la secuencia interna de borrado. Instrucción verifi car borrado. Esta instrucción (FF hexadecimal) hace que el CI de memoria compruebe todas sus ubicaciones de memoria para verifi car que todos los bits estén en ALTO. Instrucción establecer programar/programar. Esta instrucción (40 hexadecimal) coloca el CI de memoria en un modo que permite que los ciclos de escritura sub- siguientes almacenen datos en una dirección especifi cada, un byte a la vez. Instrucción programar-verifi car. Esta instrucción (C0 hexadecimal) se utiliza para verifi car que se hayan almacenado los datos correctos en la ROM Flash. Después de escribir este código en el registro de instrucciones, la siguiente ope- ración de lectura producirá el contenido de la última ubicación en la que se escribió, y estos datos pueden compararse con el valor deseado. Memoria Flash mejorada La arquitectura básica de la memoria Flash en la actualidad y el conjunto básico de códigos de instrucción son muy similares a los de los dispositivos de primera gene- ración. Los dispositivos Flash más recientes tienen nuevas características y nuevos códigos de instrucción para controlarlas, además de las comunes para los dispositi- vos anteriores. Desde luego que los dispositivos Flash más recientes tienen mucha más capacidad, operan con mucho menos energía (y a menores voltajes), vienen en encapsulados más pequeños y tienen un costo mucho menor por bit que sus antece- sores. También ofrecen características tales como la habilidad de leer/escribir datos mientras que se borra un bloque de memoria. El voltaje de programación VPP se genera en forma interna, lo cual permite el uso de una sola fuente de energía. La velocidad de su operación puede mejorarse mediante el uso de un modo ráfaga. Esto tan sólo signifi ca que se puede acceder a varias direcciones en una fi la con mucha rapidez, con lo cual se proporciona una ráfaga de transferencia de datos. Se propor- ciona una entrada de reloj síncrona para controlar la operación de ráfaga. Una dirección base se fi ja en la memoria y después el contenido de esta ubicación se transfi ere durante el fl anco del reloj; también se incrementa la dirección a la siguien- te ubicación.
Compartir