Pourquoi les CPU ne sont-ils pas plus gros? [fermé]

21

Les CPU sont relativement petits, et les ingénieurs essaient constamment de les réduire et d'obtenir plus de transistors sur la même surface.

Pourquoi les CPU ne sont-ils pas plus gros? Si une puce d'environ 260 mm 2 peut contenir 758 millions de transistors (AMD Phenom II x4 955). Ensuite, un 520 mm 2 devrait pouvoir contenir le double de transistors et doubler techniquement la vitesse d'horloge ou les noyaux. Pourquoi n'est-ce pas fait?

Simon Verbeke
la source
4
Je ne connais pas tous les détails, mais en gros, plus les transistors, etc. sont proches sur la puce, plus elle est efficace. Donc quadrupler la zone rendrait la puce plus lente.
ChrisF
1
De plus, compte tenu en particulier de l'état actuel des applications, les processeurs modernes passent énormément de temps à ne rien faire. Ils tournent le pouce pendant que nous, les utilisateurs, découvrons ce que nous voulons faire.
surfasb
1
@ChrisF Vous confondez l'impact du rétrécissement des matrices (gain de vitesse en raison de capacités réduites) avec un nombre de transistors réduit. Demandez-vous: le noyau individuel sur un double cœur fonctionnera-t-il plus rapidement que celui sur un quadruple cœur?
artistoex
2
Cela est fait - consultez nouvelle plate - forme LGA2011 d'Intel.
Percée
3
Je ne suis pas d'accord avec les votes à huis clos. Il y a des raisons claires pour lesquelles faire des jetons plus gros n'a pas de sens, comme le montrent les réponses les plus fréquentes. Ce n'est donc pas une question d'opinion (comme "Est-ce que Android est meilleur qu'ios"). J'ai également été intéressé par cette question!
David Miani

Réponses:

18

Généralement, vous avez raison: à court terme, l'augmentation de la parallélisation n'est pas seulement viable, mais la seule voie à suivre. En fait, les multicœurs, ainsi que les caches, le pipelining et l'hyper-threading sont exactement ce que vous proposez: un gain de vitesse grâce à une utilisation accrue de la zone de la puce. Bien entendu, le rétrécissement des géométries n'entre pas en collision avec l'augmentation de l'utilisation de la zone de filière. Cependant, le rendement des matrices est un gros facteur limitant.

Le rendement des matrices augmente en proportion inverse de la taille des matrices: les matrices de grande taille sont tout simplement plus susceptibles de "capturer" les erreurs de plaquette. Si une erreur de plaquette frappe un dé, vous pouvez le jeter. Le rendement des matrices affecte évidemment le coût des matrices. Il y a donc une taille de matrice optimale en termes de coûts par rapport aux bénéfices par matrice.

La seule façon de produire des matrices beaucoup plus grandes est d'intégrer des structures tolérantes aux pannes et redondantes. C'est ce qu'Intel essaie de faire dans son projet Terra-Scale (MISE À JOUR: et ce qui est déjà pratiqué dans les produits de tous les jours comme le souligne Dan).

artistoex
la source
8
Dans les processeurs / GPU complexes et modernes, les défauts de matrice alimentent souvent le binning. Les GPU de niveau moyen / supérieur ont généralement une partie de puce complète et un ou deux qui ont quelques sous-composants désactivés pour obtenir plus de prix / capacités à partir de moins de conceptions de puces. La même chose se fait avec les CPU. Les puces tricore d'AMD sont des quads avec une puce désactivée, et les puces Intel LGA2011 sont toutes constituées de 8 composants principaux. Les matrices complètes ne sont utilisées que comme Xeons. Les i7-2011 à 4/6 cœurs sont des matrices à 8 cœurs dont les pièces sont désactivées. Si les erreurs de matrice tombent aux bons endroits, elles sont regroupées en tant que pièces moins chères. Pour des taux d'erreur de GPU plus modulaires, définissez le bac inférieur.
Dan Neely
@DanN Merci, j'ai ajouté ceci à ma réponse
artistoex
23

Il y a beaucoup de problèmes techniques (les trajets deviennent trop longs et vous perdez en efficacité, les interférences électriques provoquent du bruit), mais la principale raison est simplement que de nombreux transistors seraient trop chauds pour refroidir adéquatement . C'est la raison pour laquelle ils sont si désireux de réduire la taille de la matrice - cela permet une augmentation des performances aux mêmes niveaux thermiques.

Shinrai
la source
Je dois ajouter que je veux dire dans le contexte d'une machine de bureau / ordinateur portable standard, bien sûr.
Shinrai
1
Les longueurs de chemin n'augmentent pas nécessairement, c'est une chose locale: mettre deux cœurs sur une puce n'augmentera pas la longueur du chemin à l'intérieur d'un cœur, n'est-ce pas? La dissipation thermique se répartira également sur une plus grande surface, ce n'est donc pas un gros problème aussi.
artistoex
1
D'accord, il y a beaucoup de nuances, mais je ne pensais pas que cela était justifié. (Je ne veux pas non plus nécessairement dire dans le contexte de PLUS de cœurs, car la question n'était pas aussi explicite à ce sujet.)
Shinrai
Le fait est que les processeurs multicœurs sont exactement ce que l'OP proposait - un gain de vitesse grâce à une utilisation accrue de la surface de la puce.
artistoex
3
Comment pensez-vous que l'hyper-threading est "des cœurs plus gros et plus rapides"? L'hyperthreading est entièrement basé sur la logique et n'a rien à voir avec la taille ... ce qui signifie que s'il y a un excès disponible sur le noyau actuel, il l'utilise. IE: si votre unité MMX et FPU sont utilisés sur un cœur donné, vous pouvez toujours effectuer des calculs basés sur des nombres entiers.
Supercereal
15

Plusieurs des réponses données ici sont de bonnes réponses. Il y a des problèmes techniques dans l'augmentation de la taille du CPU et cela entraînera beaucoup plus de chaleur à traiter. Cependant, tous sont surmontables avec des incitations suffisamment fortes.

Je voudrais ajouter ce que je pense être une question centrale: l' économie . Les processeurs sont fabriqués dans des plaquettes comme celle-ci , avec un grand nombre de processeurs par plaquette. Le coût de fabrication réel est par tranche, donc si vous doublez la surface d'un CPU, vous ne pouvez en installer que la moitié sur une tranche, donc le prix par CPU double. De plus, toute la plaquette ne sort pas toujours parfaite, il peut y avoir des erreurs. Ainsi, doubler la surface double les chances de défaillance d'un processeur spécifique.

Par conséquent, du point de vue économique, la raison pour laquelle ils réduisent toujours les choses est d'obtenir de meilleures performances / mm ^ 2, qui est le facteur déterminant du prix / des performances.

TL; DR: En plus des autres raisons mentionnées, doubler la surface d'un processeur fait plus que doubler le coût.

Mr Alpha
la source
C’est la raison principale. Le chapitre 1 du manuel d' architecture informatique de Hennessy et Pattersons décrit le processus de fabrication et les considérations nécessaires pour que les matrices CPU soient aussi petites que possible.
Steve Blackwell
3

L'ajout de transistors à un processeur ne le rend pas automatiquement plus rapide.

Augmentation de la longueur du trajet == fréquence d'horloge plus lente.
L'ajout de transistors augmentera la longueur du trajet. Toute augmentation doit être utilisée de manière précieuse ou elle entraînera une augmentation des coûts, de la chaleur, de l'énergie, mais une diminution des performances.

Vous pouvez bien sûr toujours ajouter plus de cœurs. Pourquoi ne font-ils pas ça? Eh bien, ils le font.

user606723
la source
Je ne considère pas vraiment ce hors-sujet ici (bien que ce soit là aussi sur le sujet).
Shinrai
Oui je suis d'accord. Je pense simplement qu'il serait préférable d'y répondre. J'ai supprimé la ligne.
user606723
2

Votre hypothèse générale est fausse. Un processeur avec une matrice de taille double ne signifie pas qu'il peut fonctionner à double vitesse. Cela ne ferait qu'ajouter plus d'espace pour ajouter plus de cœurs (voir certaines puces Intel manycore avec 32 ou 64 cœurs) ou des caches plus grands. Mais la plupart des logiciels actuels ne peuvent pas utiliser plus de 2 cœurs.

Par conséquent, l'augmentation de la taille des matrices augmente considérablement le prix sans un gain de la même hauteur. C'est l'une des raisons (simplifiées) pour lesquelles les CPU sont tels qu'ils sont.

Robert
la source
Ce n'est pas tout à fait vrai - avec plus de transistors, vous pouvez diminuer la profondeur de propagation afin que les instructions prennent moins de cycles d'horloge à terminer. Vous avez raison, cependant, cela n'a rien à voir avec la vitesse d' horloge .
BlueRaja - Danny Pflughoeft
1

En électronique, SMALLER = FASTER 3GHz doit être beaucoup plus petit que 20MHz. Plus les interconnexions sont grandes, plus l'ESR est élevé et plus la vitesse est lente.

Doubler la quantité de transistors ne double pas la vitesse d'horloge.

Fiasco Labs
la source
L'augmentation de la vitesse d'horloge n'est qu'une approche du gain de vitesse. Doubler les transistors en est un autre. En dehors de cela, le rétrécissement des interconnexions n'entre pas en conflit avec l'augmentation de la superficie de la filière.
artistoex
3
@artistoex, mais le simple fait de doubler les transistors ne le rend pas plus rapide non plus. Il doit être conçu de manière à tirer parti de ces transistors. Plus de transistors (avec le même mm) signifie généralement une horloge plus basse.
user606723
1

Le coût de production des tranches brutes est un facteur. Le silicium monocristallin n'est pas libre et le processus de raffinage est quelque peu coûteux. Donc, utiliser plus de votre matière première augmente les coûts.

à vapeur
la source
0

Les grands êtres vivants, artificiels ou non, comme les dinosaures, sont plus lâches. Le rapport surface / volume n'est pas juste pour leur survie: trop de contraintes sur l'énergie - toutes les formes - à l'intérieur et à l'extérieur.

Massimo
la source
0

Considérez un processeur comme un réseau de nœuds connectés (transistors). Afin de fournir plus de capacités, le nombre de nœuds et les chemins entre eux augmentent dans une certaine mesure, mais cette augmentation est linéaire. Ainsi, une génération de CPU pourrait avoir un million de nœuds, la suivante pourrait en avoir 1,5 million. Avec la miniaturisation du circuit, le nombre de nœuds et de chemins est condensé en une empreinte plus petite. Les processus de fabrication actuels sont jusqu'à 30 nanomètres.

Disons que vous avez besoin de cinq unités par nœud et de cinq unités de distance entre deux nœuds. De bout en bout, en ligne droite, vous pouvez créer un bus de 22222 nœuds dans 1 cm d'espace. Vous pouvez créer une matrice de 493 millions de nœuds dans un CM carré. La conception du circuit est ce qui contient la logique du CPU. Doubler l'espace n'est pas ce qui augmente la vitesse, cela permettrait simplement au circuit d'avoir plus d'opérateurs logiques. Ou dans le cas de processeurs multicœurs pour permettre au circuit de gérer plus de travail en parallèle. L'augmentation de l'empreinte diminuerait en fait la vitesse d'horloge car les électrons devraient parcourir de plus longues distances à travers le circuit.

Michael Brown
la source