PDA

View Full Version : Supporto alle istruzioni Intel AVX nei futuri processori AMD


Redazione di Hardware Upg
07-05-2009, 13:05
Link alla notizia: http://www.hwupgrade.it/news/cpu/supporto-alle-istruzioni-intel-avx-nei-futuri-processori-amd_28907.html

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

Click sul link per visualizzare la notizia.

imperatore_bismark
07-05-2009, 13:17
WOW, sembrano ottime notizie! forse il salto del futuro porterà una AMD grintosa! speriamo, sempre in un'ottica di concorrenza favorevole al consumatore

papk
07-05-2009, 13:22
AMD sta vivendo proprio un bel periodo. Dopo lo strapotere di Intel sembra che si sia ripresa un po' di scena.

Sig. Stroboscopico
07-05-2009, 13:27
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...

MiKeLezZ
07-05-2009, 13:51
AMD sta vivendo proprio un bel periodo. Dopo lo strapotere di Intel sembra che si sia ripresa un po' di scena.
WOW, sembrano ottime notizie! forse il salto del futuro porterà una AMD grintosa! speriamo, sempre in un'ottica di concorrenza favorevole al consumatoreevvai! ottima notizia! amd rulez perchè usa il set di istruzioni di intel. un anno dopo che sarà debuttato sulle cpu intel. wow.

SUPERALEX
07-05-2009, 14:00
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..

Revenge81
07-05-2009, 14:34
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...

CaFFeiNe
07-05-2009, 15:12
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?

bjt2
07-05-2009, 15:13
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...

leoneazzurro
07-05-2009, 15:34
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.

bjt2
07-05-2009, 15:53
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...

jappino147
07-05-2009, 16:16
premetto che è pura utopia,ma non sarebbe meglio(per chi sviluppa software non per chi produce e vende cpu....)crfeare una sorta di consorzio che racchiuda i principali produttori di cpu(intel,amd,ibm,motorola,ecc ecc)con lo scopo di creare nuovi set di istruzioni?
poi va beh visto che intel è propietaria della architettura x86 sarebbe più che giusto che lei le avesse in anteprima e tutti gli altri in un secondo tempo

ripeto,pura utopia.....

camus85
07-05-2009, 16:19
Beh... la notizia è interessante, ma guardate che i tipici programmi difficilmente usano questi set di istruzioni! Anche perchè c'è da dire che a parte il fatto AMD avrà la possibilità di inserire il supporto a questo set di istruzioni dal 2011 (e Intel dal 2010) ma i computer monteranno anche processori più vecchi (Intel o AMD, cmq privi del citato set di istruzioni) e quindi quale produttore di software creerà un'applicazione funzionante SOLO con istruzioni SSE5, con il grande difetto di funzionare su un ristretto numero di processori?? Assolutamente no, non possono permettersi questi lussi. Non è come all'epoca dell'MMX che poco dopo essere uscito, iniziavano ad uscire anche i giochi funzionanti SOLO per i processori MMX (ricordo il titolo POD).

Inoltre, è da ricordare bene che tutti i set di istruzioni creati servono solo a semplificare la vita al programmatore, permettendogli di scrivere meno codice e più compatto rispetto ad un equivalente decisamente più lungo e anche più complesso. Un programma può essere compilato settando il compilatore in modo che faccia uso, ove possibile, delle nuove istruzioni come anche può essere compilato settando il compilatore in modo che non faccia uso delle nuove istruzioni. Anche perchè i programmatori NON programmano in assembly (o perlomeno, molto ma molto raramente) direttamente...

E al più, se vengono implementate veramente nuove funzioni, significa integrare nel processore nuova circuiteria, che complica il progetto e tendenzialmente aumenta le dimensioni, facendo in modo che quindi ci sia un settore riservato a quel tipo di calcolo.

leoneazzurro
07-05-2009, 17:19
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...

Appunto, quindi o si va per una reingegnerizzazione "leggera" che però non sarebbe competitiva oppure per una reingegnerizzazione "pesante" che però costa soldi e tempo e comunque sarebbe basata su un'architettura che già ora soffre rispetto a Nehalem. Meglio a questo punto concentrarsi su Bulldozer e magari si riesce anche a completarlo in tempo (o anche prima, come si vocifera accadrà con Istanbul)

Mercuri0
07-05-2009, 18:02
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...
AMD aveva proposto le SSE5, lntel successivamente le AVX, che più o meno sono sovrapponibili, AMD revisiona le SSE5 in modo da renderle compatibili, più le XOP che rappresentano la parte delle SSE5 che nell'AVX non c'erano.

AMD non è in una posizione tale da poter introdurre un nuovo set di istruzioni. L'ultima volta che gli è riuscito, erano le istruzioni per i proci a 64bit (che ora vengono usate anche da lntel)

Mercuri0
07-05-2009, 18:04
premetto che è pura utopia,ma non sarebbe meglio(per chi sviluppa software non per chi produce e vende cpu....)crfeare una sorta di consorzio che racchiuda i principali produttori di cpu(intel,amd,ibm,motorola,ecc ecc)con lo scopo di creare nuovi set di istruzioni?
Eh, magari! Se invece di due produttori ce ne fossero 5-6 farebbero certamente più o meno così.

AMD & lntel hanno accordi di licenza incrociate e quindi fanno quello che vogliono. Ovviamente però, usano queste cose per bloccare i terzi incomodi.

Per esempio, se nVidia volesse usare le AVX per una eventuale cpu x86, sai l'accoglienza...

nudo_conlemani_inTasca
07-05-2009, 18:38
Eh, magari! Se invece di due produttori ce ne fossero 5-6 farebbero certamente più o meno così.

AMD & lntel hanno accordi di licenza incrociate e quindi fanno quello che vogliono. Ovviamente però, usano queste cose per bloccare i terzi incomodi.

Per esempio, se nVidia volesse usare le AVX per una eventuale cpu x86, sai l'accoglienza...
Si infatti, "prego entri.. Sig. nVidia e un bel calcione nel cul..." :asd:

Un consorzio effettivamente sarebbe la cosa più sensata per chi sviluppa software, avendo ben chiaro le architetture (cambierebbero il modo di implementarle, quindi l'efficienza da parte di Intel/AMD/VIA e compagnia bella).

La realtà è diversa, per darsi battaglia anche in termini di prestazioni (e i set di istruzioni sicuramente contano) i brevetti industriali col chezz.. che li condividono, ogniuno implementa nella propria architettura CPU le istruzioni che ritiene vantaggiose anche in futuro (poi si sa che i compilatori di software sono OTTIMIZZATI per CPU Intel!) lo sanno pure i sassi.

Se i compilatori fossero basati e ottimizzati per CPU AMD, si avrebbe un incremento di prestazioni dell' ordine del 15%/20%...!!!

Mica cotiche.. :D

Però si sa, Intel ha i soldi e condiziona/impone le regole del mercato: tra brevetti e foraggi vari, tiene in piedi tutto il carrozzone dell' ITC. (purtroppo) :rolleyes: :mbe:

E a tuttu gli altri (AMD in prima fila) solo le briciole.. :mc:

Xeus32
07-05-2009, 21:37
Beh... la notizia è interessante, ma guardate che i tipici programmi difficilmente usano questi set di istruzioni! Anche perchè c'è da dire che a parte il fatto AMD avrà la possibilità di inserire il supporto a questo set di istruzioni dal 2011 (e Intel dal 2010) ma i computer monteranno anche processori più vecchi (Intel o AMD, cmq privi del citato set di istruzioni) e quindi quale produttore di software creerà un'applicazione funzionante SOLO con istruzioni SSE5, con il grande difetto di funzionare su un ristretto numero di processori?? Assolutamente no, non possono permettersi questi lussi. Non è come all'epoca dell'MMX che poco dopo essere uscito, iniziavano ad uscire anche i giochi funzionanti SOLO per i processori MMX (ricordo il titolo POD).

Inoltre, è da ricordare bene che tutti i set di istruzioni creati servono solo a semplificare la vita al programmatore, permettendogli di scrivere meno codice e più compatto rispetto ad un equivalente decisamente più lungo e anche più complesso. Un programma può essere compilato settando il compilatore in modo che faccia uso, ove possibile, delle nuove istruzioni come anche può essere compilato settando il compilatore in modo che non faccia uso delle nuove istruzioni. Anche perchè i programmatori NON programmano in assembly (o perlomeno, molto ma molto raramente) direttamente...

E al più, se vengono implementate veramente nuove funzioni, significa integrare nel processore nuova circuiteria, che complica il progetto e tendenzialmente aumenta le dimensioni, facendo in modo che quindi ci sia un settore riservato a quel tipo di calcolo.

Io non vedo grossi benefici!
Da programmatore le istruzioni SSE sono usate di raro anche se sono molto utili!
Non vale la pena ... la gente preferisce spendere di meno e avere un software che va di "meno". Per l'industria standard sono cose inutili.
In più utilizzando queste funzioni si perde la compatibilità con il parco macchine attuale!
Strumenti come c# e .net non hanno strutture dati / compilatori in grado di avvantaggiarsi di queste funzioni!
Alla fine saranno sempre i soliti programmi di render ad utilizzarle o i soliti benchmark!
Quello che manca non sono i processori o le istruzioni sse ma un mercato unificato.
Sotto l'xbox si utilizza regolarmente i registri "sse" (mi pare si chiamino vsx) perchè sono presenti su tutte le macchine!
Sul mercato PC ... non ha senso!

Gnubbolo
07-05-2009, 22:00
ma che dice questo rotfl

X3llo5
07-05-2009, 23:18
Lessi a suo tempo il documento SSE5 e ho letto stamattina sia il documento AVX che quello AMD.


puoi linkare?

grazie



Sotto l'xbox si utilizza regolarmente i registri "sse" (mi pare si chiamino vsx) perchè sono presenti su tutte le macchine!
Sul mercato PC ... non ha senso!

sono sempre SIMD, ma un ISA differente
http://en.wikipedia.org/wiki/Xenon_(processor)

Mercuri0
08-05-2009, 10:07
Da programmatore le istruzioni SSE sono usate di raro anche se sono molto utili!
Non vale la pena ... la gente preferisce spendere di meno e avere un software che va di "meno". Per l'industria standard sono cose inutili.
In più utilizzando queste funzioni si perde la compatibilità con il parco macchine attuale!
Strumenti come c# e .net non hanno strutture dati / compilatori in grado di avvantaggiarsi di queste funzioni!
Io da utente uso molti programmi che usano le SSE. Iin effetti, tutti quelli che devono far conti: dai programmi di grafica ai codec video, passando per codec e programmi audio e applicazioni scientifiche, e le nuove istruzioni ormai sono l'unico e forse il miglior modo per aumentare la velocità dei processori, quando ci saremo stancati dei millemila core. (che vengono usati *meno* delle SSE).

Cercate il codec Vorbis "Lancer" e mettetelo a paragone di uno non ottimizzato per le SSE... fa impressione.

Comunque non è detto che i programmatori debbano usarle direttamente, è molto probabile che sia lo stack software sottostante e le API ad essere già ottimizzate.

E poi non tutto il softwarte scritto in C# ha davvero bisogno di spremere al massimo la CPU... :D