Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque.

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

Jerarquía de memoria - Motivación

Arquitectura de Computadoras para Ingeniería

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

Memoria Cache. 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

Resolución de los Ejercicios de la Hoja 4

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.

Memoria. Organización de memorias estáticas.

Organización del Computador 1 Memoria Cache

Memoria Virtual. Memoria Virtual

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

Simulación de sistemas de memoria con Xcache32

Arquitectura de Computadores II Clase #7

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

Ejercicios Jerarquía de Memoria

Arquitectura de Computadores II Clase #6

Tema 6 (II) Jerarquía de Memoria

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

Ejercicios del tema 5. Jerarquía de de Memoria

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

Clase Práctica Memoria Caché

Tema N 12: Sistema de Memoria: Cache

Organización de Computadoras. Turno Recursantes Clase 8

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

El nivel ISA (II)! Conjunto de Instrucciones

Ejercicios de Arquitectura de Computadoras

Tema 7. Memoria virtual

Respuestas al Problemario Memoria Cache

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

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

Arquitectura de Computadores. Apellidos, Nombre:

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

Ejercicios de jerarquía de memoria

Tema 5: Memorias. Espacio reservado para notas del alumno

MEMORIA CACHÉ. Componentes principales de un ordenador

Electrónica Digital II

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

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

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC DE SANTA BÁRBARA MANTENIMIENTO DE EQUIPO DE COMPUTACIÓN. Memoria Principal RAM Memoria de acceso aleatorio

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

Ingeniería de Computadores I Primera Actividad Calificable

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1

Administración de Memoria.

Jerarquía de Memoria. Sistema de Memoria. El Cache. Efectividad del Cache. Patrón de Accesos a Memoria Generado por Programas

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

Tema: Microprocesadores

PROBLEMAS TEMA 2: Unidad de memoria Problemas propuestos en examen ORGANIZACIÓN DE MEMORIA

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

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

Administración de la memoria

Arquitectura de Computadores. Tema 13 Memoria Virtual. Eduardo Daniel Cohen

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Tema 20 Gestión de memoria

Organización de Computadoras. Clase 10

Organización del Computador 1 Memorias

Tema 7: Memoria Virtual.

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

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

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

Estructura de Computadores

Arquitectura de Computadores. Tema 15. Buses

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

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

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

Arquitectura de computadoras. Unidad 3. Arquitectura de computadoras / (Rodriguez Ricardo) Diapositiva 1

Arquitectura de Computadores II Clase #9

Memoria RAM (Random Access Memory/Memoria de acceso aleatorio)

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

Tema 1. Jerarquía de memoria: Conceptos básicos

6. PROCESADORES SUPERESCALARES Y VLIW

LECCIÓN 1. DISEÑO DE SISTEMAS DE MEMORIA

Qué es un Microcontrolador?

MEMORIA. Programación II

FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

ADMINISTRACIÓN DE LA MEMORIA

Tema 4. Subsistema de Memoria

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

Tarea 4.2 Memoria Virtual

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

Tema 4. Introducción a la Arquitectura de Computadores. Departamento de Ingeniería y Tecnología de Computadores

Gestión de memoria Gestión de memoria Índice y bibliografía

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

1. Objetivo y evolución de los procesadores ILP.

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

Introducción a la arquitectura de computadores

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

Registros de desplazamiento

INTERFACE CON MEMORIA y E/S

PRACTICA 2 Ejercicio 3

La memoria del ordenador

Tema 2 Unidades de Memoria y Entrada/Salida

EJERCICIOS DEL TEMA 4

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

EVOLUCION PROCESADORES AMD (ADVANCED MICRO DEVICES)

1. Introducción a la Arquitectura de Computadoras

Componentes de un equipo Microinformático

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

Administración de memoria: Asignación de memoria

Transcripción:

Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque. Ejemplo, bloque de una palabra vs bloque de cuatro palabras. Existe una relación casi directa entre el aumento del bloque y la reducción de miss. Especialmente en el código (localidad). Pero el MR aumenta cuando el tamaño de bloque llega a ser una fracción significativa de la cache completa. Un problema más serio es que si el TB aumenta, también aumenta la penalidad por miss. (recuperar bloque y cargarlo) Latencia de la primer palabra + transferencia del resto del bloque 1 Desempeño con cache Tiempo CPU=(Ciclos CPU + Ciclos stall Memoria) X Ciclo Ciclos stall Memoria=(Ciclos stall lectura + Ciclos stall escritura) Ciclos stall lectura = Lecturas P rograma Tasa fallos lectura P enalidad fallo lectura Ciclos stall escritura =( Escrituras Tasa fallos escritura P enalidad fallo escritura) P rograma + Stall buffer escritura 2

Combinando lecturas y escrituras Ciclos stall memoria = Accesos a memoria P rograma Tasa fallos P enalidad fallos Ciclos stall memoria = Instrucciones P rograma Fallos Instrucciones P enalidad fallos 3 Estimando el desempeño con fallos de cache!cpi=2, ld+st=36%, m.penalty=100, m.r inst=2%, m.r datos=4%! Cuánto más rápido es el procesador si no hay miss? Ciclos Miss Instrucciones= I X 2% X 100 = 2 X I Ciclos Miss Datos = I X 36% X 4% X 100 = 1,44 X I T iempo CP U con stall T iempo CP U con cache perfecta = I CPI stall Ciclo Reloj I CPI perfecta Ciclo Reloj CPI stall CPI perfecta = 5, 44 2 =2, 72 4

Tiempo promedio de acceso a memoria El desempeño del procesador es afectado por el tiempo de acceso a los datos, tanto en hit como en miss. Average Memory Access Time, es el tiempo promedio para acceder a la memoria considerando hits y misses y la frecuencia de los diferentes accesos: AMAT=Tiempo de hit + Tasa de fallo X Penalidad por miss 5 Ejemplo: Cálculo de AMAT Tiempo de ciclo de reloj = 1ns Penalidad por fallo = 20 ciclos Tasa de fallo 0,05 misses por instrucción Tiempo de acceso a cache = 1ns La penalidad por lectura o escritura es la misma. AMAT=Tiempo de hit + Tasa de fallo X Penalidad por miss =1+0, 05 20 = 2 ciclos de reloj 6

Ubicación flexible de los bloques 7 Asociatividad para 8 bloques 8

Ejemplo:misses y asociatividad Tres caches con cuatro bloques de una palabra. Caso Uno: Asociativa Caso Dos: Dos vías Caso Tres: Correspondencia directa Secuencia de direcciones de bloques: 0, 8, 0, 6, 8 Para cada caso Cuántos misses? 9 Ejemplo:misses y asociatividad. Correspondencia directa Dirección del bloque Bloque de cache 0 (0 modulo 4)=0 6 (6 modulo 4)=2 8 (8 modulo 4)=0 Dir. de mem. del bloque Hit o miss Contenidos de bloques de cache después de la referencia 0 1 2 3 0 miss memoria[0] 8 miss memoria[8] 0 miss memoria[0] 6 miss memoria[0] memoria[6] 8 miss memoria[8] memoria[6] 10

Ejemplo:misses y asociatividad. Conjuntos asociativos de 2 vías Dirección del bloque Conjunto en la cache 0 (0 modulo 2)=0 6 (6 modulo 2)=0 8 (8 modulo 2)=0 Dir. de mem. del bloque Hit o miss Contenidos de bloques de cache después de la referencia Conjunto 0 Conjunto 0 Conjunto 1 Conjunto 1 0 miss memoria[0] 8 miss memoria[0] memoria[8] 0 hit memoria[0] memoria[8] 6 miss memoria[0] memoria[6] 8 miss memoria[8] memoria[6] 11 Ejemplo:misses y asociatividad. Totalmente Asociativo Los bloques de memoria se pueden ubicar en cualquier bloque de cache Dir. de mem. del bloque Hit o miss Contenidos de bloques de cache después de la referencia 0 1 2 3 0 miss memoria[0] 8 miss memoria[0] memoria[8] 0 hit memoria[0] memoria[8] 6 miss memoria[0] memoria[8] memoria[6] 8 hit memoria[0] memoria[8] memoria[6] 12

Similitud entre correspondencia directa y conjunto asociativo La búsqueda del tag en el conjunto se hace en paralelo. A mayor asociatividad mayor costo para buscar. Totalmente Asociativa es un único conjunto. En correspondencia directa hay un único comparador. 13 Conjunto asociativo de cuatro vías 14

Bloque a reemplazar La cache asociativa debe elegir donde ubicar el bloque requerido Totalmente asociativa se puede reemplazar cualquier bloque. Conjunto Asociativo se puede reemplazar dentro del conjunto. LRU (least recently used) es comúnmente usado. reemplaza el que no ha sido usado por más tiempo. se registra cuando se usa cada elemento. con dos vías se puede usar un bit por conjunto. mayor asociatividad => mayor complejidad 15 Ej: Tamaño de tag vs Asociatividad Cache de 4096 bloques. Bloques de 4 palabras. Dirección de 32 bits. Cuántos conjuntos? Cuántos bits de tag? Correspondencia directa tag índice Desplazamiento en el bloque 16 12 4 Conjunto asociativo de dos vías tag conjunto Desplazamiento en el bloque 17 11 4 Conjunto asociativo de cuatro vías tag conjunto Desplazamiento en el bloque 18 10 4 Totalmente asociativa tag Desplazamiento en el bloque 28 4 16

Ej: Tamaño de tag vs Asociatividad Correspondencia directa Son 4096 conjuntos Tiene 12 bits de índice, (2 12 =4096). Tag de 16 bits. Total 16 X 4096 = 2 16 bits = 64 Kib tags Correspondencia directa tag índice Desplazamiento en el bloque 16 12 4 17 Ej: Tamaño de tag vs Asociatividad Conjunto asociativo de dos vías Son 2048 conjuntos Tiene 11 bits de índice, (2 11 =2048). Tag de 17 bits. Total 17 X 2 X 2048 = 68 Kib para tags Conjunto asociativo de dos vías tag conjunto Desplazamiento en el bloque 17 11 4 18

Ej: Tamaño de tag vs Asociatividad Conjunto asociativo de cuatro vías Son 1024 conjuntos Tiene 10 bits de índice, (2 10 =1024). Tag de 18 bits. Total 18 X 4 X 1024 = 72 Kib para tags Conjunto asociativo de cuatro vías tag conjunto Desplazamiento en el bloque 18 10 4 19 Ej: Tamaño de tag vs Asociatividad Totalmente asociativa Es 1 conjunto de 4096 elementos. Tiene 0 bits de índice. Tag de 28 bits. Total 28 X 1 X 4096 = 112 Kib para tags Totalmente asociativa tag Desplazamiento en el bloque 28 4 20

Cache multinivel Muchos microprocesadores cuentan con un nivel adicional de cache. El segundo nivel es accedido si el primer nivel falla. La penalidad del primer nivel es el tiempo de acceso al segundo nivel, siempre que el dato esté allí. Si el segundo nivel también falla, la penalidad será el acceso a la memoria principal. 21 Ej: Desempeño de cache multinivel Un procesador con CPI = 1, todos hits en primer nivel, reloj de 4 GHz. Penalidad de acceso a memoria principal 100ns. Tasa de fallo por instrucción 2% en cache primaria. Calcular la mejora agregando una cache secundaria de 5ns con una tasa de fallo de 0,5% 22

Ej: Desempeño de cache multinivel Penalidad por acceder a la memoria principal: 0,25 100 ns ns ciclos de reloj = 400 ciclos de reloj CPI con un solo nivel de cache: CPI total = CPI base + ciclos stall instrucción. CPI total = 1 + 2% X 400 = 9 23 Ej: Desempeño de cache multinivel Penalidad por acceder al segundo nivel: 5 ns ns = 20 ciclos de reloj 0, 25ciclos de reloj CPI con dos niveles de cache: CPI total=1+stall primaria+stall secundaria =1 + 2% X 20 + 0,5% X 400 = 1 + 0,4 + 2,0 = 3,4 Ganancia con dos niveles = 9, 0 3, 4 =2, 6 24

Diseño de cache de dos niveles Las consideraciones son diferentes para cada nivel. La cache primaria busca reducir el tiempo de hit. La cache secundaria reduce la tasa de miss. La Primaria es más chica: tamaño de bloque pequeño. reduce la penalidad por miss. La Secundaria es mucho más grande: tiempo de acceso no crítico. tamaño de bloque grande. mayor asociatividad. 25 Qué vimos? Desempeño con fallas de cache. AMAT Ubicación flexible de los bloques. Ubicación de un bloque en cache. Reemplazo de bloques. Cache multinivel. 26