La dimensione della cache o il numero di core è più importante quando si pesa la prestazione della CPU?


9

Sto acquistando un laptop da utilizzare per mio figlio a scuola, quindi non è necessario che sia una macchina da gioco. Ho già messo insieme i PC da zero, ma è passato un po 'di tempo.

Ho notato che un certo numero di macchine entry-level disponibili sono dotate di una CPU dual-core o single-core. Capisco che, a parità di condizioni, la CPU dual-core funzionerà probabilmente meglio. Tuttavia, se il single core avesse una cache L2 molto più grande (diciamo 3 MB per il single core contro 1 MB per il dual core)? So che questo può anche influenzare in modo significativo le prestazioni.

Comprendo che anche altri componenti del sistema, ad esempio la velocità della memoria e l'hardware grafico, influiranno sulle prestazioni del sistema. La mia domanda è, se devo scegliere tra un core CPU aggiuntivo o più cache, cosa dovrei scegliere?


2
Dipende anche dallo scenario del caso d'uso. Quale software stai usando (cosa fanno e come sono programmati) può avere un grande impatto su quale darà prestazioni migliori. Ad esempio, in passato i Celeron più veloci erano spesso migliori per la navigazione web e i giochi casual, mentre i P4 più lenti erano migliori per la compressione e i giochi 3D.
Synetech,

@Synetech, beh, ovviamente intendeva app tipiche di quest'anno + 3 anni. Le vecchie app non contano.
Pacerier,

Risposte:


12

Cache della CPU

Una cache della CPU più bassa comporterà una maggiore probabilità di errori della cache , con conseguente riduzione delle prestazioni. Detto questo, un altro intero core consentirà al computer di eseguire almeno due thread contemporaneamente, quindi è un compromesso quando devi sceglierne uno sopra l'altro.

Dimensione della cache della CPU vs. percentuale di errori

Dal grafico sopra, possiamo vedere che quando la dimensione della cache è superiore a 1 MB, la probabilità di mancato funzionamento della cache è già estremamente bassa e mostra rendimenti decrescenti con l'aumentare della dimensione della cache.

Core della CPU

I core di CPU extra, d'altra parte, possono mostrare aumenti drastici della velocità quando le applicazioni sfruttano i core multipli.

Per la maggior parte delle applicazioni del mondo reale, il core di esecuzione aggiuntivo fornirà un miglioramento delle prestazioni rispetto alla cache aggiuntiva. Sia la dimensione della cache che il numero dei core sono di vitale importanza quando si pesa la prestazione di un computer, ma quando si ha a che fare con una quantità relativamente bassa di core, i core aggiuntivi di solito forniscono significativi miglioramenti delle prestazioni.

...


È più o meno quello che pensavo ... ma non ero sicuro di dove avresti ottenuto rendimenti decrescenti con la cache. Grazie!
David,

Sono io o l'asse X del grafico è piuttosto sbagliato? 4-1 = 3; 16-4 = 12; 64-16 = 48 ecc. Ma tutti sono rappresentati con la stessa distanza. Ma suppongo che i dati presentati nel grafico siano ancora corretti, vero? Ho anche capito che l'asse Y ha anche questo.
Utku,

@Utku sia l'asse x che l'asse y utilizzano scale logaritmiche, con l'asse x che utilizza base-2 e l'asse y che utilizza base-10.
Sfondamento

6

Nucleo extra, facile, per la maggior parte delle applicazioni. È possibile eseguire il doppio dei calcoli in condizioni ottimali. La cache aiuta, ma non raddoppia la velocità.


3

La scelta giusta (dual-core vs capacità cache aggiuntiva) dipende dalle applicazioni di destinazione che verranno eseguite sul laptop.

I processori dual core ridurranno teoricamente il tempo di esecuzione della metà rispetto a un processore single core. Tuttavia, in pratica, l'accelerazione di 2x è raramente raggiunta a causa delle difficoltà della scrittura di applicazioni parallele. La legge di Amdahl (link) mostra che anche se l'applicazione ha il 90% dell'esecuzione perfettamente parallelizzata (un compito impegnativo per applicazioni di grandi dimensioni) la velocità è di 1,82X anziché 2X. La velocità dal secondo core diminuirà solo per le applicazioni che non sono implementate in modo scalabile.

Una maggiore capacità della cache L2 ridurrà la percentuale di errori nelle cache, come mostrato nella risposta di @Breakthrough. Tuttavia, la risposta trae la conclusione errata dal diagramma secondo cui la capacità della cache oltre 1 MB fornirà solo miglioramenti marginali. Il punto dei rendimenti decrescenti dipende dall'applicazione (in particolare, dal collegamento alle dimensioni del set di lavoro ) dell'applicazione. È probabile che la maggior parte delle applicazioni abbia dimensioni del set di lavoro superiori a 1 MB e, quindi, cache più grandi contribuiranno a migliorare le prestazioni evitando accessi DRAM a lunga latenza (i processori funzionano fino a 3 ordini di grandezza più velocemente della memoria principale)

Infine, mentre la mia risposta potrebbe sembrare favorire una cache più grande rispetto a un secondo processore, vorrei sottolineare che il curriculum CS più moderno si concentra sull'introduzione della programmazione parallela agli studenti. Pertanto, i processori multi-core hanno più senso anche se non sono chiaramente la scelta migliore dal punto di vista delle prestazioni



1

Consiglierei la macchina dual core rispetto al single core.

Dato che Windows sta sostanzialmente facendo molto allo stesso tempo (ad esempio, navighi sul Web, mentre viene scaricato un Windows Update e l'antivirus sta eseguendo la scansione del file appena scaricato), un sistema dual core è per lo più più "reattivo" di un singolo core macchinari.


0

La dimensione della cache è importante in quanto riduce la probabilità che si verifichi un errore nella cache. Cache miss 'sono costosi perché la CPU deve accedere alla memoria principale per accedere all'indirizzo di memoria, ciò richiede molto più tempo e quindi si traduce in un computer più lento.

Anche il numero di core è importante poiché più core ci sono più processi possono essere eseguiti contemporaneamente. Ciò significa che più istruzioni possono essere eseguite in parallelo, risultando in un computer più veloce.

Come puoi vedere, entrambi sono piuttosto critici e l'ottimizzazione di entrambi è importante, anche se per esperienza personale, un chip del processore multi core è più vantaggioso di una cache più grande se devi ottimizzare solo una cosa ...

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.