MMX: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Maeror (discussione | contributi)
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 5:
Si è supposto che MMX fosse l'acronimo di '''M'''ulti'''M'''edia e'''X'''tensions o di '''M'''ultiple '''M'''ath e'''X'''tension, sebbene ufficialmente [[Intel]] non abbia mai specificato il significato della sigla.
 
Per semplificare la progettazione gli ingegneri Intel decisero di preservare la vecchia architettura alla quale venne aggiunta l'unità MMX che operava tramite un cambio di contesto del processore. L'unità MMX utilizza i registri IA-32 della [[Floating Point Unit|FPU]]. Questa infelice scelta progettuale impediva di utilizzare istruzioni in virgola mobile e istruzioni MMX contemporaneamente. Quando il processore incontrava istruzioni per la FPU doveva salvare i dati MMX per eseguire le istruzioni dell'FPU. Per massimizzare le prestazioni i programmatori utilizzavano il processore in ununo solo dei due modi possibili, isolando le parti MMX che venivano eseguite in modo esclusivo in modo da evitare il più possibile i lenti cambi di contesto.
 
Un altro difetto delle istruzioni MMX è che erano istruzioni in grado di operare solo su dati interi. I registri a 64 bit della FPU venivano utilizzati per memorizzare 2 dati a 32 bit oppure 4 dati a 16 bit o 8 dati a 8 bit. Nell'architettura del i860 l'utilizzo di questi vettori formati da dati interi era sensato dato che questi vettori venivano utilizzati per la grafica 2D e 3D. Ma nei personal computer moderni la grafica viene gestita dalla [[scheda grafica]] e quindi il mancato supporto delle operazioni in virgola mobile rappresenta una grave mancanza.