Articolo pubblicato sul n. 170 di MCmicrocomputer (Edizioni Technimedia Srl - Roma) nel febbraio 1997
Anteprima: Tutti i fans di Calimero (piccolo e nero... uffa, pero'!) ovvero chi, come il sottoscritto, ha un'abbondante trentina d'anni e a fine anni sessanta andava a letto dopo Carosello, ricorderanno certamente la pubblicita' di una nota casa petrolifera che lasciava intendere (agli sprovveduti) che utilizzando il suo carburante l'autovettura - magicamente! - sarebbe diventata piu' agile e scattante. Come "un tigre". Intel annuncia MMX, l'estensione multimediale del suo Pentium (d'ora in poi si chiamera' Pentium MMX) e l'ha fatto, in Italia in quel di Milano, nel corso di una roboante conferenza stampa presso il Museo della Scienza e della Tecnica. Semplificando al massimo, MMX e' una sorta di coprocessore aritmetico-parallelo (una sottounita' SIMD, single instruction multiple data path, capace ovvero di eseguire parallelamente la stessa operazione su piu' dati in ingresso, fino ad otto somme o moltiplicazioni ad esempio) integrato all'interno dei nuovi chip. Per garantire la massima compatibilita' col passato (a furia di garantismi abbiamo gettato quasi dieci anni di vita informatica per ottenere un "vero" sistema operativo a 32 bit sulle nostre macchine PC) la nuova unita' di elaborazione multimediale si sovrappone, dal punto di vista logico, al coprocessore matematico ed utilizza i medesimi registri a 64 bit per il "passaggio" dei dati. In tutto 57 nuove istruzioni riguardanti il trasferimento e la manipolazione di questi ultimi, funzioni aritmetiche, logiche, di shift, comparazioni, effettuabili simultaneamente su insiemi di dati, otto valori da 8 bit l'uno, impacchettati nei registri a 64 bit dell'unita' floating point. Alla luce del nuovo annuncio, proviamo a fare un po' di "avantologia", soffermandoci su alcune considerazioni. In primo luogo, a conferma del fatto che la compatibilita' col passato (a fronte di irrinunciabili vantaggi) porta sempre con se' una buona dose di problemi intrinsecamente connessi, un'unita' che prende il posto di un'altra unita' non puo', ovviamente essere utilizzata contemporaneamente alla prima. La sezione MMX, come detto, e' una parte a se' stante: dal punto di vista logico, quando e' attiva, prende il posto dell'unita' floating point e utilizza i suoi stessi registri. In altre parole, il programmatore che intende utilizzare le estensioni multimediali (le cinquantasette nuove istruzioni) deve momentaneamente dimenticare il coprocessore matematico. E visto che l'attivazione/disattivazione (mutuamente esclusiva) delle due unita' impegna la CPU per molti cicli di clock, e' impensabile saltare continuamente dall'uno all'altro "mondo". Sara' necessario programmare oculatamente il software per evitare continue trasmigrazioni di stato: calcolare tutto il calcolabile con la FPU, passare al mondo MMX (elaborazione SIMD - prevalentemente - di dati grafici e sonori finche' possibile), riattivazione del coprocessore matematico e cosi' via. La seconda considerazione riguarda la pessima figuraccia che (gli stessi uomini Intel, stando alle loro dichiarazioni) stanno facendo fare al "vecchio e malandato" Pentium. Nel corso della conferenza stampa, mentre noi giornalisti ci lucidavamo l'anello al naso per fare piu' bella figura, venivano (finalmente) mostrati i limiti del processore piu' venduto al mondo e il tono era, francamente, del tipo: "Utenti miei, mi dispiace, ma dovete ricominciare tutto da capo!" Simpatica, poi, la "sonora" cantonata nel corso della presentazione dei nuovi microprocessori Intel: a un certo punto hanno eseguito un file MIDI utilizzando una macchina Pentium MMX "dichiaratamente" senza hardware aggiuntivo: forse quelle belle note che sentivamo nella sala erano un'abile modulazione della velocita' di rotazione della ventola di raffreddamento del microprocessore. Senza hardware aggiuntivo? E dov'era stata collegata l'amplificazione? Altra chicca della mattinata e' stato "l'inspiegabile" collegamento, in videoconferenza, con la sede Intel di Monaco. Chi ha un po' di dimestichezza con questi sistemi, sa perfettamente che, con le linee telefoniche di mezzo, la potenza e le caratteristiche ultravelocistiche del microprocessore utilizzato sono di ben poco conto: basta una potenza di calcolo medio-alta, senza il bisogno di scomodare tecnologie futuribili. E quant'e' vero che la legge di Murphy non concede eccezioni, nel bel mezzo del singhiozzante videodialogo, l'uomo Intel di Monaco ha avvicinato la mano alla sua telecamerina e ha iniziato a contare con le dita e con la voce: one... two... (silenzio mentre le dita erano gia' tre)... poi si e' sentito un mezzo "four" e alla silenziosa visione delle cinque dita completamente aperte il collegamento e' stato giustamente interrotto prima che la situazione peggiorasse ulteriomente: the show must go on! Ma la ciliegina sulla torta e' arrivata, in verita', assieme alla dimostrazione di quella folgorante tecnologia che permette di esplorare ambienti tridimensionali volgendo, via mouse, il nostro sguardo a destra o a sinistra, in alto o in basso dentro una finestra posizionabile in qualsiasi punto di un'immagine panoramica a 360 gradi. Complimenti per la trasmissione! In Intel forse non hanno mai sentito parlare di QuickTime VR (o forse la conoscono fin troppo bene...), la tecnologia Apple che effettua lo stesso giochetto senza coprocessori paralleli aggiuntivi, semplicemente sfruttando l'intrinseca potenza di calcolo dei suoi processori RISC (PowerPC, anche con i primi esemplari 601 ad appena 60 MHz!). All'uopo date uno sguardo al riquadro "MMX vs PowerPC": si tratta di prove effettuate dalla rivista tedesca CT Magazine (piu' di trecentomila lettori...) che ha messo a duro confronto le reali capacita' di calcolo delle due architetture. Vi rigiriamo i risultati senza ulteriori commenti da parte nostra. Una cosa e' certa: ne vedremo e ne udiremo proprio delle belle! Riquadro
MMX vs PowerPC Il salto nell'iperstrazio
Un proverbio informatico dice grossomodo cosi': il benchmark non dicono bugie, ma i bugiardi li utilizzano. Quando si ha a che fare con i benchmark e' facile (far) capire fischi per fiaschi ed e' necessaria, come sempre, la dovuta cautela. In questo caso abbiamo i test effettuati dalla rivista tedesca CT Magazine che ha messo a duro confronto l'architettura Intel MMX contro PowerPC, la piattaforma RISC utilizzata principalmente da Apple per i suoi Power Macintosh. La Grande Sfida e' stata disputata su un triplice fronte: applicazioni ottimizzate per le due piattaforme (come Photoshop della Adobe), codice C e linguaggio macchina (per MMX) riguardante un algoritmo di interpolazione bilineare. Ed e' stato rilevato che:
1) L'architettura Pentium MMX e' significativamente piu' performante del Pentium "liscio" (dovremmo forse dire che il secondo e' tremendamente piu' lento del primo?) quando e' utilizzato codice straottimizzato per primo (linguaggio macchina tout court)
2) Il PowerPC 604e a 150 MHz, nell'esecuzione di codice C standard e' il 10 per cento piu' veloce del Pentium MMX a 200 MHz (diconsi duecento!) quando questo esegue codice ottimizzato scritto e pensato in linguaggio macchina senza l'uso di compilazione mentre e' quattro volte piu' rapido quando MMX esegue codice C standard (capperi!)
3) En passant anche rispetto al Pentium Pro 200 il PowerPC 604e/150 e' circa il doppio piu' veloce (olive!)
4) Il "piccolo" PowerPC 603e a 200 MHz e' circa tre volte piu' veloce del Pentium MMX nell'esecuzione di codice C standard e circa il 50 per cento piu' veloce del gigante Pentium Pro, sempre a 200 MHz.
5) Last but not least, il PowerPC 603e a 200 MHz, nell'esecuzione di codice C standard, e' solo il 20 per cento piu' lento di un Pentium MMX quando questo esegue codice in linguaggio macchina ottimizzato scritto a mano per la sua architettura, ma costa (come chip) molto meno. Articolo pubblicato su www.digiTANTO.it - per ulteriori informazioni clicca qui |