web-dev-qa-db-fra.com

Un nombre de noyau supérieur ou une vitesse d'horloge supérieure est-elle plus bénéfique pour la performance d'un ordinateur?

Avec la réduction des coûts de silicium et la hausse des besoins des consommateurs, les fabricants semblent pousser l'une des deux choses: vitesse d'horloge et/ou compte de base. Avec la façon dont les choses vont, il ne semble pas que la vitesse d'horloge des processeurs augmente plus, mais le nombre de cœurs de processeur.

Je me souviens que quelques années de retour, j'avais un bon processeur de Pentium 4 à un pied simple. Avance rapide à aujourd'hui, et je ne pense pas que vous puissiez acheter un processeur monocœur (sans oublier l'augmentation croissante des processeurs multicœurs même dans les téléphones cellulaires). La façon dont les choses vont, nous pourrions trouver des ordinateurs avec des centaines de noyaux dans quelques années (et je sais que de nombreux systèmes d'exploitation ont déjà un soutien pour cela).

Est-il plus bénéfique pour les performances globales d'un système pour augmenter la vitesse de l'horloge ou augmenter le nombre de cœurs? Supposons que nous entrons dans des centaines de nœuds qui courent tous ensemble, ou des vitesses d'horloge dix fois plus élevées ce que nous avons aujourd'hui (que ce soit ou non soit physiquement possible).

Quels sont quelques exemples de processus courants (par exemple le cryptage, la compression des fichiers, l'édition d'image/vidéo) qui bénéficieront la plupart d'une ou d'une autre? Y a-t-il des processus qui Can être, mais ne sont-ils pas actuellement (en raison de raisons techniques) accélérés en augmentant leur parallélisme?


Supposons que le processeur hypothétique a exactement la même conception de base (taille des mots, largeur de bits d'adresses, taille de bus de mémoire, cache, etc.), de sorte que les seules variables ici sont la vitesse d'horloge et le nombre de noyau. Et encore une fois, je ne parle pas d'un, deux ou même quatre noyaux - imaginez des dizaines à des centaines.

16
Breakthrough

Personnellement, je pense que le nombre de notes est la voie à suivre. Le développement de logiciels s'est déplacé vers des systèmes en réseau, de sorte que les ressources locales ne sont plus les ressources disponibles. Le facteur le plus important de la façon dont vous travaillez maintenant est ce qui résea Vous faites partie de.

Notez le décalage au large bande mobile, la connectivité constante, l'accès à distance, etc., etc., avec cela, la connectivité constante nécessite une durée de vie de la batterie. Bien qu'il soit discutable que les facteurs de la CPU sont plus optimaux pour la durée de vie de la batterie (vous avez une équation d'optimisation classique de la valeur de travail vs), je pense personnellement, si vous deviez en choisir un, je choisirais plus de noyaux.

Intel vous permet maintenant de réduire les cœurs à la demande. Bien que pas aussi optimal que de ne pas avoir de nœuds de sommeil, avoir la possibilité d'utiliser plus de noyaux vous donner la flexibilité pour exécuter plus d'applications hors de la même plate-forme matérielle.

2
surfasb

Tout d'abord, les vitesses de base unique n'ont pas vraiment diminué. La seule raison de la gamme de pont de sable fin actuelle de Intel ne topère pas le Pentium 4 sing-nœuds en termes de mégahertz, c'est que Intel manque de concurrence, ils n'ont donc pas à pousser cela dur.

Deuxièmement, la vitesse d'horloge n'est pas tout, même sur un noyau unique. Lorsque vous recherchez des performances d'application, à nouveau contre Pentium 4, la gamme Intel actuelle est d'environ 50% plus rapide par cycle d'horloge . Les raisons pour lesquelles le pont de sable est plus rapide par cycle d'horloge que le Pentium 4 (Prescott étant la dernière incarnation de celui-ci) sont multi-trutudes, mais ayant pré-exploiter un contrôleur de mémoire intelligent, ayant un contrôleur de mémoire sur la même matrice avec CPU et supérieur Niveau d'instruction Parallélisme (ILP) Contribuer à cela.

Le parallélisme de niveau d'instruction signifie essentiellement que le processeur examine les instructions et leurs dépendances et si deux instructions ne dépendent pas l'une de l'autre, la CPU peut commencer à charger des données pour en même temps et éventuellement réorganiser les instructions de l'une des données de l'une des données. les arrive avant l'autre.

Troisièmement, une application profite effectivement très bien à partir de plusieurs cœurs. Par exemple, Photoshop préfère presque toujours plus de noyaux sur la fréquence de fonctionnement. C'est à dire. Même un quad-noyau lent battait presque toujours n'importe quelle puce double cœur, et tout double noyau bat toute puce à base unique. Les tri-noyaux sont un sac mélangé, ils souvent gagnent sur deux cœurs, mais pas toujours.

Généralement, les applications qui font le même type d'opérations pour de nombreux ensembles de bénéfices de données de la part du parallélisme le plus. Par exemple, la compression vidéo ou l'édition de photos peut souvent être parallélédi dessus. D'autre part, les jeux d'ordinateur se sont révélés difficiles à paralléliser. Les graphiques sur eux, bien sûr, parallèglent très bien, mais cette partie est exécutée sur le GPU, pas la CPU. La physique restante, la comptabilité mondiale du monde et les ais parallèle moins facilement.

2
Zds

Comme le mentionne Chrisf mentionne dans un commentaire, cela dépend. Mais comme des réponses comme celle-là ne sont pas vraiment des réponses, je vais essayer de faire des scénarios où l'autre sera plus bénéfique que l'autre:

Dans la plupart des processus communs que vous avez mentionnés, le nombre de cœurs ne va pas très importants, car la plupart des travaux sont effectués dans un seul fil qui ne peut exécuter que sur un seul noyau (à la fois). Pour de tels processus, un noyau unique mais très puissant fonctionnera mieux que quelques cœurs plus lents. La compression de chiffrement et de fichier pourrait être des exceptions à cela, mais cela dépend beaucoup des algorithmes utilisés et si elles peuvent être exécutées en parallèle.

Cependant, vous avez oublié l'une des tâches les plus courantes effectuées sur des ordinateurs aujourd'hui: la navigation. Plusieurs navigateurs populaires ouvrent chaque onglet dans un processus séparé (chrome étant le seul que je suis sûr, car c'est celui que j'utilise), ce qui signifie que si vous avez quatre onglets ouvert sur un système quad-core, chaque fenêtre de navigation peut (En théorie) Avoir un noyau "à lui-même" (ignorer les threads OS et les trucs) et être aussi vite que s'il n'y avait pas d'autres onglets/fenêtres de navigateur ouverts. Pour les personnes qui parcourent de nombreux onglets ouverts à la fois, cela peut être une amélioration de performance sérieuse sans avoir à construire des cœurs de processeurs extrêmement rapides.

La clé pour savoir si un système multicœurs avec des noyaux plus lents sera plus rapide qu'un système mono-core avec un noyau rapide consiste à savoir si vous le ferez Beaucoup de choses différentes simultanément ou A quelques-uns, mais lourds, choses. Comme cela différerait beaucoup d'utilisateur à l'utilisateur, de même que la réponse à votre question.


Les autres réponses font aussi quelques points importants:

  • les performances du processeur ne sont plus sur la vitesse d'horloge ni le nombre de cœurs - les autres parties du processeur deviennent des cous de bouteilles comme une vitesse d'horloge et un nombre de noyau s'améliorent.
  • pour la plupart des utilisateurs, la performance du processeur n'est même pas le cou de la bouteille pour commencer. Si vous passez votre temps dans des applications hébergées telles que Google Docs, la vitesse de votre carte réseau augmente plus que la vitesse de votre (s) noyau de processeur. Si vous regardez ou modifiez des matériaux de film haute résolution, les performances du disque dur vont plus de choses. Etc...
2
Tomas Aschan

En fait aujourd'hui, le facteur le plus important n'est pas la vitesse d'horloge du processeur, de nombreuses nouvelles fonctionnalités lancées depuis que ce "facteur de comparaison" est tombé en désuétude.

Aujourd'hui, vous devez examiner de nombreux facteurs pour déduire les performances du processeur. Des choses comme:

  • nombres de coeurs
  • nombre de fils d'opération parallèles
  • famille de processeur (Dual Core, Pentium, Core I/Calpella, Bridge sableux, etc.)
  • génération de processeur (2e, 6ème, etc.), puis
  • vitesse d'horloge du processeur.

En fait, lorsque je veux comparer les vitesses de processeur, je consulte PASKIK de NotebookCheck Tables de référence. Les points de repère, à mon avis, sont le meilleur facteur pour mesurer et comparer la vitesse et la performance du processeur.

1
Diogo