miércoles, 4 de noviembre de 2015

Optimización

Técnicas para reducir fallos

Existen diversas técnicas para reducir esos fallos en la caché:
  • Incrementar el tamaño del bloque. Ventajas: Se reducen los fallos forzosos como sugiere el principio de localidad espacial. Inconvenientes: Aumentan los fallos por conflicto al reducirse el número de bloques de la caché y los fallos de capacidad si la caché es pequeña. 
  • Incremento de la asociatividad. Ventajas: Se reducen los fallos por conflicto. Inconvenientes: Aumenta el tiempo de acceso medio al incrementarse el tiempo de acierto.
  • Caché víctima. Consiste en añadir una pequeña caché totalmente asociativa, para almacenar bloques descartados por fallos de capacidad o conflicto. En caso de fallo, antes de acceder a la memoria principal se accede a esta caché. Si el bloque buscado se encuentra en ella se intercambian los bloques de ambas cachés.
  • Optimización del compilador. El compilador re-ordena el código de manera que por la forma en cómo se hacen los accesos se reducen los fallos de caché.

No hay comentarios:

Publicar un comentario