Presentazione sistemi-Pipeline

download Presentazione sistemi-Pipeline

If you can't read please download the document

Transcript of Presentazione sistemi-Pipeline

Cos' una pipeline?Il termine pipeline in informatica e in elettronica si riferisce a un prodotto composto da pi elementi. Ogni elemento provvede a ricevere in ingresso un dato o un segnale, ad elaborarlo e poi a trasmetterlo all'elemento successivo. Quindi il flusso di dati o di segnali percorre tutti gli elementi fino all'ultimo come quando una conduttura attraversata da un fluido. (Infatti, il termine pipeline in inglese indica una tubatura).

Pipeline

Tipi di pipeline La pipeline dati che viene utilizzata all'interno dei moderni microprocessori.

La pipeline grafica, che viene utilizzata dalle schede grafiche tridimensionali.

La pipeline software utilizzata da sistemi operativi.

Il microprocessore per leggere ed eseguire le istruzioni segue 5 fasi:IF(Instruction Fetch): lettura dell'istruzione da memoria;

ID(Instruction Decode): decodifica l'istruzione e legge gli operandi dai registri;

EX(Execution): esecuzione dell'istruzione;

MEM(Memory): accesso alla memoria(solo alcune istruzioni);

WB(Write Back): scrittura del risultato nel registro opportuno;

Cicli di esecuzione

I primi microprocessori avevano una struttura che consentiva di elaborare un'istruzione alla volta nelle sue 5 fasi.Con il miglioramento della tecnologia stato possibile realizzare 5 strutture che lavorano parallelamente su ciascuna delle 5 fasi.

Tecnica del pipeline

Questa tecnica funziona molto bene se non ci sono legami troppo stretti tra due istruzioni; se a un'istruzione serve il risultato di una precedente, essa non potr fare la fase EX fino a quando l'istruzione precedente non arrivata alla fase WB.Un altro problema quello dei salti di esecuzione dove spesso alcune istruzioni non vengono eseguite.

Problemi di gestione

Per risolvere questi problemi le soluzioni sono state:

Utilizzare registri a doppia porta.

Utilizzare pi pipeline in parallelo

Introdurre dei circuiti che si occupano di analizzare i possibili salti.

Suddividere l'esecuzione di un'operazione in fasi elementari, cos da eseguirle rapidamente.

Introduzione di CPU multicore, ogni core lavora autonomamente.

Soluzioni e Rimedi