UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA.

Documentos relacionados
Organización lógica Identificación de bloque

Memoria Cache. Departamento de Arquitectura de Computadores

Memoria. Organización de memorias estáticas.

Memoria Virtual. Memoria Virtual

Jerarquía de memoria - Motivación

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.

Organización del Computador 1 Memoria Cache

Tema 6 (II) Jerarquía de Memoria

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

Organización de computadoras. Clase 11. Universidad Nacional de Quilmes. Lic. Martínez Federico

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Organización del Computador I. Memoria Cache. Autor: Alejandro Furfaro

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria

Arquitectura de Computadores II Clase #7

Organización del Computador. Memorias

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

Arquitectura de Computadores II Clase #7

Ejercicios de Arquitectura de Computadoras

Examen de Estructura de Computadores ( ) Solución teoría

Ejercicios de jerarquía de memoria

Ejercicios Jerarquía de Memoria

Tema 5: Memorias. Espacio reservado para notas del alumno

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

Resolución de los Ejercicios de la Hoja 4

La memoria del ordenador

Simulación de sistemas de memoria con Xcache32

Memoria Cache. Clase Práctica Organización del computador I 2º Cuatrimestre de octubre. María Elena Buemi

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

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

Arquitectura de Computadoras para Ingeniería

Universidad Central de Venezuela. Facultad de Ciencias. Escuela de Computación. Proyecto #1 (Simulación de caché)

Ejercicios del tema 5. Jerarquía de de Memoria

Arquitectura de Computadores. Apellidos, Nombre:

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Ingeniería de Computadores I Primera Actividad Calificable

Respuestas al Problemario Memoria Cache

Tema 4. Subsistema de Memoria

FUNCIONAMIENTO DEL ORDENADOR

SISTEMAS OPERATIVOS Arquitectura de computadores

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. Problemas de Gestión de Memoria.

Gestión de Memoria. Gestión de Memoria. Requisitos de Gestión de Memoria

Gestión de Entrada-salida

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

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Fundamentos de Hardware: Arquitectura de un ordenador

Tema 20 Gestión de memoria

Sistemas Operativos. Introducción. Tema 6

Diagrama temporal de un programa simple. Multi-Programación con dos programas

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Introducción a la arquitectura de computadores

Ingeniería en computación

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

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

BOLETÍN OFICIAL DEL ESTADO

GUÍA DOCENTE Arquitecturas Avanzadas de Computadores

Organización de Computadoras. Clase 10

MEMORIA EJERCICIO 1 EJERCICIO 2

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

Estructura del Computador

Arquitectura de un sistema de cómputo

Tema 7. Memoria virtual

Instituto Schneider Electric de Formación

Conceptos básicos y manual de procedimientos para Windows e Internet

Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones

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

El subsistema de Memoria

Para obtener más información sobre esta función, haga clic en un tema:

PROGRAMA de Organización de Computadoras

SIG. CIAF Centro de Investigación y Desarrollo en Información Geográfica. Fundamentos de Sistemas de Información Geográfica C U R S O.

La Máquina de Acceso Aleatorio (Random Access Machine)

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

Estructura de los dispositivos de E/S.

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy

EJERCICIOS DEL TEMA 4

Introducción a las Bases de Datos

Qué es un Microcontrolador?

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Administración de la memoria

LA MEMORIA CACHÉ LA MEMORIA CACHÉ

Recopilación presentada por 1

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. 2. Multiprogramación

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria.

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

Electrónica Digital II

Tema V Generación de Código

Oracle Data Guard 11g

Tema 1: Arquitectura de ordenadores, hardware y software

Pontificia Universidad Católica del Ecuador

ESTÁNDAR DE COMPETENCIA. Mantenimiento a equipo de cómputo y software

M. C. Felipe Santiago Espinosa

ELEMENTOS QUE COMPONEN UNA COMPUTADORA

Herramientas Informáticas I Software: Sistemas Operativos

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

MEMORIAS: CONCEPTOS GENERALES.

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

Transcripción:

UNIDAD TEMÁTICA 3: ACELERACIÓN DEL ACCESO A MEMORIA. 10. Evaluación de las prestaciones del subsistema de memoria. 11. Mejora de las prestaciones de las antememorias. 12. Mejora de las prestaciones de la memoria principal. 10-1

TEMA 10: EVALUACIÓN DE LAS PRESTACIONES DEL SUBSIS- TEMA DE MEMORIA 1. Repaso de la jerarquía de memoria. 2. Repaso de la estructura y funcionamiento de las antememorias. 3. Evaluación de las prestaciones del subsistema de memoria. Bibliografía: J.L. Hennessy & D. A. Patterson. Computer Architecture: A Quantitative Approach 2 a y 3 a ed., Morgan Kauffman Publishers, 1996 y 2002. Departamento de Informática de Sistemas y Computadores (DISCA) Facultad de Informática de Valencia 10-2

1 REPASO DE LA JERARQUÍA DE MEMORIA. 1. Repaso de la jerarquía de memoria....los programadores pretenderán acceder a cantidades ilimitadas de memoria rápida... La jerarquía de memoria es una solución económica a esta pretensión. Jerarquía de memoria Principio de localidad. Los programas tienden a reutilizar el código y los datos utilizados recientemente. Un programa gasta el 90 % de su tiempo ejecutando sólo el 10 % del código Localidad temporal: los datos accedidos recientemente serán accedidos también en el futuro próximo. Localidad espacial: los ítems cuyas direcciones estan cercanas tienden a ser referenciados conjuntamente en un intervalo de tiempo. Coste-prestaciones de las memorias: Cuanto más pequeñas, más rápidas. Cuanto más rápidas, más caras. Subsistema de memoria organizado en diferentes niveles: 10-3

1 REPASO DE LA JERARQUÍA DE MEMORIA. Jerarquía de memoria (cont.) Cada nivel es más pequeño, más rápido y mas caro que el nivel inferior. Objetivo: coste cercano al nivel más barato y velocidad cercana al más rápido. Los datos almacenados en un nivel también están almacenados en el nivel inferior, y así sucesivamente. En cada nivel, hace falta hacer corresponder direcciones del nivel inmediatamente inferior, más grande y más lento, sobre una memoria más pequeña pero más rápida. Tambien se realizan funciones de protección. Importancia de la jerarquía de memoria Conforme los procesadores son más rápidos, el diseño de la jerarquía de memoria cobra más importancia: Creciente diferencia de velocidad entre procesador y memoria: En 1980, los procesadores no llevaban caches. En 2001, muchos procesadores dos niveles de cache en el propio chip. 10-4

1 REPASO DE LA JERARQUÍA DE MEMORIA. Requisitos diferentes para computadores de sobremesa, servidores, y empotrados Computador de sobremesa. Un usuario, una aplicación. Objetivo: reducir latencia. Servidores. Múltiples usuarios, múltiples aplicaciones Objetivos: ancho de banda, protección. Computadores empotrados. Una aplicacion, a veces sin sistema operativo. Memoria principal pequeña, no hay disco. Objetivos: Tiempo-real (importante conocer las prestaciones del peor-caso). Bajo consumo. Hardware sencillo. Memorias cache o antememorias Cache: un sitio seguro para esconder o almacenar cosas Cache: primer nivel de la jerarquía de memoria. El principio de localidad se cumple a distintos niveles. El término cache se emplea actualmente cuando se almacena información que se reutilizará: caches de ficheros, cache de disco, cache de nombres, etc. Acierto: cuando el procesador encuentra en la cache el dato solicitado. Fallo: cuando el procesador no encuentra en la cache el dato accedido. Como consecuencia del fallo, un bloque de información de tamaño fijo que contiene la palabra accedida se copia de la memoria principal a la cache. Tiempo para servir un fallo. Depende de la latencia y ancho de banda de la memoria principal. Latencia. Tiempo necesario para recuperar la primera palabra del bloque. Ancho de banda. Velocidad con que se sirve el resto del bloque. Los fallos de cache se gestionan mediante hardware, y causan que el procesador se detenga hasta que el dato esté disponible. 10-5

1 REPASO DE LA JERARQUÍA DE MEMORIA. Memoria virtual. No todos los objetos referenciados por un programa deben estar en memoria principal. Si soporta memoria virtual, pueden estar en el disco. El espacio de direccionamiento se divide en bloques de igual tamaño (páginas). En un momento dado, una página puede residir en memoria o en disco. Si el procesador referencia un ítem dentro de una página que no esté en memoria principal, se produce un fallo de página, y la página entera se transfiere desde el disco hacia la memoria principal. Los fallos de página se gestionan mediante software y no detienen el procesador. El procesador cambia de contexto, ejecutando otra tarea mientras se realiza el acceso al disco. 10-6

2 ABC DE LAS CACHE 2. Repaso de la estructura y funcionamiento de las antememorias. Caracterizando las cache Cualquier nivel de la jerarquía de memoria puede caracterizarse respondiendo a las preguntas siguientes: Ubicación de un bloque. Dónde se ubica un bloque en el nivel superior? Identificación de un bloque. Cómo se encuentra un bloque, si está en el nivel superior? Reemplazamiento. Qué bloque se elimina ante un fallo? Política ante escrituras. Qué se hace ante una escritura? 10-7

2 ABC DE LAS CACHE Ubicación de un bloque. Correspondencia directa. Un bloque sólo puede estar almacenado en un lugar de la cache. La correspondencia es habitualmente: N o bloque cache = N o de bloque referenciado mod N o bloques cache Correspondencia totalmente asociativa. Un bloque puede almacenarse en cualquier lugar de la cache. Correspondencia asociativa por conjuntos. Un bloque puede almacenarse en un conjunto restringido de lugares en la cache. Un conjunto es un grupo de bloques en la cache. Un bloque puede almacenarse en cualquier bloque de uno de los conjuntos, seleccionado habitualmente: N o conjunto = N o de bloque referenciado mod N o conjuntos cache. Si hay n bloques por conjunto, se llama asociativa de n vías. Cache de m bloques en total: Directa es asociativa de 1 vía. Hay m conjuntos (de 1 bloque). 10-8

2 ABC DE LAS CACHE Totalmente asociativa es asociativa de m vías. Hay 1 conjunto (de m bloques) Identificación de un bloque Cada bloque almacenado en la cache tiene asociado una etiqueta que indica su dirección. Para saber si un bloque referenciado por el procesador se encuentra en la cache, se compara la dirección del bloque con las almacenadas en todas las etiquetas de la cache. Un bit de válido indica si un bloque de la cache tiene o no información válida. Partes de una dirección emitida por el procesador: Cómo comparar? En paralelo con todas las etiquetas válidas. Con correspondencia directa, sólo una comparación. No hace falta incluir la palabra dentro del bloque (offset), ya que, el bloque está presente o ausente por completo. El índice (index) selecciona el conjunto. No hace falta incluir el índice en la comparación, es redundante. El campo de etiqueta (tag) permite comprobar si el bloque está o no en la cache. Para un mismo tamaño de cache, al aumentar la asociatividad (aumentar el número de bloques por conjunto), se reduce el tamaño del índice y se aumenta el de la etiqueta. 10-9

2 ABC DE LAS CACHE Reemplazamiento Cuando hay un fallo de bloque, el bloque referenciado debe traerse de la memoria principal y ocupar el espacio ocupado por otro. Cuál de ellos debe eliminarse? Con correspondencia directa, es trivial. Se debe eliminar el que está almacenado en el lugar donde se alojará el nuevo. Con correspondencia asociativa, pueden emplearse varias estrategias: Aleatoria. Se elije un candidato al azar. Fácil de implementar. LRU. Menos recientemente usado. Se pretende reducir el riesgo de eliminar información susceptible de ser utilizada en el futuro. FIFO. Elimina el bloque más antiguo. Más fácil de implementar que LRU. Política ante escrituras Las operaciones de lectura mucho más frecuentes que las de escritura. Acelerar la lectura de cache? Leer el bloque al mismo tiempo que se compara la etiqueta. Escrituras Si es un acierto, la palabra correspondiente se envía al procesador. Si es un fallo, se desecha. No hay beneficio, pero tampoco perjuicio (salvo el consumo de energía inútil). No se puede modificar un bloque hasta que no se confirme que se trata de una acierto. Sólo hay que modificar una palabra (o unas pocas palabras) del bloque. El bloque modificado deberá escribirse también en la memoria principal. 10-10

2 ABC DE LAS CACHE Estrategias en caso de acierto: Política ante escrituras (cont.) Write-through. La información se almacena tanto en la cache como en la memoria principal. Más fácil de implementar. La memoria principal siempre está actualizada. El procesador debe esperar a que la escritura se complete Solución: write buffer, que permite que el procesador continúe tan pronto el dato se ha almacenado en el buffer, solapando la ejecución con la actualización de memoria. Write-back. La información únicamente se almacena en la cache. El bloque modificado se escribirá en la memoria principal cuando se reemplace. Un bit dirty indica si un bloque se ha modificado, requiriendo entonces actualizar la memoria principal. Emplea menos ancho de banda de memoria que Write-through. Los reemplazamientos requieren escribir en la memoria. Estrategias en caso de fallo de bloque: Write allocate. El bloque se lleva de la memoria principal a la cache. Entonces, se llevan a cabo las acciones de escritura con acierto. Habitual con write-back No-write allocate. El bloque no se lleva a la cache. Sólo se modifica en el nivel inferior. Habitual con write-through 10-11

3 PRESTACIONES DEL SUBSISTEMA DE MEMORIA. 3. Evaluación de las prestaciones del subsistema de memoria. Tiempo de acceso medio Tiempo de acceso med. = Tiempo acierto + Tasa de fallos Penalizacion por fallo T acceso = T A + T F P F. Modificación de la ecuación del tiempo de ejecución para incluir el comportamiento real de la cache: T ej = T ej cpu + T extra memoria, donde T ej cpu incluye el tiempo necesario para gestionar los aciertos de cache y T extra memoria el tiempo necesario para gestionar los fallos 1. T ej cpu = I CP I T T extra memoria = Ciclos parada memoria T Ciclos parada memoria = N o de fallos Penalización por fallo = NF P F N o de fallos = Instrucciones Fallos Fallos Instruccion = Sustituyendo: Accesos Instruccion Instruccion Tasa de fallos. Ciclos parada memoria = Instrucciones Accesos Tasa de fallos Instruccion Penalización por fallo = I AP I T F P F. Por lo tanto: T extra memoria = I AP I T F P F T 1 suponiendo que los fallos detienen al procesador 10-12

3 PRESTACIONES DEL SUBSISTEMA DE MEMORIA. Modificación de la ecuación del tiempo de ejecución (cont.) Pueden considerarse por separado las lecturas y escrituras: Ciclos parada memoria = Instrucciones Accesos Penalización por fallo = Instruccion Instrucciones Lecturas Tasa de fallos lectura Instruccion Penalización por fallo lectura, más Instrucciones Escrituras Tasa de fallos escritura Instruccion Penalización por fallo escritura. Ciclos parada memoria = (I LP I T F L P F L) + +(I EP I T F E P F E) Tasa de fallos 10-13