Práctica 5 - Memoria

Documentos relacionados
Clase Práctica Memoria Caché

Organización lógica Identificación de bloque

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

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.

Arquitectura de Computadoras para Ingeniería

Ejercicios Jerarquía de Memoria

Respuestas al Problemario Memoria Cache

Memoria Cache. Departamento de Arquitectura de Computadores

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

Ejercicios del tema 5. Jerarquía de de Memoria

Organización del Computador 1 Memoria Cache

Arquitectura de Computadores II Clase #7

Ejercicios de Arquitectura de Computadoras

Ejercicios de jerarquía de memoria

Tema 6 (II) Jerarquía de Memoria

Memoria. Organización de memorias estáticas.

MEMORIA EJERCICIO 1 EJERCICIO 2

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Jerarquía de memoria - Motivación

Clase Práctica Memoria Caché

Subsistemas de memoria. Departamento de Arquitectura de Computadores

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

Arquitectura de Computadores. Apellidos, Nombre:

Organización del Computador. Memorias

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

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1

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

Arquitectura de Computadores II Clase #7

4. Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: Se puede direccionar 2 20 = 1Mb.

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

Introducción a la arquitectura de computadores

Taller de Caché. Organización del Computador 1. Verano 2016

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

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Tema 5: Memorias. Espacio reservado para notas del alumno

Memoria Virtual. Departamento de Arquitectura de Computadores

SISTEMAS OPERATIVOS Arquitectura de computadores

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

Memoria Virtual. Memoria Virtual

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

Conceptos de Arquitectura de Computadoras Curso 2015

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

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. Problemas de Gestión 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

Arquitectura del CPU. Organización del Computador 1 Verano 2016

El Diseño de un Lenguaje Máquina

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

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

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

El nivel ISA (II)! Conjunto de Instrucciones

Simulación de sistemas de memoria con Xcache32

Resolución de los Ejercicios de la Hoja 4

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

Arquitectura de Computadores II Clase #6

CICLOS DEL PROCESADOR

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

Ejercicios del tema 4. El procesador

Qué es un programa informático?

Estructura de Computadores Tema 1. Introducción a los computadores

Estructura básica de un ordenador

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Definición de Memoria

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

FUNCIONAMIENTO DEL ORDENADOR

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

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

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

Arquitectura de Computadoras para Ingeniería

UNIVERSIDAD DE GUADALAJARA

Estructura del Computador

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

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

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

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

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al.

3 - Arquitectura interna de un up

6. PROCESADORES SUPERESCALARES Y VLIW

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

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

Sistemas Operativos Gestión de memoria

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

GESTION DE ENTRADA Y SALIDA

Ingeniería de Computadores I Primera Actividad Calificable

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

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

Administración de Memoria.

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:

Tema: Microprocesadores

Ejemplo, generación de #s aleatorios

FUNDAMENTOS DE COMPUTADORES

Organización de Computadoras. Clase 7

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Instituto Tecnológico de Morelia

ORGANIZACIÓN DE LA MEMORIA

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

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

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

Procesos y Memoria. Administración de Memoria 26/10/2010 SISTEMAS OPERATIVOS

Transcripción:

Práctica 5 - Memoria Organización del Computador 1 Primer Cuatrimestre 2011 Aclaración: siempre que se informa del tamaño de una memoria cache o de una línea, se está haciendo referencia a la capacidad útil de almacenamiento (descartando la información de control, como los bits dedicados a los campos tag, line, etc.) Jerarquía de Memoria Ejercicio 1 Para cada uno de los siguientes tipos de memoria, investigar e indicar de forma aproximada el costo por GB y el tiempo de acceso a datos esperable: Disco rígido DVD Memoria DRAM Memoria Flash Registros Ejercicio 2 Se cuenta con una implementación de la arquitectura ORGA 1 que posee el siguiente ciclo de instrucción dividido en 4 etapas (se incluyen tiempos de ejecución): i. Búsqueda en memoria de la próxima instrucción (1 acceso a memoria) ii. Decodificación de la instrucción (1 ciclo de clock) iii. Búsqueda de operandos (0 / 1 / 2 accesos a memoria) iv. Ejecución (1 ciclo de reloj + 0 / 1 acceso a memoria) Se tiene el siguiente código que suma las componentes de un vector de 256 posiciones: vector: DW 0x???? //elemento 0 DW 0x???? //elemento 1... DW 0x???? //elemento 254 entrypoint: MOV R0, vector //con R0 se recorrer el vector MOV R1, 0x0000 //en R1 se acumulan las sumas de las posiciones MOR R2, 0x0001 // guardo la constante 1 en R2 MOV R3, 0x0000 //con R3 se cuentan los ciclos. loop1: ADD R1, [R0] //se suma en R1 la posición actual ADD R0, R2 //se avanza R0 a la siguiente posición del vector ADD R3, R2 //se incrementa el contador de ciclos. CMP R3, 0x0100 //fin del vector (256 = 0x0100) JL loop1 end:... Suponiendo que el acceso a memoria tarda 10 ciclos de clock, a) Realizar el seguimiento del programa y calcular la cantidad de ciclos de clock que tarda en ejecutarse. 1

b) Cuántos ciclos de clock son desperdiciados mientras se esperan los datos de memoria? Ejercicio 3 Cual es la diferencia entre SRAM y DRAM? Indicar un uso típico de cada una, y justificarlo. Ejercicio 4 La memoria virtual o swap es un mecanismo que incorporan las computadoras modernas para permitir a los programas utilizar espacio en el disco rígido como si se tratara de memoria RAM. Indicar una ventaja y una desventaja de la utilización de este mecanismo. Generalidades sobre cache Ejercicio 5 Los usuarios de Windows XP muchas veces descubren un curioso archivo llamado Thumbs.db en sus carpetas de imágenes. Averiguar qué es este archivo y cual es su finalidad. Ejercicio 6 Aparte del caché de la memoria RAM que se hace en la memoria caché de un CPU, qué otros cachés existen? Dar dos ejemplos. Cache de Correspondencia Directa Ejercicio 7 Considerar una máquina con una memoria cache de correspondencia directa de 256B, un tamaño de línea de 8B y una memoria principal de 64KB direccionable a byte: a) Calcular la cantidad de bits de los campos: tag, line y index. b) Dar las líneas de la cache en las que se almacenan los datos cuyas direcciones son: 0x111B, 0xC334, 0xD01D, 0xAAAA. c) Listar todas las direcciones de los datos que se almacenarán en la misma línea que el contenido de la dirección 0x1A1A. d) Suponer que la cache está vacía, y que se realizan lecturas de datos cuyas direcciones están en el siguiente orden: 0x111B, 0x1100, 0xC334, 0xD01D, 0xAAAA, 0x1118, 0xD01A. Determinar para cada lectura si ésta produjo un miss o un hit. e) Qué beneficios se obtuvieron de la implementación de la memoria caché? A qué se debieron? Proponer una mejora para esta situación. Ejercicio 8 Sea una cache de correspondencia directa. Sea M el tamaño de la memoria principal, C el tamaño de la cache y L el tamaño de la línea. La memoria principal es direccionable a byte: a) Expresar la cantidad de bits de los campos tag, line y index. b) Dar el conjunto de posiciones de la memoria principal cuyos datos se almacenarán en la misma línea que el dato de la posición x. Ejercicio 9 Se dispone de una arquitectura como la del Ejercicio 7. Se sabe además que cada registro tiene 8 bytes (que además es el tamaño de la palabra de esta máquina). En la memoria de esta computadora está cargado a partir de la posición 0 un vector de números de 8 bytes, con un largo total de 256 números. El siguiente programa suma algunos de los números del vector, tarea que repite 1000 veces. El PC comienza en la etiqueta main. 2

main: MOV R8, 0 // con R8 se cuentan las 1000 pasadas MOV R3, 0x80 // en R3 se guarda el tama~no del salto (en este caso, // de a 16 posiciones puesto que 16*8 = 128 = 0x80) comienzo: MOV R0, 0 // con R0 se recorrerá el vector (0 es la posición inicial) MOV R1, 0 // en R1 se acumula la suma loop: ADD R1, [R0] // se suma en R1 la posición actual ADD R0, R3 // se avanza R0 a la siguiente posición CMP R0, 0x800 // fin del vector (256*8 = 2048 = 0x800) JL loop // si no se llegó al final del vector, continúa ADD R8, 1 CMP R8, 1000 // fin de las pasadas JNE comienzo // si no se terminaron las 1000 pasadas, empieza de nuevo DW 0 a) Dar la tasa de fallos que se produce en la caché (inicialmente vacía), considerando únicamente los accesos al vector (y no al código). b) Dar la tasa de fallos bajo las mismas condiciones del ítem anterior, pero modificando el valor que se carga en R3 a 0x88 (el salto es ahora de 17 posiciones, dado que 17*8 = 136 = 0x88). c) Qué diferencia se observa entre los casos anteriores? A qué se debe? Cache Asociativa Ejercicio 10 Sea una cache asociativa. Sea M el tamaño de la memoria principal, C el tamaño de la cache y L el tamaño de la línea. Sea B el tamaño de la unidad de direccionamiento de la memoria principal, así como de la palabra que utiliza esta máquina. Expresar: a) La cantidad de bits del campo tag. b) La cantidad de líneas de cache. c) La cantidad de palabras almacenables en la cache. Ejercicio 11 Analizar el programa del Ejercicio 9, pero con una cache asociativa (con las mismas características: 256B de datos, con un tamaño de línea de 8B). Cuál es ahora la tasa de fallos para los ítems a) y b)? Cuál es entonces la ventaja de una cache de mapeo directo? Cache Asociativa por Conjuntos Ejercicio 12 Usando los datos obtenidos en el ejercicio 2, proponga dos posibles soluciones parciales para el reducir la cantidad de ciclos del clock desperdiciados mientras el CPU espera los datos de la memoria. Ejercicio 13 Sea una computadora con las siguientes características: Microprocesador de 32 bits, que direcciona a byte. Cache asociativa por conjuntos de 2 vías. Tamaño de línea de 4 bytes. Tamaño de cache de 16KB. Cache con algoritmo de sustitución LRU. Cada acceso a memoria trae 4 bytes. 3

Se realizan lecturas consecutivas de las siguientes direcciones de memoria en el orden que aparecen a continuación: 0x1452131E, 0x9875488E, 0x9135131C, 0x9855488E, 0x21375084, 0x9135131E, 0xBBA7b31F. Considerar que la memoria cache se encuentra vacía al empezar las lecturas: a) Determinar para cada una de las lecturas si hubo hit o miss de cache. No se olvide de considerar los accesos desalineados! b) Qué direcciones de memoria se encuentran en la memoria cache al terminar las lecturas? Ejercicio 14 Se cuenta con una arquitectura con direccionamiento a byte, direcciones, palabras y registros de 32 bits, e instrucciones de longitud fija de 64 bits. Un compilador especializado para esta arquitectura transforma código escrito en lenguaje C al siguiente programa escrito en lenguaje ensamblador de esta arquitectura:... LD R2, -1 ; Carga en el Registro 2 el entero -1 Ciclo : ADD R2, 1 ; Incrementa R2 en 1 CMP R2, 256 ; Compara R2 contra el entero 256 BGE FinCiclo ; Si es mayor o igual salta a la dirección de FinCiclo LD [R1], 1 ; Carga la constante 1 en la posición de memoria apuntada ; por el Registro 1 MUL [R1], 5000 ; Multiplica el contenido de memoria apuntada por el ; Registro 1 por el entero 5000 BA Ciclo ; Salta a la dirección de Ciclo FinCiclo:... ; etiqueta FinCiclo a) Calcular el hitrate de la ejecución del ciclo si contamos con una cache asociativa. Esta caché posee líneas de 16 bytes y un tamaño 16 KB útiles. Adicionalmente, esta caché es de código únicamente (sólo cachea los fetch de instrucciones enteras, no los fetch de los datos). Considerar que el programa comienza en la etiqueta Ciclo. b) Una de las características principales de las arquitecturas RISC es un set de instrucciones muy reducido. De esta forma, muchos procesadores RISC no poseen la instrucción MUL (la operación de multiplicación) y la reemplazan por sucesivos ADDs. Las multiplicaciones por constantes se suelen reemplazar por el correspondiente número de ADDs, para evitar el costo adicional de realizar ciclos. Calcular el hitrate de la ejecución del ciclo suponiendo que la instrucción MUL es reemplazada por 5000 aplicaciones de la instrucción ADD. Ejercicio 15 Dada una caché asociativa de n-vías onchip Es cierto que cada vez que el microprocesador necesita una palabra que no está en la caché esto produce que se transfiera una única línea de la memoria a la caché? Políticas de sustitución Ejercicio 16 En qué propiedad del código y los datos se basa el algoritmo LRU para justificar su eficiencia? Mostrar un ejemplo en el que el algoritmo LRU degenere y produzca continuamente fallos en la cache. Ejercicio 17 Es posible implementar una política de desalojo que garantice un hit rate superior al 10 %? En caso afirmativo dar una política que cumpla con este requerimiento, y en caso negativo demostrar por qué. 4

Ejercicio 18 Se cuenta con una memoria principal de 1GB que direcciona a palabras de 2 bytes y una memoria cache de 4 MB con tamaño de línea de 16 Bytes (ambas capacidades se refieren a almacenamiento efectivo de datos). Considerar una cache asociativa por conjuntos de 4 vias y las direcciones D1, D2, D3, D4, D5 con el mismo campo line y distinto campo tag. Para la secuencia de lecturas D1, D2, D3, D1, D4, D2, D5, D1, D2 indicar: a) El tiempo total de lectura utilizando el algoritmo de sustitución FIFO. b) El tiempo total de lectura utilizando el algoritmo de sustitución LRU. Considerando que: La cache se encuentra inicialmente vacía. Los tiempo de lectura de una palabra en la memoria cache es de 5ns, y en la memoria principal es de 500ns. Cuando se produce un miss, el tiempo para traer el dato de memoria a cache está incluído en el tiempo de acceso a memoria principal. Ejercicio 19 Como es sabido, el algoritmo de reemplazo FIFO no se comporta demasiado bien, siendo su principal ventaja su fácil implementación y que requiere poco costo de hardware. Para mejorarlo, se ha diseñado el algoritmo FIFO second-chance, que se comporta relativamente mejor que FIFO con poco costo adicional. Este algoritmo utiliza una cola de la misma manera que FIFO, pero a cada dato se le asocia un bit R (referenciado). El algoritmo es el siguiente: Cuando un dato es movido a la cache, se lo agrega al final de la cola con su bit R en 0. Si el dato es referenciado mientras está en la cola, se pone su bit R en 1. Cuando se llena la cache se analiza el dato D que se encuentra en el tope de la cola: Si D posee su bit R en 0, se desaloja D y se agrega el nuevo dato al final de la cola, con su bit R en 0. Si D posee su bit R en 1, se mueve D al final de la cola y se pone R en 0. y se repite hasta poder desalojar un dato y agregar el nuevo. Suponer una cache asociativa de n líneas, inicialmente vacía: Ejemplo del estado de la cola antes y después de agregar el dato D n+1. T ope D 1 1 D 2 0 D 3 0. D n 0 = T ope D 3 0. D n 0 D 1 0 D n+1 0 a) Se desea comparar FIFO second-chance y FIFO. Sea la siguiente patrón de accesos: D 1, D 2,..., D n, D 1, D n+1, D 1, D n+2, D n+3,..., D 2n+1 Suponer que i j D i D j. Uno de los dos algoritmos tiene mejor comportamiento que el otro si ocurre este patrón de accesos k veces consecutivas, para todo k > 0. Decidir de qué algoritmo se trata y justificar apropiadamente la respuesta. b) Dar otro patrón de accesos donde, al ocurrir k veces consecutivas para todo k > 0, el algoritmo que mejor se comportaba en el punto anterior sea ahora el de peor desempeño. c) Analizando los ítems anteriores, no parece haber razones para que FIFO second-chance se comporte mejor que FIFO. Sin embargo, bajo casos reales de test, FIFO secondchance efectivamente tiene una tasa de hits más elevada. Cuál es la propiedad de los accesos a memoria que está aprovechando FIFO second-chance? 5

Cache de escritura Ejercicio 20 Escribir el seudocódigo de un controlador de caché write-through y write-back para una caché asociativa por conjuntos de 2 vías. Considerar el caso de una lectura y una escritura a memoria. Ejercicio 21 Considerar el siguiente programa que se ejecuta en una computadora con unidades direccionables y direcciones de memoria de 16 bits, con una caché de correspondencia directa a razón de 16 palabras por línea sobre 32 líneas en total. Para los incisos que siguen, solo será necesario tener en cuenta los accesos a datos, ignorando los fetchs de instrucciones y de sus operandos. Considere además que, independientemente de la política de escrituras utilizadas, las cachés serán de tipo write-allocate (los datos se cargan a caché siempre que son accedidos, ya sea que se trate de una escritura o de una lectura). suma: MOV R1, 0x0256 MOV R2, 0x1100 MOV [R2], 0x0000 ADD [R2], [R1] ADD R1, 0x0001 CMP R1, 0x0512 JNE suma DW 0x0000 a) Cuantos accesos a memoria se producen si se utiliza una caché write-through? b) Cuantos accesos a memoria se producen si se utiliza una caché write-back? c) En general, qué mecanismo es de esperarse que tenga un mejor rendimiento? Existe algún contexto en que resulte conveniente el otro? Comparación de distintas caches Ejercicio 22 Considere un microprocesador de 16 bits, que dispone de una memoria principal de 64KB direccionable a byte y una memoria cache de 1KB con tamaño de línea de 2 palabras. Se desea comparar las caches de tipo directa, asociativa y asociativa por conjuntos de 2 vías. Tanto la cache asociativa como la asociativa por conjuntos trabajan con FIFO. Considerar las direcciones de memoria D1 = E36Ch; D2 = 076Eh; D3 = B160h; D4 = E36E. Se realizarán 5 pedidos de lectura en el orden siguiente: D1, D4, D2, D3, D1. Para cada uno de los tipos de cache, determinar si en el momento de realizar cada uno de los pedidos se produce un hit o un miss. En general, qué mecanismo de caché es de esperarse que tenga un mayor hit rate? Por qué se utilizan los demás mecanismos? Ejercicio 23 Un sistema de control trabaja con palabras, registros, bus de direcciones y de datos de 32 bits, instrucciones de longitud fija de 64 bits y direccionamiento a byte. A efectos de mejorar su rendimiento durante la ejecución del fragmento de código que se muestra a continuación, se planea intercalar entre el procesador y la memoria principal un módulo de cache de 16KB. Suponiendo que la comparación produce siempre Z = 1, y sabiendo que la CPU dedica el 99 % de su tiempo a ejecutar las dos últimas instrucciones de este fragmento, diga cúal sería la tasa de aciertos esperada con cada una de las caches propuestas: 0x3FF0: MOV R1,0x8000 MOV R2,0x8008 0x4000: CMP [R1],[R2] JZ 0x4000 6

a) Cache de correspondencia directa con líneas de 2 palabras. b) Cache de correspondencia directa con líneas de 4 palabras. c) Cache asociativa por conjuntos de 2 vías, líneas de 2 palabras y algoritmo de reemplazo LRU. Ejercicio 24 Se dispone de una computadora con direcciones de memoria de 16 bits, cada una de ellas direccionando a una palabra de 8 bits. Así, direcciona en total 64 KB de memoria principal. Se desea dotar a esta computadora de una memoria caché, para lo que se barajan dos opciones: una caché asociativa por conjuntos de 2 vías, o una caché totalmente asociativa Por el espacio disponible en el CPU, solo se podrán utilizar 512B de memoria caché, disponiéndose además del espacio necesario para los tags. La caché se organiza en 128 líneas. a) Indicar cómo se distribuyen los bits de una dirección de memoria en los campos correspondientes para cada una de las cachés mencionadas. b) Se conoce que este fragmento del programa insume gran parte del tiempo de cómputo. Junto a cada instrucción se indica el acceso a memoria necesario para el fetch de la instrucción, no así los necesarios para acceder a los datos. Código Accesos a memoria del fetch MOV R3, 0x1030 0x232E, 0x232F main: ADD R1, [R3] 0x2330 ADD R1, [R3+0x4502] 0x2331, 0x2332 ADD R3, 0x0001 0x2333, 0x2334 CMP R3, 0x1046 0x2335, 0x2336 JNE main 0x2337 Simular la ejecución hasta el salto (inclusive) utilizando la caché asociativa por conjuntos de 2 vías con política de desalojo LRU, teniendo en cuenta los accesos al código y a los datos. En cada paso indicar el contenido de la caché y detalle si se producen hits, misses, desalojos (se nalando la línea desalojada) y/o accesos desalineados. Cuál es el hit rate de esta ejecución parcial? c) Cuál de las dos cachés es más conveniente para la ejecución completa del fragmento del programa presentado? d) Indicar el hit rate de la ejecución completa del programa (suponiendo que el programa termina al finalizar el ciclo) utilizando la caché totalmente asociativa. Justificar. 7