Trace scheduling

tecnica di ottimizzazione utilizzata dai compilatori
Versione del 24 ott 2007 alle 14:24 di Hellis (discussione | contributi) (Nuova pagina: La '''trace scheduling''' è una tecnica di ottimizzazione utilizzata dai compilatore per migliorare le prestazioni dei programmi informatici. Il compilatore con quest...)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

La trace scheduling è una tecnica di ottimizzazione utilizzata dai compilatore per migliorare le prestazioni dei programmi informatici.

Il compilatore con questa tecnica riarrangia le istruzioni machina al fine di migliorare l'esecuzione parallela delle istruzioni. La trace scheduling è una tra le più diffuse tecniche di ottimizzazione.

Questa tecnica fu sviluppata da Josh Fisher[1] mentre era docente all'Università di Yale, la tecnica permise di sviluppare compilatori efficienti per microprocessori VLIW. La tecnica converte i llop in sequenze statiche di codice sfruttando lo srotolamento dei cicli e la predizione statica dei salti. Il compilatore aggiunge delle istruzioni che recuperano il caso di errata predizione del salto. Questo permette di separare i blocchi di istruzioni che probabilmente verranno eseguite da gruppi di istruzioni difficilmente prevedibili. Le istruzioni "prevedibili" poi possono essere arrangiate in parallelo per velocizzarne l'esecuzione.

  1. ^ Trace Scheduling: A Technique for Global Microcode Compaction Fisher, J.A.; Transactions on Computers Volume C-30, Issue 7, July 1981 Page(s):478 - 490 Digital Object Identifier 10.1109/TC.1981.1675827