Pregunta

Estoy tratando de hacer una mejora (pequeña) al procesador Leon3 (el conjunto de instrucciones es SPARC V8) para un ejercicio académico. Antes de decidir qué mejorar, quiero perfilar un par de programas de referencia con los que quiero adaptar las mejoras.

No tengo acceso a una máquina SPARC V8.

Actualmente, estoy usando una versión de evaluación de 'TSIM' (un simulador Leon3) que hace perfeccionamiento a nivel funcional. Que no es realmente todo lo que es útil.

He probado cosas extrañas como compilación con un desenrollado de bucle habilitado y luego contando las instrucciones interesantes en el código de ensamblaje, pero GCC se niega a desenrollar los bucles, probablemente porque algunos de ellos van demasiado profundo (por ejemplo, 4 'para' bucles) .

Idealmente, lo que estoy buscando es un simulador SPARC V8 que ejecuta el punto de referencia y los perfiles en el nivel de instrucciones (cosas como: 'Smul' se ejecutó x veces) para que pueda decidir dónde empezar a intentarlo con el mejora. Por supuesto, si hay otras formas en que puedo hacer esto, si no un perfilador, no me importaré.

¿Alguna idea?

¿Fue útil?

Solución

Simulando el procesador en ModelSim podría ser una opción.Con ModelSim puede hacer una simulación funcional del procesador LEON3 completo.Aunque la simulación será bastante lenta y probablemente completa para sus propósitos, pero Aeroflex Gaisler proporciona excelentes scripts para trabajar con ModelSim.

Una edición de estudiante de Model Modelsim se puede encontrar aquí:

http://www.mentor.com/company/higher_ed/modelsim-Edición estudiantil

Otros consejos

Si realmente desea profundizar en el hardware, encontrará un simulador útil que le ayude con eso.

qemu también tiene Soporte de leon Pero, pero como están muy recompilados, probablemente será difícil de perfilar de nivel de instrucción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top