Il pipelineing delle istruzioni è una tecnica utilizzata nella progettazione dei moderni microprocessori, microcontrollori e CPU per aumentare il loro throughput di istruzioni (il numero di istruzioni che possono essere eseguite in un'unità di tempo).

L'idea principale è quella di dividere (detto "split") l'elaborazione di un'istruzione della CPU, come definita dal microcodice dell'istruzione, in una serie di passi indipendenti di microoperazioni (dette anche "microistruzioni", "micro-op" o "µop"), con memorizzazione alla fine di ogni passo. Ciò consente alla logica di controllo della CPU di gestire le istruzioni alla velocità di elaborazione del passo più lento, che è molto più veloce del tempo necessario per elaborare l'istruzione come un singolo passo.

Il termine conduttura si riferisce al fatto che ogni passo porta una singola microstruttura (come una goccia d'acqua), e ogni passo è collegato ad un altro passo (analogia; simile alle condutture dell'acqua).

La maggior parte delle moderne CPU sono guidate da un orologio. La CPU è composta internamente da logica e memoria (flip flop). Quando arriva il segnale dell'orologio, i flip flop memorizzano il loro nuovo valore, quindi la logica richiede un periodo di tempo per decodificare i nuovi valori dei flip flop. Poi arriva il successivo impulso di clock e i flip flop memorizzano un altro valore, e così via. Spezzando la logica in pezzi più piccoli e inserendo i flip flop tra i pezzi di logica, il tempo richiesto dalla logica (per decodificare i valori fino a generare uscite valide a seconda di questi valori) si riduce. In questo modo il periodo di tempo dell'orologio può essere ridotto. Ad
esempio, la conduttura RISC è suddivisa in cinque stadi con un set di flip flop tra ogni stadio come segue:

  1. Istruzioni per l'uso
  2. Istruzione decodificare e registrare il recupero
  3. Eseguire
  4. Accesso alla memoria
  5. Registrati e scrivi

I processori con pipeline sono costituiti internamente da stadi (moduli) che possono lavorare in modo semi-indipendente su microstrutture separate. Ogni stadio è collegato per mezzo di flip flop allo stadio successivo (come una "catena") in modo che l'uscita dello stadio sia un ingresso ad un altro stadio fino a quando il lavoro di elaborazione delle istruzioni non è fatto. Tale organizzazione dei moduli interni del processore riduce il tempo complessivo di elaborazione delle istruzioni.

Un'architettura non pipeline non è così efficiente perché alcuni moduli CPU sono inattivi mentre un altro modulo è attivo durante il ciclo di istruzioni. Il pipelineining non elimina completamente il tempo di inattività in una CPU pipeline, ma facendo funzionare i moduli CPU in parallelo si aumenta il throughput delle istruzioni.

Si dice che una pipeline di istruzioni sia completamente pipeline se è in grado di accettare una nuova istruzione ad ogni ciclo di clock. Un pipeline che non è completamente pipelineato ha cicli di attesa che ritardano l'avanzamento del pipeline.