Trace scheduling: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Collegamenti esterni: Creato la sezione e aggiunto il template "FOLDOC"
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android
 
(3 versioni intermedie di 3 utenti non mostrate)
Riga 3:
Il compilatore con questa tecnica riarrangia le istruzioni macchina 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 (informatico)|Josh Fisher]]<ref>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</ref> mentre era docente all'[[Università Yale]], la tecnica permise di sviluppare compilatori efficienti per [[microprocessore|microprocessori]] [[VLIW]]. La tecnica converte i loop in sequenze statiche di codice sfruttando lo [[Srotolamento del loop|srotolamento dei cicli]] e la [[predizione delle diramazioni|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.
 
== Note ==
<references />
 
== Collegamenti esterni ==
[[Categoria:Compilatori]]
* {{FOLDOC||trace scheduling}}
 
{{Portale|informatica}}
[[en:Trace scheduling]]
 
[[ja:トレーススケジューリング]]
[[Categoria:Compilatori]]