En 2014, j'ai entendu beaucoup de langages de programmation vantés pour leurs fonctionnalités de concurrence. La concurrence est cruciale pour les gains de performances.
En faisant cette déclaration, de nombreuses personnes renvoient à un article de 2005 intitulé The Free Lunch Is Over: un tournant fondamental vers la concurrence dans les logiciels . L'argument de base est qu'il est de plus en plus difficile d'augmenter la vitesse d'horloge des processeurs, mais nous pouvons toujours mettre plus de cœurs sur une puce et que pour obtenir des performances améliorées, un logiciel devra être écrit pour tirer parti de plusieurs cœurs.
Quelques citations clés:
Nous sommes habitués à voir les processeurs à 500 MHz céder la place à des processeurs à 1 GHz céder la place à des processeurs à 2 GHz, et ainsi de suite. Aujourd'hui, nous sommes dans la gamme 3GHz sur les ordinateurs grand public.
La question clé est: quand cela finira-t-il? Après tout, la loi de Moore prédit une croissance exponentielle et une croissance exponentielle ne peut évidemment pas durer éternellement avant que nous n'atteignions de dures limites physiques. la lumière ne devient pas plus rapide. La croissance doit éventuellement ralentir et même se terminer.
… Il est devenu de plus en plus difficile d'exploiter des vitesses d'horloge plus élevées en raison non pas d'un, mais de plusieurs problèmes physiques, notamment la chaleur (trop et trop difficile à dissiper), la consommation électrique (trop élevée) et les problèmes de fuite de courant.
... l'avenir de Intel et de la plupart des fournisseurs de processeurs est ailleurs, les sociétés de puces poursuivant de manière agressive les mêmes nouvelles orientations multicœurs.
... Multicore consiste à exécuter deux processeurs réels ou plus sur une même puce.
Les prédictions de cet article semblent avoir tenu le coup, mais je ne comprends pas pourquoi. Je n'ai que des idées très vagues sur le fonctionnement du matériel.
Ma vision trop simpliste est la suivante: "Il devient de plus en plus difficile d’intégrer davantage de puissance de traitement dans le même espace" (en raison de problèmes de chaleur, de consommation électrique, etc.). Je m'attendrais à ce que la conclusion soit "par conséquent, nous devrons avoir de plus gros ordinateurs ou exécuter nos programmes sur plusieurs ordinateurs". (Et en effet, le cloud computing distribué est une chose dont nous entendons davantage parler.)
Mais une partie de la solution semble être des architectures multicœurs. À moins que les ordinateurs ne grossissent (ce qu'ils n'ont pas fait), cela semble simplement être une autre façon de dire "placez davantage de puissance de traitement dans le même espace".
Pourquoi "ajouter plus de cœurs" n'a-t-il pas les mêmes limites physiques que "rendre le processeur plus rapide"?
S'il vous plaît expliquer dans les termes les plus simples que vous pouvez. :)
Économie. Il est plus économique et plus simple de concevoir un processeur qui comporte plus de cœurs qu'une vitesse d'horloge supérieure, car:
Augmentation significative de la consommation d'énergie. La consommation d'énergie du processeur augmente rapidement à mesure que vous augmentez la vitesse d'horloge - vous pouvez doubler le nombre de cœurs fonctionnant à une vitesse inférieure dans l'espace thermique nécessaire pour augmenter la vitesse d'horloge de 25%. Quadruple pour 50%.
Il existe d'autres moyens d'augmenter la vitesse de traitement séquentiel et les fabricants de processeurs en font bon usage.
Je vais m'appuyer fortement sur les excellentes réponses de cette question sur l'un de nos sites SE. Alors allez-y!
Il existe quelques limitations physiques connues à la vitesse d'horloge:
Temps de transmission
Le temps nécessaire pour qu'un signal électrique traverse un circuit est limité par la vitesse de la lumière. C'est une limite difficile, et il n'y a pas de moyen connu de la contourner1. Aux horloges en gigahertz, nous approchons de cette limite.
Cependant, nous n'y sommes pas encore. 1 GHz signifie une nanoseconde par tick d'horloge. Pendant ce temps, la lumière peut parcourir 30 cm. À 10 GHz, la lumière peut parcourir 3 cm. Un seul cœur de processeur mesure environ 5 mm de large, nous allons donc rencontrer ces problèmes au-delà de 10 GHz.2
Délai de commutation
Il ne suffit pas de prendre en compte le temps qu’il faut à un signal pour se déplacer d’un bout à l’autre. Nous devons également tenir compte du temps qu’il faut à une porte logique de la CPU pour passer d’un état à l’autre! À mesure que nous augmentons la vitesse d'horloge, cela peut devenir un problème.
Malheureusement, je ne suis pas sûr des détails et je ne peux fournir aucun chiffre.
Apparemment, injecter plus de puissance peut accélérer la commutation, mais cela entraîne à la fois des problèmes de consommation d'énergie et de dissipation de chaleur. En outre, plus de puissance signifie que vous avez besoin de gaines plus volumineuses, capables de la manipuler sans dommage.
Dissipation thermique/consommation d'énergie
C'est le grand. Citant de réponse de fuzzyhair2 :
Les processeurs récents sont fabriqués en utilisant la technologie CMOS. Chaque fois qu'il y a un cycle d'horloge, le courant est dissipé. Par conséquent, des vitesses de processeur plus élevées signifient une plus grande dissipation de chaleur.
Il y a quelques jolies mesures sur ce fil de discussion sur AnandTech , et elles ont même dérivé une formule pour la consommation d'énergie (qui va de pair avec la chaleur générée):
Crédit à Idontcare
Nous pouvons le visualiser dans le graphique suivant:
Crédit à Idontcare
Comme vous pouvez le constater, la consommation d'énergie (et la chaleur générée) augmente extrêmement rapidement lorsque la vitesse d'horloge augmente au-delà d'un certain point. Cela rend impossible d'augmenter sans cesse la vitesse d'horloge.
La raison de l'augmentation rapide de la consommation d'énergie est probablement liée au délai de commutation - il ne suffit pas d'augmenter simplement la puissance proportionnellement à la fréquence d'horloge; la tension doit également être augmentée pour maintenir la stabilité à des horloges plus élevées. Cela peut ne pas être complètement correct; n'hésitez pas à signaler des corrections dans un commentaire ou à modifier cette réponse.
Alors pourquoi plus de noyaux? Eh bien, je ne peux pas répondre à cette question définitivement. Il faudrait demander aux gens d’Intel et d’AMD. Mais vous pouvez voir plus haut qu'avec les CPU modernes, il devient parfois impossible d'augmenter la vitesse d'horloge.
Oui, le multicœur augmente également la puissance requise et la dissipation de chaleur. Mais cela évite nettement les problèmes de temps de transmission et de retard de commutation. Et, comme vous pouvez le constater sur le graphique, vous pouvez facilement doubler le nombre de cœurs d’un processeur moderne avec le même surcoût thermique qu’une augmentation de 25% de la vitesse d’horloge.
Certaines personnes l'ont fait - le record actuel record du monde d'overclocking est juste en dessous de 9 GHz. Cependant, cela représente un défi technique important tout en maintenant la consommation d'énergie dans des limites acceptables. À un moment donné, les concepteurs ont décidé qu’ajouter davantage de cœurs pour effectuer davantage de travail en parallèle donnerait un coup de pouce plus efficace aux performances dans la plupart des cas.
C'est là que les considérations économiques entrent en jeu - il était probablement moins cher (moins de temps de conception, moins de fabrication compliquée) de passer par la route multicœur. Et il est facile de commercialiser - qui n'aime pas le tout nouveau octa-core chip? (Bien sûr, nous savons que le multicœur est plutôt inutile quand le logiciel ne s'en sert pas ...)
Là est un inconvénient du multicœur: vous avez besoin de plus d’espace physique pour mettre le noyau supplémentaire. Cependant, la taille des processus du processeur diminue constamment, ce qui laisse beaucoup d'espace pour placer deux copies d'une conception précédente - le vrai compromis n'est pas de pouvoir créer des noyaux uniques plus volumineux et plus complexes. Encore une fois, augmenter la complexité du noyau est un mauvaise chose du point de vue de la conception - plus de complexité = plus d’erreurs/bugs et d’erreurs de fabrication. Nous semblons avoir trouvé un juste milieu avec des cœurs efficaces suffisamment simples pour ne pas prendre trop de place.
Nous avons déjà atteint une limite avec le nombre de cœurs que nous pouvons adapter à une seule matrice aux tailles de processus actuelles. Nous risquons peut-être d’avoir une marge de manœuvre réduite au plus tôt. Alors, quelle est la prochaine? Avons-nous besoin de plus? C'est difficile à répondre, malheureusement. Quelqu'un ici est un voyant?
Donc, nous ne pouvons pas augmenter la vitesse d'horloge. Et plus de cœurs présentent un inconvénient supplémentaire: ils ne sont utiles que lorsque le logiciel qui les exécute peut les utiliser.
Alors, que pouvons-nous faire d'autre? Comment les processeurs modernes sont-ils tellement plus rapides que les anciens à la même vitesse d'horloge?
La vitesse d'horloge n'est en réalité qu'une approximation très grossière du fonctionnement interne d'un processeur. Tous les composants d’un processeur ne fonctionnent pas à cette vitesse - certains peuvent fonctionner une fois tous les deux ticks, etc.
Le plus significatif est le nombre de instructions que vous pouvez exécuter par unité de temps. C'est une mesure bien meilleure de tout ce qu'un noyau de processeur peut accomplir. Quelques instructions certains prendront un cycle d'horloge, d'autres trois. La division, par exemple, est considérablement plus lente que l'addition.
Nous pourrions donc améliorer les performances d’un processeur en augmentant le nombre d’instructions qu’il peut exécuter par seconde. Comment? Eh bien, vous pourriez rendre une instruction plus efficace - peut-être que la division ne prend plus que deux cycles. Ensuite, il y a instruction pipelining . En divisant chaque instruction en plusieurs étapes, il est possible d'exécuter des instructions "en parallèle" - mais chaque instruction a toujours un ordre séquentiel bien défini, respectif aux instructions avant et après, de sorte qu'il ne nécessite pas de support logiciel comme le multicœur Est-ce que.
Il y a une autre manière: des instructions plus spécialisées. Nous avons vu des exemples tels que SSE, qui fournit des instructions pour traiter de grandes quantités de données à la fois. De nouveaux jeux d'instructions sont constamment introduits avec des objectifs similaires. Celles-ci, là encore, nécessitent un support logiciel et augmentent la complexité du matériel, mais elles améliorent les performances. Récemment, il y avait AES-NI, qui fournit un cryptage et un décryptage AES à accélération matérielle, bien plus rapide qu'un ensemble d'arithmétique implémenté dans le logiciel.
1 Pas sans entrer assez profondément dans la physique quantique théorique, en tout cas.
2 En réalité, il pourrait être inférieur, car la propagation du champ électrique n’est pas aussi rapide que la vitesse de la lumière dans le vide. De plus, cela ne concerne que la distance en ligne droite - il est probable qu'il existe au moins un chemin considérablement plus long qu'une ligne droite.
La physique est la physique. Nous ne pouvons pas continuer à emballer plus de transistors dans des espaces toujours plus petits. À un moment donné, cela devient si petit que vous traitez avec de la merde quantique étrange. À un moment donné, nous ne pouvons pas emballer deux fois autant de transistors en une année qu'auparavant (ce qui est la loi de Moore).
Les vitesses d'horloge brutes ne veulent rien dire. Mon ancien Pentium M mesurait environ la moitié de la vitesse d’un processeur d’ordinateur de bureau contemporain (et pourtant, à bien des égards, plus rapide ) - et les systèmes modernes sont à peine s’approchant des vitesses des systèmes il ya 10 ans ( et sont clairement plus rapides). Fondamentalement, le simple fait d'augmenter la vitesse d'horloge ne donne pas de réels gains de performances dans de nombreux cas. Cela peut aider dans certaines / opérations simples, mais vous feriez mieux de dépenser le budget de conception pour une meilleure efficacité par rapport au reste.
Plusieurs cœurs vous permettent de faire deux ou plusieurs choses en même temps, vous n'avez donc pas besoin d'attendre qu'une chose soit terminée pour la suivante. Sur le court terme, vous pouvez simplement insérer deux cœurs existants dans le même package (par exemple, avec le Pentium D s et leur MCM, qui était une conception transitoire) et vous disposez d’un système deux fois plus rapide. La plupart des implémentations modernes partagent des choses comme un contrôleur de mémoire bien sûr.
Vous pouvez également construire plus intelligemment de différentes manières. ARM fait Big-Little - 4 noyaux «faibles» à faible puissance, associés à 4 noyaux plus puissants, vous offrent le meilleur des deux mondes. Intel vous permet d’accélérer (pour une meilleure efficacité énergétique) ou d’overclocker spécifique cores (pour de meilleures performances à un seul thread). Je me souviens qu'AMD faisait quelque chose avec les modules.
Vous pouvez également déplacer des éléments tels que des contrôleurs de mémoire (de sorte que vous avez une latence plus faible) et IO fonctions connexes (le processeur moderne n'a pas de pont nord), ainsi que la vidéo (ce qui est plus important avec les ordinateurs portables et la conception AIW). Il est plus logique de faire ces choses que de simplement continuer à augmenter la vitesse d'horloge.
À un moment donné, "plus" de cœurs risquent de ne pas fonctionner, même si les GPU ont des centaines de cœurs.
Le multicœur en tant que tel permet aux ordinateurs de travailler plus intelligemment de toutes ces manières.
La réponse la plus simple à la question
Pourquoi "ajouter plus de cœurs" n'a-t-il pas les mêmes contraintes physiques que "rendre le processeur plus rapide"?
se trouve réellement dans une autre partie de votre question:
Je m'attendrais à ce que la conclusion soit "par conséquent, nous devrons avoir de plus gros ordinateurs ou exécuter nos programmes sur plusieurs ordinateurs".
Par essence, plusieurs cœurs, c'est comme avoir plusieurs "ordinateurs" sur le même périphérique.
Un "noyau" est la partie de l'ordinateur qui traite réellement les instructions (additionner, multiplier, "et", etc.). Un noyau ne peut exécuter qu'une seule instruction à la fois. Si vous voulez que votre ordinateur soit "plus puissant", vous pouvez faire deux choses de base:
Les limitations physiques à # 1 sont principalement la nécessité de rejeter la chaleur causée par le traitement et la vitesse d'un électron dans le circuit. Une fois que vous avez séparé certains de ces transistors en un noyau séparé, vous soulagez le problème de la chaleur dans une large mesure.
Il y a une limite importante au n ° 2: vous devez être capable de scinder votre problème en plusieurs problèmes indépendants , puis de combiner la réponse. Sur un ordinateur personnel moderne, cela ne pose pas vraiment de problème, car de nombreux problèmes indépendants luttent tous pour obtenir du temps de calcul avec le (s) noyau (s) de toute façon. Toutefois, lors de la résolution de problèmes de calcul intensifs, la présence de plusieurs cœurs n’est vraiment utile que si le problème peut être traité en mode simultané.
Pourquoi "ajouter plus de cœurs" n'a-t-il pas les mêmes contraintes physiques que "rendre le processeur plus rapide"?
Ils sont confrontés aux mêmes limitations physiques, mais le passage à la conception multicœur nous laisse un peu de répit avant d’en toucher quelques-uns. Dans le même temps, d’autres problèmes liés à ces limitations se posent, mais ils sont plus faciles à surmonter.
Fait 1: La consommation d'énergie et la chaleur émise croissent plus rapidement que la puissance de calcul. Pousser un processeur de 1 GHz à 2 GHz augmentera la consommation d'énergie de 20 W à 80 W, même avec la chaleur dissipée. (Je viens de composer ces chiffres, mais c'est tout à fait comme ça que ça marche)
Fait 2: Acheter un second processeur et utiliser les deux fréquences à 1 GHz doublerait votre puissance de calcul. Deux processeurs fonctionnant à 1 GHz pourraient traiter la même quantité de données qu'un processeur à 2 GHz, mais chacun ne consommerait que 20 W d'énergie, soit 40 W au total.
Bénéfice: Doubler le nombre de processeurs au lieu de la fréquence d'horloge nous permet d'économiser de l'énergie et nous ne sommes pas aussi proches de la "barrière de fréquence" qu'auparavant.
Problème: Vous devez fractionner le travail entre deux processeurs et combiner les résultats ultérieurement.
Si vous pouvez résoudre ce problème en un temps acceptable et en utilisant moins d'énergie que ce que vous venez d'économiser, vous ne pourrez que profiter de l'utilisation de plusieurs processeurs.
Il ne vous reste plus qu'à fusionner deux processeurs en un processeur dual-core et vous êtes chez vous. Cela est avantageux car les cœurs peuvent partager certaines parties de la CPU, par exemple le cache ( réponse liée ).
Bref récit: l’accélération des cœurs simples a atteint ses limites. Nous continuons donc à les réduire et à en ajouter d’autres, jusqu’à ce que nous puissions utiliser de meilleurs matériaux (ou réaliser une avancée fondamentale qui renverse la technologie établie, comme à la maison, en train de travailler, informatique quantique).
Je pense que ce problème est multi-dimensionnel et qu'il faudra un peu d'écriture pour peindre l'image plus complète:
Il peut y en avoir beaucoup plus. Un processeur polyvalent tente de trouver une solution permettant de brouiller tous ces facteurs (et plus encore) en une seule puce, pouvant être produite en masse, qui correspond à 93% des sujets sur le marché. Comme vous le voyez, le dernier point est le plus crucial, la perception du client, qui découle directement de la manière dont le client utilise le processeur.
Demandez-vous quelle est votre application habituelle? Peut-être que: 25 onglets Firefox, chacun jouant des annonces en arrière-plan, pendant que vous écoutez de la musique, tout en attendant votre travail de construction que vous avez commencé il y a environ 2 heures. C'est beaucoup de travail à faire, et vous voulez toujours une expérience en douceur. Mais votre CPU peut gérer UNE tâche à la fois! Sur une seule chose. Donc, ce que vous faites est que vous divisez les choses et faites une longue file d'attente et que chacun reçoit sa propre part et tous sont heureux. Sauf pour vous parce que tout devient lent et pas lisse du tout.
Donc, vous accélérez votre processeur, afin de faire plus d'opérations dans le même temps. Mais comme vous l'avez dit: consommation de chaleur et d'électricité. Et c'est là que nous arrivons à la partie matière première. Le silicium devient plus conducteur au fur et à mesure qu'il chauffe, ce qui signifie que plus de courant circule dans le matériau lorsque vous le chauffez. Les transistors consomment plus d'énergie si vous les commutez plus rapidement. De plus, les hautes fréquences aggravent la diaphonie entre les fils courts. Donc, vous voyez, l'approche accélérée conduira à un "effondrement". Tant que nous n'avons pas de meilleures matières premières que le silicium ou des transistors bien meilleurs, nous sommes bloqués là où nous sommes avec une seule vitesse de base.
Cela nous ramène à l'endroit où nous avons commencé. Faire des choses, en parallèle. Ajoutons un autre noyau. Nous pouvons maintenant faire deux choses en même temps. Laissons donc les choses un peu de côté et écrivons un logiciel capable de scinder son travail en deux cœurs moins puissants mais plus fonctionnels. Cette approche présente deux problèmes principaux (en plus du fait que le monde logiciel a besoin de temps pour s’y adapter): 1. Agrandir la taille de la puce ou réduire la taille du cœur individuel. 2. Certaines tâches ne peuvent tout simplement pas être divisées en deux parties exécutées simultanément. Continuez à ajouter des noyaux aussi longtemps que vous pouvez les réduire, ou agrandissez la puce et évitez le problème de chaleur. Oh et n'oublions pas le client. Si nous changeons nos cas d'utilisation, les industries doivent s'adapter. Découvrez toutes les "nouveautés" brillantes proposées par le secteur de la téléphonie mobile. C'est pourquoi le secteur de la téléphonie mobile est considéré comme si crucial et que tout le monde veut mettre la main dessus.
Oui, cette stratégie atteindra ses limites! Et Intel le sait, c’est la raison pour laquelle ils disent que l’avenir se situe ailleurs. Mais ils continueront à le faire tant que ce sera bon marché, efficace et faisable.
Dernier point mais non le moindre: la physique. La mécanique quantique limitera le rétrécissement des copeaux. La vitesse de la lumière n’est pas encore une limite, car les électrons ne peuvent pas se déplacer à la vitesse de la lumière dans le silicium, c’est en fait beaucoup plus lent que cela. De plus, c'est la vitesse d'impulsion qui met le plus difficile à la vitesse offerte par un matériau. Tout comme le son voyage plus rapidement dans l'eau que dans l'air, les impulsions électriques se propagent plus rapidement dans le graphène, par exemple, que dans le silicium. Cela ramène aux matières premières. Le graphène est bon pour ses propriétés électriques. La fabrication de processeurs serait un bien meilleur matériau. Malheureusement, il est très difficile de produire en grande quantité.
Dites (à titre d'exemple irréaliste, mais devrait quand même faire passer le message), vous avez un processeur tournant à 100F. Le fonctionnement multicœur se fait généralement en prenant la fréquence d'horloge du processeur qui tourne à 100 ° F et en l'abaissant, ce qui réduit légèrement la vitesse. Comme il ne fonctionne plus aussi chaud, ils peuvent en doubler un deuxième, un troisième, voire un quatrième, sans affecter de manière significative la température globale de la CPU et tirer parti des avantages du multicœur. Cela vient évidemment avec des frais généraux, car les cœurs doivent encore être contrôlés d'un endroit à un autre. Plus vous ajoutez de cœurs, plus il y a de frais généraux. En ce qui concerne les noyaux simples, plus vous augmentez leur vitesse, plus ils génèrent de la chaleur. Cela a évidemment des limites physiques (c’est-à-dire qu’après un certain temps, cela commence à nuire aux performances, voire à devenir dangereux s’il fait trop chaud)
Au fil du temps, ils ont trouvé des moyens de réduire la taille physique des processeurs. C’est pourquoi nous n’avons pas encore réellement besoin de plus d’espace. Cependant, par exemple, les processeurs 16 cœurs n’existent pas vraiment au moment de la rédaction) en dehors des équipements de niveau serveur en raison de limitations de taille physique, les UC de niveau serveur étant physiquement beaucoup plus volumineuses que les équipements grand public standard.
Je dirais que la principale restriction des limites de puissance de calcul est principalement liée à la vitesse à laquelle nous pouvons déplacer l'électron dans un circuit (vitesse de la lumière dérive des électrons). Il existe de nombreux autres facteurs que vous avez mentionnés.
L'ajout de cœurs supplémentaires ne rendrait pas le processeur plus rapide, bien que cela lui permettrait de traiter davantage dans le même temps.
Loi de Moore est une lecture très intéressante et informative. Cette citation en particulier est pertinente ici:
On pourrait également limiter les performances théoriques d'un "ordinateur portable ultime" plutôt pratique, d'une masse d'un kilogramme et d'un volume d'un litre. Ceci est fait en considérant la vitesse de la lumière, l’échelle quantique, la constante de gravitation et la constante de Boltzmann, donnant une performance de 5.4258 8 1050 opérations logiques par seconde sur environ 1031 morceaux.
CPU = moteur de voiture: Il est plus facile de fabriquer une voiture plus puissante avec 16 soupapes, c'est-à-dire une lamborghini, qu'une voiture à haut régime qui aurait une soupape/cylindre géant à 100 000 tr/min.
Les raisons sont physiques et chimiques, le silicium doit être remplacé par un carburant de fusée informatique pour changer l’équilibre entre le nombre de cœurs et leur vitesse.
Longue histoire encore plus courte:
Nous n'avons vraiment pas besoin de processeurs plus rapides. En dehors de quelques utilisations très spécialisées *, le processeur ne constitue plus un goulot d'étranglement depuis des années - tous les éléments périphériques tels que la mémoire, le stockage et le réseau font généralement attendre des millions de cycles d'horloge pendant lesquels il peut effectuer d'autres tâches. Un deuxième noyau peut faire plus «d’autres choses», donnant ainsi à l’utilisateur une impression de performance supérieure.
De nombreux appareils mobiles, ordinateurs portables, etc. vont sous le processeur pour une meilleure autonomie de la batterie et des températures plus fraîches. Peu incitatif à développer un cœur de 3,5 GHz ARM si votre client principal l’utilise à 1,3 GHz.
Réponse courte et simple:
Pourquoi ne pas passer d'un camion transportant des marchandises à 100 camions transportant 100 fois plus, il ne fait pas face aux mêmes contraintes physiques que de passer d'un camion roulant à 100 mph à un camion roulant à 10 000 mph?
Répondez à cette question et votre question recevra également une réponse. Le concept est à peu près le même.
Je pense qu'un autre facteur est la température. Si vous augmentez la fréquence d'horloge, la température à cœur augmente. Si vous ajoutez plus de noyaux, même si la consommation électrique augmente, celle-ci est répartie sur les noyaux, de sorte que la température reste la même (comme si vous ajoutiez deux liquides chauds, à la même température, l'un l'autre, la température reste la même ).
Une autre raison est que l'augmentation de la fréquence d'horloge tend à augmenter la consommation d'énergie d'un carré du facteur d'augmentation de la fréquence (en fonction des autres obstacles rencontrés à un moment donné). Par conséquent, l'augmentation de la fréquence d'horloge augmente la consommation d'énergie d'un carré, tandis que l'ajout de cœurs augmente uniquement la linéairement.
La réponse à la question de savoir pourquoi "l'ajout de plusieurs cœurs" ne se heurte pas aux mêmes limitations physiques que la question "accélérer le processeur" est la suivante: un système multicœur est confronté aux mêmes limitations qu'un processeur à un seul cœur. Nous sommes arrivés à un point où nous n'avons pas vraiment la possibilité d'accélérer la mise en œuvre d'un système central unique, nous l'avons donc fait pour pouvoir faire plus de choses en même temps. Les défis de taille et de coordination sont actuellement plus faciles à résoudre que d'aller plus vite. L'inconvénient est que si une tâche ne peut pas être décomposée, nous ne pourrons peut-être pas aller beaucoup plus vite qu'un système central unique.
Vous ne pouvez pas rendre un processeur plus rapide en encombrant simplement plus de portes. En fin de compte, les instructions doivent être exécutées et chaque instruction nécessite plusieurs opérations de "commutation". Il existe des limites physiques fondamentales (mécanique quantique - principe de l'incertitude) qui rendent très difficile l'augmentation de la "vitesse d'horloge" d'un processeur au-delà de la vitesse des systèmes haut de gamme actuels.