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

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

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

Organización del Computador 1 Memoria Cache

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Organización del Computador. Memorias

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

Memoria Cache. Departamento de Arquitectura de Computadores

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

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.

Memoria Virtual. Memoria Virtual

Resolución de los Ejercicios de la Hoja 4

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

Arquitectura de Computadores II Clase #7

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

Tema 6 (II) Jerarquía de Memoria

Arquitectura de Computadores II Clase #6

Ejercicios Jerarquía de Memoria

Simulación de sistemas de memoria con Xcache32

Arquitectura de Computadores II Clase #7

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

Ejercicios de Arquitectura de Computadoras

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

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

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

Clase Práctica Memoria Caché

Respuestas al Problemario Memoria Cache

ELEMENTOS HARDWARE DEL ORDENADOR. Memoria Principal (RAM)

Arquitectura de Computadores. Apellidos, Nombre:

Organización de Computadoras. Turno Recursantes Clase 8

Tema 5: Memorias. Espacio reservado para notas del alumno

MEMORIA CACHÉ. Componentes principales de un ordenador

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

MEMORIA EJERCICIO 1 EJERCICIO 2

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

Tema N 12: Sistema de Memoria: Cache

El nivel ISA (II)! Conjunto de Instrucciones

Ingeniería de Computadores I Primera Actividad Calificable

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

Ejercicios de jerarquía de memoria

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

Introducción Composición Caracteristicas Jerarquía Tipos Memoria Diseño. Cache. Memorias

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

Tema 7. Memoria virtual

Electrónica Digital II

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

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

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

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1

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

MEMORIA. Programación II

Organización del Computador I. Introducción e Historia

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

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

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

Institución Educativa Distrital Madre Laura Tecnología e Inform ática GRADO 7

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

Organización de Computadoras. Clase 10

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

Organización del Computador 1 Memorias

Tema 20 Gestión de memoria

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

Administración de Memoria.

Administración de la memoria

Arquitectura de Computadores. Tema 15. Buses

Subsistema de Entrada/Salida

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

Estructura de Computadores

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

Fundamentos de Hardware: Arquitectura de un ordenador

La memoria del ordenador

Tema: Microprocesadores

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

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

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

Introducción a la arquitectura de computadores

Práctica 7 - Buses. Organización del Computador 1 1er. Cuatrimestre 2006

Tema 4. Subsistema de Memoria

Tarea 4.2 Memoria Virtual

Ejercicios del tema 4. El procesador

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

DISCOS MAGNETICOS ECP

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

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

Procesador Concepto Tipos Velocidad de proceso Características funciones aritmético- lógicas y de control

Qué es un Microcontrolador?

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

6. PROCESADORES SUPERESCALARES Y VLIW

ELO311 Estructuras de Computadores Digitales. Memoria

Arquitectura de Computadores II Clase #9

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

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.

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

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 Demora por miss de cache Depende de: Latencia Bandwidth 2

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 3 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 4

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 5 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 6

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 7 Ubicación flexible de los bloques 8

Asociatividad para 8 bloques 9 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? 10

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] 11 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] 12

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] 13 Organización asociativa: características 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. 14

Conjunto asociativo de cuatro vías 15 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 16

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 17 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 18

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 19 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 20

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 21 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. 22

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% 23 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 24

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 25 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. 26

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. 27