MMX rediviva grazie a Larrabee?

MMX rediviva grazie a Larrabee?

Il progetto multicore per calcolo parallelo al quale Intel sta lavorando potrebbe essere basato su una sorta di riedizione dell'architettura MMX

di pubblicata il , alle 12:17 nel canale Processori
Intel
 
22 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
blackshard03 Luglio 2007, 14:13 #21
Originariamente inviato da: Lyane
Non e' stato tolto nulla. Rif. AMD64 Architecture Programmer’s Manual Volume 5:
64-Bit Media and x87 Floating-Point Instructions (Pub. 26569, Rev 3.04 - Sep/2003).

Se interessa spiego perche' non sono state tolte.


Allora penso che filippo1974 intendesse dire che privilegiano l'uso di SSE nelle operazioni scalari comuni come addizione, sottrazione, etc..

Mi sembrava proprio strano che invece si abolissero le istruzioni fpu rinunciando a compatibilità e a tanto sviluppo passato sulle fpu, ma anche alla precisione estesa e tutto il resto.

Quale è il tuo punto di vista sul perché non siano state tolte?
Lyane03 Luglio 2007, 15:38 #22
Originariamente inviato da: blackshard
Quale è il tuo punto di vista sul perché non siano state tolte?


Giustamente non sono state tolte in quanto:

1) Come hai ricordato, le istruzioni x87 consentono una precisione ad 80-bit (dal Pentium Pro in poi) contro i 32-bit (singola precisione SSE) e 64 bit (doppia precisione SSE2).

2) Le istruzioni SSE/SSE2, sono piu' efficienti in packet mode (uso dell'intero registro XMM); in modalita' scalare le istruzioni sono meno efficienti basta confrontare la latenza e il throughput di due istruzioni ADDPD e ADDSD, nonostante la prima agisca su un set di 2 dati, le latenze e il throughput sono simili (5/4/4 contro 5/4/3) e (2/2/2 contro 2/2/1) per CPU di 0F3h/0F2h/069h, da cui si evince che tranne che per il Pentum M (probabilmente anche C2D), se si deve agire su dati scalari con operazioni non omogenee convengono ancora le istruzioni x87. Le istuzioni SSE/SSE2 convengono in caso di dati impacchettati su vettori a blocchi di 2 o di 4, specialmente per grosse quantita' di dati (ho semplificato parecchio).

3) Per le istruzioni SSE/SSE2 mancano del tutto funzioni trascendentali. Ci sono addizione, moltiplicazioni, sottrazione, divisione, radice quadrata, max e min (+ il reciproco in precisione singola). Mancano seno/coseno, tangente (parziale), arcotangente (parziale), 2^x-1, y*log2(x) e x+1. Insomma con le quattro operazioni piu' la radice quadrata, le istruzioni SSE/SSE2 non possono sostituire l'unita' FPU in alcun modo (se non a costo di un tempo di elaborazione assai elevato).

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^