ArqComp p10-3

Anuncio
DISCA
ARQUITECTURA DE
COMPUTADORES
PRÁCTICA 10 – 3ª parte:
“Políticas de reemplazo de
bloques en Memoria Caché”
Arquitectura de Computadores – Práctica 10 – 3ª parte. Reemplazo de bloques en Memoria Caché
1
DISCA
• ASPECTOS TRATADOS: Memoria caché y algoritmos de reemplazo.
• MATERIAL NECESARIO: Ordenador con acceso a internet.
• CONCEPTOS NECESARIOS: Memoria caché y algoritmos de reemplazo.
Conocimientos de inglés.
• DURACIÓN ESTIMADA: 60’
• DESCRIPCIÓN: A través de una página web se accederá a un simulador de
memoria caché a través del cual se podrán evaluar las diferentes políticas de
reemplazo configuradas como parámetro por el usuario.
Arquitectura de Computadores – Práctica 10 – 3ª parte. Reemplazo de bloques en Memoria Caché
2
DISCA
PASOS:
1) Abre el navegador de internet
y conéctate a la página web
http://www.ecs.umass.edu/ece/koren/architecture/. Si necesitas traducir algunas de
las palabras del inglés puedes utilizar la web http://wordreference.com/. El aspecto
de la página es el que sigue:
2) Pulsando sobre la opción de Cache Demonstrator accede al menú del simulador
de memoria caché:
Arquitectura de Computadores – Práctica 10 – 3ª parte. Reemplazo de bloques en Memoria Caché
3
DISCA
3) Entra en la opción de Block Replacement Simulator que da acceso al simulador de
algoritmos de reemplazo de bloques de la memoria caché. Este simulador nos
permitirá comprobar cómo se reemplazan y los bloques en la caché, dependiendo
del tipo de algoritmo seleccionado. El simulador tiene el siguiente aspecto:
4) Antes de empezar con las simulaciones, haz click sobre el botón de ayuda y lee
atentamente las definiciones que aquí se presentan. Hay que tener en cuenta las
siguientes consideraciones:
9 Cache Size: Tamaño (en bloques) de la memoria caché.
9 El tamaño del bloque se supone fijo y de valor 1 palabra.
9 Sets: número de conjuntos de bloques en caché. ¡No confundir con el grado
de asociatividad!
9 Tal y como se comenta en la ayuda (cuando se habla de Size Blocks se
refiere a Cache Size), parece lógico pensar que:
− Si Cache Size = Sets Æ Correspondencia directa.
− Si Cache Size > Sets Æ Correspondencia asociativa por conjuntos.
− Si Sets = 1 Æ Correspondencia completamente asociativa.
9 La secuencia de búsqueda debe ser introducida manualmente, separando los
valores (decimales o hexadecimales) con espacios.
9 ¿Qué se recomienda en el último párrafo de la ayuda (en azul oscuro y
negrita)?
Arquitectura de Computadores – Práctica 10 – 3ª parte. Reemplazo de bloques en Memoria Caché
4
DISCA
5) Simulación nº 1: Algoritmo FIFO
9 Configura el sistema de memoria caché con los siguientes parámetros
(parámetros por defecto), y pulsa el botón Show Cache.
−
−
−
−
Tamaño de caché:
Nº de conjuntos:
Algoritmo de reemplazo:
Secuencia de direcciones (dec):
4B
1 (completamente asociativa)
FIFO
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.
A la vista de los resultados obtenidos, contesta a las siguientes cuestiones:
9 Dado el tamaño de bloque definido, ¿a qué bloques o páginas se está
accediendo con la serie de direcciones propuesta?
9 ¿Qué bloques aparecen en memoria caché, y en qué marcos de memoria, al
final del proceso?
9 ¿Qué significado tiene el término Compulsory Miss?
9 ¿Qué significado tiene el término Capacity Miss?
9 Dibuja la secuencia de reemplazos en caché que se ha dado a lo largo del
proceso.
9 ¿Qué porcentaje de acierto y de fallo muestra el simulador con esta
configuración? ¿estás de acuerdo con dichos porcentajes?
9 Repite la simulación cambiando únicamente en tamaño de la caché a 8
bloques.¿Se mejoran las prestaciones del sistema?
6) Simulación nº 2: Algoritmo LRU
9 Configura el sistema de memoria caché con los siguientes parámetros
(parámetros por defecto), y pulsa el botón Show Caché.
−
−
−
−
Tamaño de caché:
Nº de conjuntos:
Algoritmo de reemplazo:
Secuencia de direcciones (dec):
4B
1 (completamente asociativa)
LRU
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.
A la vista de los resultados obtenidos, contesta a las siguientes cuestiones:
9 ¿Qué bloques aparecen en memoria caché, y en qué marcos de memoria, al
final del proceso?
9 Dibuja la secuencia de reemplazos en caché que se ha dado a lo largo del
proceso.
9 ¿Qué porcentaje de acierto y de fallo muestra el simulador con esta
configuración? ¿estás de acuerdo con dichos porcentajes?
9 Utilizando el algoritmo de reemplazo LRU, ¿ha mejorado el sistema en
realción al de la simulación nº 1 que utilizaba el algoritmo FIFO?
Arquitectura de Computadores – Práctica 10 – 3ª parte. Reemplazo de bloques en Memoria Caché
5
DISCA
9 Repite la simulación cambiando únicamente el tamaño de la caché a 8
bloques.¿Se mejoran las prestaciones del sistema?
9 Repite la simulación cambiando el tamaño de la caché a 4 bloques, repitiendo
la secuencia de direcciones (1, 2, 3, 4, 1, 2, 5, 6, 1, 2, 3, 4, 5, 6, 8, 8) 3 ciclos
(marca el check-box de Set Repeat) y con un esquema de correspondencia
directa (Sets = 4). ¿Qué significado tiene el nuevo término Conflict Miss que
aparece en esta simulación?, ¿qué ocurre con los porcentajes?
9 Repite la simulación anterior cambiando el esquema de correspondencia con
grado de asociatividad de 2 (Sets = 2).¿Se mejoran las prestaciones del
sistema? ¿qué ocurre con los porcentajes?
9 ¿Y si implementamos un esquema de memoria completamente asociativo (Sets
= 1)?
9 Realiza diversas simulaciones con el algoritmo LRU variando tanto la
secuencia de direcciones introducida como el resto de parámetros de la caché.
Compara las prestaciones del sistema para los distintos tipos de
correspondencia configurados. Anota los resultados en una tabla. ¿Qué
conclusiones se pueden sacar al respecto?
9 Finalmente, realiza una nueva simulación con el sistema configurado en
multitarea y dos procesos, A y B, que acceden a la misma secuencia de
direcciones (1 2 3 4 1 2 5 6 1 2 3 4 5 6 8 8) repitiendo el ciclo 3 veces.
Compara los resultados para un tamaño de caché de 4 palabras y
correspondecia directa, completamente asociativa y asociativa por conjuntos
con un grado de asociatividad de 2.
7) Simulación nº 3: Algoritmo RAND
9 Repite las simulaciones anteriores pero con un algoritmo de sustutución de
páginas aleatorio. Anota los resultados en una tabla.
9 A la vista de las tasa de aciertos y fallos. ¿qué algoritmo de sustitución
proporciona unos resultados óptimos (siempre comparando entre las mismas
configuraciones de memoria caché)?
Arquitectura de Computadores – Práctica 10 – 3ª parte. Reemplazo de bloques en Memoria Caché
6
Descargar