# Supercomputer/Pipeline

Supercomputer
Copertina Tutti i moduli · Sviluppo
* DefinizioneSupercomputer/Definizione
* StoriaSupercomputer/Storia
* Tassonomia di FlynnSupercomputer/Tassonomia di Flynn
* Calcolo paralleloSupercomputer/Calcolo parallelo
* HardwareSupercomputer/Hardware
* PipelineSupercomputer/Pipeline
* Processore vettorialeSupercomputer/Processore vettoriale
* CacheSupercomputer/Cache
* Uniform Memory AccessSupercomputer/Uniform Memory Access
* Non-Uniform Memory AccessSupercomputer/Non-Uniform Memory Access
* Raffreddamento a liquidiSupercomputer/Raffreddamento a liquidi
* RAIDSupercomputer/RAID
* SoftwareSupercomputer/Software
* Legge di AmdahlSupercomputer/Legge di Amdahl
* OccamSupercomputer/Occam
* MPISupercomputer/MPI
* PVMSupercomputer/PVM
* openMosixSupercomputer/openMosix
* Misura delle prestazioniSupercomputer/Misura delle prestazioni
* UtilizziSupercomputer/Utilizzi
* 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
Modifica il sommario
L'elaborazione di un'istruzione da parte di un processore si compone di cinque passaggi fondamentali:
* IF: Lettura dell'istruzione da memoria
* ID: Decodifica istruzione e lettura operandi da registri
* EX: Esecuzione dell'istruzione
* MEM: Attivazione della memoria (solo per certe istruzioni)
* 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.
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.