Maestría en Ingeniería electrónica
Universidad Nacional de Colombia
En procesadores modernos, la jerarquía de memorias es toda la cadena hardware que permite que el procesador obtenga la información necesaria para ejecutar un programa rápidamente.

La evolución en los procesadores no ha sido la misma que en las memorias, dejando una brecha grande en la velocidad de ejecución

Si el procesador requiere datos parecidos frecuentemente, entonces es mejor tenerlos en una memoria rápida y cercana a él mientras sea posible.

Al escribir un programa, tratar de predecir los datos que se van a necesitar desde la memoria y cargarlos directamente a la cache, para ahorrar tiempo.
Construir la memoria cache de forma tal que el dato que se va a necesitar en un futuro sea traído para que esté previamente en la memoria cache y se ahorre tiempo.
Capaz de simular jerarquías de memoria:

Capaz de simular jerarquía de memorias cache:

Capaz de simular arquitecturas completas:

Simulación de sistema completo:

Simulador de sistema completo.

El simulador gem5 permite hacer simulaciones de sistemas embebidos comunicados por un dispositivo serial, de manera que se puedan correr benchmarks para probar modificaciones a la arquitectura.
Soporta un modelo de memoria clásico o RUBY (traido de GEMS) en las versiones más recientes.

www.gem5.org
Gracias.