Modalità di realizzazione di alcuni dispositivi interni di un calcolatore, come l’unità centrale di elaborazione e più raramente l’unità arotmetico logica che per aumentare le prestazioni ricorre a una struttura a catena di montaggio,: si prevede infatti a un certo numero di esecutori o nodi, posti uno in cascata all’altro e si fa in odo che l’attività del dispositivo venga svolta in una sequenza di passi , ciascuno portato a termine del corrispondente esecutore della catena di montaggio.
Come in una catena di montaggio, questo non velocizza l’esecuzione della singola attività che richiede comunque tutti i passi in sequenza, ma qualcosa tale attività debba essere ripetuta su un certo numero di oggetti aumenta anche sensibilmente il numero di oggetti per unità di tempo come in un ogni istante sono presenti nella pipeline numerosi semilavorati, a vari stadi di completamente del’ultimo esecutore della pipeline produce un risultato completo a ogni intervallo di avanzamento della pipeline stessa
Nel caso dell’unità centrale di elaborazione un possibile schema semplificato di tale catena di montaggio è il segeuente
Moduli di una Pipeline
un primo modulo legge la memoria di lavoro, le istruzioni macchina da eseguire e le mette in una piccola memoria apposita, interna all’unica centrale
un secondo modulo preleva da qui le impostazioni e legge in memoria di lavoro gli operandi , scrivendoli in una memoria per gli operandi
un terzo modulo legge da questa memoria gli operandi e gli fornisce all’unità aritmetico logica o ALU assieme al codice dell’operazione da compiere.
un quarto modulo leggi i risultati in uscita all’ALU e li scrive in memoria. Il fatto che l’unità centrale passi il suo tempo a eseguire istruzioni assicura che la catena di montaggio avrà sempre oggetti nuovi da produrre cioè istruzioni in linguaggio macchina da portare a termine.
Nel caso dell’unità aritmetico logica l’approccio pipeline si rivela particolarmente utile per operazioni come la somma di numeri codificati in vergola mobile. In tal caso infatti è possibile scomporre l’attività di somma in un certo numero di passi ad esempio confronto dagli esponenti dei due adddendi, allineamento delle mantisse , somma normalizzazione del risultato e assegnarle lo svoglimento ad altrettanti moduli.
Perchè la pipeline sia vantaggiosa è naturalmente necessario che la stessa operazione di somma debba essere ripetuta su numerose coppie di numeri, come succede ad esempio nei calcolatori vettoriali per eleaborare array di dimensioni spesso rilevanti.