Subsistemas de memoria. Departamento de Arquitectura de Computadores

Documentos relacionados
Tema 5: Memorias. Espacio reservado para notas del alumno

Memoria Cache. Departamento de Arquitectura de Computadores

La memoria del ordenador

Unidad de Memoria. Almacenamiento de información Operaciones básicas. Propiedades de la Memoria. Escritura o almacenamiento. Lectura.

Sin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras)

Jerarquía de memoria - Motivación

Definición de Memoria

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006

Organización del Computador 1 Memoria Cache

Organización lógica Identificación de bloque

Ejercicios de Arquitectura de Computadoras

MEMORIAS: CONCEPTOS GENERALES.

Dispositivos de Procesamiento y Dispositivos de Memoria. Dra. Leticia Flores Pulido Introducción a la Ingeniería en Computación

ESTRUCTURA BÁSICA DE UN ORDENADOR

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

16bits: Tamaño total: 2 16 Tamaño página: 2 13 nº de páginas: 2 16 / 2 13 = 2 3 = 8 páginas Tamaño de tabla: 2 3 *2B = 16B por tabla

Arquitectura de Computadoras para Ingeniería

SISTEMAS OPERATIVOS Arquitectura de computadores

Electrónica Digital II

Estructura del Computador

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Caché. Matías Barbeito Organización del computador 1 2 cuatrimestre 2011

Arquitectura de Computadores. Apellidos, Nombre:

Dpto. de Electrónica 2º GM - EMTT. Tema 6 La Memoria Principal (RAM)

Organización de Computadoras. Turno Recursantes Clase 8

Tema: Microprocesadores

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

INFORMATICA I EJERCICIOS PROPUESTOS Buscar en el diccionario Qué es INFORMÁTICA?, Qué es

Objetivos. Conocer los distintos dispositivos de memoria y almacenamiento existentes y valorar ventajas e inconvenientes de cada uno

MEMORIA. Programación II

Introducción a la arquitectura de computadores

Componentes Internos de Una Computadora

FUNCIONAMIENTO DEL ORDENADOR

Diagrama a bloques de una computadora

Tema 5. Memorias. Estructura de Computadores. Índice. Curso

Tema 5: Memorias. Índice Conceptos básicos Parámetros característicos Jerarquía de memoria Memoria principal Tecnologías Estructura Mapa de memoria

Diseño arquitectónico 1ª edición (2002)

Registros. Cache L1. Cache L2. Memoria Principal (RAM) Memoria Secundaria (Disco) Memoria Terciaria (Cinta)

Introducción a los Sistemas Operativos

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

1) Se dispone de un computador de 32 bits con la siguiente estructura:

LA MEMORIA CACHÉ LA MEMORIA CACHÉ

1. DATOS e INFORMACIÓN.

}Transparencias de clase en

MODULO 6: MEMORIA RAM

Resolución de los Ejercicios de la Hoja 4

Qué es un Microcontrolador?

Componentes de un equipo Microinformático

Simulación de sistemas de memoria con Xcache32

TEMA 2. El ordenador: hardware y software

Ejercicios del tema 5. Jerarquía de de Memoria

ENIAC, Primer computador electrónico y su panel de conexiones

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Tema 1: Arquitectura de ordenadores, hardware y software

Tema 2 HARDWARE III. TICs 1º Bachillerato

Sistemas Operativos. Curso 2016 Sistema de Archivos

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Estructura de Computadores. Módulo E. El subsistema de memoria. Tema 8. Organización de la memoria

Examinaremos las características claves de las memorias y luego analizaremos el subsistema de memoria principal.

4. Escribe con palabras lo que significan las siguientes letras y di cuántos bytes hay aproximadamente: a) 1 Gb? b) 1 Mb? C) 1 Kb?

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

Estructura de Computadores. 1. Ejercicios Resueltos 1.1. Tema 3. La unidad de memoria I. La memoria física

El ordenador. Llamamos ordenador a una máquina capaz de procesar información, es decir, de recibir datos, almacenarlos, hacer

Organización del Computador 1 Memorias

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

21. Jerarquía de Memoria. Conceptos básicos

Memoria RAM. PDF created with FinePrint pdffactory Pro trial version 1-Memoria

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Funcionamiento de la computadora

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

Organización de Computadoras. Clase 10

Unidad 6: Arquitectura y Organización de computadoras Subsistema de Memoria Organización de Memoria Principal

TEMA 1: Concepto de ordenador

UNIDAD I: CONOCIMIENTO DE LA COMPUTADORA

Tema 5.- Memorias. ---***---

Estructura del Computador

Sistema de memoria. Miquel Albert Orenga Gerard Enrique Manonellas PID_

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

Herramientas Informáticas I Software: Sistemas Operativos

Arquitectura de Computadores II Clase #6

EL ORDENADOR A. PERIFÉRICOS. B. UNIDAD CENTRAL. 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

FIABILIDAD, CONFIDENCIALIDAD, INTEGRIDAD Y DISPONIBILIDAD

UNIDAD 1. COMPONENTES DEL COMPUTADOR

Arquitectura basica de un computador

1. Componentes básicos

T E M A 2. Sistema de Memoria

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

4.2 Servicio de exploración de E/S

Almacenamiento y estructura de archivos

Estructura de los dispositivos de E/S.

Partes Internas y Externas de la Computadora

MEMORIA RAM. Clase 4

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Manejo de Entrada-Salida. Arquitectura de Computadoras

TEMA 9. MEMORIAS SEMICONDUCTORAS

Transcripción:

Subsistemas de memoria Departamento de Arquitectura de Computadores

Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas Organización Memoria Caché Organización Políticas de ubicación Políticas de sustitución Políticas de escritura Políticas de búsqueda Memoria Virtual

Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas Organización Memoria Caché Organización Políticas de ubicación Políticas de sustitución Políticas de escritura Políticas de búsqueda Memoria Virtual

Introducción Memoria Ideal = Rápida, grande y barata. Qué significa que sea rápida? Monociclo = Poca latencia de operación (t ciclo pequeño) Multiciclo = Que no determine el tiempo de ciclo. Qué significa que sea grande? Que el tamaño de la memoria no limite los programas que puedo ejecutar. Qué significa que sea barata? Abordable económicamente. Sin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras)

Introducción La memoria es un bloque fundamental del computador, cuya misión consiste en almacenar datos e instrucciones A veces la memoria principal no tiene suficiente capacidad para almacenar todos los datos e instrucciones, en cuyo caso se hace uso de sistemas secundarios o auxiliares que almacenan la información y cuando ésta se precisa es transferida a memoria principal. La memoria únicamente puede realizar dos operaciones: Lectura: el sistema recibe la dirección de la cual se quiere extraer la información la información previamente introducida. Escritura: Además de la dirección donde se quiere escribir es necesario aportar el dato. Dirección Datos Lectura/Escritura DISPOSITIVO DE MEMORIA

Características de los sistemas de memoria: Ubicación El término Ubicación indica si la memoria es interna o externa al computador: CPU: registros y Caché L1. La memoria interna se identifica con la Memoria Principal del sistema (Caché L2): Conjunto de circuitos integrados en los que, de forma temporal, se almacenan los datos e instrucciones necesarios para la ejecución de cualquier programa. La memoria externa o secundaria consta de dispositivos periféricos de almacenamiento tales como discos unidades de cinta que son accesibles por la CPU a través de controladores de E/S. Disco Controlador E/S Memoria Principal CPU

Características de los sistemas de memoria: Capacidad Se denomina capacidad o tamaño a la cantidad de información que puede almacenar una memoria. La capacidad se puede expresar en unidades de bits, bytes o palabras aunque lo mas corriente en hacerlo en bytes (1 Byte = 8 bits). Kilo byte = 1 KB = 2 10 bytes = 1024 B Mega byte = 1 MB = 2 10 KB = 2 20 B Giga byte = 1 GB = 2 10 MB = 2 30 B Tera byte = 1 TB = 2 10 GB = 2 40 B

Características de los sistemas de memoria: Unidad de transferencia La unidad de transferencia suele coincidir con el número de líneas de entrada/salida de datos del módulo de memoria, es decir el número de bits que se leen o escriben a la vez en la memoria. Longitudes de palabras comunes: 8, 16 y 32 bits. Para memoria interna: Palabras Para memoria externa: Bloques (unidad mayor que la palabra)

Características de los sistemas de memoria: Método de Acceso Acceso secuencial: la memoria se organiza en unidades de datos llamadas registros. Debe ir trasladándose desde la posición actual a la deseada, pasando por todos los registros intermedios (unidades de cinta): Tiempo de acceso muy variable depende de la localización del dato en el medio Acceso directo: los registros (discos duros) tienen una dirección única basada en su dirección física. El acceso se realiza en dos fases: Acceso directo a la vecindad. Búsqueda secuencial. Tiempo de acceso muy variable. Acceso aleatorio (memorias Random Access Memory): cada posición de memoria direccionable tiene un mecanismo cableado físicamente propio. Por tanto cualquier dirección puede seleccionarse aleatoriamente y ser accedida de forma directa (memoria principal). Tiempo de acceso constante. Asociativa: se accede a una posición basándose en su contenido en lugar de su dirección. Cada posición posee su propio mecanismo de direccionamiento (memoria caché): Tiempo de acceso constante.

Características de los sistemas de memoria: Prestaciones Tiempo de acceso (memoria aleatoria): Tiempo de lectura (t a ) es el tiempo que tarda la memoria en suministrar una palabra desde que se proporciona la dirección y la señal de lectura. Tiempo de escritura (t e ) es el tiempo que tarda la memoria en grabar información desde el momento en que se suministra la dirección, la información y la señal de escritura. Para otro tipo de memorias es el tiempo que se necesita hasta que el mecanismo de lectura/escritura se sitúa en la posición deseada. Tiempo de ciclo (memoria aleatoria): Tiempo de acceso + tiempo auxiliar hasta que se pueda iniciar un segundo acceso a memoria (finalización de transacciones en líneas ). La velocidad de transferencia: Es la velocidad a la que se pueden transferir datos a o desde una unidad de memoria. Para memorias aleatorias coincide con el inverso del tiempo de ciclo. Para otras memorias se utiliza la siguiente relación: T N : tiempo medio de escritura lectura de N bits T A : tiempo de acceso medio T N: número de bits N = TA + R R: velocidad de transferencia en bits por segundo (bps). N

Características de los sistemas de memoria: Soporte: tecnologías de memoria Las tecnologías principales de memoria son: Memorias semiconductoras: RAM, ROM Memorias de soporte magnético: Discos, cintas. Memorias ópticas: CD-R Memorias magneto-ópticas: CD-RW Los medios pueden clasificarse según el tiempo que la información permanece grabada sobre ellos: Memoria no-volátil (información permanente): una vez grabadas la información permanece sin deteriorarse hasta que esta se modifique intencionadamente. No se necesita alimentación (ROM). Memoria volátil (información desaparece) (RAM): SRAM (Static Random Access Memory): Baja densidad, alto consumo potencia, cara, rápida. Estática = no necesita ser refrescada. DRAM (Dynamic Random Access Memory): Alta densidad, baja potencia, barato lento. Dinámica = Se necesita un refresco para mantener la información (memorias basadas en condensador).

Impacto de la velocidad de la memoria en el rendimiento Supongamos un procesador a 200 MHz (t ciclo =5 ns), con un CPI medio de 1.1 ciclos con un sistema de memoria ideal para un programa determinado que tiene 50% de instrucciones aritmético-lógicas, 30% de instrucciones de carga almacenamiento (memoria) y 20% de instrucciones de control. Si ahora ponemos un sistema de memoria real que provoca que el 10% de las instrucciones de memoria tengan una penalización de 50 ciclos, cómo varía el CPI? Hemos perdido el 58% de rendimiento. El procesador pasa ahora el 58% del tiempo bloqueado esperando que lleguen los datos de memoria

Organización jerárquica de la memoria Las características de las tecnologías actuales cumplen: A mayor capacidad, mayor tiempo de acceso (Discos). A menor tiempo de acceso, mayor coste por bit (caché). A mayor capacidad, menor coste por bit. El diseñador desea utilizar tecnologías que cuenten con: Bajos costes Tiempos de acceso reducidos (rápidas) Gran capacidad de almacenamiento Objetivo Dar la impresión al usuario de que tiene una memoria grande, rápida y barata Cómo? Organizando la memoria de forma jerárquica llegando así a un compromiso entre Tecnología, Coste y Velocidad. En qué consiste? Utilizar distintos niveles de memorias de forma que los niveles más cercanos al procesador utilizan tecnología más rápida (aunque son de menor tamaño y más caras) y los niveles más lejanos al procesador utilizan tecnología más lenta (son de mayor tamaño y más baratas).

Organización jerárquica de memoria A medida que descendemos por una jerarquía típica ocurre: Disminuye el coste por bit Aumenta la capacidad Aumenta el tiempo de acceso Disminuye la frecuencia de accesos a la memoria por parte del procesador. Esta jerarquía proporciona al diseñador toda la potencia necesaria siempre y cuando la última de las condiciones se cumpla: CLAVE: disminución de la frecuencia de acceso. Es necesario que los datos que solicite la CPU se encuentren en los niveles mas rápidos de la jerarquía. Coste Capacidad Velocidad

Visión general del sistema de memoria

Por qué funciona el sistema jerárquico? Los programas no acceden de forma aleatoria a su código y a sus datos, sino que tienden a tener un comportamiento predefinido que sigue un determinado patrón. Principio de localidad de referencia: Los programas acceden en cualquier instante de tiempo a una porción de memoria relativamente pequeña del espacio de direcciones total.

Principio de localidad En el curso de la ejecución de un programa, la referencias a memoria por parte del procesador tanto para datos como instrucciones, tienden a estar agrupadas en regiones de tiempo y espacio. Localidad temporal: Si se referencia una posición de memoria en un instante de tiempo determinado, existe una alta probabilidad de que vuelva a ser referenciada en los instantes siguientes. Por ejemplo, cuando se ejecutan iteraciones de un bucle, el procesador ejecuta repetidamente el mismo conjunto de instrucciones, variables. Localidad espacial: Si se referencia una posición de memoria en un instante determinado, existe una alta probabilidad de que en los instantes siguientes se referencien las posiciones de memoria cercanas. Por ejemplo, cuando se procesa una tabla de datos, arrays, vectores, acceso a instrucciones secuenciales. Conclusión: el sistema de jerarquía de memoria saca provecho de: Localidad temporal manteniendo los datos recientemente accedidos en los niveles mas cercanos a la CPU. Localidad espacial moviendo bloques consistentes en múltiples palabras contiguas, desde los niveles más lejanos a los niveles mas cercanos al procesador.

Principio de localidad

Niveles de la jerarquía y tecnologías asociadas Aplicando el Principio de Localidad: Presentamos al usuario tanta memoria como sea posible en la tecnología más barata. Proporcionamos acceso a la velocidad ofrecida por la tecnología más rápida.

Terminología (1) Nivel superior e inferior Bloque Entre dos niveles adyacentes de la jerarquía de memoria se denomina nivel superior al que está más cerca del procesador y nivel inferior al que está más lejos. El nivel superior es siempre mas pequeño y rápido que el inferior. Es la unidad mínima de información que está presente o no en un nivel de la jerarquía. Las transferencias de información se realizan siempre entre niveles adyacentes de la jerarquía. La cantidad mínima de información que se transfiere es un bloque.

Terminología (2) Acierto y Fallo Si los datos que se piden a un nivel se encuentran allí, se dice que se ha producido un acierto (hit). En caso contrario se produce un fallo (miss). Cuando se produce un fallo en un nivel se accede al nivel inmediatamente inferior para buscar esa información. Tasa de aciertos y fallos La tasa de aciertos de un nivel (hit rate): porcentaje de accesos encontrados en ese nivel, sobre el total de accesos realizados a dicho nivel. La tasa de fallos de un nivel (miss rate): porcentaje de accesos no encontrados en ese nivel, sobre el total de accesos realizados a dicho nivel. También se define como (1-tasa de aciertos). La tasa de aciertos y/o la tasa de fallos se usan a menudo como medida del rendimiento de la jerarquía de memoria. Menor tasa de fallos menos veces hay que recurrir a los niveles más bajos (y más lentos) de la jerarquía tiempo medio de acceso a memoria es mucho menor. Una tasa de fallos baja indica que se accede pocas veces a los niveles más lentos de la jerarquía de memoria.

Terminología (3) Tiempo de acierto Tiempo necesario para acceder a un dato en el nivel superior de la jerarquía. Incluye el tiempo necesario para detectar si se trata de un acierto o de un fallo. Penalización de fallo Tiempo necesario para reemplazar un bloque del nivel superior por el correspondiente bloque del nivel inferior + Tiempo de suministrar este bloque al procesador. Se divide en dos componentes: Tiempo de acceso: Tiempo para acceder a la primera palabra del bloque. Tiempo de transferencia: Tiempo adicional para transferir las restantes palabras del bloque. Tiempo de acierto << Penalización de fallo

Funcionamiento de la memoria de dos niveles La propiedad de localidad puede ser aprovechada formando una memoria de dos niveles: La memoria del nivel superior (M1) es mas pequeña, más rápida y más costosa (por bit) que la del nivel inferior (M2). M1 se utiliza como almacén temporal para una parte del contenido de la otra más grande. Cuando se hace una referencia a memoria, se intenta acceder al elemento de memoria M1: Si tiene éxito entonces se produce un acceso rápido De lo contrario, se copia un bloque de posiciones de memoria de M2 a M1, y el acceso se hace vía M1. Debido al principio de localidad, una vez llevado el bloque necesario a M1, habrá un número de accesos a posiciones del bloque, resultando un servicio rápido en su conjunto. Métrica de rendimiento T S = tiempo de acceso medio T 1 = tiempo de acceso de M1 (caché) T 2 = tiempo de acceso de M2 (principal) H = tasa de aciertos (fracción de veces que la referencia es encontrada en M1) T S = H T ( T 1 + 1 H ) ( T1 + T2 ) = T1 + (1 H ) 2

Cuestiones a la hora de gestionar un sistema de memoria jerárquico La gestión de memoria afecta a los niveles 1(caché), 2 (principal) y 3 (secundaria) pero como los datos sólo se pueden transferir entre niveles adyacentes, existen dos tipos de gestión: Gestión de memoria caché: controla la transferencia entre caché y principal. Gestión de memoria virtual: controla la transferencia entre principal y secundaria. Propiedades: Inclusión: cualquier información almacenada en el nivel i debe encontrarse a la vez en los niveles i+1, i+2, etc. Coherencia: las copias de la misma información en los distintos niveles deben ser consistentes. Existen distintas estrategias de actualización: Escritura directa (write-through): Cuando una palabra se modifica en el nivel Mi, inmediatamente se actualiza en el nivel Mi+1 Post-escritura (write-back): La actualización del nivel Mi+1 se retrasa hasta que el bloque que se modificó es reemplazado o eliminado en el nivel Mi Estrategias: Búsqueda: deciden cuando se transfiere un bloque de datos de un nivel inferior a otro superior Ubicación: deciden en qué parte de la memoria se coloca el bloque de información Sustitución: decide qué bloques se eliminan para hacer sitio a otros nuevos Actualización: cuando se actualiza un bloque es necesario actualizar los niveles inferiores.