CDC 7600
# CDC 7600

Il CDC 7600 era un supercomputer sviluppato da Seymour Cray come successore della CDC 6600 e prodotto dalla Control Data Corporation. Il sistema permise alla CDC di rafforzare la propria dominazione nel settore dei supercomputer per buona parte degli anni settanta. Era circa 10 volte più rapido del precedente CDC 6600 e era in grado di sviluppare fino a 36 MegaFLOPS con codice compilato appositamente per la macchina. Sebbene il 7600 condividesse con il 6600 molte caratteristiche come la dimensione delle istruzioni da 60 bit per parola il codice non era compatibile con il CDC 6600. In aggiunta il codice sorgente assembler COMPASS non era compatibile, alcune istruzioni del 7600 non erano presenti sul CDC 6600 e viceversa.

Quando il 6600 raggiunse una qualità di produzione quasi ottimale Cray perse interesse per il progetto e iniziò a pensare al successore del 6600. Produrre una macchina più veloce del 6600 non sembrava un'impresa difficile, negli anni sessanta furono introdotti i circuiti integrati, questi avrebbero permesso di incrementare la densità dei componenti e quindi di progettare sistemi più prestanti, inoltre migliori tecniche di produzione permisero di innalzare la frequenza di funzionamento dei transistor. Questi miglioramenti avrebbero permesso di raddoppiare facilmente la velocità di funzionamento della macchina, forse di quintuplicarla ma non di portarla al decuplicamento richiesto da Cray. Inoltre il 6600 aveva già 10 unità funzionali che potevano lavorare in parallelo e quindi aggiungere altre unità funzionali non avrebbe migliorato molto le prestazioni.

Per risolvere i problemi Cray implementò nella macchina una pipeline. Il 6600 aveva più unità funzionali ma se per esempio incontrava due somme tra interi avendo una sola unità per le somme la seconda istruzione di somma doveva attendere il completamento della prima. In una struttura a pipeline le istruzioni vengono trattate come in una catena di montaggio, a ogni ciclo di clock un'unità entrava nella pipeline e un'unità usciva dall'altra estremità della pipeline (se tutti gli stadi della pipeline completano il loro lavoro in un ciclo di clock e se non ci sono salti o stalli per i dati). L'incremento portato dalla pipeline dipende da quanti cicli necessitava un'unità funzionale per terminare il lavoro ma considerando un tempo medio di 10 cicli di clock per istruzioni una pipeline in teoria poteva decuplicare le prestazioni.

Quello che in teoria sembra semplice in pratica spesso è complicato da realizzare. Per funzionare correttamente la pipeline deve essere composta da stadi funzionali praticamente indipendenti, ma questo era molto difficile da ottenere nelle applicazioni reali. Tuttavia la pipeline forniva un incremento delle prestazioni di circa tre volte rispetto al 6600.

Come sempre Cray rivolse le sue attenzioni al package dei componenti in modo da ridurre la dimensione dei collegamenti e quindi innalzarne la frequenza di funzionamento. Per il 7600 progettò dei moduli formati da 6 strati di circuiti stampati sovrapposti. Ogni circuito era pieno di transistor, resistenze miniaturizzate e diodi. I sei circuiti erano impilati e collegati da connettori disposti sui bordi. I moduli erano molto compatti ma sostanzialmente non riparabili.

Tuttavia l'elevata densità produceva il principale problema della macchina, la dissipazione termica. Per il 7600 Cray affidò il problema a Dean Roush. Rouch aggiunse una piastra di alluminio ad ogni modulo per favorire il passaggio di calore dal modulo al sistema di refrigerazione. Il sistema di refrigerazione era basato sul freon e funzionava nel centro della macchina. Dato che il sistema era soggetto a frequenti guasti il case della macchina venne riprogettato in un'ampia C in modo da favorire l'accesso ai moduli al sistema di raffreddamento che percorreva l'intera C, inoltre il nuovo progetto favoriva la manutenzione della macchina.

Dal punto di vista dell'architettura il 7600 e il 6600 erano quasi uguali. Cray anche nel 7600 previde l'utilizzo di processori periferici per scaricare alcuni compiti secondari al processore. I processori periferici (PP) provvedevano alle operazioni di I/O lasciando al processore principale solo l'incombenza di elaborare dati. Questo era vantaggioso anche perché per la maggior parte del tempo il processore non utilizzava la memoria e quindi i PP potevano fare operazioni di I/O in modo asincrono senza rallentare il processore, che anzi aveva sempre dati pronti in memoria per l'elaborazione. I processori periferici erano dei derivati del processore principale della macchina CDC 160A. Cray se poteva riutilizzava sempre architetture consolidate, questo riduceva il tempo di progettazione del sistema e ne innalzava l'affidabilità dato che i componenti erano già testati e stabili.

Come il 6600 anche il 7600 utilizzava parole di 60 bit e le istruzioni erano da 15 bit sebbene esistessero versioni più lunghe. Tuttavia una diversa disposizione della memoria interna rendeva le istruzioni incompatibili con quelle del 6600. Comunque le macchine erano simili e quindi il porting dei programmi da 6600 a 7600 era un'operazione relativamente semplice. La macchina inizialmente era venduta senza sistema operativo, quindi gli acquirenti dovevano sviluppare il proprio sistema operativo. Livermore, NCAROS e altri laboratori furono i primi a sviluppare propri sistemi operativi per la macchina. Livermore sviluppo anche un compilatore Fortran con delle estensioni proprietarie per la macchina.

Tra il 1969 e il 1975 il CDC 7600 fu la macchina più veloce del pianeta per applicazioni generiche. Tuttavia l'avanzato sistema di raffreddamento del 7600 non era in grado di dissipare tutto il calore prodotto dai moduli e quindi la macchina si guastava spesso. Il LLNL e l'NCAR segnalarono che la macchina si guastava almeno una volta al giorno ma non erano infrequenti giorni dove si verificavano quattro o cinque guasti. Tramite una continua opera di assistenza e di correzione del progetto, alla fine la macchina è diventata abbastanza affidabile anche se questo ha richiesto anni. La macchina ha venduto abbastanza bene ma a causa delle continue operazioni di manutenzione sulla macchina è improbabile che la CDC ne abbia ricavato consistenti guadagni.

