Supercomputer/Pipeline

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
  1. DefinizioneSupercomputer/Definizione
  2. StoriaSupercomputer/Storia
  3. Tassonomia di FlynnSupercomputer/Tassonomia di Flynn
  4. Calcolo paralleloSupercomputer/Calcolo parallelo
  5. HardwareSupercomputer/Hardware
  6. PipelineSupercomputer/Pipeline
  7. Processore vettorialeSupercomputer/Processore vettoriale
  8. CacheSupercomputer/Cache
  9. Uniform Memory AccessSupercomputer/Uniform Memory Access
  10. Non-Uniform Memory AccessSupercomputer/Non-Uniform Memory Access
  11. Raffreddamento a liquidiSupercomputer/Raffreddamento a liquidi
  12. RAIDSupercomputer/RAID
  13. SoftwareSupercomputer/Software
  14. Legge di AmdahlSupercomputer/Legge di Amdahl
  15. OccamSupercomputer/Occam
  16. MPISupercomputer/MPI
  17. PVMSupercomputer/PVM
  18. openMosixSupercomputer/openMosix
  19. Misura delle prestazioniSupercomputer/Misura delle prestazioni
  20. UtilizziSupercomputer/Utilizzi
  21. Elenco di computer: · Macchina AnaliticaSupercomputer/Macchina Analitica · ColumbiaSupercomputer/Columbia · ENIACSupercomputer/ENIAC · ILLIAC IVSupercomputer/ILLIAC IV · CDC 6600Supercomputer/CDC 6600 · CDC 7600Supercomputer/CDC 7600 · CDC CyberSupercomputer/CDC Cyber · CDC STAR-100Supercomputer/CDC STAR-100 · ETA10Supercomputer/ETA10 · TX-0Supercomputer/TX-0 · SAGESupercomputer/SAGE · Cray-1Supercomputer/Cray-1 · Cray-2Supercomputer/Cray-2 · Cray X-MPSupercomputer/Cray X-MP · IBM 7030Supercomputer/IBM 7030 · Zuse Z1Supercomputer/Zuse Z1 · Zuse Z2Supercomputer/Zuse Z2 · Zuse Z3Supercomputer/Zuse Z3 Elenco attuale dei 500 computer più potenti al mondo - TOP500Supercomputer/Elenco attuale dei 500 computer più potenti al mondo - TOP500
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.