Práctica No. 1 “Análisis
de Rendimiento de la Memoria Caché”
•
MATERIAL NECESARIO: Ordenador con acceso a internet.
•
CONCEPTOS NECESARIOS: Memoria caché y rendimiento de
memoria.
•
DESCRIPCIÓN: A través de una página web se
accederá a un analizador del rendimiento de la memoria caché a través del cual
se podrán evaluar los diferentes rendimientos dependiendo de las políticas de
lectura y escritura configuradas como parámetros por el usuario.
• 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é:
3) Entra en la opción de Cache Time Analyzer que da acceso al analizador del
rendimiento de la memoria caché. Este analizador nos permitirá evaluar los
diferentes rendimientos de la memoria dependiendo de las políticas de lectura y
escritura configuradas como parámetros por el usuario. El analizador 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:
Associativity: número de conjuntos de bloques en
caché. ¡No confundir con el grado de asociatividad!
% Writes: sobre un total de 100 referencias a
memoria indica cuántas lo han sido para escritura.
Dirty Data: sobre un total de 100 bloques de
caché, representa cuántos han sido modificados y deberán ser escritos en
memoria central antes de ser desalojados de la caché. Este campo no se utiliza
cuando la política de escritura es write-through.
Miss Penalty (cycles): indica el número de ciclos de reloj
con los que se
‘penaliza’ un fallo de caché (la
información accedida no se encuentra en caché).
Hit time (cycles): indica el número de ciclos de reloj
que transcurren cuando la información accedida sí se encuentra en caché.
Mem. Write (cycles): indica el tiempo de escritura en la
memoria central medido en ciclos de reloj.
Write policy: indica la política de escritura a
seguir cuando el bloque a modificar se encuentra en caché. Las opciones a
configurar son:
−
Write back: Actualización posterior (también
llamada copy back).
−
Write through: Actualización directa.
Por otra parte, también se nos permite combinar ambas
políticas de escritura cuando el bloque a modificar se encuentra en caché con
las políticas de escritura cuando se da un fallo al intentar realizar una
operación de escritura en caché (write
miss). Estas políticas de write miss
son:
−
Allocate on miss: Cuando se da el fallo de escritura en
caché, se carga desde la memoria central el bloque referenciado y se procede a
escribir en él (aplicando la política de write back o de write through seleccionadas).
−
No write allocate: Cuando se da el fallo de escritura en
caché, el bloque se modifica directamente en la memoria central, sin ser
cargado en la caché.
Lógicamente y en la práctica, resulta normal combinar una
política de write back con la de allocate on miss, mientras que la técnica de write through se suele combinar con la política de no write allocate.
5) Simulación
nº 1: write back – allocate on miss:
Configura
el sistema de memoria con los siguientes parámetros:
−
Tamaño de caché: 2 KB
−
Nº de conjuntos: 4
−
Tamaño de bloque: 32 Bytes
−
Política de escritura: write back –
allocate on miss
− % writes: 22
− % dirty data: 10
− Miss penalty (cycles): 40
− Hit time (cycles): 1
− Memory write (cycles): 6
Ejecuta
la opción Analyze. ¿Cuál es el tiempo medio de acceso a memoria?, ¿en qué
unidades viene medido?
Con la configuración de caché dada, ¿cuál es la tasa de
aciertos y de fallos?
¿Cuánto tarda el sistema en realizar una operación de
lectura?
¿Cuánto tarda el sistema en realizar una operación de
escritura?
¿Cuándo tarda más el sistema, en una operación de lectura o
de escritura?, ¿porqué?
¿Se utiliza el parámetro Memory write (cycles)? ¿porqué?
6) Simulación nº 2: write through – no
write allocate:
Configura el sistema de memoria con los
siguientes parámetros:
−
Tamaño de caché: 2 KB
−
Nº de conjuntos: 4
−
Tamaño de bloque: 32 Bytes
−
Política de escritura: write through –
no write allocate
− % writes: 22
− % dirty data: 10
− Miss penalty (cycles): 40
− Hit time (cycles): 1
− Memory write (cycles): 6
Ejecuta
la opción Analyze. ¿Cuál es el tiempo medio de acceso a memoria? ¿En qué
unidades viene medido?
Con la configuración de caché dada, ¿cuál es la tasa de
aciertos y de fallos?, ¿difieren estos resultados de los obtenidos en la
simulación nº 1? ¿Por qué?
¿Cuánto tarda el sistema en realizar
una operación de lectura?
¿Cuánto tarda el sistema en realizar
una operación de escritura?
¿Qué sucede ahora con el tiempo de
escritura en caché si el dato a modificar se encuentra en ella? ¿por qué?
¿Se utiliza el parámetro Memory write (cycles)? ¿Por qué?
7) ¿Qué sistema de los estudiados
resulta más eficiente? ¿Por qué?
8) Realiza nuevas simulaciones
cambiando la configuración del sistema. Comprueba si los resultados obtenidos
son los que esperabas.
9) Investiga lo que es un Benchmark y
da por lo menos 4 ejemplos diferentes.
Debe enviarse al correo
lilia_mantilla@yahoo.com.mx
No hay comentarios:
Publicar un comentario