Memorias
Memorias
Memorias
CARACTERISTICAS
Los dispositivos digitales más elementales capaces de almacenar información en forma binaria
son los biestables y los registros de desplazamiento
Las memorias son dispositivos capaces de almacenar grandes cantidades de información debido
a que internamente están constituidas por un determinado número de registros que utilizan unas
entradas y unas salidas comunes para acceder a todos ellos. La información se almacena en las
memorias en forma dé palabras formadas, normalmente, por uno, cuatro u ocho bits. Cada
palabra se almacena en una posición que se identifica con una determinada dirección de
memoria expresada numéricamente en el sistema hexadecimal.
Los datos se introducen y se extraen de la memoria durante las operaciones de escritura y
lectura respectivamente a través de un conjunto de líneas que se denominan bus de datos. De
lo anterior se deduce que el bus de datos es bi-direccional, lo que significa que los datos pueden
ir en cualquiera de las dos direcciones, es decir, hacia la memoria o desde la memoria. En el
caso de una memoria organizada en byte, el bus de datos debe poseer ocho líneas de manera
que los ocho bits de un byte de datos seleccionados se transmitan en paralelo.
MEMORIAS SEMICONDUCTORAS
RAMs Y ROMs
Las dos principales categorías de memorias semiconductoras son las memorias ROM y RAM.
La memoria ROM (Read-Only Memory, memoria de solo lectura) es un tipo de memoria en la que
los datos se almacenan de forma permanente o semipermanente. Los datos se pueden leer de
una ROM, pero no existe la operación de escritura como en las RAM’s. Debido a que las ROM’s
mantienen los datos almacenados incluso cuando se desconecta la alimentación, reciben el
nombre de memorias no volátiles.
TIPOS DE MEMORIA
• RAM = Random Access Memory
• ROM = Read Onlv Memory
• PROM = Programmable Read-Only Memory
• EPROM, (Erasable Prograrnmable Read-0nly Memory)
• EEPROM = (Electrically Erasable Programmable-Read- only Memory
• FLASH
• VRAM = Video RAM
• SRAM = Static RAM
• DRAM = Dynamic RAM
• FPM = Fast Page Mode
• EDO = Extended Data Output)
• BEDO = Burst EDO
• SDRAM = Synchronous DRAM)
• DDR SDRAM ó SDRAM II = Double Data Rate SDRAM
• PB SRAM = Pipeline Burst SRAM)
ENCAPSULADOS
Como ya habíamos dicho anteriormente, en una memoria RAM los datos se pueden leer y
escribir rápidamente en cualquier dirección especificada y en cualquier orden. La operación de
escritura es destructiva, y la operación de lectura es no destructiva. Esta operación no destructiva
de lectura se puede entender como una copia del contenido de una dirección, dejando intacto
dicho contenido. La RAM se utiliza para almacenamiento de datos a corto plazo, ya que no puede
retener los datos cuando se desconecta la alimentación.
Los dos principales tipos de memoria RAM son las RAM’s estáticas (SRAM, STATIC RAM) y las
RAM’s dinámicas (DRAM, DINAMIC RAM).
Memorias SRAM.
Denominadas así porque utilizan elementos de almacenamiento tales como latches, para datos,
que pueden almacenarse durante un período de tiempo indefinido mientras que esté conectada
la alimentación o que se escribe un nuevo bit de datos: La SRAM es una memoria volátil.
Memorias DRAM
Una memoria RAM dinámica (DRAM) es aquella en la que los datos se almacenan en
condensadores, que requieren recargarse (refrescarse) periódicamente para mantener el dato.
La ventaja de este tipo de celda es que es muy sencilla, lo que permite construir matrices de
memorias muy grandes en un chip, a un coste por bit más bajo que el de las memorias estáticas.
La desventaja es que el condensador de almacenamiento no puede mantenerse cargado más
que un periodo de tiempo, y el dato almacenado se pierde si su carga no se refresca
periódicamente. La operación de refresco requiere circuitería de memoria adicional y complica el
funcionamiento de la DRAM. Por ejemplo cuando se quiere acceder a una dirección de memoria
cuando se está ejecutando la operación de refresco; primero hay que esperar que éste termine
para poder acceder a la dirección deseada.
ROM de máscara
El tiempo de acceso a la ROM, es el tiempo que transcurre desde que se aplica un código de
dirección válido en las líneas de entrada hasta que los datos validos aparezcan en las líneas de
salida.
figura 1 memorias
Unidades de datos binarios.
Como sabemos, la menor unidad de datos binarios es el bit. Las memorias almacenan datos en
unidades que tienen de uno a ocho bits dependiendo del fabricante. Una unidad completa de
información se denomina word o palabra y esta formada generalmente por uno o más bytes. Las
palabras también pueden estar constituidas por grupos de menos de ocho bits.
• Cadencia de transferencia.
• Densidad de información.
• Volatilidad.
• Capacidad.
Entendemos por capacidad de una memoria el número de posiciones y, por tanto, de palabras
que puede almacenar. La capacidad total de una memoria expresada en bits será el producto de
las posiciones m por el número de bits n que componen cada posición:
N=mxn
La operación de selección de una determinada posición de memoria se denomina direccio-
namiento. La cantidad de líneas necesarias para direccionar las m posiciones será n1, de tal
forma que siempre se cumpla la igualdad:
2n1 = m
Las memorias se identifican por el número de posiciones y por el número de bits de cada una de
ellas. Los dispositivos de gran capacidad se miden en K’s. Un K equivale a 1024 posiciones. La
capacidad de una memoria que utiliza n, variables binarias para direccionar todas sus posiciones,
expresada en K’s, será:
2n1 - 10
Las entradas y salidas más significativas de un circuito de memoria son las de direccionamiento,
las de lectura/escritura de datos y las de control.
En la Figura 2 se muestra de forma simbólica una RAM con todos los terminales necesarios.
Las ROM no necesitan la entrada de control R/W que permite leer o escribir en función del nivel
lógico aplicado. La entrada CS (Chip Select . se utiliza, como veremos más adelante, para
seleccionar un determinado chip cuando la unidad de memoria está formada por más de un
circuito integrado.
Figura 2. Representación simbólica de una memoria RAM con sus entradas y salidas.
Los diferentes circuitos pueden estar conectados simultáneamente a las mismas líneas de
dirección y de datos, gracias a las puertas de tres estados que mantienen los Ws que no han sido
seleccionados en el tercer estado o estado de alta impedancia.
Los circuitos de memoria de tecnologías LSI y VLSI están constituidos básicamente por los
siguientes elementos:
a) Por matrices de celdas; en la cuál cada celda está constituida por un elemento de
almacenamiento (latch o flip-flops, condensador etc) que puede almacenar un 1 o un 0
(señal alta o señal baja) ( 1 bit de información),
En la figura de abajo, se utilizan 64 celdas a modo de ejemplo pudiendo ser más. Cada bloque
de la matriz de memoria representa una celda de almacenamiento y su ubicación se puede
determinar mediante una fila y una columna
• La figura (a) es una matriz de 8 filas por 8 columnas, que se puede entender como una
memoria de 64 bits o como una memoria de 8 bytes.
• La figura (b) es una matriz 32x4 que es una memoria de 128 bits o memoria de 16 bytes.
• La figura (c) es una matriz 32x1 que es una memoria de 32 bits. La memoria se identifica
mediante el número de palabras que puede almacenar, multiplicado por el tamaño de la
palabra. Por ejemplo, una memoria de 32 k b x 8 puede almacenar 32.768 palabras de 8
bits cada uno.
b) Uno o dos decodificadores para seleccionar cada una de las posiciones de la matriz.
c) Un conjunto de buffers formados por puertas de tres estados que gobierna la entrada/salida
de datos bajo un circuito de control, al cual se le aplican las señales de lectura/escritura y
selección de chips.
La capacidad de una memoria es el número total de unidades de datos que puede almacenar.
Por ejemplo en la matriz organizada en bits de la figura (a), la capacidad total es 64 bits. En la
matriz de memoria organizada en byte de la figura (b) la capacidad es de 8 bytes.
EJERCICIOS
3. ¿Cuántas líneas de dirección son necesarias para seleccionar todas las posiciones de
una memoria de 16K x 8? ¿Cuál será el número total de células de la matriz?
Solución:
Por otra parte, sabemos que el valor de la capacidad, expresada en K’s vale 2n1-10 ; de esta
expresión deducimos que n1 = 14, ya que
214 - 10 = 24 = 16K
Solución:
d) Las líneas de datos serán ocho, puesto que la palabra es de ocho bits.
5. Para direccionar las posiciones de una memoria se utiliza la notación hexadecimal. Las
65536 posiciones de una unidad de memoria de un determinado sistema se encuentran
entre las direcciones 0000 (la primera) y FFFF (la última). Calcular las direcciones de las
posiciones que ocupan los lugares: a) 5; b) 255; e) 1024, y d) 32 769.
Solución:
6. Cuántas posiciones de memoria hay desde la dirección 0400 hasta la 11FF, ambas
inclusive?
Solución
El número decimal equivalente al 0400 utilizando la expresión polinómica, será
Con el mismo proceso deducimos que los principios y finales de los restantes tramos son, por
este orden: 4000, 57FF, 5800 y 5FFF ( ver figura).