web-dev-qa-db-fra.com

Cœurs de processeur: plus il y a de 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 de 2,8 GHz et mon quad-core est de 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?

69
Travis

_ {NOTE:} _ Cette réponse a été écrite il y a 8 ans. La programmation parallèle est devenue depuis 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 le logiciel non écrit pour multi-core.

Jetez un coup d'œil à l'excellent article de Jeff Atwood sur Choisir un noyau double ou quadricœur .

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 quadricœurs et rendements décroissants , je me demandais si les logiciels actuels pouvaient réellement utiliser même quatre cœurs de processeur, encore moins les inévitables cœurs de huit et seize processeurs que nous verrons dans quelques années.

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

Cependant, il y avait quelques surprises ici, comme Excel 2007 et le paramètre "opérations simultanées" de Lost Planet. Il est possible que l'ingénierie logicielle finisse par avancer au point où la vitesse d'horloge compte moins que le parallélisme. Sinon, cela pourrait ne pas être pertinent si nous ne parvenions pas à faire le choix entre des vitesses d'horloge plus rapides et davantage de cœurs de processeur. Mais entre-temps, 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 lotis avec le processeur double cœur le plus rapide possible.


La question du bus frontal (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 mis les concepteurs de processeurs dans l'embarras de la richesse des transistors, et cela est plus évident que dans le processeur Intel Nehalem 45 nm. Débutant dans les variantes à 4 et 8 coeurs plus tard cette année, Nehalem intègre une tonne de matériel dans un seul socket de processeur. (Les premiers chiffres chiffraient le nombre de transistors d'un Nehalem quadricœur à 781 millions; aucun chiffre pour le modèle à 8 cœurs n'a encore été publié.) Mais essayer d'alimenter tout ce matériel avec l'architecture de bus frontal existante de la plateforme Intel serait une folie. Nehalem sonne donc le glas de la construction de l’architecture de bus frontal positivement gériatrique d’Intel.

Le changement radical dans la situation de la bande passante système d'Intel que représente le nouveau QuickPath Interconnect (QPI) d'Intel est peut-être le facteur le plus important à l'origine de la conception de Nehalem. Entre QuickPath et le contrôleur de mémoire intégré de Nehalem, un processeur Nehalem aura accès à une quantité de bande passante globale sans précédent, en particulier dans les implémentations à deux et quatre sockets.

AMD a précédemment installé le contrôleur de mémoire dans le processeur et utilisé Hypertransport.

53
nik

D'après mon expérience, un énorme avantage en termes de performances passe d'un à deux cœurs. Tout à coup, un programme à processeur élevé ne verrouille pas votre ordinateur, ni ne le ralentit de manière inutilisable. Différence massive.

Mais deux à quatre? Pour 99% des gens, cela ne fera aucune différence. Vous devrez exécuter plusieurs programmes à la fois ou utiliser des programmes pouvant tirer parti de plus de 2 cœurs (et, de manière réaliste, ils sont peu nombreux). Certains encodeurs de médias me viennent à l’esprit.

À cet égard, il existe également une différence entre les processeurs Intel Core 2 et AMD Phenoms. AMD utilise Hypertransport, un protocole point à point, de sorte que chaque cœur dispose d’une bande passante dédiée. Les processeurs Intel Core 2 (mais not Core i7 et les autres processeurs basés sur Niehalem) utilisent un bus frontal, à bande passante partagée, ce qui vous permet d'avoir plus de cœurs en concurrence pour la même bande passante.

Cela peut potentiellement rendre une même horloge quad core (légèrement) plus lente dans certaines circonstances. Le rapport qualité-prix est toujours à double cœur IMHO. Cela étant dit, j'ai un quad core.

18
cletus

J'aime comment Donald Knuth résume :

Pour moi, il semble plus ou moins que les concepteurs de matériel ont manqué d'idées et qu'ils essaient de faire porter aux auteurs de logiciels le blâme de la disparition future de la loi de Moore en nous offrant des machines qui fonctionnent plus rapidement. repères clés! Je ne serais pas du tout surpris si toute l'idée de multithreading s'avère être un échec, pire que l'approche "Itanium" qui était supposée être si géniale - jusqu'à ce qu'il s'avère que les compilateurs souhaités étaient fondamentalement impossibles à écrire .

Permettez-moi de le dire ainsi: au cours des 50 dernières années, j’ai écrit plus de mille programmes, dont beaucoup ont une taille considérable. 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 d'aucune aide pour TeX.

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

10
Bastien Léonard

Pour mon ordinateur principal chez mon employeur, j'utilise une machine Xeon à quatre cœurs avec 8 Go de RAM.

Quand je suis en train de programmer et que j'ai Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (ou 2010) et une instance locale de Sql Server Express ... tout fonctionne parfaitement.

Comparativement, j’avais un double cœur auparavant, et tout commencerait à s’exercer uniquement avec Visual Studio, Chrome et Sql Express.

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

5
Jeff Fritz

Selon Anandtech.com :

Tout se résume au TDP de la puce, ou à son point de conception thermique. Plus une plate-forme est soumise à des contraintes TDP, plus vous bénéficierez du mode Turbo d’Intel. En d'autres termes; Pour pouvoir intégrer quatre cœurs dans un TDP de 130 W, chaque cœur doit fonctionner à une vitesse d'horloge plus faible que si nous n'avions qu'un seul cœur dans le même TDP.

Avec des TDP plus élevés, il y a généralement assez de marge thermique pour que les noyaux individuels soient assez élevés. Avec des TDP inférieurs, les fabricants de CPU doivent faire un compromis entre le nombre de cœurs et leur vitesse d’horloge - c’est là que l’on peut s’amuser.

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

1
Ivo Flipse

Pour une utilisation quotidienne et des programmes qui ne sont pas optimisés multi-core, un dual-core rapide bat un quad-core plus lent.

À mesure que le temps passe et que les applications multi-threadées appropriées deviennent la norme, les quad-cœurs vont de l'avant.

D'un point de vue économique, les dual-core ont toujours une avance confortable.

1
Auxonic

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

1
David Hayes

Notez que les derniers processeurs i7 peuvent en réalité augmenter la vitesse d'horloge sur les cœurs actifs lorsque tous ne sont pas nécessaires. Par exemple, si vous avez un quadricœur à 2,4 GHz, mais que le logiciel ne nécessite que 2 cœurs, il peut automatiquement être cadencé jusqu'à 2,8 GHz (il ne s'agit pas d'un chiffre réel, mais d'un exemple).

Et la dernière génération de l’i7, je pense, peut enregistrer 3 ou 4 bacs si seulement un ou deux cœurs sont nécessaires. En tant que tel, il se peut qu'il ne finisse pas par rester aussi difficile que ce qu'il est actuellement ...

1
jerryjvl

Dépend.

Tout à fait.

Vous pouvez facilement trouver un quad-core en utilisant seulement deux cœurs. Cela concerne en partie le système d'exploitation et la conception du logiciel. Plus encore, ils partagent tout le reste, en particulier la mémoire, le disque et les périphériques.

Vous savez que le système d'exploitation ne démarre pas (sensiblement) plus rapidement et les pages Web ne se téléchargent pas plus rapidement (elles pourraient dessiner plus rapidement).

0
dlamblin

Dans votre cas, le quad-core serait mieux. N'oubliez pas que plus vous avez de cœurs, plus vous pouvez effectuer de traitement parallèle. Donc, sur votre dual-core, vous pourrez peut-être exécuter une seule application plus rapidement que le quad, mais le quad peut exécuter 4 applications plus rapidement que vous ne pourrez le faire. En outre, si une application est écrite pour être traitée en parallèle (multi-thread), elle fonctionnera mieux avec une architecture multi-core.

Tout cela est relatif, cependant, dans la mesure où un quadricœur fonctionnant à 100 Mhz ne produira pas un processeur double cœur à 4 Ghz. En règle générale, plus il y a de cœurs, mieux c'est.

0
Joseph

Cela dépend de ce que vous faites et des capacités de votre système d'exploitation et de vos applications.

Si vous avez un système d'exploitation léger et que vous exécutez une seule application liée au processeur qui ne peut utiliser qu'un seul processeur, deux processeurs plus rapides constitueront un meilleur choix.

Sinon, si le système d'exploitation peut planifier efficacement tous les cœurs et que vous exécutez de nombreuses applications ou des applications pouvant utiliser plusieurs processeurs plus lentement, alors on s'attendrait à de meilleures performances pour une consommation d'énergie inférieure et donc une production de chaleur moindre.

0
mas

Si vous utilisez beaucoup d'encodage vidéo, de rendu 3D ou de code source distribué, plus vous aurez de cœurs, mieux ce sera. Vous constaterez une nette différence de performances pour ces types d’applications lorsque vous passez de 1 à 2 à 4 à 8 cœurs.

Sinon, les applications standard ne bénéficieront pas de plus de cœurs. Même les jeux n'exploiteront vraiment pas autant de cœurs. OMI, vous feriez mieux de dépenser de l'argent sur une meilleure carte graphique.

0
Nick Haddad