Unit 4 – Memory & Storage Devices
Definición y Función de la Memoria del Ordenador
La memoria es un componente de hardware central que almacena toda la información manejada por un ordenador:
Instrucciones de programa (código).
Datos de usuario y del sistema.
Vista como una colección abstracta y ordenada de direcciones, cada una conteniendo una palabra compuesta de múltiples bits.
Dos operaciones fundamentales definen su uso:
Lectura (recuperar datos ya almacenados).
Escritura (registrar nuevos datos en una dirección dada).
Analogía del mundo real: la memoria actúa como la “mesa de trabajo” del ordenador donde los elementos se colocan temporal o permanentemente para su uso inmediato o eventual por la CPU.
Elementos Estructurales Clave
Dirección - Una etiqueta numérica única asociada a una ubicación dentro del array de memoria.
Permite a la CPU localizar exactamente dónde reside la información.
Celda de Memoria / Punto de Memoria - El sitio de almacenamiento físico más pequeño; contiene un solo dígito binario ( o ).
Implementado en hardware como un flip-flop, capacitor, dominio magnético, etc.
Palabra - El grupo de bits de tamaño fijo devuelto o aceptado en un acceso a la memoria.
Tamaños comunes en la industria: , , , o bits (coincidiendo con las anchos de ruta de datos típicos del procesador).
Operaciones Básicas:
: transfiere la palabra encontrada en una dirección a la CPU.
: sobrescribe la palabra en una dirección con nuevos datos proporcionados por la CPU.
Métricas Clave de Rendimiento y Económicas
Capacidad - Cantidad total de información que un dispositivo de memoria puede almacenar.
Frecuentemente expresada en múltiplos de bytes con prefijo binario:
• Kilobyte
• Megabyte
• Gigabyte
• Terabyte
Tiempo de Acceso (Velocidad o Tiempo de Acceso) - Intervalo desde el instante en que la CPU suministra una dirección hasta que los datos válidos están disponibles (lectura) o se almacenan de forma segura (escritura).
Menor tiempo ⇒ memoria más rápida.
Tiempo de Ciclo de Memoria (Ciclo de Memoria) - Retraso mínimo entre dos accesos sucesivos.
Generalmente un poco más largo que el tiempo de acceso puro debido a las fases internas de restauración/actualización (por ejemplo, necesita recargar el capacitor).
Costo por Bit - Costo monetario dividido por el total de bits proporcionados.
Las memorias de mayor rendimiento (SRAM, caché en chip) tienen un costo por bit drásticamente mayor que los dispositivos de alta densidad y más lentos (discos magnéticos, SSD).
Jerarquía de Memoria: Pirámide de Velocidad vs. Capacidad
Las computadoras superponen múltiples tecnologías de memoria para aproximar la velocidad de las partes más rápidas mientras ofrecen la capacidad de las partes más lentas/baratas.
Orden general (arriba = más pequeño y más rápido):
Registros de CPU – acceso en un solo ciclo, tamaño medido en unos pocos cientos de bytes.
Niveles de Caché (L1, L2, L3) – SRAM en o cerca del dado de la CPU; latencia de nanosegundos.
Memoria Principal (RAM – usualmente DRAM) – escala de gigabytes; decenas de nanosegundos.
Unidades de Estado Sólido (SSD) – microsegundos.
Discos Duros Magnéticos – milisegundos; almacenan el programa completo y la imagen del sistema operativo.
Almacenamiento de Archivo / Fuera de Línea (librerías de cintas, medios ópticos, almacenamiento en frío en la nube) – segundos a minutos pero enorme capacidad.
Principio de funcionamiento:
Los datos/instrucciones se copian automáticamente hacia arriba y hacia abajo en la jerarquía en bloques.
El procesador “ve” un sistema de memoria que responde principalmente a la velocidad del nivel más alto que verifica primero (generalmente la caché L1).
Fundamentos Físicos de los Dispositivos de Memoria
Medio de Almacenamiento mantiene estados de energía que representan y (por ejemplo, carga eléctrica, orientación magnética, electrones atrapados, fosas ópticas).
Transductor de Lectura convierte el estado del medio en una señal eléctrica descifrable por circuitos lógicos. Ejemplos: amplificadores de sentido, cabezales de lectura magnéticos, fotodiodos.
Transductor de Escritura inyecta energía para colocar el medio en el estado deseado (cargando un capacitor, invirtiendo un dominio magnético, alterando la carga de una celda flash).
Hardware de Direccionamiento dirige los circuitos de lectura/escritura a la ubicación física correcta (decodificadores de fila/columna, servo de pista/sector, registros de página).
Los cuatro subsistemas deben coordinarse para un almacenamiento y recuperación confiables y repetibles.
Memoria Caché en Detalle
Propósito - Acortar la brecha de velocidad entre los núcleos de CPU ultrarrápidos y la memoria principal comparativamente lenta.
Al mantener un conjunto de trabajo de instrucciones/datos frecuentemente utilizados, la caché permite que la mayoría de las referencias de memoria se completen a una velocidad cercana a la de la CPU, ocultando la latencia de la memoria principal.
Objetivos Clave de Diseño
Probabilidad de Acierto (Tasa de Acierto) — fracción del total de accesos servidos desde la caché.
Tiempo de Acceso Efectivo (EAT) — promedio ponderado considerando aciertos y fallos:
Retrasos por Penalización de Fallo — tiempo extra que el procesador se detiene mientras busca el bloque de niveles inferiores.
Organización Lógica
Directorio (Array de Etiquetas): almacena metadatos (bits de etiqueta, flags de válido/sucio) identificando qué bloque de memoria principal ocupa actualmente cada línea de caché.
Array de Datos: bloques reales en caché (a menudo – cada uno).
Política y Algoritmos de Reemplazo - Determinan qué línea existente desalojar en caso de fallo (LRU, pseudo-LRU, aleatorio, FIFO).
Implicación directa para la probabilidad de acierto.
Estructuras Multi-Nivel Comunes
Caché L1: dividida en instrucciones y datos, la latencia más pequeña.
Cachés L2/L3: unificadas, más grandes, ligeramente más lentas, compartidas entre núcleos (en muchos diseños).
Implicaciones Prácticas y Económicas
Una afinación adecuada de la jerarquía (tamaños, latencias, políticas) hace que el rendimiento general del sistema se aproxime al de los niveles superiores sin incurrir en su costo prohibitivo a plena capacidad.
Los diseñadores sopesan:
Mayor ⇔ cachés más grandes, más asociativas ⇔ mayor área/costo de silicio.
Acceso más rápido ⇔ cachés más pequeñas, más simples.
Para los desarrolladores de aplicaciones: el código que favorece la localidad (espacial y temporal) maximiza la eficiencia de la caché; los algoritmos que saturan las cachés sufren grandes ralentizaciones.
Instantánea Numérica y Datos Rápidos
Acceso Típico de DRAM: (nanosegundos) puro, de tiempo de ciclo.
SRAM (En chip): para pequeños arrays L1.
Latencia de Lectura de SSD: .
Tiempo Medio de Búsqueda de HDD: .
Gradiente de Costo/Bit (aproximado): .
Conexiones Conceptuales y Contexto Amplio
La jerarquía de memoria aprovecha el Principio de Localidad:
Localidad temporal: los elementos accedidos recientemente es probable que se utilicen de nuevo pronto.
Localidad espacial: es probable que los elementos cercanos a una dirección accedida recientemente se necesiten pronto.
Análogo a los hábitos de trabajo humanos: mantener las herramientas más utilizadas justo en el escritorio (caché), las menos frecuentes en un cajón (RAM), las referencias rara vez usadas en un armario (disco) y los archivos antiguos en almacenamiento remoto.
Consideración ética/práctica: a medida que las tecnologías de memoria se vuelven más densas (por ejemplo, flash apilado en 3D), los tiempos de retención de datos se reducen, lo que plantea preocupaciones sobre la integridad del archivo a largo plazo y los residuos electrónicos.
Tendencia tecnológica: las memorias no volátiles emergentes (MRAM, RRAM, PCM) buscan colapsar partes de la jerarquía, ofreciendo una velocidad cercana a la DRAM con persistencia similar a la flash.