Very long instruction word: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: Fix dimensionamento immagini (v. richiesta)
m ortografia
Riga 54:
 
== Evoluzioni ==
L'architettura VLIW ha indubbiamente molti vantaggi ma i suoi problemi ne rendono problematico l'utilizzo in processori per computer. La necessità di ricompilare il codice per ogni generazione di processori in particolare si scontra con la necessitanecessità degli utenti di poter mantenere il parco software. Per eliminare questi problemi diverse società hanno sviluppato delle evoluzioni dell'architettura VLIW, tra le varie evoluzioni la più famosa è l'architettura [[Explicitly Parallel Instruction Computing|EPIC]] sviluppata da [[Intel]] e [[Hewlett Packard|HP]] congiuntamente. L'architettura EPIC (Explicitly Parallel Instruction Computing) raggruppa le istruzioni elementari in parole come una classica architettura VLIW e inserisce inoltre delle informazioni sul parallelismo tra le varie parole. In questo modo le varie generazioni del processore possono variare internamente la loro architettura senza troppi problemi. Le informazioni sul parallelismo permettono di realizzare unità di decodifica che sfruttano il parallelismo efficientemente ma sono nel contempo semplici dato che l'analisi del codice parallelo e la sua suddivisione è stata effettuata dal compilatore.
 
Un'altra architettura che può essere considerata un'evoluzione dell'architettura VLIW è l'[[architettura TRIPS]]. Questa architettura a differenza delle precedenti architetture richiede anche una radicale modifica del [[set di istruzioni]], difatti questa architettura utilizza un nuovo set di istruzioni chiamato [[Explicit Data Graph Execution]] (EDGE). Questo set di istruzioni considera le istruzioni come degli elementi che ricevono dati, li elaborano e li inviano ad altre istruzioni. Quindi le varie istruzioni sono legate dai dati che elaborano. EDGE in sostanza raccoglie le istruzioni che elaborano gli stessi dati in blocchi e le invia al processore. Ogni blocco di istruzioni è collegato agli altri blocchi da un grafo delle dipendenze che viene generato dal compilatore. Questo set di istruzioni permette di sviluppare il processore come tante unità di calcolo che ricevono blocchi di dati e li elaborano in parallelo, le singole unità di calcolo alla fine dell'elaborazione di un blocco possono scambiarsi delle informazioni se necessario. Questo permette di incrementare notevolmente il numero di operazioni eseguite in parallelo dal singolo processore. Quest'architettura tuttavia è attualmente (2009) un progetto di ricerca e non è detto che diventerà un prodotto commerciale.