back index forward


Computers di Quarta Generazione (1980-oggi )



La tendenza a costruire circuiti sempre più piccoli e l'integrazione di molte componenti sulla stessa piastrina di silicio porta ad un crollo dei costi, ad una aumento delle prestazioni, e ad un'enorme espansione del mercato. Vengono prodotti cip di silicio che integrano migliaia, poi decine, centinaia di migliaia o milioni di componenti (VLSI , very large scale integration ). P4 Northwood e AMD Athlon XP 2000+


Negli anni 70 ed 80 vediamo svilupparsi la linea dei supercomputers. Si tratta di macchine fatte per calcoli veloci, adatte ad affrontare problemi matematici complessi. In queste macchine si spinge la tecnologia all'estremo, ed i costi sono altissimi. L'aumentare delle prestazioni delle CPU ed i bassi costi di CPU "commerciali" rispetto allo sviluppo di architetture e PCU dedicate provocano un declino di questa linea negli anni 90, e si finisce per vedere in questo campo macchine parallele, (MPP: massive parallel computers) costituite da aggregati di migliaia di CPU commerciali, collegate da bus o reti ad alte prestazioni. Nel 2000 questa linea e' ridotta ad un mercato di nicchia, seppur molto remunerativo, per un' elenco delle macchine più veloci al mondo si rimanda ai benchmark Jack Dongarra et al. in: www.top500.org. Citiamo giusto alcune macchine:

  • La prima macchina parallela era stata l'ILLIAC IV (1972 Universita' dell'Illinois) capace di 50 Mflop, che erano tanti nel 72.
  • Le macchine più veloci del mondo sono sviluppate negli anni 70 ed 80 da Seymour Cray, considerato il padre dei supercomputers.
  • Alla CDC Cray progetta il CDC 6600, il primo supercomputer, questa macchina faceva 3 Megaflop (milioni di operazioni float al secondo) , aveva 400.000 transistor, ed era raffreddata con un circuito al Freon, il suo progetto era basato su idee innovative ed aveva 10 processori ausiliari dedicati all'I/O. Costava 10 milioni di dollari, e la CDC ne vendette un centinaio.
  • La CDC produce nel 1968 il CDC 7600, capace di 15 milioni di istruzioni al secondo
  • Nel 1974 Cray lascia la CDC e fonda la Cray Research, che produce il Cray I, con processore vettoriale, clock a 83 Mhz, parole di 64 bits ed e' capace di 166 Mflop, usa il CDC come front-end. Costa attorno ai 9 milioni di dollari, se ne vendettero una sessantina.
  • Anche senza Cray, la CDC continuo' a produrre supercomputer con la serie Cyber (computers vettoriali, a più processori), il Cyber 205 e' del 1981.
  • Il Cray-2 esce nel 1983, e' 10 volte più veloce del Cray-1, e' un computer a 4 processori, 1.9 gigaflop di picco.
  • Nel 1989 Cray lascia la sua ditta e fonda la Cray Computer Corporation, qui progetta il Cray-3, una macchina capace di 16 gigaflop, basata su circuiti che usano l'Arseniuro di Gallio invece del silicio, la macchina aveva un clock sul Ghz, a 64 bits, registri vettoriali, più processori. Ma la tecnologia dell'AsG si rivela più difficile del previsto, la macchina non viene mai terminata e la ditta fallisce. Cray muore in un incidente d'auto nel 1996.
  • Nel 1982 c'è il CRAY XMP, un computer parallelo progettato da Steve S.Chen, capace di 420 Mflops e con un sistema operativo Unix-like (UNICOS).
  • L'IBM produce il 3090, con processore vettoriale, nel 1985.
  • 1986 : Connection machine ( Thinking machine corp. ) un sistema a parallelismo massiccio, con 16.000 processori.
  • Il Cray T3D ( 1994 ) segue una nuova tendenza, e' un array di processori commerciali (max 2048 processori DEC alpha da 150 megaflop , in totale 300 Gflop ), e' un MPP, massive parallel computer. Il Cray T3E , del 1995 raggiunge il teraflop.
  • Successivamente i record di prestazioni sono detenuti da macchine costituite aggregando migliaia di processori. La Compaq, con dec alpha, l'IBM con RISC 6000, ed anche con processori Intel. Ci sono poche installazioni di questo tipo al mondo, costo 50-100 milioni di dollari, prestazioni teoriche di migliaia di Gigaflop.
CDC 7600
CRAY 1A  (1977)
CRAY T3E

I supercomputers degli anni 80 sono vettoriali, cioè con cpu dotate di appositi registri vettoriali per effettuare con una specie di pipeline operazioni matriciali velocemente.
I computer vettoriali possono lavorare 4-5 volte più veloci su calcoli che possano essere espressi in forma vettoriale, ma questo non e' sempre vero, e spesso per sfruttare bene le macchine bisogna riscrivere i programmi.

Analogamente i computers paralleli danno buone prestazioni su problemi adatti all'architettura della macchina, il problema deve essere formulato in modo opportuno ed il programma scritto di conseguenza. Inoltre sono sempre critici i collegamenti e le interazioni fra i processori.
Vengono proposte parecchie diverse architetture per queste macchine, si parla di SIMD ( single instruction, multiple data ) quando tutte le CPU eseguono lo stesso programma su dati diversi, di MIMD ( multiple instruction multiple data) quando le cpu eseguono programmi diversi.
I costi sono sempre enormi, i programmi devono essere scritti appositamente per le singole macchine per sfruttarne bene le caratteristiche; questi computer si collocano quindi naturalmente in un mercato di nicchia, mercato che, al dilagare dei mini computers e delle workstation grafiche, e' sempre più ridotto.

Nei grossi server invece si vede applicato un parallelismo diverso; e' abbastanza comune avere server con più di una cpu. In un sistema mono processore sono contemporaneamente attivi molti processi , e si alternano nell'uso della CPU, secondo code gestite dal sistema operativo. Nei multi-processori il sistema operativo assegna i processi in attesa alle diverse cpu ; e' il sistema operativo che impedisce conflitti fra le cpu, per accessi alla memoria condivisa ed uso di periferiche. Ogni processore esegue un processo diverso. Nelle macchine parallele su citate invece un solo programma e' eseguito da molte cpu contemporaneamente.


Negli anni 80 il calcolo e' dominato dai supercomputers, ma, contemporaneamente, si assiste allo sviluppo vertiginoso dei mini-computers, e questo rappresenta una svolta decisiva per l'informatica. La DEC, dopo il pdp 8 ed il pdp 11, produce i Vax, (1978, Vax 11/780 , 1 Mips fino alla serie 4000 ( 1990 ) da 10-30 Mips.) queste macchine, a 32 bits, possono indirizzare fino a 4 Gb di memoria ed hanno un sistema di memoria virtuale molto efficiente, il loro sistema operativo (VMS) permette multiutenza ed interattività, ha integrato un buon software di rete ( Decnet ) e le versioni successive utilizzeranno interfacce grafiche ( X11, Motif ). I costi, che partono da alcune decine di migliaia di dollari, sono relativamente bassi e le prestazioni non tanto distanti da quelle dei grossi computers. Queste macchine hanno uno sviluppo enorme, specie presso le università e gli enti di ricerca, ove ogni dipartimento poteva avere il suo sistema di calcolo.
Tutto questo contribuisce al declino dei supercomputers. Molto del lavoro che pochi anni prima si faceva nei grandi centri di calcolo viene ora svolto su Vax, a livello dipartimentale. Il Vax ha una diffusione enorme, specie nelle università e nei centri di ricerca. La Dec diventa il secondo produttore di computers dopo l'IBM.
DEC Vax 11/780 (1983)


Fra gli anni 1950-1970 si era andato affermando l'uso di interpreti, abbinati alla CPU, che decodificavano istruzioni complesse in termini di istruzioni elementari ( microistruzioni ). Spesso istruzioni implementate in hardware nel modelli più costosi erano interpretate nei modelli più economici Un esempio e' il motorola 68000, con un grosso set di istruzioni interpretate e memorie dedicate veloci, read only, che contenevano l'interprete ( control stores).

Negli anni 80 si assiste all'introduzione di istruzioni sempre più complesse e sempre più implementate in hardware. L'esempio estremo era l'architettura VAX, che aveva 2-300 istruzioni, con molti modi diversi di specificare gli operandi. ( si parla di CISC : complex instruction set ).

Ma mentre le macchine CISC diventavano sempre più complicate, con un hardware sempre più complesso, inizia un'altra tendenza:
nel 1980 un gruppo di Berkeley ( David Patterson, Carlo Sequin ) progetta una cpu, su un circuito VLSI, senza interprete, con poche istruzioni. Questo processore viene chiamato RISC ( Reduced Instruction Set ) Nel 1981 a Stanford John Hennessy crea la cpu MIPS, anche questa senza interprete.

Il fatto di non avere interprete e solo una cinquantina di istruzioni semplici permette un disegno più efficiente della CPU, e si possono facilmente organizzare le diverse fasi di un calcolo ( come fetch degli operandi dalla memoria, operazione, store degli operandi nella memoria) in pipelines: in modo cioè che le fasi possano essere eseguite in contemporanea come in una catena di montaggio, su dati diversi. Si assistette ad un gran dibattito accademico fra i sostenitori delle architetture CISC e RISC, ma siccome in un programma le istruzioni complesse sono usate relativamente poco e per la maggior parte del tempo la cpu esegue istruzioni semplici, le architetture RISC risultano più performanti.

Bel 1982 Andy Bechtolsheim, Vinod Khosla, Scott Mc Nealy e Bill Joy, che avevano lavorato su Unix a Berkeley, fondano la SUN. Il computer SUN-1 usa CPU Motorola 68020, ed e' una workstation fatta per lavorare in rete, con sistema Unix, ethernet e tcp/ip. Nel 1987 la SUN adotta il processore SPARC,