PARTE 1: JERARQUIA DE MEMORIA
(T.1) CONCEPTOS BÁSICOS
UBICACION:
- a) Memoria interna:
- Memoria principal
- Registros de CPU
- Memoria de la unidad de control de la CPU (control microprogramado)
- b) Memoria externa:
- Dispositivos de almacenamiento y periféricos como discos y cintas
CAPACIDAD:
Se expresa en bytes o palabras para memoria interna y suele expresarse en bytes para memorias externas
UNIDAD DE TRANSFERENCIA:
Número de líneas de entrada/salida de datos del módulo de memoria (para memorias internas)
- Conceptos relacionados:
- Palabra: unidad «natural» de la organización de la memoria, su tamaño suele coincidir con el número de bits utilizados para representar un número y con la longitud de las instrucciones
- Unidades direccionables: palabras o bytes. La relación entre la longitud A de una dirección y el número N de unidades direccionables es: 2A=N.
- Para memoria principal: número de bits que se leen o escriben de memoria a la vez.
- Para memoria externa: los datos se transfieren en unidades mayores que la palabra, BLOQUES
METODO DE ACCESO:
A) ACCESO SECUENCIAL:
La memoria se organiza en unidades de datos llamadas registros
- El acceso se realiza con una secuencia lineal específica
- Información de direccionamiento: separación de registros y recuperación de datos
- Mecanismo de lectura/escritura compartida
- Tiempo de acceso a un registro variable
- Ejemplo: unidades de cinta
B) ACCESO DIRECTO:
- Mecanismo de lectura/escritura compartida
- Los bloques o registros tienen una dirección única basada en su dirección física
- Acceso a una vecindad dada, seguido de una búsqueda secuencial
- Tiempo de acceso variable
- Ejemplo: unidades de disco
C) ACCESO ALEATORIO:
- Cada posición direccionable tiene un único mecanismo de acceso cableado físicamente
- Tiempo de acceso constante
- Ejemplo: memoria principal
D)ACCESO ASOCIATIVO:
- Acceso de tipo aleatorio en base al contenido de una porción de la palabra a acceder en lugar de su dirección
- Tiempo de acceso constante
- Ejemplo: memoria caché
PRESTACIONES:
A)TIEMPO DE ACCESO:
Para acceso aleatorio y asociativo: tiempo que tarda en realizarse una operación de escritura o lectura
- Para otros tipos de acceso: tiempo que tarda en situarse el mecanismo de escritura/lectura en la posición deseada
B)TIEMPO DE CICLO DE MEMORIA (aplicable a memoria de acceso aleatorio):
Tiempo de acceso + tiempo adicional requerido para el inicio de un 2º acceso
- Tiempo adicional: finalización de las transiciones en las líneas de señal y regeneración de datos en lecturas destructivas
C)VELOCIDAD DE TRANSFERENCIA:
Velocidad para transferir datos a, o desde, una unidad de memoria.
- Memorias de acceso aleatorio: inverso de tiempo de ciclo
- Otros tipos de memorias: TN = TA + N/R (TN tiempo medio de escritura o lectura de N bits – TA tiempo de acceso medio – N número de bits – R velocidad de transferencia, en bits x seg.)
DISPOSITIVOS FISICOS:
Memorias semiconductoras (tecnologías LSI o VLSI) y memorias de soporte magnético (discos y cintas)
CARACTERISTICAS FISICAS DEL ALMACENAMIENTO DE DATOS:
Memorias volátiles/no volátiles
- Memorias borrables/no borrables
- Memorias ROM (solo lectura) son memorias no borrables semiconductoras
ORGANIZACION:
(aspecto clave de diseño en memoria de acceso aleatorio) es la disposición o estructura física en bits para formar palabras
(1.1) JERARQUIA DE MEMORIA:
Existen 3 restricciones básicas de diseño del sistema de memoria: capacidad, coste y tiempo de acceso (es necesario un compromiso entre estas 3 restricciones)
- Cualquiera que sea la tecnología disponible en un momento dado se cumplen las siguientes restricciones:
- a – tiempo + coste por bit
- a + capacidad – coste por bit
- a + capacidad + tiempo de acceso
- ¿Cómo elegir el sistema de memoria? No utilizar un solo componente sino una jerarquía de memoria. La clave de este éxito de esta elección es la disminución de la frecuencia de accesos por parte de la CPU según descendemos en la jerarquía.
- La jerarquía es una pirámide con la memoria secundaria en la base, por encima la memoria principal, por encima la memoria caché y en la cúspide los registros de la CPU
- Según se desciende en la jerarquía:
- (a) disminuye el coste por bit
- (b) aumenta la capacidad
- (c) aumenta el tiempo de acceso
- (d) disminuye la frecuencia de accesos a la memoria por parte de la CPU
- La estrategia de diseño funcionará si se aplican las condiciones (a) y (d)
- La condición (d) generalmente puede satisfacerse debido al PRINCIPIO DE LOCALIDAD DE LAS REFERENCIAS
- En el curso de la ejecución de un programa, las referencias a memoria por parte del procesador tienden a estar agrupadas. Existen dos vertientes:
- A)LOCALIDAD TEMPORAL: si se referencia un elemento de memoria este tenderá a ser referenciado pronto (ejemplo: bucles iterativos y subrutinas)
- B)LOCALIDAD ESPACIAL: si se referencia un elemento de memoria los elementos cercanos a él tenderán a ser referenciados pronto (ejemplo: operaciones sobre matrices)
- Es posible organizar los datos a través de la jerarquía de forma que el porcentaje de accesos a cada nivel siguiente más bajo, sea sustancialmente menos que al nivel anterior
- Otra forma de memoria que puede ser incluida en la jerarquía es la CACHE DE DISCO: parte de la memoria principal se usa como buffer temporal de datos que van a ser volcados en disco. Esto aumenta las prestaciones:
- Las escrituras en disco se hacen por grupos.
- Algunos datos destinados a ser escritos como salidas pueden referenciarse por un programa antes de ser volcados en disco
(T.2) MEMORIA PRINCIPAL
(2.1)MEMORIA PRINCIPAL:
Antiguamente la tecnología utilizada era la de núcleos, pero hoy en día es universal para la memoria principal la tecnología de semiconductores
TIPOS DE MEMORIAS SEMICONDUCTORAS DE ACCESO ALEATORIO:
1)RAM (random access memory):
Lectura y escritura de datos rápida
- (1a) Ram Estática: almacenamiento de los valores binarios mediante biestables
- (1b) Ram Dinámica: almacenamiento a través de celdas que conservan la carga como condensadores. Requieren circuitería de refresco para mantener el almacenamiento de datos. Celda más simple que una estática, posibilitan mayor densidad por su tamaño siendo también más baratas. Usadas para tamaños de memoria grandes: el coste fijo de la circuitería de refresco es compensado por el menor coste de las celdas
2)ROM (read only memory):
Aplicaciones: microprogramación, subrutinas de biblioteca para funciones de uso frecuente, programas del sistema y tablas de funciones. Su principal inconveniente son los costes fijos de fabricación que son relativamente grandes.
3)PROM (ROM programable):
Alternativa más barata para aquellos casos en que el número de chips necesitado es bajo. Su proceso de escritura es eléctrico y en un proceso posterior al de fabricación. Mayor flexibilidad y comodidad.
4)Memorias de sobre todo lectura (EPROM,EEPROM,FLASH):
Útiles para aplicaciones en las que las lecturas son más frecuentes que las escrituras pero se requiere almacenamiento no volátil.
- (4a) EPROM (erase programmable ROM): más caras que una PROM, con la ventaja de que actualizan su contenido múltiples veces
- (4b) EEPROM (electrically EPROM): puede escribirse en cualquier momento sin borrar su contenido anterior. Es no volátil y actualizable in situ. Más caras y menos densas (menos bits por chip) que las EPROM. Operación de escritura bastante más lenta que las de lectura.
- (4c) Memoria FLASH: alta velocidad de reprogramación, mayor densidad que las EEPROM (del orden de las EPROM) y borrado mucho más rápido que las EPROM
(2.2) ORGANIZACION:
La celda de memoria es el elemento básico de la memoria semiconductora y normalmente tiene 3 terminales:
- Terminal de selección: selecciona la celda para la operación de escritura o lectura
- Terminal de control: tipo de operación
- Tercer terminal: introducción de la señal que fija el estado a 0 o a 1 (escritura).
LOGICA DEL CHIP DE MEMORIA
- Un chip contiene una matriz de celdas de memoria (tamaños típicos encapsulados de un chip: 4 M-bits, 16M-bits)
- Aspecto fundamental de diseño es el número de bits de datos que pueden ser leídos/escritos a la vez, existiendo dos vertientes:
- a) Disposición física de las celdas coincide con la disposición lógica de las palabras: la matriz se organiza en W palabras de B bits cada una
- b) Estructura de un-bit-por-chip: los datos se escriben o leen por bits.
ORGANIZACIÓN TÍPICA DRAM 16-Mbits
- En este caso se escriben o leen 4 bits a la vez
- Matriz de memoria estructurada en 4 submatrices cuadradas de 2048×2048 elementos
- Líneas de direcciones (A’s) suministran la dirección de palabra a seleccionar: nº de líneas requeridas = log2W 11 líneas (211=2048)
- 4 líneas (D’s) para entrada/salida a/desde un buffer de datos
- Para leer/escribir una palabra de datos en el bus, deben conectarse varias DRAMS como esta al controlador de memoria.
- Multiplexado líneas de dirección (A0-A10): ahorro nº de pines: primero se proporciona la dirección de fila y luego la dirección de columna. La selección se realiza mediante las señales RAS (row address selection) y CAS (column address selection)
- Circuitería de refresco: se inhabilita el chip mientras se refrescan todas las celdas: el contador de refresco recorre todos los valores de fila y la salida de contador se conecta al decodificador de filas y se activa la línea RAS.
ORGANIZACIÓN EN MÓDULOS
- Si un chip de RAM contiene 1 bit por palabra, se necesitan al menos un nº de chips = al nº de bits por palabra
- Funciona cuando el tamaño de memoria es = al nº de bits por chip
(2.3) MEMORIAS RAM:
La velocidad del procesador crece aproximadamente 1 año con respecto a la memoria, existiendo por ello una serie de soluciones:
- Aumento de la tolerancia a la latencia: planificación dinámica de instrucciones, accesos especulativos a memoria y procesamiento multihebra
- Mejora de las prestaciones del sistema de memoria: jerarquía de memoria, entrelazado y tecnologías, buses y protocolos más rápidos.
TIPOS DE MEMORIA RAM
1) SRAM (static RAM):
Cada celda está constituida por un biestable (aproximadamente requiere 6 transistores/bit). Rápidas pero costosas
2)DRAM (dynamic RAM):
Cada celda consta de un condensador (tendencia a descargarse, requiere circuitería de refresco). Celda más simple: mayor densidad, menor consumo y más baratas que las SRAM. Se usan en tamaños de memoria grandes (el coste de la circuitería de refresco se compensa por el menor coste de las celdas). Constituyen la memoria principal del computador. Más lentas que las estáticas
- COMPARACIONES: Para configurar una SRAM con la misma capacidad de una DRAM se requerirían hasta 16 veces el nº de chips de la DRAM. El coste por bit de la SRAM es entre 8 y 16 veces el de la DRAM. El tiempo de acceso a DRAM es entre 8 y 16 veces el de una SRAM. La capacidad de las DRAM se duplica cada 2 años aproximadamente.
- MEJORA DE LAS PRESTACIONES DE LAS DRAM: Sus accesos presentan mucha localidad espacial porque un fallo en las cachés implica la lectura de una línea completa de caché. Hay varias técnicas para mejorar el acceso a posiciones consecutivas y el rendimiento del acceso a datos es similar
- FAMILIAS DE MEMORIAS DRAM ASÍNCRONAS:
- a) FPM DRAM (fast page mode): mantiene constante la dirección de fila mientras se leen consecutivamente los datos de varias columnas. Este modo de acceso se mantiene en las siguientes arquitecturas
- b) EDO (extended data out): añade un latch entre los amplificadores y los terminales de salida y permite desactivar CAS antes y mantener el estado del terminal mientras se inicia el acceso a la siguiente línea
- c) BEDO RAM (burst EDO): se añade un contador que genera números sucesivos de columnas a acceder. Evita tener que generar las sucesivas señales CAS
- SDRAM (DRAM Síncronas): Interfaz síncrona: intercambia señales de control con el controlador de memoria sincronizándose con una señal de reloj, y permite al procesador hacer otras tareas mientras realiza operaciones de acceso a memoria en lugar de esperar.
- a) DDR SDRAM (double data read): transfiere datos tanto en flancos de subida como en el de bajada de la señal de reloj (doble ancho de banda con la misma señal) y reducen el voltaje un 30% respecto a SDRAM
- b) QBM DDR SDRAM (quad band memory): varios bancos por módulo con salidas desfasadas. Permite 2 transferencias DDR por ciclo. Similaridad con el entrelazado. Latencia similar a las DDR pero mucho mayor ancho de banda
- c) DDR2 SDRAM (double data rate 2): los buffers de E/S trabajan al doble de la velocidad de la frecuencia del núcleo. En cada ciclo se realizan 4 transferencias. Mucho mayor ancho de banda DDR. Casi doble de latencias que las DDR. Reduce el voltaje un 50% aproximadamente.
- Rambus DRAM (RDRAM): diseño propietario: precio elevado. Gran ancho de banda con menor nº de módulos que otras tecnologías. Inicialmente mayor latencia que las DDR. Evolucionó a Directo Rambus DRAM (bus más ancho y transferencias segmentadas) y XDR RAM (funciona a 3.2 GHz con ancho de 2 bytes pretendiéndose llegar a 8Ghz)
(2.4)MEMORIAS ENTRELAZADAS:
••••