Memorias - Escuela Superior de Informática

Anuncio
Tema 6: Memorias
Escuela Superior de Informática
Universidad de Castilla-La Mancha
Índice
•
•
•
•
•
•
Introducción. Jerarquía de memoria.
Fundamentos de las memorias.
Características de las memorias.
Dispositivos de almacenamiento masivo.
Dispositivos de acceso aleatorio.
Memoria interna del computador.
Introducción
• Almacenamiento de la información: datos y
programas.
• Operación de Lectura: sacar información.
• Operación de Escritura: meter información.
• Bus de Direcciones.
• Bus de Datos.
• Señales de control: orden de lectura y orden de
escritura.
Esquema de una memoria
• Memoria de 4x8 (4 palabras de 8 bits)
Celda de 1 bit
Bus de
direcciones
R
E
G.
Palabra
de 8 bits
Chip habilitado
Orden de lectura
Orden de
escritura
D
I
R.
REGISTRO DE DATOS
Bus de datos
Parámetros de la memoria
• Coste por bit.
• Tiempo de acceso (velocidad).
• Capacidad de almacenamiento, depende de la
cantidad de palabras y del número de bits de cada
palabra. Ejemplo 8Kx4 sería una memoria de 8.192
palabras de 4 bits.
• A mayor tiempo de acceso, menor coste.
• A mayor capacidad, menor velocidad.
Jerarquía de memoria (I)
• Es deseable gran capacidad, tiempo de acceso
pequeño y bajo coste.
• La memoria se estructura en varios niveles.
• Nivel alto, de baja capacidad y rápido.
• Nivel bajo, alta capacidad y lento.
• Información más utilizada en nivel alto.
• La información cambia de nivel según convenga en
ambos sentidos.
Jerarquía de memoria (II)
CPU
Memoria
Interna
E/S
Fundamentos de las memorias
• Para que un elemento pueda ser utilizado como
dispositivo de memoria requiere:
1) Medio o soporte.
2) Transductor de escritura.
3) Transductor de lectura.
4) Mecanismo de direccionamiento.
Medio o soporte (I)
• Para que un medio pueda almacenar información
debe cumplir las siguientes condiciones:
1) Presentar al menos dos estados diferenciados y
estables.
2) Cambiar de estado mediante la aplicación de
alguna señal exterior.
3) Poder detectar el estado en cualquier momento.
Medio o soporte (II)
• Se debe poder cambiar el estado siempre que sean
necesario sin que ello suponga deterioro.
• Medios magnéticos, presentan una de dos posibles
direcciones de magnetización.
• Medios discretos, almacenan un bit.
• Medios continuos, almacenan muchos bits, unos
detrás de otros (señal de reloj).
Medio o soporte (III)
Medios magnéticos:
1) Ferrita, clásico.
2) Cinta magnética.
3) Disco.
4) Tambor.
Memorias de semiconductores.
Medio o soporte (IV)
• Duradera, la información se mantiene en ausencia de
alimentación (no volátil).
• Volátil, se necesita alimentación para mantener la
información.
• Con refresco, se necesita cada cierto tiempo
restaurar la información (condensadores que se
descargan).
• Lectura destructiva, cuando se lee la información, se
destruye. Necesita volver a escribirse para
conservarla.
• Permanente, la información es fija y no se puede
modificar ni borrar. Sólo se puede leer.
Transductor
• De escritura: proporciona la energía necesaria para
cambiar de estado.
• De lectura: captan las magnitudes físicas adecuadas
para conocer el estado.
• Unidos al medio, conexionado con el punto de
memoria (estáticas).
• Independientes del medio, el punto de memoria se
coloca frente al transductor (dinámicas).
Direccionamiento
• Seleccionar el punto de memoria deseado para leer o
escribir.
• En memorias estáticas se realizan mediante cableado
o conexionado de los transductores. El acceso es por
palabras y se llama aleatorio. Tarda el mismo tiempo
para acceder a cualquier palabra.
• En memorias dinámicas, se almacena una
información adicional de direccionamiento, junto con
los datos, que es interpretada. El acceso se realiza
por bloques.
Direccionamiento cableado (I)
• Direccionamiento 2D.
• Un decodificador de m entradas selecciona una y
sólo una línea, conectada a todas las células de
memoria de una palabra de n bits.
• Hay n parejas de transductores, una para cada bit,
que hacen las funciones de escritura (uno de ellos) y
de lectura (el otro).
Direccionamiento cableado (II)
• Direccionamiento 3D.
• Se establecen n planos horizontales de memoria, uno por cada
bit de la palabra.
• Dentro de cada plano se selecciona un elemento de memoria
de la siguiente forma:
a) El bus de direcciones se divide en dos partes (que pueden ser
iguales) y cada parte entra en un decodificador.
b) La intersección de la línea activa de cada decodificador
determina una y sólo una posición de memoria dentro del
plano.
• Cada bit de la palabra se encuentra en un plano y todos los bits
de la misma palabra en vertical.
• Ventaja frente al 2D: Los decodificadores son más pequeños y
sencillos.
Direccionamiento en memorias
dinámicas (I)
• Llevan cabecera e información.
• En la cabecera se incluye una información que la
unidad de control del dispositivo de memoria
interpreta. La cabecera también “consume”
memoria.
• La lectura y escritura se hace a nivel de bloques y
no de palabras.
• Los bloques pueden tener miles de bytes.
Direccionamiento en memorias
dinámicas (II)
• Se necesita sincronización con reloj, que puede ser
externo o grabado en el medio.
• Se pueden direccionar por acceso secuencial, con
un transductor fijo. Ejemplo, la cinta magnética.
• Se pueden direccionar por acceso directo, bien con
un transductor móvil o con varios fijos.
Características de las memorias
• Por la duración: duradera (no volátil), volátil, con
refresco, destructiva y permanente.
• Por el modo de acceso: aleatorio y por bloques.
• Por la capacidad.
• Por la velocidad.
• Por el número de puertas.
Tamaño o capacidad
• En las cableadas, existe un relación entre el
número de bits de bus de direcciones y la cantidad
de palabras que se pueden seleccionar.
• En las memorias dinámicas, la capacidad depende
de la longitud del medio y de la densidad de
grabación (bits/unidad longitud o superficie).
Velocidad memorias estáticas
• En memorias estáticas, la velocidad es la misma para cualquier
posición de memoria.
• TA es el tiempo que se tarda en leer una palabra conocida la
dirección y dada la orden de lectura.
• El tiempo para realizar n lecturas consecutivas no es n·TA, ya
que se necesita un tiempo de regeneración (o refresco) TRES
para decodificadores, transductores o puntos de memoria.
• El tiempo parar hacer n lecturas consecutivas sería:
n·TA + (n-1)·TRES
• TC = TA + TRES es el llamado ciclo de lectura.
• Lo mismo se puede decir para la escritura.
Memorias en el computador
• Las memorias estáticas se emplean para construir
la memoria principal.
• Se usa acceso aleatorio (RAM) y un registro de
direcciones de m bits y otro de datos de n bits
(longitud de palabra del computador). Ambos
registros se unen con los buses del computador.
• Las memorias dinámicas se emplean para construir
la memoria secundaria, de gran capacidad.
Dispositivos de almacenamiento
masivo
• Cinta y banda magnética.
• Disco y tambor magnético.
• Memorias ópticas (Ej: Compact Disc).
Cinta magnética
• Capas de óxidos de hierro, cromo y otros metales.
• Cintas de 1/2” y 800 metros. Memoria dinámica. La cinta debe
moverse.
• 9 pistas. Se leen 9 bits en paralelo, 8 de datos y uno de paridad
impar en vertical.
• Contacto físico entre las cabezas y la cinta.
• Acceso secuencial.
• No volátil.
• Lectura no destructiva.
• Bit de paridad par en horizontal.
• Soporte muy económico.
• En desuso. Sólo usado para copias de seguridad.
Discos magnéticos
• Acceso directo y no volátiles.
• Permiten lectura (no destructiva) y escritura.
• Disco recubierto de una fina película magnética que gira a
3.000 r.p.m. o mayores, girando constantemente.
• Entrada y salida de bits en serie, con velocidades de
transferencia de varios Mbytes/s.
• Capacidades de hasta cientos de Gbytes.
• Acceso lento, del orden de los ms.
• Las cabezas no tocan el disco, si bien están extremadamente
cerca• En los disquetes (bajo coste) sí que se produce contacto, con lo
que su vida es menor. Por ello no giran a no ser que se acceda a
ellos.
Discos ópticos
•
•
•
•
•
•
La grabación se produce por láser.
La lectura se produce por láser de menor potencia.
Alta densidad de grabación.
Resistencia a polvo y manipulación.
Bajo coste.
Tiempos de acceso algo peores que los magnéticos.
Discos ópticos: CD-ROM
• Diámetro de 12 cm y 1,2 mm de espesor.
• Policarbonato con una lámina de aluminio que hace de espejo.
• Un láser infrarrojo de 780 nm de longitud de onda ilumina la pista y un
fotodiodo detecta las hendiduras del soporte.
• Una única pista de 5,3 Km en forma de espiral, de dentro hacia fuera.
• Usados como soporte de almacenamiento de audio, se leen a una
velocidad constante de 1,2 m/s, obteniéndose una secuencia de palabras
de 16 bits muestreados a 44,1 KHz. Cuando se lee el interior la velocidad es
de 500 r.p.m. y de 200 r.p.m. cuando se lee el exterior.
• Capacidad de unos 600 MB, lo que equivale aproximadamente a 1 hora de
registro de audio.
• A partir de 1996 empiezan a usarse lectores con velocidad angular
constante, para datos.
Discos ópticos: DVD-ROM
•
•
•
•
Procede del video digital.
Se puede grabar por una o dos caras.
En cada cara se pueden usar una o dos superficies activas.
Las capacidades varían desde 4,7 GB para una cara y una
capa hasta 17 GB para dos caras dos capas.
• Láser rojo de 635 nm de longitud de onda y muescas más
pequeñas, de longitud mínima de 0,4 micras y separación
entre pistas de 0,74 micras.
Discos ópticos de
lectura y escritura
• La grabación y borrado se realizan mediante la acción conjunta
de un láser y un campo magnético.
• Tiene lugar en una película magnética.
• El láser calienta el punto hasta 150 ºC y en esas condiciones el
campo magnético cambia la polarización.
• El material cambia sus propiedades ópticas según la
magnetización.
• La lectura se hace con el láser a menor potencia.
• A principio de los años 2000 se comercializan grabadores DVD,
que no siempre son compatibles con el lector convencional
DVD.
Memorias de semiconductores
tipo Flash
• A partir del año 2002 se comercializan lápices USB
de memoria, de tamaño muy reducido y gran
capacidad (en la actualidad hasta 32 GB).
• Utilizan puertos USB (Universal Serial Bus) para
conectarse con los distintos periféricos.
Otros soportes
• Floptical: similar al disquete de 3 1/2”, de tamaños
720 KB y 1,44 MB, que puede grabar hasta 21 MB.
• Unidades Bernoulli, disquete sin contacto físico
gracias al aire que arrastra el disco (efecto
Bernoulli).
Dispositivos de acceso aleatorio
• Memorias de ferrita.
• Memorias de semiconductores.
Memorias de ferrita
• En desuso, si bien han servido para crear los emblemas de las Escuelas
y Facultades de Informática.
• Se comenzaron a usar en los años 50 del siglo pasado en el M.I.T. y
siguieron usándose hasta 1970.
• Cada bit se almacena en un anillo de ferrita atravesado por cables que
producen dos direcciones de magnetización.
• Diámetro exterior entre 0,5 y 3 mm.
• Memoria estática con direccionamiento cableado (RAM).
• No volátil.
• Lectura destructiva. Hay que volver a grabar después de leer, borrando
antes de escribir.
• Relativamente rápidas, tiempos del orden de microsegundos.
• Capacidades pequeñas, pocos KB a pocos MB, generalmente con
módulos de 4 KB.
Memorias de semiconductores
•
•
•
•
Aparecen a finales de los años 60.
Son estáticas de direccionamiento cableado.
Son de Acceso Aleatorio (RAM).
Pueden ser también dinámicas DRAM, necesitan
refresco.
Clasificación de las memorias de
semiconductores
• De lectura y escritura, también conocidas como
RAM (ya vistas).
• De sólo lectura:
–
–
–
–
–
ROM (Read Only Memory).
PROM (Programmable ROM).
EPROM (Erasable PROM) (borrado por Ultraviolados).
EEPROM (Electricaly EPROM) (borrado eléctico lento).
Flash.
Memorias ROM
• Se fabrican en pastillas integradas
• El bus de direcciones puede ser completo o multiplexado
en el tiempo
• El bus de datos tiene salida triestado, con lo que se
pueden conectar varios circuitos al mismo bus siempre
que no se active más de uno a la vez
• Señales de control activas a nivel bajo:
• CS (Chip Select) o CE (Chip Enable), debe activarse para
que funcione
• RAS, si el bus de direcciones está multiplexado, indica
qué parte de la dirección se está leyendo
RAM estáticas (SRAM)
• No son volátiles.
• 256 Kb. Configuración 32Kx8, 28 pines, bus dirección
15 líneas, bus de datos 8 bits bidireccionales, 3 pines
de control, acceso 12 ns.
• 1 Mb. Configuración 256Kx4, 28 pines, bus dirección
18 líneas, bus de datos 4 bits bidireccionales, 3 pines
de control, acceso 10 ns.
• 4 Mb. Configuración 1Mx4, 28 pines, bus dirección
18 líneas, bus de datos 4 bits bidireccionales, 3 pines
de control, acceso 10 ns.
RAM dinámicas (DRAM)
• Deben refrescarse y por ello son más lentas.
• 1 Mb. Configuración 1Mx1, 18 pines, bus dirección 10 líneas,
bus de datos 2 bits (entrada y salida diferenciados), 3 pines de
control, acceso 80 ns. Refresco 8 ms.
• 4 Mb. Configuración 4Mx1, 20 pines, bus dirección 11 líneas,
bus de datos, 2 bits (entrada y salida diferenciados), 3 pines de
control, acceso 60 ns. Refresco 16 ms.
• 16Mb. Configuración 4Mx4, 28 pines, bus dirección 12 líneas,
bus de datos 4 bits bidireccionales, 4 pines de control, acceso
60 ns. Refresco 16 ms.
ROM, PROM, EPROM, EEPROM Y
FLASH
• ROM, grabada en fábrica.
• PROM grabada una sola vez por el usuario.
• EPROM y EEPROM, sólo lectura que se pueden
borrar con luz ultravioleta o una tensión eléctrica,
respectivamente. La Flash también se puede borrar
eléctricamente.
• La EPROM se borra en su totalidad y la EEPROM lo
hace selectivamente a nivel de palabra, y la Flash a
nivel de bloque.
Memoria interna del Computador
• Está compuesta por:
– Registros, de poca capacidad pero rápidos. Se incluyen
los registros de la ALU. 256 bytes, 1 ns.
– Memoria principal, donde residen los programas y datos.
1 GB, 20 ns.
– Memoria caché (no siempre existe), es una memoria
auxiliar que se emplea para acelerar los accesos a
memoria principal. Es transparente al usuario. 1 M, 7 ns.
Mapa de memoria
• En la memoria principal residen los programas y
datos.
• Si el contador de programa tiene m bits, se pueden
asignar 2m direcciones, de 0 a 2m-1, que no tiene
porqué usarse íntegramente.
• La anchura de palabra n no tiene por qué coincidir
con m.
• El mapa de memoria es todo el espacio direccionable
por un computador.
Ampliación del mapa (I)
• La ampliación supone aumentar el número de bits
del bus de direcciones.
• Se puede hacer rediseñando el computador o
añadiendo unos bits adicionales que se concatenan
con los bits existentes, que consiguen, a través de
un decodificador, seleccionar uno de entre varios
mapas de memoria distintos.
Ampliación del mapa (II)
• La solución citada es sencilla y económica, pero es
incómoda, ya que hay que estar constantemente
cambiando de mapa y puede haber mapas vacíos sin
instrucciones ni datos.
• Una solución alternativa es mantener fija una cuarta
parte del mapa (y los bits que la direccionan) y cambiar
de tabla con el resto de los bits.
• Otra alternativa es mediante la llamada conmutación
de bancos de memoria (no explicada aquí).
Diseño de memorias
• Si se desea una memoria de palabras de n bits y se
parte de circuitos con ancho de palabra de t bits, se
necesitarán r/t circuitos en paralelo para alcanzar el
ancho de palabra deseado. El valor típico de t es 1, 4,
8 o 16.
• Si la capacidad pretendida es rK palabras y se
emplean circuitos de zK palabras, se necesitarán r/z
filas de circuitos en serie para lograr dicha capacidad.
Ejemplos de diseño
•
•
•
•
Memoria deseada 128 Kpalabras.
Palabra de 16 bits.
Circuitos de memoria de 64Kx1.
Solución:
– Se necesitan 16/1 = 16 circuitos por fila para formar el
ancho de palabra deseado.
– Se necesitan 128/64=2 filas de circuitos.
Otro ejemplo
•
•
•
•
Memoria deseada 32 Kpalabras.
Palabra de 8 bits.
Circuitos de memoria de 8Kx8.
Solución:
– Se necesitan 8/8 = 1 circuito por fila para formar el
ancho de palabra deseado.
– Se necesitan 32/8=4 filas de circuitos.
Conexionado (I)
• Bus de datos, bus de dirección, CS, OE y W/R.
• Triestado, se puede conectar sin problema entre sí
distintas salidas a un mismo punto eléctrico siempre
que no se activen dos o más a la vez. Los pines del bus
de datos de los circuitos se conectan directamente al
bus de datos.
• De esta forma se aumenta la capacidad sin cambiar el
tamaño de palabra.
Conexionado (II)
• Para aumentar la longitud de palabra, se usan tantos
circuitos como sean necesarios y la asociación en
paralelo de todas las líneas supone una palabra de
tamaño mayor.
• Para direccionar en el conjunto, se selecciona la fila
de circuitos que contiene la palabra de interés.
• Si los buses no son bidireccionales, se separa la parte
de entrada de la parte de salida, pero se siguen
aplicando las ideas anteriores.
Memoria RAM de 32Mx32 a
partir de módulos de RAM de 4Mx8
• Para pasar de palabras de 8 a 32 bits se necesitan 4 módulos en
paralelo, con lo que se tendrán 4Mx32.
• Dicha fila de 4 módulos deberá repetirse otras 7 veces más para
completar los 32M.
• Para direccionar cada una de las 8 filas de 4 módulos se utiliza un
DEC 3x8, cuyas salidas se conectan con las entradas CS de los
módulos de cada fila y en cuya entrada (la del decodificador) se
introducen los 3 bits más significativos de los 25 necesarios. Los
restantes 22 bits se colocan en paralelo en TODOS los módulos
de RAM de 4Mx8.
Fuente: Fundamentos de Computadores 9ª Edición. Pedro de Miguel Anasagasti.
Descargar