2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

Core della CPU: Più sono, meglio è?

Attualmente ho un processore dual-core al lavoro e un quad-core a casa. Ho notato che entrambi i PC sono abbastanza uguali per quanto riguarda il lancio di applicazioni/la navigazione sul web.

La differenza che posso vedere è che il mio dual-core è 2.8GHz e il mio quad-core è 2.4GHz.

**È meglio avere un dual-core con una velocità di clock veloce o un quad-core con una velocità di clock mediocre?

Risposte (12)

53
53
53
2009-07-15 15:42:45 +0000

NOTA: Questa risposta è stata scritta 8 anni fa. La programmazione parallela è diventata più rilevante da allora. Questo è probabilmente dovuto ai limiti intrinseci della velocità di clock e ai limiti della dimensione dei transistor che si avvicinano rapidamente.


Il tuo problema principale è il software non scritto per il multi-core.

Guardate l'eccellente articolo di Jeff Atwood su Choosing Dual core or Quad Core .

per la maggior parte del software, si raggiunge un punto di rendimenti decrescenti molto rapidamente dopo due core. In Quad-Core Desktops and Diminishing Returns , ho messo in dubbio quanto efficacemente il software di oggi possa davvero usare anche solo quattro core della CPU, e ancor meno gli inevitabili otto e sedici core della CPU che vedremo tra qualche anno.

Si risponde qui (evidenziazione copiata dall'articolo di Jeff),

Tuttavia, ci sono state alcune sorprese qui, come Excel 2007, e l'impostazione “operazioni concorrenti” di Lost Planet. È possibile che l'ingegneria del software alla fine progredisca fino al punto in cui la velocità di clock conta meno del parallelismo. O alla fine potrebbe essere irrilevante, se non dovessimo scegliere tra velocità di clock più elevate e più core della CPU. Ma nel frattempo, la velocità di clock vince la maggior parte delle volte. Più core della CPU non è automaticamente meglio. Gli utenti tipici staranno meglio con la CPU dual-core più veloce possibile che possono permettersi.


La questione del Front-Side Bus (questo termine mi ha sempre divertito). Con Nehalem le cose cambiano … come diceva ArsTechnica l'anno scorso.

La legge di Moore ha dato ai progettisti di processori l'imbarazzo della ricchezza di transistor, e da nessuna parte è più evidente che nel processore Nehalem di Intel a 45nm. Debuttando nelle varianti a 4 e 8 core nel corso di quest'anno, Nehalem racchiude una tonnellata di hardware in un singolo socket del processore. (I primi numeri mettono il conteggio dei transistor di un Nehalem quad-core a 781 milioni; nessun numero per il modello a 8-core è ancora apparso). Ma cercare di alimentare tutto quell'hardware con l'attuale architettura del bus frontside della piattaforma Intel sarebbe una follia. Così, altrettanto importante, Nehalem suona anche la tanto attesa campana a morto per l'architettura frontside bus di Intel, positivamente geriatrica.

Il cambiamento radicale nella situazione della larghezza di banda del sistema Intel che la nuova QuickPath Interconnect (QPI) rappresenta è forse il più grande fattore singolo che ha plasmato il design di Nehalem. Tra QuickPath e il controller di memoria integrato di Nehalem, un processore Nehalem avrà accesso a una quantità senza precedenti di larghezza di banda aggregata, specialmente nelle implementazioni a due e quattro socket.

AMD ha spostato il controller di memoria nel processore prima e ha usato Hypertransport.

18
18
18
2009-07-15 15:41:59 +0000

C'è, nella mia esperienza, un enorme beneficio di prestazioni passando da uno a due core. Improvvisamente un programma ad alta CPU non blocca la vostra macchina o la rende insolitamente lenta. Una differenza enorme.

Ma da due a quattro? Per il 99% delle persone non farà differenza. Dovrete eseguire molti programmi contemporaneamente o usare programmi che possono sfruttare più di 2 core (e realisticamente non ce ne sono molti). Mi vengono in mente alcuni codificatori multimediali.

C'è anche una differenza tra gli Intel Core 2 e gli AMD Phenom a questo proposito. AMD usa Hypertransport, che è un protocollo punto a punto, quindi ogni core ha una larghezza di banda dedicata. Gli Intel Core 2 (ma non i Core i7 e le altre CPU basate su Niehalem) usano un front side bus, che è una larghezza di banda condivisa, quindi hai più core che competono per la stessa larghezza di banda.

Questo può potenzialmente rendere uno stesso clock quad core (marginalmente) più lento in alcune circostanze. Il rapporto qualità/prezzo è ancora con i dual core IMHO. Detto questo, ho un quad core.

10
10
10
2009-07-15 15:53:09 +0000

Mi piace come Donald Knuth lo riassume :

A me sembra più o meno che i progettisti di hardware abbiano finito le idee, e che stiano cercando di scaricare la colpa della futura scomparsa della Legge di Moore sugli autori di software dandoci macchine che lavorano più velocemente solo su alcuni benchmark chiave! Non sarò affatto sorpreso se l'intera idea del multithreading si rivelerà un flop, peggio dell'approccio “Itanium” che doveva essere così fantastico - fino a quando si è scoperto che i compilatori desiderati erano praticamente impossibili da scrivere.

Mettiamola così: Negli ultimi 50 anni, ho scritto ben oltre un migliaio di programmi, molti dei quali di dimensioni notevoli. Non riesco a pensare a nemmeno cinque di quei programmi che sarebbero stati migliorati sensibilmente dal parallelismo o dal multithreading. Sicuramente, per esempio, i processori multipli non sono d'aiuto a TeX.

Per alcune applicazioni, è molto facile sfruttare i core multipli. Ma alcune altre applicazioni non ne beneficeranno mai, mentre le altre potrebbero beneficiarne se gli sviluppatori le ottimizzano (il che è molto difficile).

5
5
5
2009-07-15 15:48:54 +0000

Per il mio desktop principale presso il mio datore di lavoro, uso una macchina Xeon dual quad-core con 8 GB di RAM.

Quando sto programmando, e ho Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (o 2010) e un'istanza locale di Sql Server Express… tutto funziona bene.

In confronto, prima avevo un dual core e le cose iniziavano a strisciare solo con Visual Studio, Chrome e Sql Express in esecuzione.

È una questione di cosa fai con la macchina. Se sei un power-user che farà video editing, modellazione 3-d, o programmazione con risorse significative… allora sì, vorrai il quad-core e molta RAM.

1
1
1
2009-07-15 16:56:28 +0000

Secondo Anandtech.com :

Tutto si riduce al TDP del chip, o il suo Thermal Design Point. Più il TDP di una piattaforma è limitato, più si ha da guadagnare dalla modalità Turbo di Intel. Mettiamola in un altro modo: per inserire quattro core in un TDP di 130W, ogni core deve funzionare a una velocità di clock inferiore a quella che avremmo se avessimo un solo core allo stesso TDP.

Ai TDP più alti, di solito c'è abbastanza margine termico per far funzionare i singoli core abbastanza in alto. Ai TDP più bassi, i produttori di CPU devono fare un compromesso tra il numero di core e le loro velocità di clock - ed è qui che possiamo divertirci.

Questo è tutto nel contesto di dover scegliere tra core (o thread) e frequenza dei core.

1
1
1
2009-07-15 15:43:26 +0000

Dipende. Se state facendo cose che useranno pesantemente ogni core 4 core è meglio (editing video, rendering ecc.). La maggior parte delle persone troverà due core veloci migliori al momento, perché non molte applicazioni sono scritte per sfruttare appieno i 4 core

1
1
1
2009-07-15 15:49:30 +0000

Notate che gli ultimi processori i7 possono effettivamente aumentare la velocità di clock sui core attivi quando non tutti sono necessari; per esempio, se avete un quad-core a 2.4GHz, ma il software ha bisogno solo di 2 core per funzionare, allora può essere automaticamente portato a 2.8GHz (non è un dato reale, solo un esempio).

E l'ultima generazione dell'i7 penso che possa fare un clock di 3 o 4 bit se sono necessari solo uno o due core. In quanto tale, potrebbe non finire per rimanere un trade-off come lo è attualmente…

1
1
1
2009-07-15 15:43:13 +0000

Per l'uso quotidiano e i programmi che non sono ottimizzati per il multi-core, un veloce dual-core batterà un quad-core più lento.

Con il passare del tempo e le applicazioni adeguatamente multi-threaded diventeranno la norma, i quad-core saranno in vantaggio.

Dal punto di vista del rapporto qualità/prezzo, i dual-core hanno ancora un comodo vantaggio.

0
0
0
2009-07-15 15:44:50 +0000

Dipende da cosa state facendo e dalle capacità del vostro sistema operativo e delle applicazioni.

Se avete un sistema operativo leggero ed eseguite una singola applicazione legata alla CPU che può utilizzare solo un processore, allora due processori a velocità più elevata saranno una scelta migliore.

Altrimenti, se il sistema operativo può programmare tutti i core in modo efficace e si stanno eseguendo molte applicazioni o applicazioni che possono fare uso di più di un processore il quad-core più lento allora ci si aspetterebbe prestazioni migliori per un minore consumo energetico e quindi meno calore.

0
0
0
2009-07-20 05:41:55 +0000

Dipende.

Molto.

Si può facilmente trovare un quad-core che usa solo due core. Questo ha in parte a che fare con il sistema operativo e con il design del software. Più che altro, condividono ancora tutto il resto, in particolare la memoria, il disco e i dispositivi.

Sapete che il sistema operativo non si avvierà (sensibilmente) più velocemente e le pagine web non si scaricheranno più velocemente (potrebbero però disegnare più velocemente).

0
0
0
2009-07-15 15:46:35 +0000

Se state facendo un sacco di codifica video, rendering 3d, o build di codice sorgente distribuito, allora più core ci sono meglio è. Vedrete una marcata differenza di prestazioni per questi tipi di applicazioni quando passerete da 1 a 2 a 4 a 8 core.

Altrimenti le applicazioni standard in esecuzione non beneficeranno davvero di più core. Anche i giochi non sfrutteranno molto i core multipli. IMO, è meglio spendere i soldi in una scheda grafica migliore.

0
0
0
2009-07-15 15:43:11 +0000

Nel tuo caso il quad-core sarebbe meglio. Ricorda, più core hai più elaborazione parallela puoi fare. Quindi sul tuo dual-core potresti essere in grado di eseguire una singola app più velocemente del quad, ma il quad può eseguire 4 app più velocemente del tuo dual. Inoltre, se un'app è scritta per elaborare in parallelo (multi-threaded), allora l'app funzionerà meglio su un'architettura multi-core.

Questo è tutto relativo, però, in quanto un quad-core che gira a 100 Mhz non è in grado di superare un dual-core a 4 Ghz. In generale, però, più core ci sono e meglio è.