TEMA 5: LA MEMORIA
El computador necesita un sistema de almacenamiento (memoria) para programas y datos. Es difícil encontrar una memoria óptima en todas las carácterísticas (4):
1.Ubicación:
oMemoria interna: directamente accesible por el procesador (Bytes o número de palabras y bits por palabra).
oMemoria externa: accesible usando dispositivos E/S (Bytes).
2.Capacidad: cantidad de información que puede almacenar
3.Método de acceso: cómo se accede a la información
oSecuencial: para acceder a una posición hay que recorrer todas las posiciones previas.
oDirecto: dos fases, de forma directa accede a vecindad y de forma secuencial a posición deseada.
oAleatorio: posición deseada de forma absoluta.
oAsociativa: accede a una posición basándose en parte de su contenido.
4.Carácterísticas físicas: volatilidad: mantenimiento de la información en el tiempo con ausencia de alimentación (volátil-dinámica, volátil-estática, no volátil-borrable, no volátil-no borrable).
Prestaciones:
oTiempo de acceso: tiempo que tarda en realizarse la operación desde que se solicita.
oTiempo de ciclo: tiempo desde comienzo de operación hasta que puedo comenzar la siguiente.
oVelocidad de transferencia: cantidad de información por unidad de tiempo.
Dispositivos físicos: semiconductoras, soporte magnético, soporte óptico y soporte magneto-óptico
UNIDAD DE TRANSFERENCIA: Nº de bits que se leen o escriben en memoria a la vez.
Memoria interna: palabras.
Memoria externa: bloques.
Una palabra es la unidad natural de organización de la memoria.
Una unidad direccionable es la mínima longitud de bits a los que accede un procesador.
JERARQUÍA DE MEMORIAS:
Diseño: ¿cuánta memoria? ¿cómo de rápida? ¿coste?
Lo deseable de un sistema de memoria es que si ponemos más memoria las aplicaciones la usarán. Pero la velocidad del sistema de memoria debe seguir al procesador. Por último el coste debe ser lo menor posible.
Debe existir un compromiso entre coste, capacidad y velocidad. Se podrán utilizar varias tecnologías en el sistema de memoria.
Al cambiar de tecnología: a menor tiempo de acceso mayor coste por bit y a mayor capacidad menor coste y mayor tiempo de acceso.
Por ello, en el diseño de la jerarquía de memoria habrá una organización jerárquica para conseguir el rendimiento de una memoria de gran velocidad a coste de una de baja velocidad.
El objetivo de las jerarquías de memoria es organizar los datos de forma que cuando el procesador los necesite estén en los niveles más altos.
Se debe cumplir por tanto que al descender:
A)Disminuya el coste por bit
B)Aumente la capacidad
C)Aumente el tiempo de acceso
D)Disminuya la frecuencia de accesos de la CPU
Para colocar los datos, utilizamos los principios de localidad que estiman qué datos van a ser usados y se llevan a los niveles altos de la jerarquía existiendo:
Localidad temporal: referencia un elemento que será referenciado pronto.
Localidad espacial: referencia un elemento y los cercanos a él serán referenciados pronto.
El nivel de jerarquía más próximo al procesador es la memoria caché que proporciona la velocidad (no interviene programador).
La memoria virtual (almacenamiento on-line) es la más alejada al procesador y se gestiona por software proporcionando capacidad.
MEMORIA PRINCIPAL: nivel directamente accesible por el procesador para almacenar instrucciones y datos empleando memorias semiconductoras. Está compuesta por:
Circuitos de sólo lectura (ROM).
Circuitos de lectura y escritura (RAM) que emplean tecnología dinámica (DRAM: memoria principal/grande) o estática (SRAM: memoria caché/rápida).
oDRAM usa condensadores y pierde el dato con el tiempo. El dato leído deberá ser amplificado y la lectura es destructiva. La celda es más simple y tiene mayor capacidad por chip.
oSRAM usa flip-flops y es más rápida que la DRAM
Lógica DEL CHIP:
Los chips de memoria contienen diversas celdas de memoria de una palabra, que almacenan en una matriz. Su interfaz tiene varios tipos de líneas (dirección, selección y tipo de acceso).
– DRAM: Direccionamiento multiplexado (selección separada en filas y columnas) que requieren refresco para no perder el dato. Su temporización en el ciclo de lectura depende del multiplexado de direcciones.
– SRAM: Terminales no multiplexados y no necesitan refresco. Su temporización en el ciclo de lectura es el tiempo de acceso y en el ciclo de escritura el tiempo setup.
CONEXIÓN MEMORIA-COMPUTADOR: Dos fases:
1.Determinación de posición en mapa de memoria
2.Diseño de lógica de direccionamiento y control
Dispone de un mapa de memoria físico que contiene la distribución de elementos hardware en las posiciones del procesador donde se debe fijar la posición de la memoria y la cantidad. No se debe solapar con otros dispositivos conectados.
Habitualmente, se requieren varios circuitos para cubrir el espacio. Estos circuitos se organizan de forma horizontal (una palabra por dirección) o vertical (rango de direcciones).
Para acceder desde el procesador genero dos direccionamientos, el del chip y el de la palabra. Este último se consigue conectándose al circuito de la memoria de líneas menos significativas.
El direccionamiento del chip determina la dirección válida y genera las señales de control a la memoria y genera un protocolo de bus.
– En caso de tener memorias SRAM necesitaremos un circuito para direccionamiento, lectura/escritura y seleccionar la unidad direccionable.
– En caso de tener memorias DRAM necesitaremos la multiplexación de direcciones y circuitería de refresco.