top of page

Pipeline: come vengono processate le istruzioni in un computer


Processore di un computer
Processore

Supponiamo di dover fare il bucato e di poter dividere questo compito in due: lavare i panni ed asciugarli. Abbiamo a disposizione una lavatrice e un’asciugatrice che richiedono entrambe 30 minuti di lavoro.


Consideriamo, per il momento, un solo cesto di panni sporchi: possiamo procedere utilizzando i primi 30 minuti per lavare i panni e i successivi 30 per asciugarli. L’intero processo richiede 60 minuti.


Schema di lavaggio di un cesto di panni sporchi
Lavaggio di un cesto di panni sporchi

Complichiamo la situazione, considerando due cesti. Per affrontare questo problema esistono due soluzioni, una più efficiente dell’altra.


La soluzione “stupida” consiste nel lavare ed asciugare un cesto di panni alla volta, il che implica un tempo totale di 120 minuti (60 minuti per cesto).


La soluzione “intelligente” è la seguente: laviamo i panni del primo cesto in 30 minuti e poi li inseriamo in asciugatrice mentre sfruttiamo la lavatrice appena liberata per “processare” i panni del secondo cesto. In questo modo lavatrice ed asciugatrice stanno lavorando contemporaneamente. Dopo altri 30 minuti i panni del primo cesto sono asciugati e possiamo inserire in asciugatrice i panni del secondo. In sintesi, possiamo lavare due cesti in 90 minuti.


Lavaggio di due cesti di panni sporchi con pipeline e senza pipeline
Soluzione "senza pipeline", soluzione "con pipeline"

Questo approccio è chiamato pipelining e viene utilizzato nei più moderni processori per aumentare il throughput, ovvero il numero di istruzioni eseguite nell’unità di tempo. Più il throughput è alto, più il processore è performante.


Un processore con pipeline è composto da vari stadi, ognuno in grado di eseguire una semplice operazione per elaborare l’istruzione, esattamente come nella metafora del bucato. A regime, ogni stadio lavorerà in parallelo ad istruzioni diverse e dall’ultimo uscirà un’istruzione completata. L’idea della pipeline è proprio quella di parallelizzare il lavoro.


Pipeline di istruzioni in un processore
Pipeline di istruzioni in un processore

La pipeline è uno dei metodi che, seppur semplice, ha permesso di raggiungere le grandi capacità di calcolo dei moderni processori ed è per questo che aziende come AMD e Intel (per citare le più famose) investono grandi capitali nella ricerca in questo campo.

Post recenti

Mostra tutti

Comments


Iscriviti al sito

Il tuo modulo è stato inviato!

bottom of page