Logo Studenta

Sistemas_Digitales_Principios_y_Aplicaciones

¡Este material tiene más páginas!

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.

Continuar navegando