View Full Version : [Asmx86]Mmx, Sse, Sse2, Sse3, 3dNow!
Quando sono utili queste estensioni e quanto influenzano le performance della CPU?
Fenomeno85
06-09-2004, 13:06
dovrebbero influenzare di molto se utilizzate appropriatamente, ottimizzando il codice :)
~§~ Sempre E Solo Lei ~§~
AnonimoVeneziano
06-09-2004, 13:08
Le SIMD in genere servono per le applicazioni multimediali , perchè permettono di eseguire operazioni su + dati in una sola operazione (tipica situazione per una applicazione multimediale è proprio quello di eseguire tante operazioni contemporaneamete ) .
Diciamo che se vuoi fare un programma che scrive una riga di testo a schermo non servono a un tubo :D
Ciao
si ma in che target si infilano?
Io penso calcolo scentifico, grafica 3d, giochi......sbaglio?
E usarli normalmente nei propri programmi?
Nella grafica vengono usate per operare sui pixel in modo parallelo. Immagina di dover cambiare la saturazione di una foto. Le operazioni da effetturare su ogni pixel sono le stesse quindi con istruzioni come sse puoi cambiare 8, 16, 32 pixel per ogni ciclo di clock.
In player multimediali dove viene usato per convertire da rgb in yv12. Per decodificare divx, mp3 ma anche per comprimere in questi formati.
In applicazioni 3d come cad o modellazione/rendering oppure giochi sono usate per operare sulle matrici. Il principio è lo stesso di prima quando sommi/moltiplichi una matrice per dei vettori magari per ruotare un oggetto si fa molto prima calcolando in parallelo piu vertici.
Poi ci sono alcune istruzioni piuttosto carine che permettono di indicare al processore cosa tenere in cache L1 o L2 e cosa scartare oppure cosa andare a precaricare mentre il procesore sta lavorando.
Oltre a applicazioni settoriali si possono usare anche in programmazione normale, in giro ci sono alcune versioni di memcpy e memset implementate tramite sse/3dnow che polverizzano le versioni standard. Non ho mai fatto prove ma spesso si parla di funzioni due o 3 volte piu veloci di quelle normali.
ciao ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.