Articolo pubblicato sul n. 84 di MCmicrocomputer (Edizioni Technimedia Srl - Roma) nell'aprile 1989

MCmicrocomputer


La Intel lancia una nuova famiglia di processori “non-solo-Risc”
dalle caratteristiche a dir poco stravolgenti ...

80860: il RISC della Intel

di Andrea de Prisco  

Se tre o quattro anni fa vi avessero parlato di un nuovo microprocessore capace di eseguire 120 milioni di operazioni al secondo, sicuramente avreste dato del matto al vostro malcapitato interlocutore. E se vi avessero parlato di integrazione su un singolo chip di ben un milione di transistor cosa avreste pensato? Oppure della implementazione, sempre sullo stesso chip, di una unità indipendente di calcolo grafico tridimensionale capace di calcolare in un secondo ben Copertina del numero di MCmicrocomputer contenente l'articolo50000 poligoni costituenti una superficie 3D, tenendo conto dell'ombreggiatura generata da una sorgente di luce e delle superfici nascoste del vostro oggetto 3D?

Siamo oggi all'aprile 1989 e non sappiamo se in questo momento qualche lettore stia o meno pensando che abbiamo aperto una nuova rubrica di fantascienza su MC.

Nossignori, si tratta questa volta di Scienza, quella vera e con la 'S' maiuscola, per la precisione di Informatica. Il nuovo chip su cui abbiamo fantasticato esiste sul serio, funzionante, ed è la nuova carta giocata dalla Intel, il più grande costruttore mondiale di microprocessori. E non crediamo proprio che Intel possa essere un nome nuovo a nessuno dei lettori di MC. Basta pensare a tutti i compatibili IBM (compresi i vari Compatibili, vecchi e nuovi, prodotti da big blue) e al loro piccolo cuoricino. 8088, 8086, 80286, 80386 sono tutte creature Intel ed hanno letteralmente invaso il mercato dell'office automation. Se non fosse per i Mac a tutt'oggi in circolazione (vivi e vegeti anche loro, invero) che, come noto, «montano» Motorola, lo share dell'installato sicuramente sarebbe stato prossimo al 100%. Ma non dobbiamo parlare né del passato, né del presente. Parliamo invece del futuro (semplice) di questa nuova creatura appena nata che stravolgerà, crediamo, un bel po' di settori informatici. L'oggetto come detto è già esistente e funzionante e sarà consegnato a partire dal terzo trimestre di quest'anno. Crediamo di aver stuzzicato fin troppo la vostra curiosità al riguardo: basta con i preamboli e andiamo ad incominciare.

 

Supercomputer

 

Come già detto nell'introduzione, le performance ottenute dal nuovo chip Intel, non hanno niente a che vedere con i microprocessori attualmente in circolazione. Performance dell'ordine di 33 VAX MIPS, 80 megaflops, 120 MOPS (nuova unità di misura coniata apposta da Intel per l'80860). 86000 dhrystone/secondo, calzano più a pennello se riferite a un supercomputer, anche se «di quelli piccoli». Già ma cosa si intende oggi per supercomputer?

Negli anni '70 l'utilizzo di potenze di calcolo «hi-speed» era limitata solo ad un piccolo numero di applicazioni come la fisica nucleare o aerodinamica, principalmente nei laboratori di stato. A quei tempi il supercomputer per eccellenza, il Cray 1 (1976), era già in grado di calcolare 180 milioni di operazioni in Floating Point (FP, per brevità) al secondo (180 MFLOPS). Oggi esistono macchine che operano anche fino a 1200 MFLOPS. Per fare un esempio, tanto insignificante quanto entusiasmante, un PC IBM «vola» a soli 0.06 MFLOPS (fonte Intel). Per questo genere di macchine, aggiungiamo che il prezzo oscilla tra 2.5 e 20 milioni di dollari. Poi, un primo importante passo avanti: nella prima metà degli anni '80 nascono i cosiddetti «mini-supercomputer». Prestazioni più modeste rispetto ai «genitori» (fra i 50 e i 100 megaflops), ma con un costo compreso tra gli 0.1 e 1.5 milioni di dollari. Ancora troppo, certo, ma almeno alla portata non solo dei dipartimenti di difesa, ma anche delle aziende medio-grandi.

Capitolo a parte fanno invece le ben note workstation grafiche 3D, sistemi capaci di raggiungere per tali applicazioni performance tipiche dei supercomputer usando più processori e mettendo a disposizione capacità grafiche tridimensionali interattive. Il prezzo è compreso tra 65 e 150 k-dollari. Altre soluzioni economiche atte al raggiungimento di prestazioni tipiche dei supercomputer sono rappresentate dagli «application accelerator» che possono essere aggiunti a mainframe, minicomputer e spesso anche a computer desktop.

Dal potente mainframe magari distribuito in più stanze si è passati al minisupercomputer, alle stazioni grafiche e alle schede acceleratrici. Volevate che «il passo successivo» non fosse ancora una volta (come è già successo per altri campi) l'integrazione su singolo chip?

Non solo tale miracolo è awenuto, ma grazie al basso costo ottenuto appunto dalla spinta integrazione, si prevede un radicale cambiamento del mercato supercomputer.

Provate ad immaginare un desk top (offerto per appunto a prezzo «desktop») che esegue calcoli decine di volte più velocemente delle attuali macchine. Se volete pensate pure ad applicazioni tecnico scientifiche, ma non solo a quelle, come la simulazione, l'animazione grafica tridimensionale, il calcolo vettoriale ad alta velocità, direttamente disponibili sulla vostra scrivania.

 

Il chip 80860

 

L'lntel 80860 è il primo microprocessore a 64 bit disponibile sul mercato (per fare un confronto al volo, anche il Cray ha una architettura a 64 bit, ma quello non è un “microprocessore”... ). Esso è idealmente adatto per workstation tecnico scientifiche, workstation grafiche e sistemi mini supercomputer, oltre ad essere, volendo, anche una CPU generai purpose. Specialmente in questi tempi, dove la grafica è usata massiccia mente anche nei programmi gestionali: ad esempio, che ne direste di uno spreadsheet che visualizza in tempo reale, man mano che introducete i dati o cambiate i parametri in gioco, un grafico 3D (ottimamente interpolato e ... illuminato) costruito sulla base dei risultati delle vostre tabelle?

Non so a voi, ma a me già mi si accappona la pelle ...

Dire poi che si tratta solo di un RISC è poco. Il nucleo integer usa sì tecnologie RISC, ma è solo una piccola parte del chip (circa un terzo). La rimanente parte è usata per il FP adder il FP multiplier, le due memorie cache, la MMU, il controllo bus e il «coprocessore)) grafico.

L'80860 è a tutti gli effetti un “full processor” e non un coprocessor anche se, ovviamente, per alcune applicazioni questo chip può essere usato come un coprocessor o acceleratore per sistemi esistenti.

È chiaro inoltre che la famiglia i860 non rimpiazzerà certo quella dei processori 80x86 (il mercato dell'office automation richiede, ahinoi, il 100% di compatibilità), ma in un certo senso gli si affiancherà. A conferma di ciò la Intel ha già annunciato il (plurisubodorato) 80486, anch'esso a base di un milione di transistor, semplicemente due-tre volte più veloce del “fratellino” '386. La stessa Intel ha dichiarato inoltre (anticipando una sorta di confronto “impossibile”) che 1'80486 eseguirà applicazioni DOS, Windows, Unix 386 e OS/2 più velocemente dell'80860 e di qualsiasi altro processore RISC, mentre, il nuovo nato, elaborerà applicazioni “supercomputer” più velocemente dell'80486 e qualsiasi altro (attuale, ndadp) microprocessore al mondo. Questo finto “gatto che rincorre la coda” non fa che confermare quanto strillato dal sottoscritto in Appunti di Informatica più di un anno fa, a proposito del fatto che ogni processore può essere «the best» solo relativamente alle applicazioni (al tipo di programmi) per i quali è stato progettato. Questo, del resto, non è affatto nuovo; accade ugualmente per qualsiasi altro campo prendiamo in considerazione: automobilistico, fotografico, subaqueo, sciistico, ecc. ecc.

 

80860: note tecniche

 

Grazie alla integrazione sul singolo chip di varie componenti eterogenee come il coprocessore grafico, il coprocessore matematico, la MMU, la logica di controllo bus e la cache memory, i cosiddetti «colli di bottiglia)) tipici di CPU che devono dialogare con periferiche esterne sono praticamente eliminati.

L'80860 (vedi figg. 1 e 2) ha un bus esterno a 64 bit e diversi bus interni a 32, 64 e perfino 128 bit. Può caricare così due istruzioni a 32 bit nello stesso ciclo di clock e inviarle alle unità (distinte) intera e FP per l'esecuzione in parallelo. Il bus di indirizzamento esterno è a 32 bit e può dunque indirizzare ben 4 giga di memoria principale. La MMU (interna al processore, come detto) implementa la paginazione ed è compatibile con la page table structure dei processori 80386 e 80486. In un solo ciclo di clock (queste sei parole le sentirete molte volte in questo testo, parola di RISC!) la MMU realizza la traduzione da indirizzo logico ad indirizzo fisico e controlla le violazioni di accesso. Lo schema di protezione degli accessi, naturalmente, tiene conto dei privilegi dell'user level e del supervisor level.

Il nucleo RISC a 32 bit dell'80860 esegue istruzioni integer a velocità mai viste prima: è in grado di eseguire una istruzione intera per ciclo di clock usando una architettura pipeline a quattro stadi: Fetch, Decode, Execute e WriteBack. Come discusso in Appunti di Informatica, con lo schema di funzionamento pipeline dei processori (più furbi ... ) nonostante ogni operazione richieda più cicli di clock (quattro nel nostro caso), un nuovo risultato è prodotto ogni ciclo di clock.

All'interno dell'unità Floating Point trovano posto due separate sub-unità di addizione FP e moltiplicazione FP a 32 64 bit. Ogni sub-unità utilizza anch'essa una architettura pipeline e, come per le operazioni intere, può fornire un risultato ogni ciclo di c10ck (33 MHz nella versione attuale, 40 e più in quelle rilasciate a fine 89). Scusate, ma a questo punto mi fermo e faccio, in ginocchio, un minuto di raccoglimento ...

Se vi dicessi che finiscono qui le caratteristiche del nuovo processo re già sarebbero stupefacenti, ma... non finiscono qui. Qualora i risultati finora ottenuti vi sembrassero scarsi, a livello di linguaggio macchina, speciali istruzioni «dual operation» permettono l'esecuzione parallela di operazioni di addizione FP e moltiplicazione FP. È così possibile ottenere due risultati Floating Point per ogni ciclo di clock.

Ancora, l'unità FP supporta il calcolo vettoriale. Come noto, nel calcolo vettoriale, loop di operazioni scalari sono eseguite su intere liste di numeri. Ovviamente queste operazioni non devono contenere interdipendenza tra i dati e quindi possono sfruttare al massimo l'esecuzione pipeline dell'unità FP. Attraverso una combinazione di HW e SW, le unità FP adder e FP multiplier dell'80860 possono funzionare come unità vettoriali (pipelined) ad alta velocità.

Oltre al parallelismo interno all'unità FP, l'architettura parallela dell'Intel 80860 permette alle unità integer e Floating Point di operare simultaneamente. Le due unità sovrappongono l'overhead relativo al data fetching, al data storing e al loop control. Ogni unità ha (e ci mancherebbe altro) un proprio set di 32 registri a 32 bit. La FP unit, può configurare i suoi registri come 16 da 64 bit o 8 da 128 bit (figura 3) .

Riassumendo (e non abbiamo ancora finito) grazie al parallelismo interno, l'80860 può dunque eseguire una operazione intera e due FP (una moltiplicazione e una addizione) per ciclo di clock.

Queste sono le testuali parole di (permettetemi) mamma Intel e, a scanso di equivoci, vanno prese con le dovute cautele. Diciamo che 1'80860 è effettivamente in grato di elaborare in parallelo, e per ogni ciclo di clock, tre operazioni distinte, ma non tre operazioni qualsiasi (e indipendenti). Nella fattispecie il «miracolo» si realizza quando dobbiamo eseguire una sequenza di somme di prodotti FP più un'altra sequenza di addizioni intere. La seconda infatti può essere eseguita indipendentemente dall'unità RISC, mentre la prima, per come è costruito il chip avviene in modalità pipeline anch'essa. Essendo unico il bus risultati delle due subunità FP, non possiamo ottenere contemporaneamente due risultati indipendenti, ma solo dirottare il risultato della moltiplicazione come addendo della somma e far uscire il risultato di quest'ultima sul bus d'uscita della FPU. In pratica eseguendo una sequenza di somme di prodotti, ad ogni ciclo di c1ock, l'unità adder eseguirà l'i-esima somma mentre l'unità multiplier la (i+ 1 )esima moltiplicazione. Ciò è mostrato, ad esempio, in figura 4. Se invece le operazioni da compiere erano «A+8» e «C*D» ... e basta, non avremmo potuto utilizzare le due' unità per ottenere contemporaneamente i due risultati disponibili in uscita.

Naturalmente l'elaborazione parallela può essere controllata da programma per permettere massima flessibilità nella stesura dei programmi in LM. Poi si vedrà se i vari compilatori di linguaggi ad alto livello saranno parimenti in grado (e lo saranno sicuramente) di fornire codice oggetto particolarmente ottimizzato per il nuovo nato.

Tornando un attimo sul calcolo vettoriale, 1'80860 processa tali tipi di dati in un modo completamente nuovo (ed economico). Invece di usare istruzioni vettoriali, 1'80860 fa funzionare l'unità intera in parallelo con l'unità FP muovendo dati dentro e dalle sub unità PF adder e FP multiplier. All'uopo, la memoria cache (interna come TUTTO!) può venir usata come banco di registri vettoriali per dati che vengono utilizzati molte volte.

In tutto fa cache memory assomma alla bellezza di 8 Kbyte di memoria associativa per i dati e 4 Kbyte per le istruzioni. La velocità di trasferimento cache-unità raggiunge 960 megabyte per secondo.

 

Mandelbrot mon amour

 

Alla conferenza stampa Intel tenutasi a Milano il 3 marzo u.s. era ovviamente presente anche Sua Maestà 80860 sia nudo, crudo e ... aperto (vedi foto) sia montato su una scheda acceleratrice a sua volta installata in un IBM AT. Tale scheda contiene oltre al processore anche una sufficiente quantità di RAM e una interfaccia video grafica per visualizzare quanto elaborato (interamente sulla scheda). Mentre l'operatore «smanettava» sulla tastiera, sul video apparivano in rapida sequenza (una ogni due-tre secondi) delle belle immagini dell'insieme di Mandelbrot. diciamo 640x400 in (almeno) 16 colori. Non ho avuto infatti il tempo di contare né questi né i pixel. Mentre osservavo e fotografavo, mi chiedevo quanto tempo avevano impiegato e per calcolare ognuna di quelle schermate, che presumevo venissero caricate una per una da disco rigido. Infatti, far vedere immagini senza dirci nulla di più, come demo mi sembra un po' poco, anche perché potevano benissimo essere state calcolate dall'AT in persona invece che dal mostro (insomma, puzza di bluff). Poi osservando meglio video e operatore, l'agghiacciante realtà: il disco rigido non conteneva affatto immagini (o comunque non venivano caricate), ma queste erano calcolate e tracciate davanti ai nostri occhi in tempo reale. L'operatore infatti con i tasti cursore spostava sul video un piccolo rettangolino quasi invisibile e battendo return il programma zoomava su quella porzione. E continuava imperterrito a zoomare senza il minimo contegno. Ed io che quattro anni fa passavo le ore notturne davanti al 64 che calcolava una, dico una, sola immagine. 64 che, tra l'altro, avevo pagato più dei 750 dollari richiesti oggi per quel chip. Che schifo!!!

 

Conclusioni

 

Come la stessa Intel ha dichiarato, la CPU i860 è il primo prodotto disponibile in commercio integrante più di un milione di transistor, circa quattro volte la quantità contenuta nei microprocessori della generazione corrente. Esso è stato progettato per sistemi multiprocessing ad alta velocità, workstation e sottosistemi grafici tipicamente tridimensionali. Il livello di integrazione e di prestazioni fornito da questo chip rende disponibile la potenza di un supercomputer a chiunque possa permettersi un computer desktop. Il processore 80860 è ottimizzato per applicazioni ad alto contenuto di calcolo e che richiedono la vi-sualizzazione interattiva di immagini grafiche tridimensionali come la fluidodinamica, modellistica molecolare, analisi strutturale o modellistica econometrica.

Nell'augurio di non dover aspettare molto prima di vedere una macchina (o, meglio, una famiglia) basata sul nuovo processore (Olivetti tra i primi). non possiamo non riconoscere che le caratteristiche di questo oggetto sono tali e tante che sicuramente avremo di che parlare nei mesi, ed anni, a venire. Non senza però rivolgere le nostre attenzioni anche all'agguerrita concorrenza.

Vedremo.  


Impaginato originale...


Clicca per ingrandire... Clicca per ingrandire...
Clicca per ingrandire... Clicca per ingrandire...
Clicca per ingrandire...  

Articolo pubblicato su www.digiTANTO.it - per ulteriori informazioni clicca qui