di  -  mercoledì 2 maggio 2012

Questi anni di rapide e dirompenti innovazioni tecnologiche stanno regalando grandi emozioni a tutti noi appassionati di computer. Una rapida sequenza di cambiamenti nelle tecnologie di base sta scuotendo vecchie realtà e rimescolando i mercati: l’ascesa di Apple e Google a spese di Microsoft, di ARM a spese di Intel, l’ingresso di NVidia (e ora anche Intel) nel cortile di casa di Qualcomm.

Quattro i motivi tecnologici principali dietro questo rimescolamento:

  • la fine della corsa alla frequenza dei processori al’inizio degli anni 2000 e l’ascesa delle architetture parallele ed eterogenee, tra cui le GPU e le APU
  • l’inizio dell’era in cui il consumo di energia diventa il fattore limitante per la maggior parte dei chip, il che significa che le prestazioni per Watt diventano il più importante parametro di progettazione
  • l’esplosione del mercato mobile, con nuovi dispositivi di massa e una curva di crescita esponenziale delle loro prestazioni, grazie al fatto che la densità di transistor per unità di area e potenza ha raggiunto la “soglia critica” per cui è possibile avere prestazioni quasi da computer in un dispositivo mobile
  • l’impatto architetturale del costo sempre più proibitivo e la disponibilità sempre più scarsa dei nuovi nodi litografici, man mano che ci avviciamo ai limiti fisici del silicio

Questi rapidi e radicali cambiamenti tecnologici hanno dettato le linee guida nella progettazione delle nuove architetture di AMD e NVidia. AMD ha abbandonato l’efficientissima (nei giochi) architettura VLIW in favore di Graphics Core Next, architettura decisamente orientata al compute. NVidia invece si vanta, per la prima volta, di avere la most efficient GPU ever e non solo la più potente.

Per capire se le due case hanno raggiunto i rispettivi obiettivi e quanto le nuove architetture sono diverse dalle precedenti bisogna, come sempre, partire dai dati grezzi ed analizzarli in dettaglio. Considererò le attuali ammiraglie gtx680 e 7970 e le schede di fascia alta (a chip singolo) della precedente generazione, gtx580 e 6970. Per NVidia, ho aggiunto anche gtx560 al mix perchè gtx680 è una via di mezzo tra gtx580 e gtx560 (fascia alta per i giochi ma fascia media per il GPGPU).

Tutti i dati sono stati raccolti dalle review di Anandtech (che ritengo un riferimento mondiale per qualità, completezza e competenza), qui e qui, complementati da wikipedia qui, qui, qui, qui, qui e qui.

I dati di base

I dati di base che ho raccolto sono prestazioni in virgola mobile a doppia precisione, dimensione dei chip, numero di transistor e GFLOPS nominali:

Per le prestazioni ho usato i dato di Anandtech: due giochi moderni e pesanti, uno favorevole ad AMD (Crysis Warhead) e l’altro a NVidia (Battlefield 3), più tre dei test GPGPU (Civilization V texture decompression, SmallLuxGPU, Fluid Simulation):

Di seguito, le variazioni dei nuovi chip rispetto ai vecchi:

Il primo dato considerato è il rapporto tra la potenza computazionale in virgola mobile a doppia precisione rispetto alla precisione singola. AMD offriva 1/4 delle prestazioni nella generazione precedente e non ha cambiato strategia con la nuova. L’offerta di NVidia è più complessa: gtx580 offre solo 1/8 perchè è la versione gaming, ma il chip è capace di 1/2, il resto è disabilitato per non cannibalizzare le vendite di schede Quadro e Tesla che sono un mercato molto redditizio. gtx560 offre solo 1/12 delle prestazioni: in questo caso non si tratta di unità di calcolo disabilitate bensì completamente mancanti, per ridurre l’area del chip e quindi il costo di fabbricazione. La vera sorpresa di gtx680 è stata l’ulteriore dimezzamento delle unità in doppia precisione (almeno nella versione gaming) rispetto a gtx560: NVidia con Kepler è stata estremamente aggressiva nell’inseguire la riduzione di area e l’aumento di efficienza in tutte le metriche (prestazioni per mm^2 e per Watt). Questo fatto, insieme al nome del chip (gk104 e non gk100 o gk110), suggerisce che NVidia aveva pianificato questo chip per equipaggiare l’erede di gtx560 e non di gtx580, e che abbia poi promosso il chip in fascia alta una volta che le prestazioni di 7970 sono diventate note.

La dimensione dei chip è un altro dato molto interessante:

Mentre AMD è rimasta nello stesso range (una lieve diminuzione del 6%), NVidia ha cambiato completamente gioco: non solo è enormemente più piccolo di 580 (-43%!) ma è anche più piccolo di 560, e non di poco (-18%). Questo numero da solo mostra quanto NVidia sia stata aggressiva con Kepler nel risolvere i problemi di “obesità” di Fermi.

Il numero di transistor è un altro parametro di grande interesse: nuovi nodi mettono a disposizione una densità di transistor maggiore per unità di area e diverse  compagnie hanno idee diverse in merito a come spenderli:


AMD ha deciso di tenere l’area del die circa costante e di aumentare (di un robusto 63%) il numero di transistor. Una buona parte di questi transistor in più sono il costo della nuova architettura orientata al compute. NVidia invece, come visto sopra, ha optato per un aumento modesto (il 18%) e ha sfruttato la maggiore densità per costruire un chip più piccolo, efficiente ed economico, sacrificando le capacità GPGPU (almeno per gk104).

La potenza grezza del chip in GFLOPS a precisione singola mostra dei numeri opposti, ma che confermano quanto detto sopra:


Kepler ha quasi raddoppiato i GFLOPS (+95%) usando solo il 18% di transistor in più: è evidente che c’è stato un enorme sforzo progettuale per aumentare l’efficienza dei CUDA core, al di là della riduzione delle capacità FP64 e della semplificazione dello scheduler che è tornato indietro da dinamico a statico; entrambe queste capacità non sono essenziali per i giochi e sono state rimosse da gk104. AMD invece ha seguito il cammino opposto, con un aumento di GFLOPS grezzi del solo 40% a fronte di un 63% di transistor in più: da una parte perchè i GFLOPS di AMD erano e rimangono superiori a quelli di NVidia, dall’altra perchè una buona fetta di quei transistor sono stati spesi in un’architettura molto più sofisticata che aiuta molto, come vedremo in seguito, nelle applicazioni GPGPU.

Per quel che riguarda le prestazioni, questi sono i risultati di Anandtech:


In Crysis, AMD inverte la situazione precedente, passando da un lieve svantaggio ad un vantaggio sostanzioso. In Battlefield 3, invece, NVidia mantiene la superiorità e anzi allunga. Evidentemente, le diverse architetture si adattano meglio a diversi tipi di giochi ed è difficile capire perchè senza un’analisi dettagliata dell’architettura e dell’interazione tra hardware e software, che purtroppo non sono in grado di fare (anche perchè i dati più gustosi non sono pubblici).

I risultati dei test GPGPU sono più interessanti: gtx580 aveva un netto vantaggio su 6970 nel primo e nel terzo test e un lieve svantaggio nel secondo. Con la nuova generazione i ruoli si invertono, come suggerito dai dati precedenti: 7970 si porta in vantaggio nel primo test, riduce lo svantaggio nel terzo mentre nel secondo allunga in modo imbarazzante, con prestazioni triple rispetto a gtx680. Viste le prestazioni generali, credo che in questo particolare test ci sia anche un effetto del software: visto che lo scheduler di Kepler è statico invece che dinamico come in gf114, l’ottimizzazione del compilatore è cruciale perchè le istruzioni e i warp non vengono più riordinati ed ottimizzati a runtime. Quello che penso sia successo è che il compilatore non sia ancora stato ottimizzato per questo tipo di task e stia ancora generando il codice ottimizzato per Fermi, che mal si adatta a Kepler. Mi aspetteri di vedere un miglioramento dei numeri in questo test nei prossimi mesi, ma fino a che punto è difficile dirlo.

Nello scontro tra 7970 e gtx680, ora è l’architettura di AMD quella ottimizzata per il GPGPU: gtx680 ha addirittura perso prestazioni rispetto a 580 in due test su tre, mentre 7970 ha incrementato rispettivamente del 62%, 75% e 103% rispetto a 6970 a fronte di un aumento dei GLOPFS grezzi del solo 40% (e del 63% dei transistor): è evidente che quei transistor in più sono stati spesi in logica di controllo e non in ALU (di cui 6970 ne aveva già in abbondanza) al fine di aumentare l’efficienza dell’architettura. La scelta, in ambito GPGPU, ha sicuramente pagato.

D’altro canto, gtx680 non è il vero erede di gtx580 per quel che riguarda il GPGPU: gk104 non è il “chippone” da 500+ mm^2 e con tutta la potenza FP64, quindi la cosa non deve sorprendere più di tanto. Al pari di gf1x4, è il chip ottimizzato per i giochi. L’erede di gtx580 per il compute sarà gk110, di cui avremo maggiori notizia al prossimo GTC e che dovrebbe equipaggiare i sistemi Cray che compongono il nuovo supercomputer dell’Oak Ridge National Laboratory.

Efficienza dei chip

Dopo aver visto i numeri assoluti è interessante normalizzare questi valori all’area dei chip, qui in formato tabulare:

e qui come grafico:

Passando da un nodo litografico al successivo ci si aspetta circa un raddoppio della densità di transistor per unità di area. NVidia ha poco più che raddoppiato (2.1x) mentre AMD si è fermata ad un incremento del 70%, facendosi così raggiungere. Considerando che certe parti di logica come le cache e le ALU hanno densità maggiore della logica di controllo, questo risultato è facilmente spiegato dall’analisi precedente su come le due compagnie hanno deciso di spendere i transistor.

Il risultato per la densità di GFLOPS per area è ancora più eclatante: mentre AMD era molto più efficiente nell’impaccare GFLOPS per mm^2 nella precedente generazione grazie all’architettura VLIW (6970 ha una densità doppia rispetto a gtx580!), NVidia riesce a raggiungere AMD nella nuova generazione, con un enorme aumento di 3.5x nella sua capacità di impaccare ALU (grazie anche, come visto sopra, alla semplificazione dello scheduler e alla riduzione di FP64, visto che questi numeri si riferiscono a FP32; ma è evidente il grosso lavoro che NVidia ha messo nel riarchitettare i suoi CUDA core per massimizzare l’efficienza).

Possiamo fare la stessa normalizzazione per le prestazioni:

Mentre nelle prestazioni pure AMD ed NVidia si alternavano, nelle prestazioni per mm^2 vediamo un trend netto: 6970 era più efficiente di 580 in entrambi i giochi, grazie al VLIW, mentre ora è 680 ad essere più efficiente di 7970 in entrambi i giochi. L’effetto della diversa organizzazione dell’hardware è evidente: 680 ha aumentato di 2.1x e 2.6x rispettivamente su 580, mentre 7970 si ferma a circa 1.5x su 6970.

La situazione per GPGPU, come visto prima, è diversa, ma è interessante notare come le prestazioni per area di gtx680 non sono così male: mentre in prestazioni assolute gtx680 viene schiacciata da 7970, in prestazioni per mm^2 gtx680 ha un lieve vantaggio nel primo test, un sostanziale vantaggio nel terzo test, e un enorme svantaggio secondo test (di nuovo, qui si sente l’effetto del software non ottimizzato). Per quel che riguarda l’incremento rispetto alla serie precedente, entrambi i chip aumentano del 70% nel primo test e più che raddoppiano nel terzo test, mentre il secondo registra il solito dominio di 7970.

Conclusioni

Questa nuova generazione di chip a 28nm è estremamente interessante perché mostra bene quali sono le strategie di AMD e NVidia:

  • AMD aveva un’architettura VLIW estremamente efficiente nel gaming ma poco adatta al compute; con la nuova architettura ha invertito completamente i punti di forza e debolezza, sacrificando un po’ di efficienza e prestazioni assolute nei giochi per costruire un chip molto potente ed efficiente nel GPGPU. Questa è una scelta più che comprensibile: AMD si trova nella posizione unica di avere delle CPU x86 potenti e delle GPU altrettanto potenti (Intel ha delle CPU più potenti ma non ha GPU all’altezza e il suo progetto Larrabee/Knights Corner deve ancora mostrare di che cosa è capace, mentre NVidia ancora non ha una sua CPU abbastanza potente da affiancare alle sue GPU), e costruire un chip eterogeneo con una GPU potente sia nei giochi (per il mercato desktop) che nel GPGPU (per il mercato server/HPC) può portare ricchi frutti nei prossimi anni (il progetto Heterogenous Systems Architecture, precedentemente noto come Fusion)
  • NVidia con Fermi aveva costruito un chip estremamente potente sia nei giochi che nel compute, a spese di efficienza ed area. Questo è un prezzo che non ci si può più permettere, dal momento che il costo del silicio continua a salire e che i chip sono ormai quasi sempre limitati dalla potenza dissipata. Con Kepler, NVidia ha cambiato direzione, dalla potenza pura all’efficienza, in modo da costruire chip più piccoli ed economici e poter in futuro integrare la linea GPU desktop all’interno della linea Tegra, per sfruttare i quasi 20 anni di esperienza nel campo delle GPU all’interno di quel mondo mobile che è in ascesa esponenziale e costruire così un SoC con prestazioni grafiche inarrivabili dalla concorrenza (specialmente per lo stack software, dove NVidia ha decenni di esperienza nello scrivere compilatori e driver per DirectX e OpenGL, al contrario di Qualcomm e Texas Instruments)

Nel prossimo articolo analizzerò i consumi dei chip e le loro efficienze energetiche; e quando gk110 uscirà sul mercato aggiungerò i suoi dati a quelli di gtx680 e 7970, per vedere come il nuovo “chippone” si piazza rispetto al resto, soprattutto per il GPGPU.

18 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    Davide Costantini
     scrive: 

    Articolo superbo. Anche le conclusioni colgono nel segno i diversi trend delle case da imputare alle rispettive forze/debolezze nei vari segmenti: AMD che ha le CPU (malandate un bel po’) ha bisogno di sviluppare un’architettura che dia lustro alle sue APU mentre NVIDIA deve ottimizzare i costi e le prestazioni del segmento gaming di fascia alta e affiancare prodotti dedicati per i professionisti (grafica e HPC).

    Ho una domanda per te pleg, credi che AMD riuscirà a colmare il gap tecnologico con Intel per il comparto CPU? Personalmente credo di no.

    Basteranno le GPU a salvare la casa di Sunnyvale sapendo che Intel è già in grado di “impacchettare” le ottime PowerVR all’interno dei propri processori? Nell’ottica prospettica, con il crescere del peso delle soluzioni mobile, è un aspetto da valutare.

    Infine, cosa ti aspetti da Haswell che porterà un grosso incremento delle prestazioni in campo grafico?

    Credo che AMD non supererà i prossimi 5 anni, ma forse sono pessimista. Intanto condivido quest’articolo perché merita.

  • # 2
    Davide Costantini
     scrive: 

    Mi spiego meglio, voglio dire che nei prossimi 5 anni AMD potrebbe subire un acquisizione volta soprattutto a mettere le mani sul know how grafico lasciando nel dimenticatoio gran parte del resto. Che onestamente non brilla più come una volta.

  • # 3
    supertigrotto
     scrive: 

    @Davide,non credo che amd verrà acquisita,ultimamente ha investito pure in ambito server con seamicro,dove inserirà le proprie apu con calcolo eterogeneo.
    Penso che riuscirà ad avere una botta di culo come ai tempi di athlon,solo che stavolta non credo che intel tenterà la mossa di pagare per svantaggiare la concorrenza,la stessa microsoft ha cominciato a ottimizzare di più i suoi sistemi operativi per le cpu fx e credo stia lavorando abbastanza anche sulle apu per il directcompute…..

  • # 4
    Davide Costantini
     scrive: 

    Si supertigrotto ha comprato Seamicro. E le sue soluzioni sono molto interessanti.

    Però è un dato di fatto che gli ultimi Opteron sono stati deludenti. I risultati del primo quarto 2012 dipingono uno scenario statico. Tecnologicamente sembrano in un empasse.

    Solo il comparto grafico va avanti. Sono molto scettico sulla botta di culo.

    Intel oramai punta a rompere le scatole ad ARM. La compagnia inglese farà lo stesso, grazie anche a Windows 8.

    AMD??? Sta nei settori che crescono meno. Sono molto scettico.

  • # 5
    Davide Costantini
     scrive: 

    P.S.: ho citato appunto Windows 8. AMD esce a brevissimo con Trinity che dovrebbe andare bene per gli Ultrabook. Ma per i tablet (o ibridi) come fa? Usa Brazos?

    Di prestazioni ci sta però Intel ha reso Atom così parsimonioso da stare in uno smartphone. E’ un confronto difficile.

  • # 6
    phabio76
     scrive: 

    AMD non è poi messa così male…
    Avere la supremazia nela cosidetta “fascia alta” delle CPU può dare un certo prestigio (attualmente è innegabile che intel abbia l’architettura migliore), ma rappresenta ormai un segmento di mercato che si sta restringendo.
    Nella fascia media e bassa AMD ha dei prodotti dall’ottimo rapporto qualità/prezzo e anche più bilanciati, con una gpu integrata nettamente migliore di intel.
    Brazos, ad esempio, non lo paragonerei nemmeno a quella ciofega di Atom.
    In un dispositivo post-pc la potenza bruta della cpu sarà sicuramente un aspetto di secondo piano.
    Aspettiamo che escano i tablet Windows8 equipaggiati con APU di nuova generazione, poi vediamo…
    Più che AMD credo sia tutta l’architettura x86 a rischiare.

  • # 7
    TheFoggy
     scrive: 

    Devo ancora leggere l’articolo, ma sono certo che sarà fantastico! Appena ho letto il titolo ho pensato “speriamo che l’abbia scritto Pleg o Yossarian!” e così è stato! A proposito..Yossarian che fine ha fatto??
    Ok ok..ora mi metto a leggere l’articolo!!



    letto!

    Che dire..ottima analisi, come sempre!
    Nonostante abbia sempre avuto CPU Intel e sia un suo fan, concordo con quanto detto da phabio76…AMD nella fascia entry-level è imbattibile in quanto a bilanciamento. Qui Intel ha CPU più performanti, ma la GPU ancora fa pena… Idem il confronto Brazos/Atom…Brazos vince a mani basse… (costa così tanto, energeticamente parlando, infilare un’unità OoO in Atom?).
    X86 ha sempre avuto i suoi bei vantaggi, ma anche molti svantaggi. Vedremo se rischierà davvero il pensionamento (e forse sarebbe anche un pochino ora) in favore di qualcosa di più moderno, concettualmente parlando.

  • # 8
    Marco
     scrive: 

    “Articolo superbo.”

    E io che credevo di essere su Tom’s XD

  • # 9
    Davide Costantini
     scrive: 

    @phabio76 @thefoggy: AMD ha un ottimo rapporto prezzo/prestazioni perché Intel non vuole essere bastonata dall’antitrust. E ovviamente è giusto così.

    Se ci pensate un attimo i migliori processi produttivi li ha Intel. Questo vuol dire che le CPU costano meno e vengono rivendute ad un prezzo maggiore.

    AMD è costretta a lavorare con margini molto bassi contro un colosso. E non sta tirando fuori dal cappello nulla di convincente.

    Brazos è un processore più potente di Atom ma, avendolo recensito, posso tranquillamente affermare che l’esperienza d’uso è del tutto similare (certo non se si vuole fare qualcosa che sfrutti la GPU). Ma consuma di più. Se poi parliamo di Medfield consuma più di 10 volte tanto. Non è un problema di processore in se e per se, ma dei mercati dove puoi andarli a vendere. Un netbook con 2 ore di autonomia non è più accettabile con i nuovi paradigmi.

    Nel Q1 2012 l’azienda ha perso 600 milioni la maggior parte per colpa dei conti da pagare per Global Foundries. Senza quelli l’utile netto era di 92 milioni. Non un granché.

    Tutto documentato qui: http://www.anandtech.com/show/5764/amd-q112-earnings-report-158b-revenue-590m-net-loss

    Non ne sono felice, ma secondo me AMD non si riprenderà mai da questa spirale e negativa. Il suo ciclo fortunato s’è concluso con la nascita di Core.

  • # 10
    Davide Costantini
     scrive: 

    Riguardo all’architettura x86, Intel sembra dominarla abbastanza bene: http://www.anandtech.com/show/5779/htc-one-x-for-att-review

    Guarda la recensione, il terminale testato ha un nuovissimo Snapdragon S4. Guardate qual’è la CPU più vicina al collo. E’ un Intel Medfield.

    Certo il rapporto prestazioni/consumi è inferiore. Però resta il fatto che Intel ha creato un unità competitiva ed è relativamente nuova in questi mercati.

    All’aumentare della complessità dei SoC il peso del decoder si riduce (se non sbaglio proprio Pleg scrisse anni fa un bellissimo post sull’argomento) per cui non sono sicuro che stiamo così distante.

    E tenete conto che lo XOLO X900 con Intel Atom Z2460 gira su Gingerbread invece che Ice Cream Sandwich.

  • # 11
    streamX
     scrive: 

    Pleg ti consiglio di includere anche la 7800 nella tua comparativa, perchè ha una seria contrazione dei mm2 rispetto alla 7900 per l’assenza di logica FP64 ed ECC. (680 style)

    Per quanto riguarda il calo di prestazioni della 680 nel GPGPU, questo può anche essere dovuto alla ristrettezza delle cache L1/shared che sono rimaste inalterate.

  • # 12
    Davide Costantini
     scrive: 

    Ho condiviso questo post su Hymn to Future. Visto che m’è piaciuto molto mi sembrava carino ;)

  • # 13
    CodeVisio
     scrive: 

    non sono un esperto di questa materia, ma ho trovato interessante il suo articolo, grazie.

  • # 14
    Pleg (Autore del post)
     scrive: 

    @ Davide

    Grazie :)
    Per rispondere alle domande: non credo che AMD riuscira’ piu’ a costruire CPU top di gamma veloci come quelle Intel, speravo in Bulldozer ma non e’ andata cosi’. Visti i risultati, penso che non dovrebbe neanche piu’ provarci: meglio concentrarsi su qualcosa che Intel al momento non ha (GPU ad alte prestazioni) e cercare di attaccare dal lato. Anche perche’ ormai Intel ha una supremazia in termini di processo produttivo che non credo nessuno riuscira’ a colmare nei prossimi anni (stanno spedendo prodotti a 22nm mentre TSMC ha problemi a garantire i volumi della sua 28nm, vedi anche news di oggi su Qualcomm, e GlbalFoundries e’ ancora piu’ indietro).

    Per Haswell, credo che fara’ un grosso passo avanti in termini di prestazioni grafiche, Intel sta cercando di tagliare le gambe a NVidia e AMD partendo dalla fascia bassa (che potrebbe diventare medio-bassa, se le prestazioni salgono abbastanza). Non saranno cmq mai in grado di soddisfare veri videogiocatori hardcore.

    Per quello che riguarda l’acquisizione di AMD… chi dovrebbe acquisirla? :) Cmq, vediamo se la nuova direzione sara’ in grado di traghettarla verso lidi piu’ profittevoli, e in fretta (ho bisogno di un Trinity per il mio nuovo HTPC, e ne ho bisogno adesso :)

    @ phabio76

    “In un dispositivo post-pc la potenza bruta della cpu sarà sicuramente un aspetto di secondo piano.”

    Visto la corsa alle prestazioni/numero di core che c’e’ nel campo mibile, non credo ci sara’ mai un momento in cui la potenza della CPU passera’ in secondo piano :) si trovera’ sempre il modo di aggiungere feature al SW per richiedere un HW piu’ potente :)

    @ streamX

    VOlevo solo confrontare le top di gamma, non l’intero stack, per ridurre lo scope dell’articolo. Ho incluso gtx560 soltanto perche’ la 680 non e’ il “vero” erede di 580 (il chippone), per avere un punto in piu’ di paragone. Il confronto che piu’ mi interessa (e che faro’ quando uscira’) e’ gk104 vs gk110 vs 7970.

    Per la cache hai ragione, e’ troppo piccola per gk104, anche se nei giochi non ha impattato molto.

  • # 15
    Davide Costantini
     scrive: 

    Grazie per le risposte.

    Chi dovrebbe acquisirla? Bella domanda. Qualcuno che può aver bisogno di expertise grafico, per esempio Samsung.

    Ma sono solo speculazioni ovviamente.

  • # 16
    Cesare Di Mauro
     scrive: 

    @Davide: per i decoder, l’argomento è stato affrontato in un paio di articoli.

    http://www.appuntidigitali.it/4375/arm-vs-intel-i-cut-the-power/
    http://www.appuntidigitali.it/5393/la-guerra-dellisa-x86-limpatto-su-decoder-compilatori-e-implicazioni-varie/

    @Pleg: come mai la sezione FP64 incide così tanto? Ricordo male io, o venivano riciclate 2 (o 4?) sezioni FP32 (i moltiplicatori, immagino) per implementare un’operazione FP64?

    P.S. Il silicio non ha limiti. O:-)

  • # 17
    Davide Costantini
     scrive: 

    Grazie Cesare per la segnalazione. Erano proprio gli articoli di cui parlavo, ho confuso l’autore ;)

  • # 18
    Pleg (Autore del post)
     scrive: 

    L’organizzazione delle nuita’ fp64 e’ cambiata in Kepler. In Fermi c’erano due tipi di unita’, una solo fp32 e una fp32/64, dove la 64 riusava parti della 32. In Kepler invece c’e’ una unita’ fp32 e una fp64, sono completamente separate, quindi tutta la capacita’ fp64 che togli e’ spazio risparmato netto nei cuda core.

    Non so dirti esattamente perche’ sia stato fatto cosi’. Immagino che si perda un po’ di area (non so dirti quanto: ci sono molti fattori che entrano nel calcolo, tra cui l’architettura dei sommatori, il routing dei bus, il posizionamento dei registri, il floorplanning, gli overhead di clock e power gating, eccetera), ma ci sono almeno due vantaggi che mi vengono in mente:
    * un’unita’ mista fp32/64 potrebbe essere piu’ difficile da progettare in modo efficiente rispetto ad una pura fp32 e una pura fp64: l’unita’ mista potrebbe avere dell’overhead a causa delle parti che devono essere utilizzate in un caso e non nell’altro
    * un’unita’ mista e’ piu’ difficile da spegnere tramite clock gating, perche’ dovresti spegnere solo una parte della ALU (in fp32, la parte necessaria a fp32 deve funzionare mentre il resto dovrebbe essere gated, potrebbe non essere possibile farlo in modo efficiente); se hai due unita’ distinte e’ molto piu’ semplice fare clock-gating, ciclo di clock per ciclo di clock: quando il dispatcher manda fuori una operazione fp32 puoi fare clock gating dell’intera unita’ fp64 per quel ciclo di clock e viceversa, e’ molto piu’ facile da gestire e riduce il consumo di energia (e quindi aumenta le prestazioni per Watt)

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.