2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

Cœurs de l'unité centrale : Plus il y en a, mieux c'est ?

J'ai actuellement un processeur double cœur au travail et un quadruple cœur à la maison. J'ai remarqué que les deux PC sont à peu près égaux en ce qui concerne le lancement d'applications et la navigation sur le web.

La différence que je peux constater est que mon double cœur est à 2,8 GHz et mon quadricœur à 2,4 GHz.

**Vaut-il mieux avoir un dual-core avec une vitesse d'horloge rapide ou un quad-core avec une vitesse d'horloge médiocre ?

Réponses (12)

53
53
53
2009-07-15 15:42:45 +0000

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


Votre problème principal est un logiciel qui n'est pas écrit pour le multi-core.

Regardez l'excellent article de Jeff Atwood sur Choix d'un double ou d'un quadruple cœur .

pour la plupart des logiciels, vous atteignez un point de rendement décroissant très rapidement après deux cœurs. Dans Quad-Core Desktops and Diminishing Returns , je me suis demandé dans quelle mesure les logiciels d'aujourd'hui peuvent réellement utiliser ne serait-ce que quatre cœurs de processeur, et encore moins les inévitables huit et seize cœurs de processeur que nous verrons dans quelques années.

Vous trouverez la réponse ici (le surlignage est copié de l'article de Jeff),

Cependant, il y a eu quelques surprises ici, comme Excel 2007, et le paramètre “opérations simultanées” de Lost Planet. Il est possible que le génie logiciel finisse par progresser au point que la vitesse d'horloge importe moins que le parallélisme. Ou alors, cela pourrait ne plus avoir d'importance si nous n'avons pas à choisir entre une vitesse d'horloge plus élevée et un plus grand nombre de cœurs de processeur. Mais en attendant, la vitesse d'horloge l'emporte la plupart du temps. Plus de cœurs de processeurs n'est pas automatiquement mieux. Les utilisateurs types seront mieux lotis avec le CPU double cœur le plus rapide possible qu'ils peuvent s'offrir.


La question du Front-Side 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 donné aux concepteurs de processeurs un embarras de richesses en matière de transistors, et nulle part ailleurs cela n'est plus apparent que dans le processeur Nehalem 45 nm d'Intel. Lancé dans des variantes à 4 et 8 cœurs plus tard dans l'année, Nehalem regroupe une tonne de matériel dans un seul socle de processeur. (Selon les premiers chiffres, le nombre de transistors d'un Nehalem à quatre cœurs s'élève à 781 millions ; aucun chiffre n'est encore apparu pour le modèle à 8 cœurs). Mais essayer d'alimenter tout ce matériel avec l'architecture de bus frontale existante de la plate-forme Intel serait une folie. Donc, tout aussi important, Nehalem sonne également le glas, attendu depuis longtemps, de l'architecture de bus frontside d'Intel, qui est positivement gériatrique.

Le changement radical dans la situation de la bande passante du système d'Intel que représente le nouveau QuickPath Interconnect (QPI) d'Intel est peut-être le facteur le plus important qui a façonné 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é sans précédent de bande passante globale, en particulier dans les implémentations à deux et quatre sockets.

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

18
18
18
2009-07-15 15:41:59 +0000

D'après mon expérience, il y a un énorme avantage en matière de performance, allant d'un à deux noyaux. Soudain, un programme à processeur élevé ne bloque pas votre machine ou ne la ralentit pas de manière inutilisable. Une différence énorme.

Mais de deux à quatre ? Pour 99% des gens, cela ne fera pas de différence. Vous devrez exécuter beaucoup de programmes à la fois ou utiliser des programmes qui peuvent tirer parti de plus de deux cœurs (et, en réalité, il n'y en a pas tant que ça). Certains encodeurs de médias viennent à l'esprit.

Il y a aussi une différence entre les Intel Core 2 et les AMD Phenoms à cet égard. AMD utilise l'Hypertransport, qui est un protocole point à point, de sorte que chaque cœur dispose d'une bande passante dédiée. Les Intel Core 2 (mais non les Core i7 et les autres CPU basés sur Niehalem) utilisent un bus frontal, qui est une bande passante partagée, de sorte que plusieurs cœurs sont en concurrence pour la même bande passante.

Cela peut potentiellement rendre un même quadricœur d'horloge (légèrement) plus lent dans certaines circonstances. Le rapport qualité-prix est toujours le même avec les doubles cœurs IMHO. Cela étant dit, j'ai un quadruple cœur.

10
10
10
2009-07-15 15:53:09 +0000

J'aime comment Donald Knuth résume :

Il me semble que les concepteurs de matériel informatique sont à court d'idées, et qu'ils essaient de faire porter la responsabilité de la future disparition de la loi de Moore aux auteurs de logiciels en nous donnant des machines qui ne fonctionnent plus vite que sur quelques points de référence clés ! Je ne serai pas du tout surpris si toute l'idée du multithreading s'avère être un flop, pire que l'approche “Itanium” qui était censée être si formidable - jusqu'à ce qu'il s'avère que les compilateurs souhaités étaient fondamentalement impossibles à écrire.

Laissez-moi vous dire ceci : Au cours des 50 dernières années, j'ai écrit plus d'un millier de programmes, dont beaucoup ont une taille considérable. Je ne peux même pas penser à cinq de ces programmes qui auraient été améliorés de façon notable par le parallélisme ou le multithreading. Il est certain, par exemple, que les processeurs multiples ne sont pas d'un grand secours pour le TeX.

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

5
5
5
2009-07-15 15:48:54 +0000

Pour mon bureau principal chez mon employeur, j'utilise une machine Xeon à double cœur 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 se passe très bien.

En comparaison, j'avais un double noyau avant, et les choses commençaient à se mettre à tourner avec seulement 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é qui va faire du montage vidéo, de la modélisation 3D ou de la programmation avec des ressources importantes… alors oui, vous voudrez le quadricœur et beaucoup de RAM.

1
1
1
2009-07-15 16:56:28 +0000

Selon Anandtech.com :

Tout se résume au TDP de la puce, ou son point de conception thermique. Plus le TDP d'une plate-forme est contraint, plus vous avez intérêt à profiter du mode Turbo d'Intel. Permettez-moi de le dire autrement : pour faire tenir 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 à ce même TDP.

Pour les TDP plus élevés, il y a généralement assez de marge de manœuvre thermique pour faire fonctionner les noyaux individuels à une vitesse assez élevée. À un TDP plus faible, les fabricants de processeurs doivent faire un compromis entre le nombre de cœurs et leur vitesse d'horloge - c'est là que nous pouvons nous amuser.

Tout cela dans un contexte où il faut choisir entre les cœurs (ou les fils) et la fréquence du cœur.

1
1
1
2009-07-15 15:43:26 +0000

Cela dépend. Si vous faites des choses qui utiliseront fortement chaque noyau, 4 noyaux sont préférables (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 les 4 cœurs

1
1
1
2009-07-15 15:49:30 +0000

Notez que les derniers processeurs i7 peuvent en fait augmenter la vitesse d'horloge des 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 n'a besoin que de 2 cœurs pour fonctionner, il peut alors être automatiquement cadencé jusqu'à 2,8 GHz (ce n'est pas un chiffre réel, c'est juste un exemple).

Et la dernière génération de l'i7 peut, je pense, cadencer 3 ou 4 bins si un ou deux cœurs seulement sont nécessaires. En tant que telle, elle pourrait bien ne pas rester aussi longtemps un compromis qu'elle ne l'est actuellement…

1
1
1
2009-07-15 15:43:13 +0000

Pour l'utilisation quotidienne et les programmes qui ne sont pas optimisés pour le multi-core, un dual-core rapide battra un quad-core plus lent.

Avec le temps, les applications correctement multi-threadées devenant la norme, les quadricœurs prendront de l'avance.

D'un point de vue financier, les dual-cores ont toujours une avance confortable.

0
0
0
2009-07-15 15:44:50 +0000

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 utilisez une seule application liée au processeur qui ne peut utiliser qu'un seul processeur, deux processeurs à vitesse plus élevée seront un meilleur choix.

Sinon, si le système d'exploitation peut programmer tous les cœurs de manière efficace et que vous exécutez de nombreuses applications ou des applications pouvant utiliser plus d'un processeur, le quadricœur, plus lent, sera plus performant et consommera moins d'énergie et donc produira moins de chaleur.

0
0
0
2009-07-20 05:41:55 +0000

Cela dépend.

Beaucoup.

Vous pouvez facilement trouver un quadruple noyau en utilisant seulement deux noyaux. Cela est en partie lié au système d'exploitation et à la conception du logiciel. De plus, ils partagent toujours 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émarrera pas (sensiblement) plus vite et que les pages web ne se téléchargeront pas plus vite (elles pourraient cependant s'afficher plus rapidement).

0
0
0
2009-07-15 15:46:35 +0000

Si vous faites beaucoup d'encodage vidéo, de rendu 3d ou de construction de code source distribué, plus il y a de cœurs, mieux c'est. Vous constaterez une nette différence de performances pour ces types d'applications lorsque vous passerez de 1 à 2 à 4 à 8 cœurs.

Sinon, l'exécution d'applications standard ne bénéficiera pas vraiment d'un plus grand nombre de cœurs. Même les jeux n'exploiteront pas autant de cœurs multiples. IMO, vous feriez mieux de dépenser l'argent pour une meilleure carte graphique.

0
0
0
2009-07-15 15:43:11 +0000

Dans votre cas, le quadruple noyau serait préférable. N'oubliez pas que plus vous avez de noyaux, plus vous pouvez effectuer un traitement parallèle. Ainsi, sur votre dual-core, vous pourrez peut-être faire tourner une seule application plus vite que le quad, mais le quad peut faire tourner 4 applications plus vite que vous ne pourrez le faire avec le dual-core. De plus, si une application est écrite pour être traitée en parallèle (multi-threading), elle fonctionnera mieux sur une architecture multi-coeurs.

Tout cela est relatif, cependant, car un quadricœur fonctionnant à 100 Mhz ne va pas dépasser un double cœur de 4 Ghz. D'une manière générale, plus il y a de cœurs, mieux c'est.