Professional Documents
Culture Documents
SISTEMAS DE MEMORIA
1. Introducción.
Los sistemas digitales tienen la ventaja sobre los analógicos de poder almacenar fácilmente grandes
cantidades de información digital durante periodos de tiempo largos o cortos, de esto nace la
adaptabilidad de los mismos a toda clase de situaciones, y por eso su campo de aplicación es cada vez
mayor.
Dicho almacenamiento se realiza en los diversos tipos de memorias existentes, las cuales se construyen en
su mayoría de elementos semiconductores (del tipo bipolares y MOS) y donde gracias a las tecnologías
LSI (alta escala de integración) y VLSI (muy alta escala de integración), se dispone de circuitos
integrados que poseen grandes cantidades de elementos de este tipo en forma de FF, los cuales se usan
extensamente por su alta velocidad de operación.
Las memorias de semiconductores se usan como la memoria principal interna de una computadora, donde
se requiere de alta velocidad. Esta memoria se comunica constantemente con la unidad central de
procesamiento (CPU) mientras esta ejecuta algún programa, pues el mismo así como los datos, se
encuentran en ella. Entre sus funciones se destaca lo siguiente:
• La memoria contiene los programas que se ejecutan en el computador o sistema programado, y
los datos sobre los que trabajan dichos programas.
• La memoria es un elemento sencillo, sin embargo, presenta una gran diversidad de tipos,
tecnologías, estructuras, prestaciones y costos.
• Un computador dispone de una jerarquía de elementos de memoria donde algunos están
localizados internamente en el propio microprocesador, y otros están localizados externamente.
2. Definiciones y conceptos.
Celda de memoria: circuito eléctrico utilizado para almacenar un solo bit, puede ser un FF o un
capacitor.
Palabra de memoria: Grupo de bits o celdas en una memoria y que representan datos o instrucciones de
algún tipo y que pueden ser 4,8 o 16 bits. Actualmente se especifica una palabra como una agrupación de
16 bits (2 bytes), también hay dobles palabras (Double-Word) de 32 bits. Hay también palabras
cuádruples (Quad-Word) de 64 bits.
Dirección: Es un número que identifica la localidad de una palabra en la memoria. Cada palabra
almacenada posee una única dirección. Esta Dirección se suele dar con un número binario, aunque por
facilidad se hace en octal o hexadecimal.
Operación de escritura: Proceso en el cual se coloca una palabra en cierta posición de memoria.
Siempre que se escribe una palabra nueva, esta reemplaza a la que estaba con anterioridad.
Tiempo de acceso: Es una medida de la velocidad del dispositivo, es el tiempo requerido para realizar
una operación de lectura, suele ser de nanosegundos y se simboliza como T acc.
Dispositivos de memoria dinámica: En estos se necesita reescribir los datos porque de otra forma se
pierden, aún con la energía aplicada.
Memoria volátil: Es la memoria que requiere el suministro de energía para almacenar la información,
cuando se retira la energía los datos se pierden. Muchas de las memorias de semiconductores son
volátiles mientras que las memorias del tipo magnético no lo son
1
Diseño de Sistemas I: Sistemas de Memoria
2.2.1. Localización.
Dependiendo de dónde esté ubicada físicamente la memoria se distinguen tres tipos:
• Memoria interna del procesador. Memoria de alta velocidad utilizada de forma
temporal, por ejemplo, en el banco de registros del propio microprocesador.
• Memoria interna. Es la Memoria Principal y es más rápida que la secundaria, por
ejemplo, y es donde se guardan las instrucciones y datos con los que el CPU trabaja,
y está constituida por dispositivos semiconductores
• Memoria externa. Es la Memoria Secundaria y es más lenta que la principal, y no es
volátil pues emplea dispositivos como cintas y discos magnéticos (va vía elementos
de I/O y periféricos); se emplea para almacenar grandes cantidades de información,
por ejemplo, unidades zip, CD’s y DVD’s.
2.2.2. Capacidad.
La capacidad es la cantidad de información que puede almacenar el sistema de memoria
y se mide en múltiplos de bit, así se especifican cuántos bits pueden almacenarse en un
dispositivo de memoria, o en un sistema completo.
Suponga que una memoria almacena 4096 palabras de 20 bits cada una, en total se van
a almacenar 81 920 bits.
También se puede expresar la capacidad como 4096 X 20, donde el primer término es el
número de palabras y el segundo los bits por palabra. A menudo se usa la expresión de
estas palabras en múltiplos de 1024, lo que en digital se llama 1K y que representa 2 10.
Por tanto una memoria de 4K X 20 es una de 4096 X 20.
2
Diseño de Sistemas I: Sistemas de Memoria
2.2.5. Velocidad.
Para medir el rendimiento se utilizan tres parámetros:
• Tiempo de Acceso (TA). Según el tipo de memoria que se trate Se tienen dos tipos
de TA:
- Si se trata de una aleatoria como la RAM: tiempo que transcurre desde el instante
en el que se presenta una dirección a la memoria hasta que el dato, o ha sido
memorizado, o está disponible para su uso (es decir, desde que se da la dirección
hasta que se realiza la operación de L/E en memoria).
- Si es otra memoria como la CAM o la SAM: tiempo que se emplea en situar el
mecanismo de L/E en la posición deseada, es decir, tiempo que tarda en el registro.
• Tiempo de Ciclo de memoria (TC). Tiempo que transcurre desde que se da la orden
de una operación de L/E hasta que se puede dar otra orden de L/E porque sino no
se le da tiempo a responder, crearía un “tiempo muerto” que debe ser lo menor
posible.
Gráficamente el TA y el TC se pueden representar cómo funcionan a través del tiempo
de la siguiente figura:
TC
tiempo
TA
3
Diseño de Sistemas I: Sistemas de Memoria
4
Diseño de Sistemas I: Sistemas de Memoria
5
Diseño de Sistemas I: Sistemas de Memoria
MASK ROM (Read Only Memory). Son las programadas de fábrica, según
especificaciones del cliente. Su adquisición es por grandes cantidades y su utilidad
radica en ciertas computadoras y dispositivos para almacenar programas básicos de
operación.
En esta memoria las celdas de almacenamiento son transistores especiales del tipo MOSFET, que tienen
una compuerta (GATE) de silicio sin ninguna conexión eléctrica, o sea flotante. El estado normal del
transistor es apagado, es decir guardando un 1 lógico. El transistor puede encenderse con un pulso de
programación de alto voltaje (10v -25v) el cual inyecta electrones de alta energía en la región formada por
la compuerta flotante. Dichos electrones permanecen en esta región una vez finalizado el pulso, ya que no
existe un camino de descarga, permaneciendo el transistor encendido por lo que la celda tiene ahora un 0
lógico. Estas memorias tienen una ventana de vidrio por la cual entra luz, si es luz ultravioleta se produce
una fotocorriente que descarga la compuerta de cada transistor a tierra con lo que se apaga. Este proceso
dura de 10 a 20 minutos. Hay que aclarar que el proceso de borrado es total, no se puede seleccionar
alguna celda en particular.
Hasta hace muy poco, e incluso aún se usan en muchas tarjetas madre nuevas, se emplea la EPROM para
colocar en ella el BIOS, pero los últimos desarrollos llevan a usar otro tipo de memoria ROM, la Flash,
que luego se verá.
En el mercado hay una gran variedad disponible en diversas capacidades y tiempos de acceso (de 128 K
X 8 y Tacc de 4 ns). Las EPROM se distinguen por el número 27, por ejemplo la 2732, la cual es una
memoria de 4K X 8 NMOS. Puede ser una 2716 que equivale a una de 2K X 8, o una 2764 o 27128.
Retomando la 2732 es una memoria de +5v de alimentación, y su diagrama de patillas es el siguiente:
6
Diseño de Sistemas I: Sistemas de Memoria
al mismo tiempo se aplica en la terminal OE/Vpp el pulso de 21v e inmediatamente se pone el dato a
escribir en las terminales Do - D7. Por último se aplica un pulso bajo en CE con una duración de 50 ms.
La inversión del alto voltaje produce la eliminación de las cargas capturadas de la G flotante con lo que se
borra la celda.
Esta memoria se inventó como mejora de la EPROM en 1980 pues tiene ventajas sobre ella:
• Rapidez de borrado (aprox. 1s)
• Se pueden seleccionar determinadas posiciones de memoria para ser borradas
• Requiere un pulso de programación de 10 ms
El número con el que se identifican estas memorias es el 28, por ejemplo la 2816 es una 2K X 8, o la
2864 cuyo diagrama de patillas es el siguiente:
Esta es una memoria en la que se puede escribir y leer datos donde el acceso ellos es
totalmente aleatorio. Su uso principal es el de almacenar datos o programas en forma
temporal ya que se trata de una memoria volátil. El contenido de muchas localidades de la
memoria es leído o escrito con forme la computadora ejecuta el programa. Su ventaja radica
en los procesos de escritura y lectura los que se pueden realizar con gran rapidez y
facilidad. Principalmente las hay de dos tipos, la RAM estática (SRAM) y la RAM
dinámica (DRAM):
De este tipo de memoria RAM es de la que se constituye la memoria caché, en las computadoras
actuales, y es la que se encuentra entre la memoria principal y el microprocesador. La caché se
encarga de mantener copias de datos y códigos que son frecuentemente solicitados a la memoria
principal, por el microprocesador, y como se encuentra tan cercana a él, la caché actúa como un
acelerador en la ejecución de un programa.
Se organiza internamente como una matriz de celdas de memoria de n x m, donde n es el número de
palabras que puede almacenar el chip de memoria y m es el número de bits por palabra.
7
Diseño de Sistemas I: Sistemas de Memoria
Un ejemplo: Diseñe una memoria de 4K x 8 RAM ( 4K palabras cuyo ancho de palabra es de 8 bits)
La memoria tiene en total:
• 4K = 4 · 210 = 4 · 1024 = 4096 palabras = n palabras que son 4096 direcciones o posiciones de
memoria y
• 8 bits = m bits de ancho de palabra
• Necesita por tanto un bus de direcciones de 12 líneas y un bus de datos 8 bits.
m bits
Memoria de 4K x 8
Vcc
Chip Vss
n de
Memoria BUS DATOS
BUS DIRECCIONES
m
CS R/W
Para el correcto funcionamiento de la memoria, que se rige por una tabla de verdad, es necesario
incorporar una circuitería adicional como son decodificadores, multiplexores, buffers, etc. En las
siguientes figuras se muestran estos bloques combinacionales así como la tabla de verdad de la
memoria:
ENTRADAS SALIDA
___ ___ ___ Chip
CE WE OE
H X X Z
L H L Lectura
L L X Escritura
L H H Power Down / Z
8
Diseño de Sistemas I: Sistemas de Memoria
___
CE
___ LÓGICA ······················
WE DE
___ CONTROL BUFFER ENTRADA
OE
······················
A12 DE
CO B
A11 DI MATRIZ D7
DE U S
FI F A
···· CA ······ MEMORIA ····
DE F L
FI DO E I
···· LA R ······ 256x32x8 ···· D0
R D
A5 S S A
A4 DECO –
DIFICA- ··············
···· DOR
A0 COLUMNAS
CIRCUITO DE LA MEMORIA
9
Diseño de Sistemas I: Sistemas de Memoria
Posee direcciones desde O a 63, por lo que se ocupa un código de selección de 6 dígitos. Cada código
activa una determinada salida del decodificador que a su vez habilita el registro que le corresponde. Con
R/W y CS se dispone la lectura o escritura de cualquier posición de la memoria. Si el CS está activo la
memoria se puede usar, de otra forma se encuentra en tercer estado (stand by). Cuando el R/W es 1 el
circuito de salida se activa, permitiendo que el contenido del registro elegido esté en la salida de datos de
la memoria, de lo contrario se activa el circuito de escritura.
Entre las memorias SRAM se encuentran la memoria CMOS 6264, que es una memoria de 8Kx8
(donde la nomenclatura es igual a la empleada en las memorias EPROM), con ciclos de lectura y
escritura de 100ns. Posee dos CS (uno activo en bajo y el otro en alto) y salidas de tercer estado.
Otra memoria es la TSM4016 de 2Kx8 o la 62256 que es una memoria de 32Kx8.
DRAM (Dynamic Random Access Memory). Es una memoria que mantiene los datos durante un
tiempo determinado (2ms), luego del cual se pierden, por eso requieren un proceso refrescamiento
periódico para no perder la información. Se constituye de pequeños capacitores MOS de unos
cuantos picofaradios. Posee una densidad de información cuatro veces mayor que las estáticas,
aunque poseen una velocidad media menor que la SRAM.
10
Diseño de Sistemas I: Sistemas de Memoria
La memoria principal de las computadoras actualmente es de este tipo. Al igual que los otros tipos de
memorias, se constituyen de un arreglo matricial de celdas con capacidad de un bit, cada una. El circuito
interno de las DRAM automáticamente refresca los contenidos de las celdas.
Esta es una vista tridimensional de la matriz de celdas, además se ve como la dirección (address)
es la que genera el dato de fila y columna, para seleccionar la celda requerida.
Las memorias RAM, que se usan en la actualidad en las computadoras con microprocesadores de
64 bits en el bus de datos, se construyen en pequeñas tarjetas denominadas DIMM (Dual In-line
Memory Module), que sustituyeron a las memorias SIMM (Single In-line Memory Module). Los
DIMM, traen diversas capacidades y tiempos de acceso. Con la aparición del microprocesador
Pentium, las memorias centrales evolucionaron de forma notable. Como resultado es que se
desarrollaron los módulos DIMM (168 contactos) de 64 bits.
11
Diseño de Sistemas I: Sistemas de Memoria
La implementación física del mapa de memoria se realiza utilizando uno o varios chips de memoria. En
el mercado se encuentran diferentes configuraciones de chips de memoria: zKx1, zKx4, zKx8, zKx16,
zKx32, zMx1, zMx4, zMx8, zMx16, zMx32, etc. donde z es un múltiplo de 2.
Así, por ejemplo, un chip de 1Kx8 indica que puede almacenar 1024 palabras de 8 bits cada una, o
bien, 1024 posiciones de memoria cada una con una longitud o ancho de palabra de 8 bits.
Para diseñar una memoria de n bits disponiendo de chips de t bits, se necesitan n / t chips en paralelo
para alcanzar el ancho de palabra deseado. Por ejemplo, para diseñar una memoria de 64Kbytes (n = 8)
y sólo se dispone de chips de 64Kx4 (t = 4), entonces se necesitan 2 chips (8 / 4).
Un arreglo de esos chips sería tal y como se muestra en las figuras siguientes:
12
Diseño de Sistemas I: Sistemas de Memoria
13
Diseño de Sistemas I: Sistemas de Memoria
14
Diseño de Sistemas I: Sistemas de Memoria
15