Ecco come funziona:
* Problema di istruzioni: Le istruzioni vengono recuperate ed emesse alle unità di esecuzione del processore non appena sono disponibili i loro operandi e le unità di esecuzione richieste sono gratuite. Ciò contrasta con una rigorosa esecuzione in ordine in cui le istruzioni sono completate nello stesso ordine in cui vengono recuperate.
* SCOPRITÀ: Questa è una struttura di dati centrale che mantiene le seguenti informazioni per ciascuna istruzione:
* Stato dell'istruzione: Indica se l'istruzione viene emessa, eseguita o completata.
* OPERANDS: Elenca gli operandi di origine richiesti dall'istruzione.
* Stato operativo: Per ogni operando, indica se l'operando è disponibile o ancora calcolato da un'altra istruzione.
* Registro di destinazione: Specifica il registro di destinazione in cui verrà scritto il risultato.
* Unità di esecuzione: Indica a quale unità di esecuzione viene assegnata l'istruzione.
* Monitoraggio della dipendenza dai dati: Il tabellone segnapunti monitora le dipendenze dei dati tra le istruzioni. Un'istruzione non può iniziare l'esecuzione fino a quando tutti i suoi operandi sono pronti. Ciò evita pericoli che potrebbero verificarsi nell'esecuzione fuori servizio.
* Allocazione delle risorse: Il tabellone segnala la disponibilità di unità di esecuzione e altre risorse. Quando un'istruzione è pronta per essere eseguita, il tabellone di punteggio lo assegna a un'unità di esecuzione disponibile.
* Scrittura dei risultati: Una volta che un'istruzione completa l'esecuzione, il tabellone aggiorna lo stato del suo registro di destinazione. Altre istruzioni in attesa di quel risultato possono quindi procedere.
Vantaggi chiave del punteggio di segnalazione su tecniche più semplici:
* Parallelismo migliorato: Consentendo l'esecuzione out-of-ordini, il punteggio può aumentare significativamente il parallelismo a livello di istruzione (ILP).
* bancarelle ridotte: Poiché tiene traccia delle dipendenze dei dati, minimizza le bancarelle della pipeline causate dai pericoli dei dati.
* Gestisce dipendenze più complesse: È più robusto dei metodi più semplici nella gestione di vari tipi di dipendenze di dati (read-witer-write, write-after-lead, write-after-write).
Limitazioni del punteggio:
* Complessità: Il punteggio di punteggio è un meccanismo più complesso rispetto all'esecuzione in ordine o alle tecniche out-of-ordini più semplici. L'implementazione del tabellone stesso richiede risorse hardware significative.
* Esecuzione fuori ordine limitata: Mentre migliora il parallelismo, ha ancora limitazioni rispetto a tecniche più avanzate come l'algoritmo di Tomasulo, che consente una pianificazione più dinamica. Il punteggio di punteggio ha generalmente un grado più limitato di esecuzione fuori ordine.
In sintesi, il punteggio di punteggio è una tecnica preziosa per migliorare le prestazioni dei processori pipelinati consentendo l'esecuzione fuori ordine, gestendo efficacemente le dipendenze dei dati e l'allocazione delle risorse. Tuttavia, la sua complessità significa che potrebbe non essere la scelta ottimale per tutti i progetti del processore.
sistemi © www.354353.com