Esecuzione fuori ordine: differenze tra le versioni

Jump to navigation Jump to search
 
== Architettura==
L'esecuzione fuori ordine è una forma limitata di [[architettura dataflow]]. In un'architettura dataflow l'esecuzione del programma non è guidata dal flusso del programma, ma dalla disponibilità degli operandi da processare. In un'architettura dataflow appena tutti gli operandi di un'istruzione sono disponibili l'istruzione è marcata come eseguibile e appena un'unità di calcolo risulta disponibile l'istruzione viene eseguita. In un'architettura fuori ordine si segue lo stesso principio solo che non è l'intero programma a essere analizzato alla ricerca di operazioni pronte per essere eseguite ma solo una finestra di esecuzione. In questa finestra vengono analizzate le disponibilità degli operandi e le istruzioni con tutti gli operandi disponibili vengono marcate come eseguibili. Questo permette di estrarre dal codice buona parte dell<nowiki>'</nowiki>''[[instruction level parallelism]]'' mantenendo l'architettura relativamente semplice. Una architettura dataflow in teoria riuscirebbe a estrarre un livello maggiore di ''instruction level parallelism'' e quindi otterrebbe prestazioni migliori, ma le complicazioni a livello architetturali sono talmente elevate da rendere non conveniente l'approccio per un sistema generico.
 
== Storia ==
Utente anonimo

Menu di navigazione