Supercomputer/Pipeline

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
Indice del libro
Esecuzione delle istruzioni in un microprocessore senza pipeline

L'elaborazione di un'istruzione da parte di un processore si compone di cinque passaggi fondamentali:

  1. IF: Lettura dell'istruzione da memoria
  2. ID: Decodifica istruzione e lettura operandi da registri
  3. EX: Esecuzione dell'istruzione
  4. MEM: Attivazione della memoria (solo per certe istruzioni)
  5. WB: Scrittura del risultato nel registro opportuno

Praticamente ogni CPU in commercio è gestita da un clock centrale e ogni operazione elementare richiede almeno un ciclo di clock per poter essere eseguita. Le prime CPU erano formate da un'unità polifunzionale che svolgeva in rigida sequenza tutti e cinque i passaggi legati all'elaborazione delle istruzioni. Una CPU classica richiede quindi almeno cinque cicli di clock per eseguire una singola istruzione.

Con il progresso della tecnologia si è potuto integrare un numero maggiore di transistor in un microprocessore e quindi si sono potute parallelizzare alcune operazioni riducendo i tempi di esecuzione. La pipeline dati è la massima parallelizzazione del lavoro di un microprocessore.

Esecuzione delle istruzioni in un microprocessore con pipeline

Una CPU con pipeline è composta da cinque stadi specializzati, capaci di eseguire ciascuno una operazione elementare di quelle sopra descritte. La CPU lavora come in una catena di montaggio e quindi ogni stadio provvede a svolgere solo un compito specifico. Quando la catena è a regime, ad ogni ciclo di clock esce dall'ultimo stadio un'istruzione completata. Nello stesso istante ogni unità sta elaborando in parallelo i diversi stadi delle successive istruzioni. In sostanza si guadagna una maggior velocità di esecuzione a prezzo di una maggior complessità circuitale del microprocessore, che non deve essere più composto da una sola unità generica ma da cinque unità specializzate che devono collaborare tra loro.