Home Come funziona il Computer Dynamic Execution

Dynamic Execution PDF Stampa
Domenica 27 Aprile 2014 17:12

Usata per la prima volta nei processori P6 (o di sesta generazione) di Intel, l'esecuzione dinamica consentiva al processore di eseguire più istruzioni in parallelo, in modo da completare le operazioni più rapidamente. La tecnologia è composta da tre elementi principali:

  • Branch prediction multipla - predice il flusso del programma attraverso diverse diramazioni.
  • Analisi Dataflow - stabilisce che le operazioni devono essere eseguite quando sono pronte, indipendentemente dal loro ordine nel programma originale.
  • Speculative execution - aumenta la velocità di esecuzione "guardando dopo" il contatore del programma ed eseguendo le istruzioni che probabilmente saranno necessarie.

Branch Prediction

La branch prediction è una caratteristica presente solo nei processori di fascia alta per mainframe. Permette al processore di mantenere piena la pipeline istruzioni mentre opera a un'elevata velocità. Una speciale unità fetch/decode nel processore usa un algoritmo di branch prediction altamente ottimizzato per predire la direzione e il risultato delle istruzioni eseguite attraverso più livelli di branches, calls e returns. È simile a un giocatore di scacchi che lavora su più strategie in anticipo rispetto a quanto avviene, prevedendo la strategia dell'avversario diverse mosse in futuro. Prevendendo l'istruzione richiesta in anticipo, le istruzioni possono essere eseguite senza attesa.

Analisi Dataflow

L'analisi dataflow studia il flusso di dati nel processore per rilevare qualsiasi opportunità di esecuzione di istruzioni out of order (OOO). Un'unità speciale di dispatch/esecuzione nel processore monitora molte istruzioni e può eseguirle in modo da ottimizzare l'uso delle unità superscalari. L'esecuzione di istruzioni OOO risultante può mantenere le unità occupate persino quando cache miss e altre istruzioni dipendenti dai dati potrebbero frenare tutto.

Speculative Execution

L'esecuzione speculativa è la capacità del processore di eseguire istruzioni in anticipo rispetto al contatore effettivo. L'unità di dispatch/esecuzione del processore usa l'analisi del dataflow per eseguire tutte le istruzioni disponibili nel pool istruzioni e immagazzinare i risultati in registri temporanei. Un'unità di "retirement" poi ricerca nel pool le istruzioni completate che non sono più dipendenti dai dati, nel tentativo di trovare altre istruzioni da eseguire o quelle che hanno branch prediction irrisolte. Se si trova qualcuna di queste istruzioni completate, l'unità di "retirement" impegna i risultati in memoria nell'ordine in cui sono stati emessi in origine. E poi sono ritirati dal pool.

L'esecuzione dinamica rimuove il vincolo e la dipendenza dal sequenziamento lineare dell'istruzione. Promuovendo l'esecuzione OOO dell'istruzione, mantiene l'unità istruction al lavoro piuttosto che aspettare i dati dalla memoria. Anche se le istruzioni si possono prevedere ed eseguite non in ordine, i risultati sono impegnati nella sequenza originale in modo da non interrompere o modificare il flusso del programma. Questo permette al P6 di eseguire il software esistente sull'architettura Intel esattamente come il P5 (Pentium) e i processori precedenti, solo un bel po' più in fretta!

Continua a leggere: Architettura Dual Independant Bus

VIA

miglior sito

Ultimo aggiornamento Domenica 27 Aprile 2014 17:20
 
Altri Articoli :

» Architettura Dual Independant Bus

// // L'architettura Dual Independent Bus (DIB) è stata implementata per la prima volta nei processori di sesta generazione di Intel e AMD. DIB fu creata per migliorare il bandwidth e le prestazioni del bus del processore. Avendo due bus di I/O...

» Tecnologia MMX: SSE e 3DNow!

// // La tecnologia MMX era originariamente nota come multimedia extensions o matrix math extensions. Intel afferma ufficialmente che non si tratta di un acronimo; una delle due definizioni precedenti potrebbe essere quella giusta. Questa tecnologia...

» Esecuzione superscalare

// // La quinta generazione di processori Pentium e le soluzioni successive hanno diverse pipeline interne per l'esecuzione di istruzioni, che consentono di far girare più istruzioni contemporaneamente. I chip 486 e precedenti possono eseguire una...

» Caratteristiche del processore

// // L'arrivo di nuovi microprocessori, la maggior parte delle volte, porta con sé nuove caratteristiche per migliorare le prestazioni con applicazioni specifiche o la stabilità complessiva del processore. Nelle prossime pagine daremo uno sguardo...

» Che cos' è il BIOS e quando dovresti usarlo?

// // // Il BIOS del computer è essenziale per il funzionamento del pc, anche se rimane dietro le quinte, infatti questo strumento nascosto contiene le istruzioni necessarie all'avvio del sistema.Che cosa è il BIOSBIOS è l'acronimo di Basic...

Aggiungi commento


Codice di sicurezza
Aggiorna