Qu'est-ce qui limite la vitesse du processeur?

102

J'ai récemment parlé avec un ami de la compilation LaTeX. LaTeX ne peut utiliser qu'un seul noyau pour compiler. Donc, pour la rapidité de la compilation LaTeX, la vitesse d'horloge du processeur est primordiale (voir Conseils pour choisir le matériel pour obtenir les meilleures performances de compilation LaTeX ).

Par curiosité, j'ai recherché des processeurs dotés des vitesses d'horloge les plus élevées. Je pense que c’était Intel Xeon X5698 avec 4,4 GHz ( source ) qui avait la vitesse d’horloge la plus élevée.

Mais cette question ne concerne pas les processeurs vendus. J'aimerais savoir à quelle vitesse cela peut arriver si vous ne vous souciez pas du prix.

Une question est donc la suivante: existe-t-il une limite physique à la vitesse du processeur? À quelle hauteur est-ce?

Et l’autre question est la suivante: quelle est la vitesse de processeur la plus élevée atteinte jusqu’à présent?

J'ai toujours pensé que la vitesse du processeur était limitée car le refroidissement (donc la chaleur ) devient si difficile. Mais mon ami doute que ce soit la raison (lorsque vous n'êtes pas obligé d'utiliser des systèmes de refroidissement traditionnels / bon marché, par exemple dans le cadre d'une expérience scientifique).

Dans [2], j'ai lu que les retards de transmission entraînent une autre limitation de la vitesse du processeur. Cependant, ils ne mentionnent pas à quelle vitesse cela peut arriver.

Ce que j'ai trouvé

À propos de moi

Je suis un étudiant en informatique. Je sais quelque chose à propos du processeur, mais pas trop. Et encore moins de la physique qui pourrait être importante pour cette question. Alors s'il vous plaît gardez cela à l'esprit pour vos réponses, si c'est possible.

Martin Thoma
la source
10
Votre question est bonne, attendez-vous à des réponses très bonnes et instruites. Mes deux cents: l'implication "il ne fonctionne que sur un seul noyau" -> "l'horloge est le plus important" n'est pas vraie.
Vladimir Cravero
12
L’enregistrement actuel d’un processeur overclocké est le bulldozer AMD, fonctionnant à 8,4 GHz . Il a été refroidi à l'aide d'azote liquide.
tcrosley
2
Bien que le titre de la question soit "Qu'est-ce qui limite la vitesse du processeur?" Il convient de noter que la déclaration suivante: "LaTeX ne peut utiliser qu'un seul noyau pour la compilation. Donc, pour la vitesse de compilation de LaTeX, la vitesse d'horloge de la CPU est primordiale" n'est pas nécessairement vrai. Le cache du processeur peut également faire la différence. En raison du mode de fonctionnement des processeurs modernes, du fait qu'il existe différents processeurs ayant des fréquences identiques, des tailles de cache différentes et la manière dont le logiciel a été écrit et utilisé, le cache du processeur peut influer davantage sur la vitesse d'exécution. Fréquence du processeur.
Shivan Dragon
2
Les performances à un seul thread ne sont pas directement proportionnelles à la vitesse d'horloge; la relation est plus complexe. Cela peut être partiellement masqué par la similitude des microarchitectures Intel x86 récentes avec des améliorations microarchitecturales compensant une partie des coûts liés à l’augmentation de la fréquence.
Paul A. Clayton
9
Je suggère de comparer un processeur 2004 à 2 GHz à un processeur 2014 à 2 GHz; vous constaterez qu'ils ne sont pas dans le même stade, même pour des tâches à un seul thread, et même lorsque les deux implémentent le même jeu d'instructions - les instructions CISC qu'ils reçoivent sont une chose, mais les micro-opérations les décomposent into sont tout autre chose.
Charles Duffy

Réponses:

76

Pratiquement, ce qui limite la vitesse du processeur est à la fois la chaleur générée et les retards de la porte, mais généralement, la chaleur devient un problème beaucoup plus important avant que ce dernier ne se déclenche.

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.

http://en.wikipedia.org/wiki/CMOS

Voici quelques chiffres:

Core i7-860   (45 nm)        2.8 GHz     95 W
Core i7-965   (45 nm)        3.2 GHz    130 W
Core i7-3970X (32 nm)        3.5 GHz    150 W

entrez la description de l'image ici

Vous pouvez vraiment voir comment la puissance de transition du processeur augmente (de façon exponentielle!).

En outre, certains effets quantiques entrent en jeu lorsque la taille des transistors diminue. Au niveau du nanomètre, les grilles des transistors deviennent "étanches".

http://computer.howstuffworks.com/small-cpu2.htm

Je ne parlerai pas de la façon dont cette technologie fonctionne ici, mais je suis sûr que vous pouvez utiliser Google pour rechercher ces sujets.

Bon, maintenant, pour les délais de transmission.

Chaque "fil" à l'intérieur de la CPU agit comme un petit condensateur. De plus, la base du transistor ou la grille du MOSFET font office de petits condensateurs. Afin de changer la tension sur une connexion, vous devez charger le fil ou retirer la charge. À mesure que les transistors rétrécissent, il devient plus difficile de le faire. C'est pourquoi la mémoire SRAM a besoin de transistors d'amplification, car les transistors à matrice de mémoire sont si petits et si faibles.

Dans les conceptions de circuits intégrés typiques, où la densité est très importante, les cellules de bits ont de très petits transistors. En outre, ils sont généralement intégrés à de grands réseaux, dotés de très grandes capacités de lignes de bits. Il en résulte une décharge très lente (relativement) de la ligne de bits par la cellule de bits.

De: Comment implémenter l'amplificateur de lecture SRAM?

Fondamentalement, le fait est qu'il est plus difficile pour les petits transistors de piloter les interconnexions.

En outre, il y a des retards à la porte. Les processeurs modernes ont plus de dix étapes de pipeline, peut-être jusqu'à vingt.

Problèmes de performance dans le traitement en pipeline

Il y a aussi des effets inductifs. Aux fréquences micro-ondes, elles deviennent assez importantes. Vous pouvez rechercher la diaphonie et ce genre de choses.

Maintenant, même si vous parvenez à faire fonctionner un processeur 3265810 THz, une autre limite pratique est la rapidité avec laquelle le reste du système peut le prendre en charge. Vous devez soit disposer de la RAM, du stockage, de la logique de liaison et d’autres interconnexions aussi performantes, soit vous avez besoin d’un immense cache.

J'espère que cela t'aides.

fuzzyhair2
la source
1
Vous pouvez inclure un lien vers cette discussion pour de belles références sur la façon dont la vitesse d'horloge et la consommation d'énergie concernent: physics.stackexchange.com/questions/34766/...
Emiswelt
2
Il y a aussi la vitesse de l' électricité à considérer quand on parle de retards de transmission en.wikipedia.org/wiki/Speed_of_electricity
ryantm
Augmente-t-il réellement de manière exponentielle ou simplement quadratique? En fait, cette vidéo dit ça Power = Frequency ^ 1.74.
Paul Manta
2
Bon point, cependant, l’une des difficultés majeures de la conception de la CPU réside dans les interconnexions. Une puce physique importante peut être possible, mais rappelez-vous que celles-ci fonctionnent dans la gamme des gigahertz. Vous voulez garder les fils courts.
fuzzyhair2
2
Comme la question est théorique, on peut ajouter que d'autres semi-conducteurs, tels que l'arséniure de gallium, permettent des fréquences plus élevées.
Iacopo
32

Le problème de la chaleur est bien couvert par fuzzyhair. Pour résumer les délais de transmission, considérez ceci: Le temps nécessaire à un signal électrique pour traverser la carte mère est désormais supérieur à un cycle d'horloge d'un processeur moderne. Donc, faire des CPU plus rapides ne va pas faire grand chose.

Un processeur ultrarapide n’est vraiment utile que dans le cadre de processus de traitement de chiffres massifs, et seulement si votre code est soigneusement optimisé pour fonctionner sur puce. S'il doit fréquemment aller ailleurs pour les données, toute cette vitesse supplémentaire est gaspillée. Dans les systèmes actuels, la majorité des tâches peuvent être exécutées en parallèle et les gros problèmes sont répartis sur plusieurs cœurs.

Il semble que votre processus de compilation au latex serait amélioré de la manière suivante:

  • plus rapide IO. Essayez un disque RAM.
  • exécuter différents documents sur différents cœurs
  • ne pas s'attendre à ce qu'un travail intensif en images de 200 pages soit effectué en 2 secondes
Paul
la source
2
Dommage que je n’ai droit qu’à un seul vote positif. Votre réponse mérite plus que de souligner que le taux d'horloge n'est peut-être pas le goulot d'étranglement du problème du PO.
Salomon Slow
17

Il existe trois limites physiques: la chaleur, le délai de la porte et la vitesse de transmission électrique.

Le record du monde de la vitesse d'horloge la plus élevée à ce jour est (selon ce lien) de 8722,78 MHz

La vitesse de transmission électrique (à peu près identique à la vitesse de la lumière) est la limite physique absolue, car aucune donnée ne peut être transmise plus rapidement que son support. Dans le même temps, cette limite est très élevée et n’est donc généralement pas un facteur limitant.

Les processeurs sont constitués d’énormes quantités de portes, dont plusieurs sont connectées en série (les unes après les autres). Un passage de l'état haut (par exemple 1) à l'état bas (par exemple 0) ou inversement prend un certain temps. C'est le délai de la porte. Donc, si vous avez 100 portes connectées en série et qu’il faut 1 ns pour commuter, vous devrez attendre au moins 100 ns pour que tout cela vous donne une sortie valide.

Ces commutateurs sont la chose qui prend le plus de puissance sur un processeur. Cela signifie que si vous augmentez la vitesse d'horloge, vous obtiendrez plus de commutateurs, consommant plus d'énergie et augmentant ainsi la production de chaleur.

La surtension (=> fournissant plus de puissance) diminue un peu le retard de la porte, mais augmente à nouveau la production de chaleur.

Quelque part autour de 3 GHz, la puissance utilisée pour augmenter la vitesse d'horloge. C'est pourquoi les processeurs à 1,5 GHz peuvent fonctionner sur un smartphone alors que la plupart des processeurs à 3-4 GHz ne peuvent même pas fonctionner sur un ordinateur portable.

Mais la vitesse d'horloge n'est pas la seule chose qui puisse accélérer un processeur, des optimisations au niveau du pipeline ou de l'architecture du microcode peuvent également entraîner une accélération significative. C'est pourquoi un Intel i5 (Dualcore) à 3 GHz est plusieurs fois plus rapide qu'un Intel Pentium D (Dualcore) à 3 GHz.

Dakkaron
la source
1
Tout simplement l'overclocking augmente la consommation de puissance du processeur de manière linéaire. Donc, doubler la vitesse d'horloge signifie doubler la consommation d'énergie. Mais à des vitesses d'horloge plus élevées, les portes deviennent trop lentes pour fonctionner avec cette vitesse et vous commencez à avoir des erreurs de calcul -> crashs aléatoires. Il faut donc augmenter la tension pour accélérer les portes. La consommation électrique est nettement comparée à la tension. Donc, le double de la tension signifie quatre fois la consommation d'énergie. Ajoutez à cela le double de l'horloge et vous obtenez huit fois la consommation d'énergie. De plus, la tension nécessaire augmente de manière exponentielle avec la vitesse d'horloge. en.wikipedia.org/wiki/CPU_power_dissipation
Dakkaron
1
L’autre problème est que la surtension peut faire frire votre processeur et qu’il n’ya rien à faire contre cela. Si votre processeur est spécifié pour 3,3 V, par exemple, vous pourrez peut-être atteindre 3,7 ou même 4 V, mais si vous montez trop haut, cela détruira simplement la puce. Un autre lien qui mérite d'être lu: en.wikipedia.org/wiki/CPU_core_voltage
Dakkaron
3
La vitesse de transmission est un problème: à 3Ghz vous obtenez seulement 10 cm / cycle. Dans la mesure où un processeur typique mesure actuellement 300 m², je pense qu'après 10 Ghz, il faudrait repenser la conception du processeur car il est probable que toutes les parties de la puce ne peuvent pas être atteintes en un cycle.
Martin Schröder
1
@ MartinSchröder: Ce n'est pas un gros problème, car (a) le processeur meurt sous l'effet de la chaleur et du retard de la porte avant que les 10 GHz ne soient atteints et (b) les processeurs deviennent de plus en plus petits à chaque génération. Par exemple, un i7 à 6 cœurs avec hyperthreading a à peu près la même taille qu’un processeur unique Pentium 4. Mais le i7 a 6 cœurs complets et 6 autres "demi-cœurs" pour l’hyperthreading. Il y a aussi la cache. De plus, ces noyaux sont divisés en phases de pipeline. Seules les parties de la CPU dans une phase principale et une phase de pipeline (et peut-être le cache L1) doivent être atteintes en un cycle.
Dakkaron
1
@ com.prehensible Le message que vous avez lié parle spécifiquement du fait que ce transistor à 500 GHz est "seulement" un transistor analogique utilisé pour le traitement analogique RF. Ce n'est en aucun cas un processeur d'ordinateur.
Dakkaron
5

r=5.291×1011
c=3×108,
F=1t=c2πr=9.03×1017Hz
8×109Hz
Guill
la source
J'ai apporté quelques modifications à votre LaTeX. Pourriez-vous s'il vous plaît vérifier si la modification de fréquence était correcte?
Martin Thoma
Comment avez-vous établi l'état actuel de la limite technologique?
Martin Thoma
Vous écrivez que la limite actuelle est "8x 10 ^ 9 Hz". Qu'est ce que x? Avez-vous finalement voulu écrire un point de multiplication?
Martin Thoma
1
Vous voudriez également construire cet ordinateur le plus rapide possible sur le rayon de Schwarzschild d'un trou noir pour un effet maximum. Le rayon de Bohr est trop difficile pour travailler à grande vitesse. :)
Goswin von Brederlow
3

Une question est donc la suivante: existe-t-il une limite physique à la vitesse du processeur?

Cela dépend fortement de la CPU elle-même. Les tolérances de fabrication font que la limite physique est légèrement différente pour chaque puce, même à partir de la même tranche.

les retards de transmission entraînent une autre limitation de la vitesse du processeur. Cependant, ils ne mentionnent pas à quelle vitesse cela peut arriver.

C'est parce que transmission delayou speed path lengthest un choix pour le concepteur de la puce à faire. En résumé, c’est tout le travail que fait la logique en un seul cycle d’horloge . Une logique plus complexe se traduit par des fréquences d'horloge maximales plus lentes, mais utilise également moins d'énergie.

C'est pourquoi vous souhaitez utiliser un test de performance pour comparer les processeurs. Les nombres de travail par cycle étant très différents, la comparaison en MHz brut peut vous donner une idée fausse.

Turbo J
la source
2

Pratiquement, la puissance thermique est approximativement proportionnelle au carré de la tension: http://en.wikipedia.org/wiki/Thermal_design_power#Overview Chaque matériau a sa capacité calorifique spécifique qui limite l'efficacité du refroidissement. http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502
Sans tenir compte des problèmes techniques de refroidissement et de délai de transmission, vous constaterez que la vitesse de la lumière limite la distance parcourue par un signal dans notre unité centrale par seconde. Par conséquent, le processeur doit s’échantillonner plus rapidement. Enfin, s'il fonctionne au-delà d'une certaine fréquence, le processeur peut devenir transparent pour les fonctions d'onde électroniques (électrons modélisés comme des fonctions d'onde suivant l'équation de Schroedinger).
En 2007, certains physiciens ont déterminé une limite fondamentale pour les vitesses de fonctionnement:

Lars Hadidi
la source
0

En plus de toutes les autres réponses, il existe également quelques autres considérations qui peuvent ne pas affecter directement la vitesse du processeur, mais rendre la construction de tout autour de ce processeur assez difficile;

En bref, au-dessus de DC, la fréquence radio devient un problème. Plus vous allez vite, plus tout est enclin à faire office de radio géante. Cela signifie que les traces de PCB souffrent de diaphonie, des effets de leur capacité / inductance inhérente avec les pistes / plan de masse adjacents, du bruit, etc., etc.

Plus vous allez vite, plus tout cela empire - les composants peuvent introduire une inductance inacceptable, par exemple.

Si vous regardez les instructions pour la mise en place de circuits imprimés "de base" du type de niveau d’un Raspberry Pi avec de la mémoire vive DDR, toutes les traces pour le bus de données, etc., doivent être de même longueur, avoir une terminaison correcte, etc. fonctionnant bien en dessous de 1 GHz.

John U
la source