Supporto alle istruzioni Intel AVX nei futuri processori AMD

Supporto alle istruzioni Intel AVX nei futuri processori AMD

Istruzioni AVX supportate anche dai processori AMD? Sembra di si, stando ad alcune dichiarazioni di Dave Christie Senior Architect e Fellow AMD

di pubblicata il , alle 14:05 nel canale Processori
IntelAMD
 

Nella sezione del sito AMD dedicata ai blog degli sviluppatori, ha fatto la comparsa un interessante intervento di Dave Christie, Senior Architect e Fellow AMD. L'argomento riguarda le istruzioni che saranno supportate dai futuri processori AMD (che ipotizziamo essere quelli indicati dal nome in codice Bulldozer), fino ad oggi individuabili nelle SSE5 già annunciate nell'agosto 2007.

Le novità comunicate da Dave Christie sono importanti, in quanto introducono un colpo di scena: le future CPU AMD supporteranno le stesse istruzioni AVX annunciate da Intel per la prossima generazione di processori realizzate con architettura Sandy Bridge, processo produttivo a 32nm. L'acronimo AVX sta per Advanced Vector Extension, un set di istruzioni SIMD, Single Instruction Multiple Data, cui spetterà il compito di introdurre diverse migliorie.

Prevista ad esempio l'introduzione di vettori a 256 bit, che dovrebbero garantire un raddoppio dei calcoli in virgola mobile; il limite di istruzioni di massimo 2 operandi verrà esteso fino a 3 o 4 operandi, insieme ad altre migliorie che non andremo ad approfondire in questa sede. I benefici a livello pratico dovrebbero tradursi in miglioramenti prestazionali in ambito multimediale e di modellazione 3D, così come dovrebbe giovarne anche la scalabilità in termini di core fisici e logici presenti nel processore, sfruttabili in maniera più efficiente.

La motivazione alla base della scelta di AMD sta nel fatto che molte istruzioni presenti nel set AVX sono quasi del tutto sovrapponibili ad altre del set SSE5. Adottare set differenti per fare cose praticamente identiche si tradurrebbe in una complicazione per gli sviluppatori, con potenziali ripercussioni sullo sviluppo di software in grado di sfruttare i benefici delle nuove CPU. Non si tratta in ogni caso di un abbandono totale delle scelte fatte in precedenza, poiché le istruzioni inizialmente pensate per alcune delle CPU AMD del futuro che non trovano corrispondenti nel set AVX saranno comunque garantite. I più importanti esempi sono le istruzioni XOP, CVT16 e FMA4.

Non viene fatta menzione precisa su quali CPU potranno godere delle nuove istruzioni, ma sono in molti a credere che si stia parlando di quelle che vengono indicate dal nome in codice Bulldozer, come accennato all'inizio della news. La presentazione di queste CPU, realizzate con processo produttivo a 32nm, è attesa per l'anno 2011, mentre il concorrente Intel dovrebbe presentare le prime CPU basate su architettura Sandy Bridge nel corso del 2010.

20 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
imperatore_bismark07 Maggio 2009, 14:17 #1
WOW, sembrano ottime notizie! forse il salto del futuro porterà una AMD grintosa! speriamo, sempre in un'ottica di concorrenza favorevole al consumatore
papk07 Maggio 2009, 14:22 #2
AMD sta vivendo proprio un bel periodo. Dopo lo strapotere di Intel sembra che si sia ripresa un po' di scena.
Sig. Stroboscopico07 Maggio 2009, 14:27 #3
Comunque resta il fatto che Intel permette di usare le SSE di nuova generazione solo da un anno dopo la commercializzazione da parte sua.
Sarà una bella batosta (anche se i software compatibili escono e sono effettivamente usati sempre parecchio dopo, di solito...).
Io al posto di AMD chiederei di controllare un pò questa cosa ai vari enti antitrust... in fin dei conti le nuove istruzioni chi le decide? Intel.
Se ne vuoi la modifica, una implementazione, un miglioramento che fai? Aspetti che Intel le vada di farlo, sempre che le venga voglia o se gli dai abbastanza soldi.
E se te le fai da per te e sono magari una genialata chi le usa? Nessuno, non sarebbero compatibili con niente.

Bah...
MiKeLezZ07 Maggio 2009, 14:51 #4
Originariamente inviato da: papk
AMD sta vivendo proprio un bel periodo. Dopo lo strapotere di Intel sembra che si sia ripresa un po' di scena.

Originariamente inviato da: imperatore_bismark
WOW, sembrano ottime notizie! forse il salto del futuro porterà una AMD grintosa! speriamo, sempre in un'ottica di concorrenza favorevole al consumatore
evvai! ottima notizia! amd rulez perchè usa il set di istruzioni di intel. un anno dopo che sarà debuttato sulle cpu intel. wow.
SUPERALEX07 Maggio 2009, 15:00 #5
Originariamente inviato da: Sig. Stroboscopico
Comunque resta il fatto che Intel permette di usare le SSE di nuova generazione solo da un anno dopo la commercializzazione da parte sua.
Sarà una bella batosta (anche se i software compatibili escono e sono effettivamente usati sempre parecchio dopo, di solito...).
Io al posto di AMD chiederei di controllare un pò questa cosa ai vari enti antitrust... in fin dei conti le nuove istruzioni chi le decide? Intel.
Se ne vuoi la modifica, una implementazione, un miglioramento che fai? Aspetti che Intel le vada di farlo, sempre che le venga voglia o se gli dai abbastanza soldi.
E se te le fai da per te e sono magari una genialata chi le usa? Nessuno, non sarebbero compatibili con niente.

Bah...


scusa se le inventa la intel è ovvio che sono sue e ne fa quel che vuole..è già buona che gliele fa usare..altrimenti x tutte le cose uno aspetta che le produca qualcun altro x poi prenderle usarle e migliorarle..
Revenge8107 Maggio 2009, 15:34 #6
io nn vedo con negatività la cosa, è giusto ke intel, ke sviluppa le istruzioni, ponga un veto per gli altri...Non reputi giusto infatti che se io invento una cosa, il giorno dopo ci possa essere qualcuno che ne beneficia....ed è per una mera questione commerciale...intel venderà di + in quel periodo perchè chi trarrà beneficio da quelle istruzioni comprerà intel...

Ad AMD nessuno vieta di fare istruzioni sue, come ha fatto del resto con le 3Dnow! o come farà con le XOP, CVT16 e FMA4...ciò nonostante è bene ke supporti anche istruzioni intel per essere più appetibile sul mercato...
CaFFeiNe07 Maggio 2009, 16:12 #7
certo che gli ultimi commenti sono molto "sparati" in aria....


intel non è che inventa...
intel è la proprietaria dell'architettura x86 che concede in licenza, ed essendo le istruzioni, una componente fondamentale dell'architettura, vengono concesse in licenza con queste ultime...

non è che intel sta ogni giorno inventando qualcosa...
e nel momento in cui negli anni 90 aveva raggiunto una situazione praticamente di monopolio (accordi con ibm, microsoft etc).... si trova in una posizione dominante, e DEVE concedere le licenze (con l'anno di ritardo etc)


se amd facesse istruzioni sue.... la compatibilita' andrebbe a farsi benedire...quindi al massimo puo' "aggiungere" qualcosa di suo (come le 3dnow) ma deve cmq supportare gli "standard de facto" imposti da intel, che volente o nolente, è quella che crea gli standard per la piattaforma x86


revenge...
inoltre mi spieghi il vantaggio commerciale di un anno di set di istruzioni, che magari per essere sfruttate in un software, ci vuole almeno un annetto di lavori su quel software?
bjt207 Maggio 2009, 16:13 #8
Lessi a suo tempo il documento SSE5 e ho letto stamattina sia il documento AVX che quello AMD.

In pratica i vantaggi di AVX è che riorganizza gli op-code in modo da usare meno bytes e si tiene ampio margine per l'espandibilità futura e poi l'estensione dei registri a 256 bit. SSE5 aveva molte istruzioni, ma non aveva l'estensione dei registri a 256 bit che consente un raddoppio della capacità di calcolo. Se il core buldozer è già stato finalizzato, probabilmente le istruzioni a 256 bit saranno spezzate in tronchi da 128 bit e dovremo aspettare la successiva iterazione (o la fusione CPU-GPU) per avere l'esecuzione in un singolo passo.

I vantaggi delle XOP è che supportano il tipo float a 16 bit (utilizzato sempre più negli shader delle GPU e quindi indicativo del fatto che AMD si apprestava a integrare CPU e GPU) e con 256 bit anzichè 128 ha potenzialmente una doppia capacità. Poi le XOP sono operazioni che AVX non ha e in più AVX è limitato, per gli interi, alle sole operazioni a 128 bit. Invece AMD nelle istruzioni XOP, usa tutti e 256 bit anche nelle operazioni su interi. Questo sempre grazie all'elevato parallelismo che si potrà ottenere con l'integrazione CPU/GPU.

In breve, queste estensioni a 256 bit andranno a nozze con la fusione CPU/GPU. Penso che a questo punto si avranno CPU low end, fatte da un core simile al k10 e che esegue più lentamente le istruzioni AVX e sorelle, poi avremo CPU medie e high end, che hanno anche delle pipeline GPU all'interno e che potranno eseguire una o più istruzioni AVX per ciclo di clock, magari utilizzando le pipeline GPU in concorrenza con gli shader...

Una bella prospettiva...
leoneazzurro07 Maggio 2009, 16:34 #9
C'è da dire che comunque la ragione per cui AMD utilizzerà le AVX solo nel 2011 è che le prime CPU Bulldozer saranno pronte solo per quella data (e presumibilmente questo proprio per permettergli di utilizzare le estensioni AVX), non tanto per un veto da parte Intel. Immagino che reingegnerizzare un "Phenom III" che supporti le AVX non convenga granchè ad AMD, che vuole probabilmente concentrare gli sforzi su Bulldozer.
C'è da dire poi che AMD non si limiterà a supportare la AVX, ma a quanto pare porterà avanti parte delle estensioni inizialmente pensate per il set SSE5. Un pò come gli AthlonXP che supportavano sia 3DNow! che SSE.
bjt207 Maggio 2009, 16:53 #10
Originariamente inviato da: leoneazzurro
C'è da dire che comunque la ragione per cui AMD utilizzerà le AVX solo nel 2011 è che le prime CPU Bulldozer saranno pronte solo per quella data (e presumibilmente questo proprio per permettergli di utilizzare le estensioni AVX), non tanto per un veto da parte Intel. Immagino che reingegnerizzare un "Phenom III" che supporti le AVX non convenga granchè ad AMD, che vuole probabilmente concentrare gli sforzi su Bulldozer.
C'è da dire poi che AMD non si limiterà a supportare la AVX, ma a quanto pare porterà avanti parte delle estensioni inizialmente pensate per il set SSE5. Un pò come gli AthlonXP che supportavano sia 3DNow! che SSE.


Con un po' di microcodice si potrebbe fare benissimo, spezzando le istruzioni a 256 in 2 a 128 bit. La soluzione più immediata, che non richiede nemmeno la riprogettazione del decoder (credo) è fare tutte le istruzioni in microcodice e allargare i registri. Ovviamente è anche la più lenta. Mettendo mano al decoder, le istruzioni più frequenti possono essere fatte single o double directPath... Ma ci vuole più tempo...
Chiaro che per una implementazione ottimale si devono raddoppiare tutti i bus all'interno e verso la cache...

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.
 
^