Micro operazioni

Da Wikipedia, l'enciclopedia libera.

Le micro operazioni (a volte chiamate micro-ops o μops) sono delle operazioni semplici di tipo RISC utilizzate da molti microprocessori con architettura CISC per implementare le operazioni complesse.

Un tipico processore CISC fornisce molte istruzioni complesse che normalmente non vengono eseguite direttamente dalla logica cablata, ma che vengono spezzettate in istruzioni più elementari prima di passare alle unità di elaborazione. L'approccio iniziale era il microprogramma, ovvero una sequenza di microistruzioni più semplici memorizzate in una ROM: ad ogni istruzione, detta in tale contesto macroistruzione, corrispondeva una parte del microprogramma. I processori RISC hanno però dimostrato che un set ridotto di operazioni elementari può essere eseguito in modo molto più efficiente di un ampio set di operazioni più complesse potendo sfruttare un più elevato grado di parallelismo. Come conseguenza le moderne architetture CISC si sono convertite alla logica RISC, ma l'hanno dovuto fare con un approccio a due livelli per preservare la compatibilità con il passato. Le istruzioni CISC vengono ancora tradotte in istruzioni più semplici ma anziché avere una rigida sequenza di microistruzioni che controllano la CPU direttamente dal microprogramma nella ROM, abbiamo delle micro operazioni che vengono accodate in sequenze piuttosto lunghe prima di essere eseguite. Questo significa che le fasi di prelievo e decodifica possono essere più distaccate dalle unità di esecuzione di quanto non si possa fare in un più tradizionale progetto microprogrammato. Questo permette un grado di libertà maggiore per quanto riguarda l'ordine di esecuzione, quindi un maggiore parallelismo e migliori prestazioni.

Per migliorare le prestazioni, molti processori memorizzano le micro operazioni direttamente in alcune cache, in modo da dover evitare la fase di decodifica nel caso il processore esegua più volte la stessa sezione di codice. La Execution Trace Cache presente nell'architettura Intel NetBurst è un esempio di cache di questo tipo. La dimensione di queste cache spesso viene indicata contando il numero di micro operazioni memorizzabili.

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica