Core della CPU: più meglio è?


69

Al momento 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 l'avvio delle applicazioni / la navigazione sul web.

La differenza che posso vedere è che il mio dual-core è 2,8 GHz e il mio quad-core è 2,4 GHz.

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


5
"Veloce" e "mediocre" sono relativi. Nel tuo caso, un quad core sarebbe migliore perché la differenza nelle velocità di clock è solo di 400 MHz. Tuttavia, un dual-core da 3 GHz è meglio di un quad-core da 1,5 GHz, per la maggior parte.
Sasha Chedygov,

Non utilizzare GHz per confrontare i processori, utilizzare alcuni risultati dei test di velocità / carico per confrontare la velocità effettiva di un processore. Un processore dual core 3GHz potrebbe essere più lento di un i7 a 2,4 GHz (i7 non ha un bus frontale, ...) ...
Ben

2
@Ben, dovrebbe essere ovvio che si tratterebbe della stessa architettura di processore (ad esempio Core 2 Duo a 45 nm vs Quad).
Mircea Chirea,

Risposte:


53

NOTA: questa risposta è stata scritta 8 anni fa. Da allora la programmazione parallela è diventata più rilevante. Ciò è probabilmente dovuto ai limiti di velocità di clock intrinseci e ai limiti di dimensione del transistor che si avvicinano rapidamente.


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

Guarda l'eccellente articolo di Jeff Atwood sulla scelta del Dual core o Quad Core .

per la maggior parte dei software, dopo due core si raggiunge un punto di ritorno in diminuzione molto rapidamente. Nei desktop quad-core e nei rendimenti decrescenti , ho messo in dubbio l'efficacia con cui il software di oggi può davvero utilizzare anche quattro core della CPU, tanto meno gli inevitabili otto e sedici core della CPU che vedremo tra qualche anno.

Ti viene data una risposta qui (punto culminante copiato dall'articolo di Jeff),

Tuttavia, ci sono state alcune sorprese qui, come Excel 2007 e l'impostazione "operazioni simultanee" di Lost Planet. È possibile che l'ingegneria del software avanzerà al punto che la velocità di clock conta meno del parallelismo. O alla fine potrebbe essere irrilevante, se non riusciamo a 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 sono automaticamente migliori . Gli utenti tipici staranno meglio con la CPU dual core più veloce possibile.


Il problema del Front-Side Bus (quel termine mi ha sempre divertito).
Con Nehalem le cose cambiano ... come ha detto ArsTechnica l'anno scorso.

La legge di Moore ha dato ai progettisti di processori un imbarazzo per la ricchezza di transistor, e da nessuna parte è più evidente che nel processore Nehalem a 45 nm di Intel. Debuttando nelle varianti a 4 e 8 core entro la fine dell'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'architettura del bus frontale della piattaforma Intel sarebbe folle. Quindi, altrettanto importante, Nehalem suona anche la morte da tempo attesa per l'architettura bus geriatrica positivamente di Intel.

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

AMD ha spostato il controller di memoria nel processore in precedenza e ha utilizzato Hypertransport.


3
L'altro problema da considerare è la prestazione del bus frontale. Con così tanti core, così tanta memoria e programmi così grandi, l'accesso alla memoria diventa fondamentale! Se la CPU deve guastare per accedere alla memoria principale, ne risentiranno le prestazioni. Maggiore è il multitasking, maggiore è la probabilità che ciò accada, indipendentemente da quanto oscuramente sia grande nella cache dei chip.
geoffc,

1
Negli 8 anni da quando questa domanda è stata aperta nel 2009, le cose sono cambiate. Il software ora è molto più bravo a trarre vantaggio da molti core e questa tendenza continuerà soltanto.
Contango,

1
@Contango D'accordo, questa risposta deve essere aggiornata per riflettere le tendenze attuali.

18

Nella mia esperienza, c'è un enorme vantaggio in termini di prestazioni che va da uno a due core. Improvvisamente un programma con CPU alta non blocca il tuo computer o lo rende insolitamente lento. Massiccia differenza.

Ma dalle due alle quattro? Per il 99% delle persone non farà differenza. Dovrai eseguire molti programmi contemporaneamente o utilizzare programmi che possono sfruttare più di 2 core (e realisticamente non ce ne sono molti). Alcuni encoder multimediali vengono in mente.

C'è anche una differenza tra Intel Core 2s e AMD Phenoms in questo senso. AMD utilizza 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) utilizzano un bus lato frontale, che è una larghezza di banda condivisa in modo da avere più core in competizione per la stessa larghezza di banda.

Ciò può potenzialmente rallentare (marginalmente) lo stesso quadruplo clock in alcune circostanze. Rapporto qualità-prezzo è ancora con IMHO dual core. Detto questo, ho un quad core.


1
Nehalem utilizza QPI (QuickPathInterconnect) che si trova nello stesso parco di Hypertransport.
nik,

10

Mi piace come riassume Donald Knuth :

Per me, sembra più o meno che i progettisti dell'hardware abbiano esaurito le idee e che stiano cercando di passare la colpa per la futura fine della Legge di Moore agli scrittori di software dandoci macchine che funzionano più velocemente solo su alcuni parametri chiave! Non sarò affatto sorpreso se l'intera idea del multithreading si rivelasse un flop, peggio dell'approccio "Itanium" che doveva essere così eccezionale - fino a quando non si è scoperto che i compilatori desiderati erano praticamente impossibili da scrivere .

Lasciatemi dire così: negli ultimi 50 anni ho scritto oltre un migliaio di programmi, molti dei quali hanno dimensioni considerevoli. Non riesco a pensare nemmeno a cinque di quei programmi che sarebbero stati notevolmente migliorati dal parallelismo o dal multithreading. Sicuramente, ad esempio, più processori non sono di aiuto per TeX.

Per alcune applicazioni, è molto semplice sfruttare più core. Ma alcune altre applicazioni non ne trarranno mai beneficio, mentre altre potrebbero trarre vantaggio se gli sviluppatori le ottimizzano (il che è molto difficile).


4
In generale, sono d'accordo sul fatto che i multi-core non aiuterebbero TeX stesso. Ma sarebbe una grande vittoria per un editor grafico TeX, che chiama ripetutamente TeX per aggiornare il display mentre il documento viene modificato.
KeithB,

3
Questo è uno di quei posti in cui il mio cuore va per Knuth, ma la mia mente non è del tutto d'accordo.
nik,

5

Per il mio desktop principale presso il mio datore di lavoro, utilizzo una macchina Xeon quad-core dual 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 procede bene.

In confronto, in precedenza avevo un dual core e le cose avrebbero iniziato a gattonare solo con Visual Studio, Chrome e Sql Express in esecuzione.

È una questione di cosa fai con la macchina. Se sei un power-user che sarà l'editing video, la modellazione 3D o la programmazione con risorse significative .. allora sì, avrai bisogno del quad-core e molta RAM.


1

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

Col passare del tempo e le app multi-thread correttamente diventano la norma i quad-core avanzeranno.

Da un botto per la tua prospettiva buck, i dual core hanno ancora un vantaggio confortevole.


1

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


1

Si noti che gli ultimi processori i7 possono effettivamente aumentare la velocità di clock sui core attivi quando non sono necessari tutti; ad esempio, se si dispone di un quad-core a 2,4 GHz, ma per l'esecuzione del software sono necessari solo 2 core, potrebbe essere automaticamente sincronizzato fino a 2,8 GHz (non una cifra reale, solo un esempio).

E l'ultima generazione di i7, penso, possa fare il backup di 3 o 4 bin se sono necessari solo uno o due core. Come tale, potrebbe non finire per rimanere tanto un compromesso come lo è attualmente ...


1

Secondo Anandtech.com :

Tutto si riduce al TDP del chip, o al suo punto di progettazione termica. Quanto più una piattaforma è vincolata al TDP, tanto maggiore sarà il vantaggio ottenuto dalla modalità Turbo di Intel. Lasciami dire in un altro modo; al fine di adattare quattro core in un TDP da 130 W, ogni core deve funzionare a una velocità di clock inferiore rispetto a se avessimo un solo core allo stesso TDP.

A TDP più elevati, di solito c'è abbastanza margine termico per far funzionare i singoli core piuttosto in alto. A TDP più bassi, i produttori di CPU devono fare un compromesso tra il numero di core e la loro velocità di clock - è lì che ci possiamo divertire.

Tutto questo nel contesto di dover scegliere tra core (o thread) e frequenza del core.


Questo sarebbe più rilevante per un interesse di overclocking? Ottimo articolo comunque.
nik,

0

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 di quanto tu sia doppia. Inoltre, se un'app è scritta per l'elaborazione in parrallel (multi-thread), l'app funzionerà meglio su un'architettura multi-core.

Tutto ciò è relativo, tuttavia, poiché un quad-core in esecuzione a 100 Mhz non eseguirà un dual-core da 4 Ghz. In generale, tuttavia, più core sono, meglio è.


Si presuppone che un'applicazione in grado di funzionare su due core sarà anche in grado di sfruttare quattro core. Questo non è sempre vero.
nik,

@nik No, non lo sono, stavo affermando che un'app multi-thread funzionerà meglio su un'architettura multi-core. Non ho indicato nulla sul guadagno proporzionale sul numero di core che hai.
Joseph,

0

Dipende da cosa stai facendo e dalle capacità del tuo sistema operativo e delle tue applicazioni.

Se si dispone di un sistema operativo leggero e si esegue una singola applicazione associata alla CPU che può utilizzare solo un processore, due processori a velocità più elevata saranno la scelta migliore.

Altrimenti, se il sistema operativo è in grado di pianificare tutti i core in modo efficace e si stanno eseguendo molte applicazioni o applicazioni che possono utilizzare più di un processore il quad-core più lento, ci si aspetterebbe prestazioni migliori per un minor consumo energetico e quindi una minore produzione di calore.


0

Se stai eseguendo molte codifiche video, rendering 3d o build di codice sorgente distribuito, maggiore è il numero di core, meglio è. Vedrai una marcata differenza nelle prestazioni per questi tipi di applicazioni mentre passi da 1 a 2 a 4 a 8 core.

Altrimenti l'esecuzione di applicazioni standard in realtà non trarrà vantaggio da più core. Anche i giochi non sfrutteranno così tanto più core. IMO, stai meglio spendendo i soldi su una scheda grafica migliore.


0

Dipende.

Così tanto.

Puoi facilmente trovare un quad-core usando solo due core. Questo in parte ha a che fare con il sistema operativo e con la progettazione del software. Inoltre, condividono ancora tutto il resto, in particolare la memoria, il disco e i dispositivi.

Sai che il sistema operativo non si avvierà (notevolmente) più velocemente e le pagine web non verranno scaricate più velocemente (potrebbero disegnare più velocemente però).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.