|
|
|
![]() |
|
Strumenti |
![]() |
#21 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
L'esecuzione out-of-order ha dato una gran mano per cercare di sfruttare il più possibile le unità di calcolo a disposizione, mantenendo in sospeso le istruzioni in attesa a causa delle dipendenze, ma ha praticamente esaurito il suo compito. Continuare ad aggiungere decoder (per decodificare più istruzioni di quelle che è possibile adesso), unità di calcolo, pipeline, code per mantenere le istruzioni "congelate", ecc. porta ben pochi vantaggi rispetto all'incremento della complessità della circuiteria. E questo, ribadisco, dipende dal fatto che il codice "general purpose" è abbastanza "frastagliato". Se, per fare un altro esempio totalmente diverso, si va a vedere il disassemblato del codice che fa uso (massiccio) del paradigma SIMD, si può vedere quanto sia molto più semplice e lineare, per cui aumentare il numero di unità d'esecuzione SIMD porta a un notevole incremento delle prestazioni. Lo stesso dicasi quando si aggiungono core a un chip, nel caso in cui si eseguano applicazioni che si prestano alla distribuzione del carico di lavoro, oppure se è possibile eseguire più applicazioni, anche eterogenee, che impegnano per bene i core a disposizione. Ma, ribadisco, non ci sono ricette miracolose per aumentare le prestazioni su singolo core/thread. Siamo arrivati sostanzialmente al capolinea. Se qualcuno le conoscesse, posso assicurare che farebbe soldi a palate. Ma dopo più di 3 decadi che studio e lavoro con le architetture dei calcolatori, la mia esperienza mi fa intuire che ciò non sarà possibile. Felice di essere smentito. Vuol dire che avrò ancora altro da imparare (che non guasta mai: fossilizzarsi per un informatico è deleterio). ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#22 | ||
Senior Member
Iscritto dal: Jul 2003
Messaggi: 26788
|
Quote:
Quote:
Quello che possono fare è aumentare le istruzioni speciali per avvantaggiarsi in ambiti specifici, infatti è quello che stanno facendo (e con l'evoluzione tecnologica continueranno a fare, in ottica di crittografia, decoding, etc)... ma per usarle serve anche un codice specifico. Possono aumentare la cache, ma oltre a una certa percentuale non serve a nulla (e ci sono praticamente arrivati, infatti lo spazio per aumentarla ce l'avrebbero anche, ma invece l'hanno diminuita). Aggiungere core non serve a nulla perché come si è visto già 4 si fatica ad usarli (e sono tutti un inutile dispendio in idle). Per migliorare l'IPC dovrebbero cambiare architettura, ma un'architettura diversa dal x86 e più ottimizzata ce l'abbiamo già: ARM. Intel ha venduto la sua share nel ARM (XSCALE) proprio perché scelse di spingere solo sul x86, quindi non aspettiamoci cambi di rotta. Aumenti di frequenza non ne parliamo, già hanno messo il turbo boost. L'unica cosa è che potrebbero ridurre la latenza nell'esecuzione di alcune operazioni fondamentali, diminuire i miss e i flush... ma sono tutte cose che poi rientrano nell'ormai tipico 5% di miglioramento di generazione in generazione. La strada della GPU integrata non solo è quella vincente, ma è anche l'unica al momento veramente percorribile. Come nella visione di AMD, CPU+GPU che possono accedere agli stessi spazi di memoria e che condividono una gigantesca L4... una enorme potenza elaborativa in floating point! E' solo questione di un paio di iterazioni ancora! |
||
![]() |
![]() |
![]() |
#23 | |||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
- le unità SIMD sempre più potenti sono castrate dalla banda verso la memoria; - le CPU integrano da tempo una GPU che è affamatissima di banda. Ben vengano le DDR4, quindi, che tra l'altro portano anche a una riduzione dei consumi che, di questi tempi, è molto importante. Quote:
Quote:
Quote:
A parità di numero di pipeline & paradigma (in-order o out-of-order), l'architettura x86 in generale s'è dimostrata sempre più efficiente rispetto alle altre. Quote:
Il turbo boost serve a migliorare l'efficienza in ambito single core/thread, che è fondamentale negli scenari più comuni. Quote:
Quote:
A parte questo, anche Intel integra da tempo la GPU, e condivide lo spazio d'indirizzamento e la cache L3. Inoltre con OpenCL 2.0 è possibile eliminare le copie durante le operazioni, dunque ci sono ampi margini di miglioramento nell'utilizzo della GPU integrata.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||
![]() |
![]() |
![]() |
#24 | |
Senior Member
Iscritto dal: May 2005
Messaggi: 12105
|
Quote:
La memoria condivisa la si avra ( gia la si ha a livello software con CUDA ) anche con le GPU discrete che pero potranno contare su una potenza nettamente superiore delle integrate; potranno essere veloci quanto vuoi come interconnessioni ma quello che potranno calcolare sara sempre limitato all'integrata e, generalmente, ai software GPGPU serve potenza bruta; il nulla cosmico di HSA dopo quasi 2 anni dalla presentazione dovrebbe far riflettere sulla scarsa quantita di codice che realmente è in grado di trarne beneficio. mi sembra tutto fuorchè la panacea dei problemi di potenza di AMD; X86 e GPU discrete avranno ancora vita lunga, molto lunga.
__________________
AMD 3970X - TRX40 PRO 10G - 128 Gb - 2080Ti - Dual 4K - No More Render - Leica RTC360 & BLK360 ![]() Ultima modifica di AceGranger : 04-02-2015 alle 09:09. |
|
![]() |
![]() |
![]() |
#25 | ||
Senior Member
Iscritto dal: Jul 2003
Messaggi: 26788
|
Quote:
Ovviamente di questa mancanza di flessibilità ai produttori di motherboard e CPU va più che bene, così che possano spingere la vendita di nuovi sistemi piuttosto che l'upgrade dei vecchi. Ovvero quando saremo ai 10nm e quindi tensioni operative di 0,9V/1V tireranno nuovamente fuori le "nuove" DDR5...... Mentre gli aumenti di frequenza delle RAM puoi constatare tu stesso con i vari benchmark che non sono particolarmente interessanti se non in determinati ambiti (gaming, se si usa la memoria di sistema come memoria per la GPU). Quote:
I sistemi attuali sostanzialmente stanno percorrendo lo stesso sviluppo, da gigantesche GPU (ovvero grandi motori di calcoli in virgola mobile) che si connettono esternamente al sistema siamo passati a un'integrazione tramite link veloce a fianco della CPU, poi ancora integrata nello stesso die... stessa cosa la vediamo con la eDRAM/L4 che da esterna diventerà interna! Insomma da qui ai 10nm, ai 7nm e infine ai 5nm, possibilità di integrazione non mancheranno di certo! Visto anche è uno dei modi più semplici per abbassare i costi di produzione! Certo, magari farà ancora comodo avere moduli aggiuntivi GPU per aumentare le capacità di floating point (da qui i progetti NVIDIA e IBM), ma considera anche il segmento enterprise, dove servono enormi capacità in floating poit, certamente più semplici da ottenere con GPU adatte allo scopo, che aumentando il numero di core x86 (per quando la loro GPU e capacità in floating possa migliorare). Ultima modifica di MiKeLezZ : 04-02-2015 alle 10:25. |
||
![]() |
![]() |
![]() |
#26 | |||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
E' chiaro che te ne fai poco con un uso normale / leggero, ma nel momento in cui devi fare delle operazioni più pesanti, poi? Con le vecchie memorie ti metti ad aspettare e basta (perché non hai alternative), mentre con le nuove hai per lo meno la possibilità di sfruttarle e ottenere i risultati più velocemente o migliorare l'esperienza utente. Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||
![]() |
![]() |
![]() |
#27 | ||||
Senior Member
Iscritto dal: Jul 2003
Messaggi: 26788
|
Quote:
![]() Quote:
Quote:
Le DDR3 da 1600MHz hanno infatti un base clock di 200MHz (che si moltiplica per 2, il double rate e per 4, il moltiplicatore), lo stesso delle DDR2 da 800MHz e lo stesso che avranno delle ipotetiche DDR4 da 3200MHz (ipotetiche in quanto le prime si aspetta viaggeranno addirittura meno)!!! Anzi bassa latenza o gigantesche frequenze operative? In una GPU anzi la seconda, in quanto bus da 256 bit e risoluzioni da 1080p cominciano a creare precise necessità, ma un comune sistema non processa tutti quei GB di informazioni e quando si hanno a disposizione quei (200x2x4x128)/8 = 25,6 GB/s direi che se ne ha ampiamente a sufficienza... e diventa invece, paradossalmente, più utile una minore latenza! Così come puoi vedere dai test reali: http://www.anandtech.com/show/6372/m...with-gskill/11 (il risultato di winrar è teorico, usano il benchmark interno) Quote:
|
||||
![]() |
![]() |
![]() |
#28 | |||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Il buon senso.
![]() Quote:
Quote:
Ma mi fermo qui perché, come ho detto, non mi occupo di elettronica. Quote:
Quote:
Supponiamo di voler effettuare una banale copia di un blocco di memoria usando le AVX2, e dunque di: - leggere 32 byte dalla memoria (depositandoli in un registro AVX2); - incrementare il registro puntatore sorgente di 32 byte; - scrivere 32 byte in memoria (dal registro precedente); - incrementare il registro puntatore destinazione di 32 byte; - decrementare il registro contatore del numero di blocchi da 32 byte da trasferire; - controllare se il registro contatore non è ancora zero (lavoro finito), e in questo caso continuare nuovamente dall'inizio. Una buona architettura out-of-order è in grado di "spalmare" queste istruzioni in un paio di cicli di clock. Al momento non consideriamo le problematiche di prefetch dei dati dalla memoria, e consideriamo il processore che lavora a regime. Dunque in 2 cicli di clock trasferiamo 32 byte alla volta. Quindi a 2Ghz trasferiamo 1G x 32 byte = 32GB/s di roba. Poiché stiamo leggendo e scrivendo 32 byte alla volta, la banda richiesta sarà di 32 + 32 = 64GB/s. Anche se raddoppiassimo il numero di cicli di clock per ogni blocco di 32 byte da spostare, servirebbero comunque 32GB/s. E questa è la possibile (e teorica) richiesta di banda che potrebbe esercitare UN singolo core/thread. Immagina quando ci sono più core e/o thread con le loro rispettive richieste... Quote:
Quote:
Aggiungiamo altri 2 risultati: http://www.anandtech.com/show/6372/m...-with-gskill/9 http://www.anandtech.com/show/6372/m...with-gskill/12 Batman e Maya presentano notevoli incrementi. Dunque, e come dicevo, ci sono scenari in cui la banda di memoria fa la differenza. Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||||
![]() |
![]() |
![]() |
#29 | ||
Senior Member
Iscritto dal: May 2005
Messaggi: 12105
|
Quote:
![]() Quote:
__________________
AMD 3970X - TRX40 PRO 10G - 128 Gb - 2080Ti - Dual 4K - No More Render - Leica RTC360 & BLK360 ![]() Ultima modifica di AceGranger : 05-02-2015 alle 08:33. |
||
![]() |
![]() |
![]() |
#30 | |||||||||
Senior Member
Iscritto dal: Jul 2003
Messaggi: 26788
|
Quote:
http://dizionari.corriere.it/diziona...O/ovvero.shtml Quote:
Quote:
Poi chiaramente l'evoluzione tecnologica porta a rendere obsoleta l'una e a migliorare l'altra (infatti per le memorie vi è un preciso limite di frequenze operative raggiungibili e si preferisce adottare moltiplicatori più alti e cercare di limare i tempi di accesso, piuttosto che alzare le frequenze di base). Quote:
E parliamo di un caso teoretico in cui si spostano (senza motivo) blocchi di memoria (presi apposta perché unici ottenibili così facilmente e in grande numero). I test reali sono linkati e sono quelli che contano! Quote:
E parliamo di velocità della RAM (quasi) RADDOPPIATA cioè banda totale (quasi) RADDOPPIATA... Quote:
RAGAZZI, SE VOLETE CHE I GIOCHETTI FATTI PARTIRE CON LA GRAFICA INTEGRATA GUADAGNINO 1% DI PRESTAZIONI, COMPRATEVI RAM CHE VADA IL DOPPIO PIU' VELOCE DELLA PRECEDENTE!!!! Quote:
http://arstechnica.com/uncategorized/2007/02/8824/ The Processing Engine implements a non-x86, VLIW ISA that uses a 96-bit instruction word containing up to up to 8 ops/cycle. Quote:
http://www.tomshw.it/cont/articolo/r...e/58874/1.html Quote:
Ovvio che ad oggi è solo fuffa, l'HSA non è servito a nulla e pure Intel non ci ha cavato un ragno dal buco, ma le potenzialità ci sono tutte e secondo me è solo questione di tempo (Intel si sta costruendo la via, poi quando sarà pronta darà la botta finale ad AMD). Ultima modifica di MiKeLezZ : 05-02-2015 alle 09:02. |
|||||||||
![]() |
![]() |
![]() |
#31 | ||||||||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
D'altra parte col significato di oppure la frase non avrebbe alcun senso. Ecco qui come verrebbe: "Implementare un regolatore di tensione che a seconda della scrittura nel SPD oppure la nanometria dei chip" Mi spiegherai in che modo un regolatore di tensione (come pure una scheda madre, se vogliamo estendere il concetto) potrebbe essere a conoscenza dei nanometri dei chip che vengono utilizzati... Quote:
A parte questo, non sono pratico ma nemmeno digiuno di elettronica (sono pur sempre un perito in automatica elettronica, anche se il mio dominio d'elezione rimane l'informatica). Diminuendo il voltaggio i segnali diventano più sensibili alle interferenze, per cui è più difficile mantenerne l'integrità. Dunque dubito fortemente che la stessa circuiteria sia in grado, così com'è, di poter supportare chip che lavorano a voltaggi inferiori a quelli per la quale è stata progettata. Ma visto che affermi che non dovrei commentare, mentre tu l'hai fatto, immagino che tu sia uno che ne mastica in materia. Esponi pure le motivazioni per cui la circuiteria esistente potrebbe supportare chip con qualunque voltaggio. Quote:
Per quanto riguarda quest'aspetto, i confronti fra DDR3 e 4 andrebbero fatti a parità di clock principale. Le DDR3 sono state introdotte a 800Mhz, quindi con clock principale a 200Mhz (100Mhz SDRAM). A parità di clock principale, i confronti andrebbero fatti con DDR4 che operano a 1600Mhz. E così via con le altre frequenze. Quote:
Quote:
"Una buona architettura out-of-order è in grado di "spalmare" queste istruzioni in un paio di cicli di clock." Parlo del numero di cicli di clock necessari a per eseguire le operazioni che avevo elencato. Inoltre: "consideriamo il processore che lavora a regime" che chiarisce le condizioni di funzionamento (pipeline a regime, per l'appunto). Dunque quello che hai scritto non è attinente a quanto avevo detto in precedenza. E comunque non si capisce dove vorresti arrivare coi "calcoli" che hai riportato. Quote:
E' talmente importante che la routine presente nella libreria standard (memcpy per C/C++, ad esempio) è particolarmente ottimizzata per cercare di massimizzare le prestazioni. Ed è talmente importante che, ove possibile, si cerca di accelerarla in hardware (vedi Haswell, ad esempio; in particolare nel manuale per le ottimizzazioni che Intel mette a disposizione). Quote:
Quote:
Comunque quel che scrivi è falso, e infatti hai "stranamente" eliminato quanto avevo scritto in merito. Rieccolo qui: "Batman e Maya presentano notevoli incrementi." Riprendendo dal link di Anandtech: "Batman: AA represents some of the best increases of any application in our testing. Jumps from 1333 C9 to 1600 C9 and 1866 C9 gives an 8% then another 7% boost, ending with a 21% increase in frame rates moving from 1333 C9 to 2400 C10." 21%. Altro che 1%. E per Maya: "The biggest gain was using Maya where a 22% increase was observed." 22%. Direi che i risultati si commentano da sé, checché tu ne possa dire. Quote:
"these sixteen cores are small, in-order x86 cores with a short pipeline and lots of vector hardware that implement some GPU-oriented extension of the x86 instruction set" Dunque niente VLIW, di cui non c'è nemmeno l'ombra. E non poteva essere altrimenti... Quote:
Ma io non ho bisogno di "argomentare" in questo modo. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||||||||||
![]() |
![]() |
![]() |
#32 | ||
Senior Member
Iscritto dal: Sep 2008
Messaggi: 36473
|
Quote:
Quote:
Sicuramente però almeno per altri 2 anni non arriverà un 6/12 sulla fascia consumer, è stato appena introdotto per la fascia pro (ed è scalato di segmento prestazioni in 3 generazioni di fatto) come CPU entry dopo 3 generazioni quindi hai voglia...
__________________
Ryzen 5950x PBO2 - Asus B550m TUF- G.Skill 32GB 3200Mhz - ZOTAC 3080 12GB OC - 990 PRO 1TB - 970 EVO 1TB - 860 EVO 250GB
Asus ROG Ally Z1 Extreme |
||
![]() |
![]() |
![]() |
#33 |
Senior Member
Iscritto dal: May 2006
Messaggi: 6021
|
quindi quando escono i 14nm desktop?
__________________
Pc funzionanti, (Amd x2 3600+ , Amd x2 4400+ , e8400, Q9400, Q9500) Debian 10,G860,i5 6500, in arrivo Q6600 Scotch edition] |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:14.