La taille du cache ou le nombre de cœurs est-il plus important lors de l'évaluation des performances du processeur?

9

J'achète un ordinateur portable que mon fils pourra utiliser pour l'école, il n'a donc pas besoin d'être une machine à sous. J'ai déjà assemblé des PC à partir de zéro, mais cela fait longtemps.

J'ai remarqué qu'un certain nombre de machines d'entrée de gamme disponibles sont équipées d'un processeur dual-core ou single-core. Je comprends que toutes choses étant égales par ailleurs, le processeur dual-core fonctionnera probablement mieux. Cependant, que se passe-t-il si le cœur unique a un cache L2 beaucoup plus grand (disons 3 Mo pour le cœur unique contre 1 Mo pour le cœur double)? Je sais que cela peut également affecter considérablement les performances.

Je comprends que d'autres composants du système, par exemple la vitesse de la mémoire et le matériel graphique, affecteront également les performances du système. Ma question est, si je dois choisir entre un cœur de processeur supplémentaire ou plus de cache, que dois-je choisir?

David
la source
2
Cela dépend également de votre scénario de cas d'utilisation. Les logiciels que vous utilisez (ce qu'ils font et comment ils sont programmés) peuvent avoir un impact important sur ceux qui donneront de meilleures performances. Par exemple, dans le passé, les Celerons plus rapides étaient souvent meilleurs pour la navigation sur le Web et les jeux occasionnels tandis que les P4 plus lents étaient meilleurs pour la compression et les jeux 3D.
Synetech
@Synetech, Eh bien, bien sûr, il voulait dire des applications typiques de cette année + 3 ans. Les anciennes applications n'ont pas d'importance.
Pacerier

Réponses:

12

Cache CPU

Un cache de processeur inférieur entraînera une probabilité plus élevée de manquements au cache , ce qui dégradera considérablement les performances. Cela étant dit, un autre noyau entier permettra à l'ordinateur d'exécuter au moins deux threads simultanément, c'est donc un compromis lorsque vous devez en choisir un sur l'autre.

Taille du cache du processeur par rapport au taux d'échecs

À partir du graphique ci-dessus, nous pouvons voir que lorsque la taille du cache est supérieure à 1 Mo, la probabilité d'un échec du cache est déjà extrêmement faible et montre des rendements décroissants avec l'augmentation de la taille du cache.

Cœurs de CPU

D'un autre côté, les cœurs de processeur supplémentaires peuvent afficher une augmentation drastique de la vitesse lorsque les applications profitent des multiples cœurs.

Pour la plupart des applications du monde réel, le cœur d'exécution supplémentaire fournira un meilleur gain de performances par rapport au cache supplémentaire. La taille du cache et le nombre de cœurs sont tous deux d'une importance vitale pour évaluer les performances d'un ordinateur, mais lorsque vous traitez avec une quantité relativement faible de cœurs pour commencer, les cœurs supplémentaires procurent généralement des gains de performances significatifs.

...

Percée
la source
C'est plus ou moins ce que je pensais ... mais je ne savais pas où vous en seriez dans les rendements décroissants avec le cache. Merci!
David
Est-ce moi ou l'axe X du graphique est-il assez faux? 4-1 = 3; 16-4 = 12; 64-16 = 48 etc mais tous sont représentés avec la même distance. Mais je suppose que les données présentées dans le graphique sont toujours correctes, n'est-ce pas? A également réalisé que l'axe Y a cela aussi.
Utku
@Utku, l'axe x et l'axe y utilisent des échelles logarithmiques, l'axe x utilisant la base-2 et l'axe y utilisant la base-10.
Percée du
6

Noyau supplémentaire, facile, pour la plupart des applications. Vous pouvez effectuer deux fois les calculs dans des conditions optimales. Le cache aide, mais il ne double pas la vitesse.

soandos
la source
3

Le bon choix (double cœur vs capacité de cache supplémentaire) dépend des applications cibles qui vont être exécutées sur l'ordinateur portable.

Les processeurs double cœur réduiront théoriquement le temps d'exécution de moitié par rapport à un processeur simple cœur. Cependant, dans la pratique, l'accélération de 2x est rarement atteinte en raison des difficultés d'écriture d'applications parallèles. La loi d'Amdahl (lien) montre que même si l'application a 90% de l'exécution parfaitement parallélisée (une tâche difficile pour les grandes applications), l'accélération est de 1,82X au lieu de 2X. L'accélération du deuxième cœur ne diminuera que pour les applications qui ne sont pas implémentées de manière évolutive.

Une plus grande capacité de cache L2 réduira le taux d'échecs dans les caches, comme indiqué dans la réponse de @Breakthrough. Cependant, la réponse tire la conclusion incorrecte de l'intrigue que la capacité de cache au-delà de 1 Mo n'apportera que des améliorations marginales. Le point de rendements décroissants dépend de l'application (en particulier, le lien de taille de l'ensemble de travail ) de l'application. La plupart des applications ont probablement une taille de travail supérieure à 1 Mo et, par conséquent, des caches plus importants aideront à améliorer les performances en évitant les accès DRAM à longue latence (les processeurs fonctionnent jusqu'à 3 ordres de grandeur plus rapidement que la mémoire principale)

Enfin, bien que ma réponse puisse sembler favoriser un cache plus important par rapport à un second processeur, je voudrais souligner que la plupart des programmes de CS modernes se concentrent sur l'introduction de la programmation parallèle aux étudiants. Par conséquent, les processeurs multicœurs ont plus de sens même s'ils ne sont pas clairement le meilleur choix en termes de performances

YetAnotherPseudoName
la source
1

Je recommanderais la machine dual core par rapport au single core.

Comme Windows fait essentiellement beaucoup de choses en même temps (par exemple, vous naviguez sur le Web, alors qu'une mise à jour de Windows est téléchargée et que l'antivirus analyse le fichier qui vient d'être téléchargé), un système à double cœur est généralement plus "réactif" qu'un simple cœur. Machines.

Tex Hex
la source
0

La taille du cache est importante car elle réduit la probabilité d'un échec du cache. Les erreurs de cache sont coûteuses car le processeur doit se rendre dans la mémoire principale pour accéder à l'adresse mémoire, cela prend beaucoup plus de temps et entraîne donc un ordinateur plus lent.

Le nombre de cœurs est également important car plus il y a de cœurs, plus il y a de processus pouvant être exécutés en même temps. Cela signifie que plusieurs instructions peuvent être exécutées en parallèle, résultant en un ordinateur plus rapide.

Comme vous pouvez le voir, les deux sont assez critiques et l'optimisation des deux est importante, bien que par expérience personnelle, une puce de processeur multi-cœur soit plus bénéfique qu'un cache plus important si vous ne devez optimiser qu'une seule chose ...

rrazd
la source