Dubbio: QPI vs HyperTransport 3.1 --> [Sandy Bridge]vs[Bulldozer]

Pubblicità

xxskorpion88xx

Nuovo Utente
Messaggi
9
Reazioni
0
Punteggio
24
Salve a tutti ragazzi, mi presento sono Mario e mi sono iscritto perchè sono convinto che voi meglio di me potete chiarire i dubbi che mi attanagliano (dopo ore e ore di calcoli, ho deciso che mi serviva l'aiuto di esperti xP)

Brevemente vi illustro il nodo del problema:
Analizziamo le varie interfacce di collegamento tra northbridge e CpU con le relative bandwith sul mercato:

Partendo da intel, abbiamo QPI che nella sua ultima versione raggiunge la velocità di 25.6 GB/s

(il calcolo è raggiunto considerando il modo in cui è fatto il processore è visibile qua
The rate is computed as follows:3.2 GHz (velocità del trasferimento qpi ultima versione)× 2 bits/Hz (double data rate)× 20 (QPI link width)× (64/80) (data bits/flit bits)× 2 (unidirectional send and receive operating simultaneously)÷ 8 (bits/byte)= 25.6 GB/s

Analizzando il versante AMD che usa HyperTransport 3.1 abbiamo un massima banda passante di: 51.2 GB/s
..il calcolo è visibile qua
HyperTransport supports an auto-negotiated bit width, ranging from 2 to 32-bit per link; there are two unidirectional links per HT bus. With HT version 3.1, using full 32-bit links and utilizing the full 3.1 specification's operating frequency, the theoretical transfer rate is 25.6
Riassumendo: una breve tabella con i valori di badwidth è presente su wikipedia inglese e riassume brevemente il tutto.

Perfetto: una volta stabilita l'ampiezza del canale di comunicazione che dovrebbe essere quello a maggior bandwith di tutto il sistema per evitare colli di bottiglia tra northbringe e cpu che strozzerebbero il processore e di conseguenza tutto il sistema (vedi foto in basso magari una foto emprime meglio in concetto)
370px-Motherboard_diagram.svg.png

Una volta stabilita l'ampiezza massima dei 2 canali passiamo al calcolo del "traffico" passante in questi, usando come riferimento 2 cpu che vanno molto di moda in questo momento: la 2700k e FX-8150.

Per la intel 2700k abbiamo:
Prendendo per buono per questo screen, calcoliamo il FSB a quelle frequenze che sarebbe:
99.8 Mhz (velocita bus) * 16 moltiplicatore * 8 Byte (64 bit [ampiezza del bus]) * 4 (numero di istruzioni per ciclo) = 49,9 GB/s (
ove l'interfaccia di comunicazione supporta massimo 25.6 GB/s )
per il come è stato condotto il calcolo rimando a FSB su wikipedia

Analizziamo ora la FX-8150 :
Calcolando abbiamo:
200,7(bus speed) * 18(moltiplicatore) * 8 Byte * 4 istruzioni/s = 112,5 GB/s (ove l'interfaccia supporta massimo 51.2 GB/s )

Chiedo il supporto di un esperto per capire se effettivamente è questo lo scenario attuale.
Se effettivamente è cosi, le conclusioni a cui sono arrivato io sono molteplici:

1)ci vendono BESTIE di processori che sono CAPPATI dall' interfaccia:
2)Ad occhi chiusi prenderei un BUlldozer (altro che buldozer fallimento) sfruttate tutti i 51GB/s a pieno (pur perdendone altri 60 abbondanti dato il bottleneck del HyperTransport 3.1

Edit: tra l'altro mi sono accorto che la 2700k non utlizza il QPI come si può vedere qua ma utilizza la semplic einterfaccia DMI 2.0 con un BUS udite udite di appena 2 GB/s ... Che vergogna :(

Dite la vostra e chiaritemi le idee!! grazie :P
 
ciao e benvenuto

stai saltando un particolare: il moltiplicatore.quel moltiplicatore è valido solo per la frequenza interna della cpu,e non influenza la velocità di scambio con il nb;)
 
Innanzitutto grazie della risposta.

Non ho capito a quale moltiplicatore ti riferisci.. nel calcolo del bandwidth cpu-northbridge non ho usato moltiplicatori.
es: 51.2 GB/s per FX-8150
Sarebbe questa la banda interna della CPU? :O
Se cosi fosse, come calcolo l'effettiva banda che passa tra CPU e Nb?
e il resto della banda generata dal processore dove và?


Ti spiacerebbe spiegarmi piu dettagliatamente dove sbaglio? illustreresti inoltre qual'è il passaggio concettuale che mi manca?

Considera come se dovessi spiegarlo a un utente medio xD
Ti ringrazio in anticipo(e a tutti quelli che vogliano contribuire), visto che non sono riuscito a trovare risposte altrove.
 
Salve a tutti ragazzi, mi presento sono Mario e mi sono iscritto perchè sono convinto che voi meglio di me potete chiarire i dubbi che mi attanagliano (dopo ore e ore di calcoli, ho deciso che mi serviva l'aiuto di esperti xP)

Brevemente vi illustro il nodo del problema:
Analizziamo le varie interfacce di collegamento tra northbridge e CpU con le relative bandwith sul mercato:

Partendo da intel, abbiamo QPI che nella sua ultima versione raggiunge la velocità di 25.6 GB/s

(il calcolo è raggiunto considerando il modo in cui è fatto il processore è visibile qua
The rate is computed as follows:3.2 GHz (velocità del trasferimento qpi ultima versione)× 2 bits/Hz (double data rate)× 20 (QPI link width)× (64/80) (data bits/flit bits)× 2 (unidirectional send and receive operating simultaneously)÷ 8 (bits/byte)= 25.6 GB/s

Analizzando il versante AMD che usa HyperTransport 3.1 abbiamo un massima banda passante di: 51.2 GB/s
..il calcolo è visibile qua
HyperTransport supports an auto-negotiated bit width, ranging from 2 to 32-bit per link; there are two unidirectional links per HT bus. With HT version 3.1, using full 32-bit links and utilizing the full 3.1 specification's operating frequency, the theoretical transfer rate is 25.6
Riassumendo: una breve tabella con i valori di badwidth è presente su wikipedia inglese e riassume brevemente il tutto.

Perfetto: una volta stabilita l'ampiezza del canale di comunicazione che dovrebbe essere quello a maggior bandwith di tutto il sistema per evitare colli di bottiglia tra northbringe e cpu che strozzerebbero il processore e di conseguenza tutto il sistema (vedi foto in basso magari una foto emprime meglio in concetto)
370px-Motherboard_diagram.svg.png

Una volta stabilita l'ampiezza massima dei 2 canali passiamo al calcolo del "traffico" passante in questi, usando come riferimento 2 cpu che vanno molto di moda in questo momento: la 2700k e FX-8150.

Per la intel 2700k abbiamo:
Prendendo per buono per questo screen, calcoliamo il FSB a quelle frequenze che sarebbe:
99.8 Mhz (velocita bus) * 16 moltiplicatore * 8 Byte (64 bit [ampiezza del bus]) * 4 (numero di istruzioni per ciclo) = 49,9 GB/s (
ove l'interfaccia di comunicazione supporta massimo 25.6 GB/s )
per il come è stato condotto il calcolo rimando a FSB su wikipedia

Analizziamo ora la FX-8150 :
Calcolando abbiamo:
200,7(bus speed) * 18(moltiplicatore) * 8 Byte * 4 istruzioni/s = 112,5 GB/s (ove l'interfaccia supporta massimo 51.2 GB/s )

Chiedo il supporto di un esperto per capire se effettivamente è questo lo scenario attuale.
Se effettivamente è cosi, le conclusioni a cui sono arrivato io sono molteplici:

1)ci vendono BESTIE di processori che sono CAPPATI dall' interfaccia:
2)Ad occhi chiusi prenderei un BUlldozer (altro che buldozer fallimento) sfruttate tutti i 51GB/s a pieno (pur perdendone altri 60 abbondanti dato il bottleneck del HyperTransport 3.1

Edit: tra l'altro mi sono accorto che la 2700k non utlizza il QPI come si può vedere qua ma utilizza la semplic einterfaccia DMI 2.0 con un BUS udite udite di appena 2 GB/s ... Che vergogna :(

Dite la vostra e chiaritemi le idee!! grazie :P
Scusa se non mi intendo molto di queste cose ma il bandwidth cpu-nb influenzerebbe la velocità con la quale si trasferiscono i dati tra Cpu e RAM AGP o PCI Express, questa non è la massimo fattore influente o sbaglio? Correggetemi se sbaglio perchè sono scarno di specifiche tecniche :D Mi scuso a prescindere
 
Allora per quello che attualmente ho in mente sperando che diventi tutto piu chiaro con il proseguire di questo post:

La bandwidth CPU-Nn dovrebbe influenzare sicuramente l'AGP (nel caso di collo di bottiglia) in quanto quest'ultima è a valle del collegamento FSB.

Con non altrettanta sicurezza posso affermare che influenzerebbe RAM e PCIe, in quanto, se ci riferiamo allo schema da me postato sopra:
370px-Motherboard_diagram.svg.png
allora in questo caso l'affermazione si può estendere anche per RAM e PCIe che sono a valle del collegamento tra CPU e Nb

Se invece l'architettura varia, prendiamo come esempio nel il chipset AMD 900
scorpius_platform.gif
puoi vedere come le ram dipendano da un ulteriore collegamento estraneo al FSB (come si chiama questo collegamento? e come calcolo la sua banda?)


qualcuno mi conferma tutto quello che ho detto?

Inoltre rinnovo le domande poste sopra
es: 51.2 GB/s per FX-8150Sarebbe questa la banda interna della CPU? :O
Se cosi fosse, come calcolo l'effettiva banda che passa tra CPU e Nb?
e il resto della banda generata dal processore dove và?

 
tu hai moltiplicato l amd per 18x e l intel 16x.questi moltiplicatori non influenzano la banda del processore;)
 
quindi ricapitolando:

49,9 GB/s è la banda del FX-8150 (diciamo il numero di dati che il processore può distribuire al secondo)
di cui:
considerando questo schema:
scorpius_platform.gif


3422,4 MB/s sono quelli incanalati nel collegamento CPU-Nb (il cui limite teorico è 51.2 GB/s )
i rimanenti 46,5 GB/s vengono incanalate sulla banda del dual channel delle Ram che per le [TABLE="class: wikitable sortable jquery-tablesorter, width: 1"]
[TR]
[TD]PC3-20000 DDR3-SDRAM (dual channel 128-bit)[/TD]
[TD]320.0 Gbit/s[/TD]
[TD]40.0 GB/s[/TD]
[/TR]
[/TABLE]

è 40,0 GB/s , quindi "in teeoria" rimangono fuori 6GB/s (bottlneck minimo)

Quindi si può affermare che nel caso del chipset 900 amd e processore fx 8150, tutta la banda generata dal processore è distribuita in modo efficiente nel caso dell'utilizzo dei suddetti componenti (usando quelle Ram) con minimi bottleneck qualora "in pratica" ci fossero.

La situazione cambia se non utilizzo quelle ram enthusiast, castrando in questo modo il processore.

Is all right, sir? (sto scoprendo cose nuove :P mi piace)
 
scorpius_platform.gif
[TABLE="class: cms_table_wikitable cms_table_sortable cms_table_jquery-tablesorter, width: 1"]
[TR]
[TD]PC3-20000 DDR3-SDRAM (dual channel 128-bit)[/TD]
[TD]320.0 Gbit/s[/TD]
[TD]40.0 GB/s[/TD]
[/TR]
[/TABLE]
3422,4 MB/s sono quelli incanalati nel collegamento CPU-Nb (il cui limite teorico è 51.2 GB/s )
i rimanenti 46,5 GB/s vengono incanalate sulla banda del dual channel delle Ram che per le
Se può essere utile nei bench viene usato il chipset che utilizza questo schema, quindi teoricamente ora c'è da scovare l'errore, che rende la cpu il flop quale si è dimostrata
 
@ Raffica.

Tu dai per assunto che io abbia fatto tutti i calcoli correttamente (chiedo conferma); se cosi fosse, il potenziale hardware lo ha ed è stato ben calcolato e distribuito sulle interfacce, il "flop" potrebbe essere dovuto a questioni di istruzioni a livello del CPU (per il poco tempo necessario per lo sviluppo) e modificabili tramite Driver.

Tuttavia alla richiesta di conferma della banda distribuita dalla CPU ai vari componenti aggiungo qualche domanda :

1)i rimanenti 46,5 GB/s vengono incanalate sulla banda del dual channel delle Ram, sono in qualche modo limitati dall'interfaccia RAM-CPU o è questa un fiume in piena che trasporta tutta la banda generata dal processore verso le RAM utilizzando come unico limite imposto la banda generata dalle RAM stesse (a seconda del tipo) ?

2) Perchè il moltiplicatore non incide sulla banda CPU-Nb ? è una regola generale che posso applicare sempre? dove posso trovare maggiori informazioni a riguardo?
 
Premetto che ho provato a seguire i calcoli e per la mia ignoranza di base sull'argomento, non ci ho capito granché...
Dai link di wikipedia mi è saltato all'occhio che il numero 51.2 Gb/s (per quanto riguarda l'HyperTransport 3.1) nella tabella si trova sotto la voce "Max. aggregate bandwidth (bi-directional)". Mentre il calcolo fatto per il QPI sempre sulla pagina di wikipedia, riporta un x2 (unidirectional send and receive operating simultaneously).
La mia domanda dunque è:
Non è possibile che siano due calcoli diversi? Ovvero quello QPI è unidirectional e quello HT è bidirectional?

Mi scuso in anticipo se le domande possano risultare stupide :asd: ma sto provando a capirci qualcosa :D
 
@Clive

Entrambi sono (o dovrebbero essere) trasporti full duplex, cioè a doppio canale e sono gia stati considerati nei calcoli: orientati con questa immagine che ti fà capire come gestiscono i dati i vecchi chipset x58
719px-X58_Block_Diagram.png

Analizzando questa immagine si vede come per le DDR compare il 8,5 Gbit/s x3 (1Byte=8 bit) --> 3,187 GB/s

ora mi chiedo [cosi mi aggancio anche alla domanda 1 fatta su), questo numero è la massima banda di dati (generata dal processore) indirizzabile verso le Ram?

1)i rimanenti 46,5 GB/s vengono incanalate sulla banda del dual channel delle Ram, sono in qualche modo limitati dall'interfaccia RAM-CPU o è questa un fiume in piena che trasporta tutta la banda generata dal processore verso le RAM utilizzando come unico limite imposto la banda generata dalle RAM stesse (a seconda del tipo) ?
2) Perchè il moltiplicatore non incide sulla banda CPU-Nb ? è una regola generale che posso applicare sempre? dove posso trovare maggiori informazioni a riguardo?

Edit: qui il block diagram per gli X79
 
Se può essere utile nei bench viene usato il chipset che utilizza questo schema, quindi teoricamente ora c'è da scovare l'errore, che rende la cpu il flop quale si è dimostrata

@ Raffica.

Tu dai per assunto che io abbia fatto tutti i calcoli correttamente (chiedo conferma); se cosi fosse, il potenziale hardware lo ha ed è stato ben calcolato e distribuito sulle interfacce, il "flop" potrebbe essere dovuto a questioni di istruzioni a livello del CPU (per il poco tempo necessario per lo sviluppo) e modificabili tramite Driver.

Tuttavia alla richiesta di conferma della banda distribuita dalla CPU ai vari componenti aggiungo qualche domanda :

1)i rimanenti 46,5 GB/s vengono incanalate sulla banda del dual channel delle Ram, sono in qualche modo limitati dall'interfaccia RAM-CPU o è questa un fiume in piena che trasporta tutta la banda generata dal processore verso le RAM utilizzando come unico limite imposto la banda generata dalle RAM stesse (a seconda del tipo) ?

2) Perchè il moltiplicatore non incide sulla banda CPU-Nb ? è una regola generale che posso applicare sempre? dove posso trovare maggiori informazioni a riguardo?
ebbene io dico semplicemente che ci sia un errore in questi calcoli che và individuato poichè come hai detto tu "questioni di istruzioni a livello del CPU (per il poco tempo necessario per lo sviluppo) e modificabili tramite Driver." :D mi scuso per possibili fraintendimenti
 
aspettate,dovete distinguere le cose...

i processori attuali hanno il memory controller integrato,quindi uno scambio diretto con le ram,che non va a toccare il nb...

ormai il nb ha funzioni sempre più limitate.se coi primi pentium 4 aveva più importanza perchè tutto passava da lui,ora alzare il bus serve solo per tirare su il processore.ma non da miglioramenti evidenti.quindi avere 50GB/s verso il nb non ha senso.questo per intel

per amd invece è diverso,in quanto l interfaccia pcie è gestita dal nb,quindi in questo caso alzare la frequenza del nb aumenterebbe le prestazioni in caso di collo di bottiglia da parte della cpu.ma in ogni caso è sempre aumentando il bus principale che aumentano le prestazioni (quello che attualmente sta a 5,2Gt se ricordo bene
 
Pubblicità
Pubblicità
Indietro
Top