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.