Very long instruction word: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: passaggio degli url da HTTP a HTTPS |
Elisione obbligatoria |
||
Riga 10:
In un processore superscalare il numero di unità di calcolo non è visibile nel set di istruzioni. Ogni istruzione in formato binario codifica una sola istruzione da eseguire, che normalmente è di 32-64 bit o meno.
Invece le istruzioni VLIW vengono raggruppate in bundle, ciascuno dei quali contiene più istruzioni elementari, specificando per ognuna l'appartenenza ad una specifica unità di calcolo. Per esempio un dispositivo VLIW con 5 unità di calcolo sarà dotato di bundles (o istruzioni lunghe) con cinque campi, ciascuno dei quali istruirà
Sin dalle prime architetture ci si è resi conto che aggiungendo unità di calcolo alle macchine si potevano incrementare le prestazioni senza aumentare i costi in maniera eccessiva. Nelle CPU superscalari è la CPU stessa che durante l'esecuzione decide dinamicamente quali istruzioni mandare in esecuzione in parallelo. nelle CPU VLIW è il compilatore che durante la fase di traduzione decide quali istruzioni vadano eseguite in parallelo.
Riga 20:
L'assenza della logica che attua lo scheduling dinamico riduce significativamente la complessità, il costo e l'assorbimento energetico della CPU.
Un altro problema si presenta se il risultato di un'istruzione viene utilizzato per definire se uscire da un ciclo o no. Molte CPU moderne scelgono in anticipo un percorso in modo da poter caricare i dati corrispondenti. Alcune CPU sono dotate di
In un'architettura VLIW il compilatore utilizza delle euristiche o dei profili per predeterminare in anticipo il ramo più probabile. Avendo il compilatore molto più tempo della CPU e la possibilità di analizzare tutto il codice e non solo qualche istruzione, le sue previsioni in teoria dovrebbero essere più precise di CPU che lavora in tempo reale. Il compilatore sviluppa il codice inserendo le istruzioni relative al ramo più probabilmente scelto in cascata nel codice, e codifica l'algoritmo necessario per fare l'undo nel caso le previsione non sia quella corretta. È da notare che i microprocessori ad alte prestazioni con unità di predizione delle diramazioni allo stato dell'arte spesso forniscono predizioni delle diramazioni simili se non superiori a quelli forniti statisticamente dai compilatori. Questo perché sebbene l'unità di predizione debba eseguire le sue analisi nel giro di frazioni di nanosecondo è anche vero che l'unità dispone di informazioni in tempo reale sullo stato del processore e queste informazioni indirizzano le predizioni migliorandone la precisione.
|