Domanda

Sto cercando di creare un (piccolo) miglioramento del processore Leon3 (set di istruzioni è SPARC V8) per un esercizio accademico. Prima di decidere cosa migliorare, voglio profilare un paio di programmi di benchmark che voglio adattare i miglioramenti.

Non ho accesso a una macchina SPARC V8.

Attualmente, sto usando una versione di valutazione di 'TSM' (un simulatore Leon3) che fa la profiling a livello funzionale. Che non è davvero tutto utile.

Ho provato cose strane come la compilazione con il srotolazione del loop abilitata e contando le istruzioni interessanti nel codice di assemblaggio, ma GCC si rifiuta di srotolare i loop, probabilmente perché alcuni di loro vanno troppo profondi (ad es. 4 nidificato 'per' loops) .

Idealmente, quello che sto cercando è un simulatore SPARC V8 che esegue il benchmark e il profili a livello di istruzioni (cose come: "Smul" è stato eseguito x volte) in modo che io possa decidere dove iniziare a provare con il miglioramento. Ovviamente se ci sono altri modi in cui posso fare questo se non un profiler, non mi dispiacerò.

Qualche idea?

È stato utile?

Soluzione

simulando il processore in Modelsim potrebbe essere un'opzione.Con modelli è possibile eseguire una simulazione funzionale del processore di Leon3 completo.Sebbene la simulazione sarà abbastanza lenta e probabilmente completa eccessivamente per i tuoi scopi, ma Aeroflex Gaisler offre agli eccellenti script per lavorare con modella.

A Student Edition di Modelsim può essere trovato qui:

http://www.mentor.com/company/higher_ed/modelsim-Student-Edition

Altri suggerimenti

Se vuoi davvero scavare così in profondità nell'hardware, troverai un simulatore utile che ti aiuta con quello.

Simics entra in mente.Avevano una libera licenza accademica, ma dal momento che sono stati acquistati da Intel, ora devi richiedere uno, che dalla mia esperienza richiede un paio di settimane.Se sei disposto ad investire questa volta, avrai sicuramente uno strumento che si adatta alle tue esigenze, anche se supportano Leon2, non Leon3, come modello, ma per la profilazione dovrebbe andare bene.

Qemu ha anche Supporto Leon , ma mentre si ricompirano pesantemente, probabilmente sarà difficile da regolare a livello di istruzione con esso.

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top