|
|
|
![]() |
|
Strumenti |
![]() |
#3981 | |
Bannato
Iscritto dal: Oct 2005
Città: In giro per il mondo
Messaggi: 5824
|
Quote:
![]() |
|
![]() |
![]() |
#3982 | |
Senior Member
Iscritto dal: Sep 2008
Città: Provincia di reggio, costa dei gelsomini :D
Messaggi: 1691
|
Quote:
Non per forza un core int cosi grosso deve computare con latenze maggiori rispetto ad un core più snello, vedi ad es i c2q oppure il k10 stesso, le latenze anche per operazioni con operandi nella memoria (e non nei registri) sono abbastanza basse. Semmai come giustamente dici tu, si avrebbe una grossa difficolta a mantenere occupate tutte queste alu e potenzialmente un grosso spreco di energia ogni branch miss o cache miss (flush della pipeline in ambo i casi) Scusami ancora, riguardando il discorso delle collisioni di indirizzi, mi sono espresso male io ![]()
__________________
Amore mio, forza ed onore, io sono nel cuore tuo. Insieme ce la possiamo fare, a vincere questa battaglia per la vita |
|
![]() |
![]() |
#3983 | |
Senior Member
Iscritto dal: Jan 2002
Città: Urbino (PU)
Messaggi: 31799
|
Quote:
![]()
__________________
9950X PBO 1X CO -33 Override +100 CPU-Z RS/DU 930/18.563 - CB23-2339 - 47682 47728 -CB24 144 2508 - OCCT - V-RAY 53.994 - GeekBench 6.3 3563/22664 - TEST RS Y-Cruncher BKT - core 0-15 NPbench - CO -50 + CS -10 (NO RS) CPU-Z-18989 - CB23 48679 - CB24 2593 |
|
![]() |
![]() |
#3984 | |
Senior Member
Iscritto dal: Jan 2002
Città: Urbino (PU)
Messaggi: 31799
|
Quote:
Ti faccio questo confronto OT, per farti un'idea: con le vetture, io ho "dovuto" comprare sempre o pari CV o superiori... perché mi conosco e se passassi da una macchina "superiore" ad una "inferiore"... non mi troverei bene e mi resterebbe il magone in gola. Con questo, non è che un 1200 non ti porterebbe mai dove ti porta un 2000, ma il problema che chiederei al 1200 che andasse come il 2000. Con la stessa tipologia, non avendo necessità di mobilità di computer, se io cambio PC, lo farei unicamente per un sistema più potente e se dovessi affiancarlo con un altro sistema, farebbe la fine del mio portatile (si è bruciata la mobo perchè... dopo 6 mesi di non utilizzo, si sono invertite le polarità alla batteria).
__________________
9950X PBO 1X CO -33 Override +100 CPU-Z RS/DU 930/18.563 - CB23-2339 - 47682 47728 -CB24 144 2508 - OCCT - V-RAY 53.994 - GeekBench 6.3 3563/22664 - TEST RS Y-Cruncher BKT - core 0-15 NPbench - CO -50 + CS -10 (NO RS) CPU-Z-18989 - CB23 48679 - CB24 2593 |
|
![]() |
![]() |
#3985 |
Senior Member
Iscritto dal: Sep 2009
Messaggi: 5582
|
|
![]() |
![]() |
#3986 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Avrebbe prestazioni migliori nelle applicazioni che usano l'unità FP. Quindi le prestazioni non aumenterebbero in toto. Magari nella fisica dei giochi, sicuramente nella codifica audio/video.
|
![]() |
![]() |
#3987 | |
Senior Member
Iscritto dal: Dec 2008
Città: Milano
Messaggi: 512
|
Quote:
Come e' stato dimostrato unità intere con piu' di un certo numero di ALU non darebbero alcun vantaggio (da qui l'inutilità di avere una mega-unità intera con ALU doppie).. Ma se il nostro decode riuscisse a codificare a velocità doppia del normale le nostre istruzioni, potrebbe per ogni macro-istruzione mandare le microistruzioni ad essa appartenenti ad un "buffer" FIFO del core0, e mentre questo lavora mandare le micro-istruzioni della istruzione successiva al buffer del core1. I due cores lavoreranno quindi cosi' come hanno sempre fatto, su micro-istruzioni da ricomporre poi nelle loro retires (separate). Il fatto di smistare le istruzioni alternativamente ed una alla volta servirebbe per avere meno problemi di dipendenze e sarebbe fondamentale per poter semplificare gli algoritmi di predizione, tutto qui.. semplificando al massimo la logica di funzionamento sarebbe quella che ho descritto in vari post addietro: http://www.hwupgrade.it/forum/showpo...postcount=3967 Ovviamente qui non prevedo le pipelines all'interno delle ALU, ma anche pensando che ci siano sarebbe semplicemente un po' piu' compleso da gestire l'algoritmo di controllo di flusso sui due rami (l'unico da "aggiungere", possibile algoritmo di cui parlavo vari post fa) in quanto dovrebbe tenere conto anche del numero di stadi appunto delle pipelines, ma nulla di impossibile, comunque.. praticaemnte bisognerebbe semplicemente controllare le dipendenze su un cammino ipotetico "doppio" rispetto a quello normalmente considerato (in quanto i pacchetti vengono smistati du due unità identiche)
__________________
Case Cooler Master NR200P | M/B Asus Strix x470i gaming itx | Proc AMD Ryzen 5800X3D | RAM Corsair Veng. 32Gb DDR4 3000 cl15 | GPU Gigabyte nVidia 1080ti OC | Ali Cooler Master SFX 850w | SSD Crucial MX300 m.2 1Tb | Dissi Artic Liquid Freezer II | Monitor AOC Agon AG271QG (gSync ON) | Keyboard Logitech g915 | Mouse Logitech g502 | Audio Logitec g935 Ultima modifica di Gigamez : 11-10-2010 alle 10:43. |
|
![]() |
![]() |
#3988 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 24169
|
Due piccoli aggiornamenti:
Al 90% le GPU di Llano e Ontario/Zacate supporteranno la tecnologia Blu-ray 3D... Ci saranno nuove informazioni su Bobcat al "AMD Technical Forum and Exhibition" il 18 ottobre 2010; è probabile che AMD parlerà anche di Llano e Bulldozer... ![]()
__________________
AMD Ryzen 9600x|Thermalright Peerless Assassin 120 Mini W|MSI MAG B850M MORTAR WIFI|2x16GB ORICO Raceline Champion 6000MHz CL30|1 M.2 NVMe SK hynix Platinum P41 1TB (OS Win11)|1 M.2 NVMe Lexar EQ790 2TB (Games)|1 M.2 NVMe Silicon Power A60 2TB (Varie)|PowerColor【RX 9060 XT Hellhound Spectral White】16GB|MSI Optix MAG241C [144Hz] + AOC G2260VWQ6 [Freesync Ready]|Enermax Revolution D.F. 650W 80+ gold|Case Antec CX700|Fans By Noctua e Thermalright |
![]() |
![]() |
#3989 |
Senior Member
Iscritto dal: Jan 2006
Città: Grosseto
Messaggi: 13656
|
Una cosa: bulldozer supporterà ddr 3 1333 oppure solo 1600 ed oltre?
__________________
decine di trattative positive su hwupgrade! Configurazione: Gigabyte B550I AORUS PRO AX , AMD Ryzen 5950X, NVIDIA GeForce 4060Ti MSI GamingX 16GB, Silverstone strider 600W 80+ titanium, GSkill Trident 2X8@4000 MHz, Sabrent Rocket 4.0 Plus 2TB, Silverstone SG09, Samsung Gaming Monitor C49RG90 |
![]() |
![]() |
#3990 | ||
Senior Member
Iscritto dal: Dec 2000
Città: Parma
Messaggi: 3121
|
In uyn post ieri jf-amd ha riassunto le nuove istruzioni supportate da bulldozer:
Quote:
|
||
![]() |
![]() |
#3991 | |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 24169
|
Quote:
![]() ![]()
__________________
AMD Ryzen 9600x|Thermalright Peerless Assassin 120 Mini W|MSI MAG B850M MORTAR WIFI|2x16GB ORICO Raceline Champion 6000MHz CL30|1 M.2 NVMe SK hynix Platinum P41 1TB (OS Win11)|1 M.2 NVMe Lexar EQ790 2TB (Games)|1 M.2 NVMe Silicon Power A60 2TB (Varie)|PowerColor【RX 9060 XT Hellhound Spectral White】16GB|MSI Optix MAG241C [144Hz] + AOC G2260VWQ6 [Freesync Ready]|Enermax Revolution D.F. 650W 80+ gold|Case Antec CX700|Fans By Noctua e Thermalright |
|
![]() |
![]() |
#3992 | |
Messaggi: n/a
|
Quote:
![]() |
|
![]() |
#3993 |
Senior Member
Iscritto dal: Jan 2006
Città: Grosseto
Messaggi: 13656
|
No lo chiedo perché vorrei prendere delle memorie che possibilmente vadano bene anche su bulldozer.. se prendo delel 1333 e poi si deve downcloccare non è il massimo
![]() ![]()
__________________
decine di trattative positive su hwupgrade! Configurazione: Gigabyte B550I AORUS PRO AX , AMD Ryzen 5950X, NVIDIA GeForce 4060Ti MSI GamingX 16GB, Silverstone strider 600W 80+ titanium, GSkill Trident 2X8@4000 MHz, Sabrent Rocket 4.0 Plus 2TB, Silverstone SG09, Samsung Gaming Monitor C49RG90 |
![]() |
![]() |
#3994 | |
Senior Member
Iscritto dal: Jan 2002
Città: Urbino (PU)
Messaggi: 31799
|
Quote:
Il supporto alle ram è solamente in base al Jdec. Del resto, il Thuban è ancora fermo alle 1333, ma supporta tranquillamente le 1600 senza agire sulla frequenza del bus e sino a 2000 se supportato dalla mobo. Mi sembra che lo standard Jdec per le 1600-1800-1866 dovrebbe essere definito a novembre di quest'anno... per questo ancora non c'è nulla di ufficiale.
__________________
9950X PBO 1X CO -33 Override +100 CPU-Z RS/DU 930/18.563 - CB23-2339 - 47682 47728 -CB24 144 2508 - OCCT - V-RAY 53.994 - GeekBench 6.3 3563/22664 - TEST RS Y-Cruncher BKT - core 0-15 NPbench - CO -50 + CS -10 (NO RS) CPU-Z-18989 - CB23 48679 - CB24 2593 |
|
![]() |
![]() |
#3995 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 14736
|
Quote:
E' come se dicessi che un crossfire di due gpu piccole sia meglio di una singola gpu monolitica di grandi dimensioni con gli stessi elementi e la stessa frequenza. Questo non è mai vero, la singola GPU sarà sempre superiore. Se quindi ci fosse la possibilità di sfruttare più alu (più di quelle che già si utilizzano) in un singolo core, volendo aumentare l'ipc di un singolo core, la soluzione più diretta sarebbe quella di potenziare tale core aggiungendo tali alu (e ovviamente quanto di contorno necessario per sfruttarle). Ma se questo non è possibile, come potrebbe essere possibile invece ottenere questo risultato con più core? Nella mia ignoranza questa cosa non ha davvero alcun senso. |
|
![]() |
![]() |
#3996 | |
Senior Member
Iscritto dal: Sep 2008
Città: Provincia di reggio, costa dei gelsomini :D
Messaggi: 1691
|
Quote:
![]() Mi scuso per la lentezza, ma ho avuto qualche difficoltà a capire. Dunque, tu ipotizzi che dopo la fase di fetch i decoders decodifichino 2 stream di istruzioni un viene mandato al core 0 e dopo un ciclo di clock (suppongo per fare uno scoreboard per vedere le dipendenze tra istruzioni mandate al core 0 ed al core1) l'altro al core 1, questo sottoforma di un pack buffer( che già viene utilizzato per il dispatch delle mops decodificate) più in giù nelle pipes dei due core. Dopo ciò si dovrebbe ritirare le ops in buffer separati e ricomporre lo stream come il codice prevede. Se ho capito bene, mi sa che ci vuole qualcosina di esoso in termini di logica, non vorrei essere ripetitivo, ma si dovrebbe (sempre ad opinione mia, ovvero valore 0) implementare un pò di logica, molta di più di un raddoppio di alu e buffer connessi. 1) Dovresti possedere dei decoder che non si stoppino(per il calcolo del nuovo address di memoria inteso come qualsiasi memoria tranne i registri dpve fetchare la nuova porzione di codice) ad ogni branch incontrata. 2) Logica di fetch: Ogni branch risolta ti punta ad una locazione x di memoria dove prendere codice y. Bene se tutte e due i core ricevono una branch, e devono caricare due locazioni z,k quale processore carica per primo?( si parla di 2 core che eseguono uno stesso thread) Se ambedue sbagliano a calcolare una branch hai perso un sacco di energia oltre che cicli preziosi. Se le due branch sono "dipendenti" nel senso che dal risultato di una puoi prendere o meno l'altra, come fai a gestire il fatto che in 2 cicli hai riempito due core e magari solo uno ha fatto un lavoro utile ? Ad es core 0 branch presa che fa saltare il procio ad un altra porzione di codice mentre quello che fa il core 1 non è più necessario, 3)Tecniche OoO e register renaming. I due cores 0 ed 1 che eseguono lo stesso thread hanno i gprs condivisi? Se se una lea che fa il core 1 dice di scrivere su EBX mentre un altra op m-> dice di scrivere su EBX come si risolve il conflitto? register renaming si potrebbe pensare ma se son impegnati? e come si implementerebbe questa tecnica su due cores differenti con ognuno operandi\indirizzi da salvare in questi registri. 4) sincronizzazione dei cores e comunicazione intercores.
__________________
Amore mio, forza ed onore, io sono nel cuore tuo. Insieme ce la possiamo fare, a vincere questa battaglia per la vita |
|
![]() |
![]() |
#3997 | |||||
Senior Member
Iscritto dal: Dec 2008
Città: Milano
Messaggi: 512
|
Quote:
![]() Secondo me invece non sarebbe per nulla cosi' esoso in termini di risorse, ma al contrario una implementazione di questo tipo ti permetterebbe davvero di avere tutto quanto condiviso (bisognerebbe certo aggiungere qualche logica, ma sarebbe minima, a parer mio). Quote:
Quote:
Quote:
Quote:
Comunque non devi scusarti di nulla: mi piace molto parlare di queste possibili speculazioni con persone come te (molto piu' esperte di me).. Probabilmente c'e' davvero qualcosa che non sto considerando.. ma se così non fosse AMD potrebbe avere fatto davvero centro! ![]() chissà.. ![]()
__________________
Case Cooler Master NR200P | M/B Asus Strix x470i gaming itx | Proc AMD Ryzen 5800X3D | RAM Corsair Veng. 32Gb DDR4 3000 cl15 | GPU Gigabyte nVidia 1080ti OC | Ali Cooler Master SFX 850w | SSD Crucial MX300 m.2 1Tb | Dissi Artic Liquid Freezer II | Monitor AOC Agon AG271QG (gSync ON) | Keyboard Logitech g915 | Mouse Logitech g502 | Audio Logitec g935 Ultima modifica di Gigamez : 11-10-2010 alle 14:30. |
|||||
![]() |
![]() |
#3998 | |
Senior Member
Iscritto dal: Jan 2002
Città: Urbino (PU)
Messaggi: 31799
|
Quote:
Cioè... concordo con quello che dici... però, entrando nella filosofia di BD, visto come ottimizzazione di spazio nello sfruttamento di risorse condivise... potrebbe avere un senso se visto in ottica sia di clock che TDP ad area? Cioè... faccio un esempio nella mia ignoranza terra terra. L'HT è stato reso indipendente dall'NB appunto per non essere vincolato dal clock. "Sdoppiare" il lavoro renderebbe di per sé più snella la cosa. E' vero che comunque se varie parti del procio sono in dipendenza di un dato, gli stalli se non ottimizzati ci sarebbero, ma è anche vero che se vediamo la cosa come un core "grosso", tutta la superficie sarebbe sotto carico, mentre se la cosa fosse divisa in più parti logiche indipendenti, appunto perché non dipendenti, potrebbero entrare in IDLE e comunque se pur non aumentando l'IPC, contribuirebbero a diminuire il TDP. (Se dico castronerie non fustigatemi). Se una pipeline dovesse "servire" ad esempio 3 INT, a parte l'ottimizzazione che in alcuni casi gli INT potrebbero "lavorare" in parallelo, comunque la pipeline non potrebbe accettare nuovo lavoro sinché non è svuotata... Con più pipeline, non potrebbe crearsi la situazione ad esempio che una volta volta che il risultato è passato alla L2 (e non necessariamente alla L3/RAM), la seconda pipeline potrebbe da subito caricare il dato nuovo eliminando così i cicli di svuotamento? Cioè... tra un ciclo e l'altro, se la L2 potesse gestire a scelta una pipeline, praticamente potrebbe eliminare dei cicli servendo la prima pipeline che è già pronta e libera. Poi... perché è stato scelto il modulo per i P-State e non i core? D'accordo... i 2 core hanno parti condivise e quindi è impossibile che una parte vada del modulo vada in idle e l'altra no... però è anche vero che se è stato scelto di inquadrare il modulo e non il singolo core... inoltre una L2 condivisa, di per sé può serivire sia il core A o core B... mi suona un po' strano che sia solo per "risparmiare" spazio, soprattutto senza avere l'obiettivo di incrementare l'IPC, perché di fondo il problema di AMD non è il TDP, ma l'IPC.
__________________
9950X PBO 1X CO -33 Override +100 CPU-Z RS/DU 930/18.563 - CB23-2339 - 47682 47728 -CB24 144 2508 - OCCT - V-RAY 53.994 - GeekBench 6.3 3563/22664 - TEST RS Y-Cruncher BKT - core 0-15 NPbench - CO -50 + CS -10 (NO RS) CPU-Z-18989 - CB23 48679 - CB24 2593 Ultima modifica di paolo.oliva2 : 11-10-2010 alle 15:07. |
|
![]() |
![]() |
#3999 | |
Senior Member
Iscritto dal: Dec 2008
Città: Milano
Messaggi: 512
|
Quote:
Nel caso delle istruzioni complesse x86 è molto piu' importante il fatto di codificare in microistruzioni. Praticamente "scomponi" in pezzi piu' piccoli. Se hai possibilità di scomporre in pezzi ancora piu' piccoli (avendo piu' ALU) non e' detto che avrai un guadagno prestazionale, anzi.. potresti invece avere una perdita! Se invece mandi in esecuzioni due macro-istr codificate (esegui 2 macro-istr, ovvero ad esempio 8 micro-op in parallelo supponendo che una macro-instr la scomponi in 4 micro-ops) sulla stessa alu e nello stesso istante potresti avere dei seri problemi nel gestire le dipendenze ed i branch, proprio perche' sono eseguite tutte NELLO STESSO ISTANTE. (tra parentesi eseguire nello stesso istante flussi diversi di macro istruzioni sarebbe davvero un reverse hyperthreading, perche' dovremmo virtualmente fetchare e codificare due "parti" di thread istantaneamente ed arriverebbero anche NELLO STESSO ISTANTE i risultati da ricomporre!) La mia ipotesi invece non prevede l'esecuzione di due rami di istruzioni NELLO STESSO ISTANTE, ma in maniera alternata. L'auto-quote che ho fatto prima relativo a quello che scrissi qualche giorno fa era un esempio semplicissimo che forse vale piu' di mille parole.. http://www.hwupgrade.it/forum/showpo...postcount=3967 Ripeto ancora: posso aver solamente fantasticato in maniera assurda ed inconsistente.. Pero'.. chissà XD
__________________
Case Cooler Master NR200P | M/B Asus Strix x470i gaming itx | Proc AMD Ryzen 5800X3D | RAM Corsair Veng. 32Gb DDR4 3000 cl15 | GPU Gigabyte nVidia 1080ti OC | Ali Cooler Master SFX 850w | SSD Crucial MX300 m.2 1Tb | Dissi Artic Liquid Freezer II | Monitor AOC Agon AG271QG (gSync ON) | Keyboard Logitech g915 | Mouse Logitech g502 | Audio Logitec g935 Ultima modifica di Gigamez : 11-10-2010 alle 14:47. |
|
![]() |
![]() |
#4000 | |
Senior Member
Iscritto dal: Sep 2008
Città: Provincia di reggio, costa dei gelsomini :D
Messaggi: 1691
|
Quote:
Anche me fa piacere parlare di queste cose. Ho finalmente capito il tuo punto di vista, ovvero un reverse SMT di intel! Invece di caricar un thread nuovo su uno stesso cores, tu ne carichi lo stesso su due cores ognuno con il proprio set di gprs buffer rob, rimane comunque la comunicazione tra L\s unit e data chache che deve avvenire per sincronizzazione e share di operandi. In pratica alterneresti in maniera interleaved l'esecuzione di uno stesso thread su due cores. ora bisogna aspettare e vedere se amd ha risolto alcuni problemucci, che come dicevamo prima, anche se non si esegue in maniera parallela due pacchetti di istr sono comunque presenti.
__________________
Amore mio, forza ed onore, io sono nel cuore tuo. Insieme ce la possiamo fare, a vincere questa battaglia per la vita |
|
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:31.