web-dev-qa-db-fra.com

Pourquoi les fabricants de CPU ont-ils cessé d'augmenter la vitesse d'horloge de leurs processeurs?

J'ai lu que les fabricants ont cessé de se concentrer sur les vitesses d'horloge plus élevées et travaillent maintenant sur d'autres choses pour améliorer les performances.

Avec

  • un ancien ordinateur de bureau avec processeur Intel® Xeon® E3110 avec une vitesse d'horloge de 3,0 GHz
  • et un nouveau serveur avec le processeur AMD Opteron (TM) 6272 avec une vitesse d'horloge de 2,1 GHz

lorsqu’il est effectué une simple comparaison de chiffrement avec (single threaded)

 openssl aes256c

le bureau fonctionnait bien mieux que le serveur.

Ainsi, même avec la dernière optimisation, pourquoi le processeur avec la meilleure vitesse d'horloge fonctionne-t-il mieux?

63
learner

La raison pour laquelle les fabricants ont cessé de se concentrer sur l'augmentation de la vitesse d'horloge est due au fait que nous ne pouvons plus refroidir les processeurs assez rapidement pour que cela soit viable. Plus la vitesse d'horloge est élevée, plus la chaleur générée est importante, et nous avons maintenant atteint un stade où il n'est plus efficace d'augmenter la vitesse du processeur en raison de la quantité d'énergie nécessaire à son refroidissement.

Une autre réponse explique en détail pourquoi une vitesse d'horloge plus élevée ne signifie pas de meilleures performances dans tous les domaines.

72
Paul Hay

La vitesse de traitement est beaucoup plus complexe que la fréquence d'horloge.

  • Différentes unités centrales peuvent effectuer différentes quantités dans le même nombre de cycles d'horloge, en raison des différentes variantes d'arrangement de pipeline et de plusieurs unités de composants (additionneurs, etc.) dans chaque cœur. Ce n’est pas le cas dans votre test, mais vous constaterez souvent qu’une puce "plus lente" peut faire plus qu’une puce rapide (mesurée uniquement par le taux d’horloge) car elle peut en faire plus par tick.

  • Le test que vous avez effectué peut être très sensible aux différences d'architecture de processeur: il peut être optimisé pour une architecture spécifique. Vous constaterez peut-être qu'il fonctionne différemment, non seulement entre les puces Intel et AMD, mais entre les puces Intel (ou AMD) de familles différentes. Il utilise probablement un seul thread et ne profite donc pas des multiples cœurs des processeurs.

  • Il existe une tendance à la réduction des fréquences d'horloge pour des raisons de gestion de l'énergie et de la gestion de la chaleur: l'accélération de la fréquence d'horloge n'a pas d'effet linéaire sur la consommation d'énergie et la production de chaleur.

  • En raison de la relation non linéaire décrite ci-dessus, il est beaucoup plus efficace pour les besoins actuels de disposer de plusieurs unités de traitement que de pousser la vitesse d'une unité de plus en plus élevée. Cela permet également des astuces astucieuses pour économiser de l'énergie, comme éteindre des noyaux individuels lorsqu'ils ne sont pas utilisés et les rétablir à mesure que la demande augmente à nouveau. Bien sûr, plusieurs cœurs n'aident pas un algorithme à un seul thread, bien que ce serait le cas si vous en exécutiez plusieurs instances en même temps.

37
David Spillett

Pourquoi pensez-vous que les fabricants réduisent réellement la vitesse d'horloge en ne comparant que deux processeurs?

  1. Le 6272 a une vitesse de Turbo de 3Ghz. La vitesse de base inférieure sert uniquement à réduire la puissance moyenne et à conserver un TDP acceptable pour un workloard lorsque tous les cœurs sont sollicités.
  2. La prochaine puce haute performance d’AMD pour les ordinateurs de bureau, la FX-9590 atteindra 5 Ghz.

De plus, la vitesse d'horloge n'est pas la même que la performance par cycle d'horloge. Vous pouvez avoir un P4 de 3,8 Ghz contre un noyau de 3,2 Ghz d’un i7-3930K, mais cela ne signifie pas que le noyau P4 est plus rapide.

Tout ce qui est dit ici sur la consommation d'énergie est également parfaitement valable et valable pour une conception à 16 cœurs, où vous devez naturellement vous soucier davantage des problèmes liés au TDP.

De plus, votre méthode de test qui vient de tester openssl est un peu trop simple pour donner des nombres réels. Peut-être devriez-vous essayer une suite de tests de chiffrement.

19
s1lv3r

Votre scénario de test (chiffrement aes-256) est très sensible aux optimisations spécifiques au processeur.

Divers processeurs disposent d'instructions spéciales destinées à accélérer les opérations de cryptage/décryptage. Non seulement ces instructions spéciales peuvent être présentes uniquement sur votre bureau, mais il se peut que le processeur AMD dispose d'instructions spéciales différentes. En outre, openssl pourrait prendre en charge ces instructions spéciales uniquement pour le processeur Intel. Avez-vous vérifié si c'était le cas?

Pour savoir quel système est le plus rapide, utilisez une suite de tests "appropriée" - ou mieux, utilisez simplement votre charge de travail habituelle.

13
jakob

Comme d'autres l'ont dit, nous ne pouvons plus refroidir efficacement les processeurs si nous devions pousser la tension requise pour les mêmes augmentations de fréquence d'horloge relatives par le passé. Il fut un temps (époque P4 et antérieure) où vous pouviez acheter un nouveau processeur et voir qu'un gain "immédiat" était lié à la vitesse, car la fréquence d'horloge avait été considérablement augmentée par rapport à la génération précédente. Nous avons maintenant frappé un mur thermique, en quelque sorte.

Chaque nouvelle génération moderne de processeurs augmente très légèrement la fréquence d'horloge, mais ceci est également lié à la capacité de les refroidir de manière appropriée. Les fabricants de puces, tels qu'Intel, s'efforcent en permanence de réduire la taille des puces du processeur afin de les rendre plus efficaces en énergie et de produire moins de chaleur aux mêmes horloges. Il est à noter que la taille réduite de ces matrices rend ceux-ci plus enclins à mourir de surtension plutôt que de surchauffe. Cela signifie également qu'il limite également la fréquence d'horloge maximale de tous les processeurs de la génération actuelle sans autres optimisations du fabricant de puces.

L'augmentation du nombre de cœurs sur la puce est un autre domaine sur lequel les fabricants de puces se concentrent. Cela prend en compte des augmentations significatives de la puissance de calcul, mais uniquement lorsque vous utilisez un logiciel qui tire parti de plusieurs cœurs. Notez ici la différence entre la puissance de calcul et la vitesse. En termes simples, la vitesse fait référence à la rapidité avec laquelle un ordinateur peut exécuter une seule instruction, tandis que la puissance de calcul se réfère au nombre de calculs qu’un ordinateur peut effectuer dans un laps de temps donné. profiter de plusieurs noyaux. Le problème est que la programmation simultanée/parallèle est plus difficile que le paradigme de la programmation linéaire standard. Cela a augmenté le temps nécessaire à de nombreux programmes sur le marché pour tirer pleinement parti de la puissance de ces nouveaux processeurs, car de nombreux développeurs n'étaient pas habitués à écrire des programmes de cette façon. Il existe encore sur le marché des programmes (modernes ou hérités) qui ne tirent pas parti des multi-cœurs ou du multi-threading. Le programme de cryptage que vous avez cité en est un exemple.

Ces deux domaines d’activité des fabricants de puces sont intrinsèquement liés. En réduisant à la fois la taille de la matrice et la consommation d'énergie d'une puce, ils sont alors en mesure d'augmenter le nombre de cœurs sur ladite puce. Cependant, cela finira par heurter un mur, provoquant un autre changement de paradigme plus radical.

La raison de ce changement de paradigme est due au fait que nous nous approchons des limites du silicium en tant que matériau de base pour la production de puces. C’est quelque chose que Intel et d’autres travaillent à résoudre depuis un certain temps. Intel a déclaré qu’il disposait actuellement d’une alternative au silicium, que nous commencerons probablement à découvrir après 2017. Outre ce nouveau matériau, Intel étudie également des transistors 3D qui pourraient "tripler efficacement la puissance de traitement". Voici un article mentionnant ces deux idées: http://apcmag.com/intel-looks-beyond-silicon-for-processors-past-2017.htm

10
PseudoPsyche

Simple: La puce AMD est beaucoup, beaucoup plus rapide car il s’agit d’une puce à 16 cœurs. À 115 watts, cela signifie que chaque noyau produit environ 7 watts. Cela ne serait pas réalisable si chaque cœur fonctionnait à 3 Ghz. Pour atteindre ce chiffre de 7 watts, AMD a abaissé la fréquence d'horloge. Réduire la fréquence d'horloge de 10% réduit la consommation d'énergie de 20%, ce qui vous permet d'ajouter 25% de cœurs supplémentaires sur une puce.

10
MSalters

De l'IEEE:

Alors pourquoi ne pas pousser l'horloge plus vite? Parce que le coût en énergie consommée et en chaleur dissipée n’en vaut plus la peine. Intel appelle le compromis vitesse/puissance "un théorème fondamental des processeurs multicœurs", raison pour laquelle il est logique d’utiliser deux ou plusieurs zones de traitement, ou cœurs, sur une seule puce.

http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled

2
Azevedo
  • Les pertes de chaleur H correspondent au 4ème degré de fréquence f.

    H ~ f ^ 4

    Ainsi, l'augmentation mineure de la fréquence entraîne des pertes de chaleur importantes.

  • Plus miniaturisation

    Une fréquence plus élevée conduit à une minimisation plus grande des cristaux. Pour le moment, nous ne disposons pas de technologies permettant de travailler efficacement avec des matériaux à l'échelle du nanomètre et les nanomètres sont la limite.

2
Warlock

Comme indiqué dans quelques autres réponses, les fabricants de processeurs souhaitent limiter les vitesses d'horloge afin de contrôler la consommation d'énergie et la dissipation de chaleur. Afin de faire plus de travail à la même vitesse d'horloge, plusieurs stratégies sont utilisées.

Les caches de mémoire sur puce volumineux peuvent conserver plus de données "proches" de la CPU, pouvant être traitées avec un délai minimal, par opposition à la mémoire principale, qui est beaucoup plus lente à transmettre des données à la CPU.

Différentes instructions de la CPU prennent différents nombres de cycles d'horloge. Dans de nombreux cas, vous pouvez utiliser un circuit simple pour implémenter une opération sur plusieurs cycles d'horloge ou un circuit plus complexe pour le faire en moins.

L’exemple le plus frappant de cette évolution d’Intel est le Pentium 4, dont la vitesse d’horloge est très élevée, mais dont les performances ne sont pas proportionnelles. Les instructions de décalage de bits, qui dans les puces précédentes pouvaient déplacer 32 bits en un seul cycle, utilisaient un circuit beaucoup plus simple dans le Pentium 4, ce qui nécessitait un seul cycle pour chaque décalage de bits. On s’attendait à ce que l’architecture du Pentium 4 soit évolutive à des vitesses d’horloge beaucoup plus élevées en raison de sa simplicité, mais cela n’a pas fonctionné, et le circuit de décalage rapide et complexe est revenu dans les architectures Core et ultérieures.

2
Russell Borogove