Question CPU Cores: Plus c'est le mieux?


J'ai actuellement un processeur dual-core au travail et un quad-core à la maison. J'ai remarqué que les deux PC sont assez égaux en ce qui concerne le lancement d'applications / la navigation sur le Web.

La différence que je peux voir est que mon dual-core est à 2,8 GHz et mon quad-core à 2,4 GHz.

Est-il préférable d'avoir un dual-core avec une vitesse d'horloge rapide ou un quad-core avec une vitesse d'horloge médiocre?


68


origine


«Rapide» et «médiocre» sont relatifs. Dans votre cas, un quad core serait préférable car la différence de vitesse d'horloge n'est que de 400 MHz. Cependant, pour la plupart, un dual-core à 3 GHz est meilleur qu'un quad-core à 1,5 GHz. - Sasha Chedygov
N'utilisez pas GHz pour comparer des processeurs, utilisez des résultats de tests de vitesse / charge pour comparer la vitesse effective d'un processeur. Un processeur dual core 3GHz pourrait être plus lent qu'un i7 à 2,4 GHz (i7 n'a pas de bus frontal, ...) ... - Ben
@Ben, devrait être évident que ce serait la même architecture de processeur (par exemple, 45nm Core 2 Duo vs Quad). - Mircea Chirea


Réponses:


REMARQUE: Cette réponse a été écrite il y a 8 ans. La programmation parallèle est depuis devenue plus pertinente. Cela est probablement dû aux limites de vitesse d'horloge inhérentes et aux limites de taille de transistor qui approchent rapidement.


Votre problème principal est un logiciel non écrit pour le multi-core.

Regardez l'excellent article de Jeff Atwood sur Choisir Dual Core ou Quad Core.

pour la plupart des logiciels, vous atteignez un point de rendement décroissant très rapidement après deux cœurs. Dans Ordinateurs de bureau à quatre cœurs et rendements décroissants, Je me suis demandé à quel point le logiciel actuel pouvait réellement utiliser quatre cœurs de processeur, et encore moins les inévitables huit cœurs de processeur que nous verrons dans quelques années.

Vous avez une réponse ici (surlignage copié de l'article de Jeff),

Cependant, il y a eu quelques surprises, comme Excel 2007 et le paramètre "opérations simultanées" de Lost Planet. Il est possible que le génie logiciel finisse par avancer au point que la vitesse d'horloge compte moins que le parallélisme. Ou éventuellement, cela pourrait ne pas être pertinent, si nous ne parvenons pas à faire le choix entre des vitesses d'horloge plus rapides et plus de cœurs de CPU. Mais en attendant, la vitesse d'horloge gagne la plupart du temps. Plus de cœurs de processeur ne sont pas automatiquement meilleurs. Les utilisateurs typiques seront mieux équipés avec le processeur dual-core le plus rapide possible.


La question de la Le devant du bus (ce terme m'a toujours amusé).
Avec Nehalem, les choses changent... comme l'a dit ArsTechnica l'année dernière.

La loi de Moore a embarrassé les concepteurs de processeurs de la richesse des transistors, et cela n’est nulle part plus évident que dans le processeur Nehalem 45 nm d’Intel. Débutant dans les variantes à 4 et 8 cœurs plus tard cette année, Nehalem emballe une tonne de matériel dans un socket de processeur unique. (Nombres premiers ont mis le nombre de transistors d'un Nehalem quad-core à 781 millions, pas de chiffres pour le modèle 8-core sont apparus encore.) Mais en essayant de nourrir tous que le matériel avec l'architecture de bus frontside existant de la plate-forme Intel serait folie. De manière tout aussi importante, Nehalem sonne également le glas de l’architecture de bus frontale gériatrique d’Intel.

Le changement radical de la situation de la bande passante du système d’Intel QuickPath Interconnect (QPI) représente peut-être le facteur le plus important qui a façonné le design de Nehalem. Entre QuickPath et le contrôleur de mémoire intégré de Nehalem, un processeur Nehalem aura accès à un nombre sans précédent de la bande passante totale, en particulier dans les mises en œuvre de deux et quatre sockets.

AMD a déplacé le contrôleur de mémoire dans le processeur plus tôt et a utilisé Hypertransport.


53



L'autre problème à prendre en compte est la performance du bus frontal. Avec autant de cœurs, de mémoire et de programmes aussi volumineux, l'accès à la mémoire devient critique! Si le CPU est en panne pour accéder à la mémoire principale, cela nuira aux performances. Plus vous effectuez plusieurs tâches simultanément, plus il est probable que cela se produise, quelle que soit la taille du cache de la puce. - geoffc
Au cours des huit années écoulées depuis l'ouverture de cette question en 2009, les choses ont changé. Les logiciels sont maintenant beaucoup mieux à même de tirer parti de nombreux cœurs, et cette tendance ne fera que continuer. - Contango
@Contango D'accord, cette réponse doit être mise à jour pour refléter les tendances actuelles. - Joe


Il y a, selon mon expérience, un énorme avantage en termes de performance de un à deux noyaux. Soudain, un programme CPU élevé ne verrouiller votre machine ou la rendre inutilement lente. Massif différence.

Mais deux à quatre? Pour 99% des personnes, il ne fera pas de différence. Vous devrez exécuter beaucoup de programmes à une fois ou utiliser des programmes qui peuvent tirer parti de plus de 2 cœurs (et de manière réaliste, il n’ya pas beaucoup de ceux). Certains encodeurs de médias viennent à l'esprit.

Il y a aussi une différence entre les processeurs Intel Core 2 et les AMD Phenoms à cet égard. AMD utilise Hypertransport, qui est un protocole point à point de sorte que chaque noyau a dédié bande passante Intel Core 2s (mais ne pas Core i7s et autres CPU basés sur Niehalem) utilisent un bus frontal, qui est partagé bande passante afin que vous ayez plus de cœurs en compétition pour le même bande passante

Cela peut potentiellement faire une même horloge quad core (légèrement) plus lent dans certaines circonstances. Le rapport qualité prix est toujours avec dual core IMHO. Cela étant dit, j'ai un quad core.


18



Le Nehalem utilise QPI (QuickPathInterconnect) qui se trouve dans le même parc que Hypertransport. - nik


J'aime comment Donald Knuth le résume:

Pour moi, cela ressemble plus ou moins aux concepteurs de matériel qui sont à court d'idées, et ils essaient de faire passer la responsabilité de la future disparition de la loi de Moore aux concepteurs de logiciels en nous donnant des machines qui fonctionnent plus rapidement références clés! Je ne serai pas surpris du tout si l'idée de multithreading se révèle être un flop, pire que l'approche "Itanium" qui était censée être si formidable - jusqu'à ce qu'il devienne impossible d'écrire les compilateurs souhaités .

Permettez-moi de dire ceci: Au cours des 50 dernières années, j'ai écrit plus de mille programmes, dont beaucoup ont une taille importante. Je ne peux même pas penser à cinq de ces programmes qui auraient été sensiblement améliorés par le parallélisme ou le multithreading. Par exemple, plusieurs processeurs ne sont certainement pas une aide pour TeX.

Pour certaines applications, il est très facile de tirer parti de plusieurs cœurs. Mais d'autres applications vont jamais en profiter, tandis que les autres pourrait bénéficier si les développeurs les optimisent (ce qui est très difficile).


9



En général, je conviens que les multi-cœurs n’aideront pas TeX lui-même. Mais ce serait un gros gain pour un éditeur graphique de TeX, qui appelle à plusieurs reprises TeX pour mettre à jour l'affichage au fur et à mesure de l'édition du document. - KeithB
Ceci est un de ces endroits où mon coeur va pour Knuth, mais mon esprit n'est pas tout à fait d'accord. - nik


Pour mon poste de travail principal chez mon employeur, j'utilise une machine Xeon double quad-core avec 8 Go de RAM.

Lorsque je programme et que je possède Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (ou 2010) et une instance Sql Server Express locale, tout résonne bien.

Comparativement, j'avais auparavant un dual core et les choses allaient commencer à tourner avec juste Visual Studio, Chrome et Sql Express.

C'est une question de ce que vous faites avec la machine. Si vous êtes un utilisateur averti, vous aurez besoin de l'édition vidéo, de la modélisation 3D ou de la programmation avec des ressources importantes .. alors oui, vous voudrez le quad-core et beaucoup de RAM.


5





Pour un usage quotidien et des programmes qui ne sont pas optimisés pour plusieurs cœurs, un dual-core rapide battra un quad-core plus lent.

Au fur et à mesure que le temps passe et que les applications multithread deviennent la norme, les quad-cores prendront le dessus.

Du point de vue de la rentabilité, les deux coeurs ont toujours une avance confortable.


1





Ça dépend. Si vous faites des choses qui utilisent tous les noyaux fortement, 4 cœurs sont meilleurs (montage vidéo, rendu, etc.). La plupart des gens trouveront deux cœurs rapides meilleurs pour le moment car peu d’applications sont écrites pour utiliser pleinement 4 cœurs


1





Notez que les derniers processeurs i7 peuvent en fait augmenter la vitesse d'horloge sur les cœurs actifs lorsque tous ne sont pas nécessaires; Par exemple, si vous avez un quad-core à 2,4 GHz, mais que le logiciel n'a besoin que de 2 cœurs, il peut être automatiquement cadencé à 2,8 GHz (pas un chiffre réel, juste un exemple).

Et je pense que la dernière génération du i7 peut afficher 3 ou 4 segments si un ou deux cœurs seulement sont nécessaires. En tant que tel, il ne sera peut-être pas nécessaire de trouver un compromis aussi


1





Selon Anandtech.com:

Tout se résume au TDP du   puce, ou son point de conception thermique. le   TDP plus contraint une plate-forme est,   plus vous en tirerez profit   Mode Turbo d'Intel. Laissez moi le mettre   autrement; pour s'adapter à quatre   cœurs en un TDP de 130W, chaque cœur a   pour courir à une vitesse d'horloge inférieure que si   nous n'avions qu'un seul noyau au même TDP.

Aux TDP plus élevés, il y a généralement assez   espace thermique pour diriger l'individu   des noyaux assez hauts. À des TDP inférieurs, CPU   les fabricants doivent faire un compromis   entre le nombre de noyaux et leur   vitesses d'horloge - c'est là que nous pouvons   s'amuser un peu.

Tout cela dans le contexte de devoir choisir entre les cœurs (ou les threads) et la fréquence de base.


1



Serait-ce plus pertinent pour un intérêt d'overclocking? Bon article de toute façon. - nik