MMX è una nuova architettura sviluppata
da Intel per fornire direttamente le funzioni multimediali di base tramite
la CPU. In pratica si tratta di una estensione della precedente architettura
Intel ottenuta con l’aggiunta di 57 nuove istruzioni. Gli effetti di questa
operazione potranno avere una portata piuttosto rilevante per gli utenti,
sia in ambito professionale che consumer. L’introduzione di CPU MMX (le
prime sono della famiglia Pentium) comporta infatti la possibilità
per la CPU di gestire parte delle funzioni svolte prima da schede add-on
come quelle audio (per esempio per la sintesi di musica), di decodifica
MPEG, riconoscimento e compressione della voce, video conferenza ecc. Serve
comunque un ridotto hardware esterno, per esempio direttamente sulla motherboard,
ma in tal modo possono però essere sfruttati anche alcuni elementi
standard del PC (per esempio la memoria) per le funzioni multimediali,
senza costose duplicazioni.
La tecnologia
L’introduzione della tecnologia MMX può
essere paragonata per importanza a quella avutasi nel passaggio tra le
CPU 286 e 386. In quell’occasione infatti vennero fatte le ultime aggiunte
al set di istruzioni prima dell’MMX. Tutti i processori 386, 486, Pentium
e Pentium Pro di fatto eseguono lo stesso set di istruzioni del 386. Le
57 istruzioni aggiuntive MMX diventano quindi a tutti gli effetti una parte
integrante dell’architettura Intel e i produttori, sia a livello hardware
e soprattutto software ne dovranno tenere conto.
Dal punto di vista della compatibilità
hardware. i Pentium, MMX si possono inserire nei normali zoccoli per CPU
Pentium, dato che hanno la stessa piedinatura, ma non è detto però
che tutte le motherboard supportino la nuova CPU. Per verificare la compatibilità
occorre infatti controllare la lista delle CPU supportate sul manuale della
motherboard e accertarsi che siano supportate le CPU P55C (questa infatti
è la sigla dei nuovi Pentium MMX mentre quella dei precedenti Pentium
era P54C).
Esistono infatti delle diversità, per
esempio a livello di tensione di alimentazione del core della CPU. Mentre
la tensione di interfacciamento con l’esterno dalla CPU è infatti
di 3,3 V, il core funziona invece a 2,8 V (2,45 V per la versione per notebook).
Anche a livello di architettura interna, i nuovi Pentium MMX offrono delle
caratteristiche leggermente diverse da quelle dei Pentium tradizionali,
e non solo a causa delle nuove istruzioni presenti.
La cache, per esempio, risulta raddoppiata rispetto
a quella dei Pentium, e quindi sono presenti 32 Kbyte. In pratica si tratta
di un ulteriore potenziamento dell’architettura del Pentium in modo da
ottenere migliori performance a parità di frequenza di clock (dal
10 al 20% secondo Intel rispetto alla tecnologia non MMX).
Le prime versioni disponibili di Pentium MMX
sono quelle a 200 MHz di clock per i desktop a 166 MHz per i notebook.
Entrambe le versioni sono realizzate con tecnologia CMOS a 0,35 micron.
Dal punto di vista della compatibilità
software invece non dovrebbero sussistere particolari problemi: se i programmi
disporranno delle librerie o della parte di codice per sfruttare le istruzioni
MMX ricorreranno a queste per determinate funzioni, altrimenti utilizzeranno
quelle normali scritte per il set di istruzioni della precedente architettura
Intel e utilizzeranno le librerie e i driver delle specifiche schede e
periferiche multimediali, se installate.
Per l’utente la cosa sarà trasparente
se non per le prestazioni raggiungibili. Intel dichiara infatti che le
nuove istruzioni, anche se di carattere generale, permettono di migliorare
le performance delle parti di programmi più critiche per applicazioni
multimediali e di comunicazione.
Secondo una stima Intel infatti queste istruzioni
costituiscono il 10% del programma, ma richiedono il 90% del tempo necessario
all’esecuzione.
In sintesi, le nuove istruzioni MMX, grazie anche
alla tecnica SIMD (Single Instruction Multiple Data), elaborano i dati
in parallelo alle altre, migliorando l’efficienza del sistema. Sono stati
aggiunti inoltre 8 nuovi registri a 64 bit apposta per le istruzioni MMX
e 4 nuovi tipi di dati.
Per interfacciare le istruzioni MMX con i sistemi
operativi inoltre vengono usate le stesse tecniche adottate per l’architettura
floating point, in modo da non introdurre informazioni su nuovi stati o
eccezioni.
Sempre secondo Intel, i vantaggi ottenibili in
termini di performance dall’architettura MMX, in base ai dati preliminari,
sono quantificabili dal 50% a 400% a seconda del tipo di applicazione.
Sul versante del software, le operazioni per
implementare le nuove istruzioni non sembrano particolarmente complesse.
In pratica dovrebbe bastare da parte delle software house una modifica
alla parte del codice interessato, includendo delle routine aggiornate
o richiamando quelle dei driver e delle librerie che impiegano la tecnologia
MMX attraverso le API. Una volta approntate queste modifiche inoltre non
dovrebbe più essere necessario riottimizzare il codice in futuro.
Le implicazioni
In pratica la strategia Intel è sempre
la stessa: standardizzare e scalare. Per ora infatti la tecnologia MMX
viene adottata solo per le CPU Pentium, ma una volta diventata standard
anche a livello di mercato, passerà anche su quelle Pentium Pro
e presumibilmente anche alle successive in modo da assicurare la compatibilità
con i precedenti prodotti. Le prospettive aperte dalla tecnologia MMX sono
molto interessanti per gli utenti, ma ci si aspettano dei cambiamenti anche
per diversi produttori. L’introduzione di funzioni multimediali di base
su tutti i PC dovrebbe probabilmente costringere a un riposizionamento,
in termini di prodotti e strategie, di molti produttori specializzati in
schede e periferiche di questo tipo. Uno degli scenari più probabili
sarà quello in cui i produttori di schede multimediali si rivolgeranno
verso il segmento più alto del mercato, dove comunque sono richieste
performance e funzionalità superiori a quelle ottenibili dalla tecnologia
MMX, mentre tutte le macchine, anche quelle entry level, potranno disporre
di funzioni multimediali grazie alla tecnologia MMX.
|