Very long instruction word: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
AushulzBot (discussione | contributi)
m Bot: Sistemo sintassi template Portale. Aggiungo: informatica.
m Correggo apostrofo
Riga 1:
[[File:Itanium2.JPG|thumb|300px|right|L'Itanium 2, una CPU VLIW]]
La '''Very Long Instruction Word''' o '''VLIW''' è un'architettura per microprocessori sviluppata per avvantaggiarsi dell'[[Instruction level parallelism]] (ILP). Un processore che esegue ogni istruzione in modo sequenziale sarebbe un processore molto lento e userebbe le prestazioni in modo inefficiente. Al fine di migliorare le prestazioni dei processori e quindi di utilizzare in modo efficiente le unità funzionali si sono sviluppate tecniche di esecuzione in grado di eseguire più istruzioni in parallelo. I primi metodi prevedevano la realizzazione di unità di elaborazione di tipo [[pipeline dati|pipeline]], in queste unità le istruzioni vengono elaborate come fossero in una catena di montaggio. Un' ulteriore miglioramento è stato portato dall'introduzione di più unità di calcolo in parallelo (più pipeline) al fine di ottenere [[microprocessore superscalare|microprocessori superscalari]]. Un'ulteriore miglioria è stata l'[[esecuzione fuori ordine]] delle istruzioni. Con questa modalità di esecuzione le istruzioni non vengono eseguite secondo l'ordine previsto dal programmatore ma secondo l'ordine che permette al processore di eseguirle in parallelo.
 
Queste tecniche hanno un fondamentale difetto, incrementano molto la complessità del microprocessore. Per poter eseguire le operazioni in parallelo il microprocessore deve costantemente verificare le dipendenze tra le varie istruzioni e i dati al fine di eseguire correttamente i programmi. Esistono più tipologie di dipendenze, per esempio un'istruzione potrebbe dover elaborare un dato ottenuto, come risultato, da un'altra istruzione e quindi questa non potrebbe essere eseguita prima dell'altra istruzione. I moderni microprocessori dedicano molte risorse al controllo delle dipendenze e all'arrangiare le istruzioni in modo da poterne eseguire il maggior numero possibile in parallelo.