Guide GPUsed

Les chiplets expliqués : pourquoi les CPU et les GPU utilisent des composants plus petits

Révisé par pour en vérifier l’exactitude factuelle et opérationnelle.

Les chiplets divisent un processeur complexe en puces spécialisées plus petites, puis utilisent un boîtier avancé pour les faire fonctionner comme un seul système.

Un boîtier de processeur assemblé à partir de plusieurs chiplets de CPU et de GPU connectés
Les chiplets divisent un grand processeur en éléments connectés ; le boîtier et les communications font alors partie de l’architecture.

Un processeur à chiplets divise une puce complexe en plusieurs éléments plus petits, puis les connecte dans le même boîtier.

Au lieu de fabriquer chaque cœur de processeur, contrôleur mémoire, bloc graphique et fonction d’entrée/sortie sur une seule pièce de silicium gigantesque, les concepteurs peuvent fabriquer séparément des puces spécialisées et les combiner.

Cela peut réduire les déchets de fabrication, permettre à différentes fonctions d’utiliser différents procédés de production et faciliter la mise à l’échelle d’une architecture. Cela crée également un nouveau problème : plusieurs puces doivent fonctionner comme une seule.

L’approche traditionnelle : une seule puce monolithique

Un processeur conventionnel est constitué d’une seule puce de silicium. Cette puce peut contenir :

  • cœurs de calcul
  • cache
  • contrôleurs mémoire
  • graphiques
  • moteurs d’affichage
  • PCIe
  • et d’autres fonctions d’entrée/sortie.

Une conception monolithique présente des avantages importants. Les données peuvent circuler dans la puce via des connexions étroitement intégrées. Le système est plus facile à traiter comme un seul composant physique. La latence et le comportement logiciel peuvent être plus prévisibles. L’inconvénient apparaît lorsque la puce devient plus grande. Les tranches de silicium contiennent des défauts inévitables. Un petit défaut peut rendre inutilisable une pièce beaucoup plus grande de silicium précieux. Les grandes puces tiennent également en moins grand nombre sur chaque tranche.

Plus le processeur devient grand et complexe, plus il est difficile de le fabriquer efficacement.

Les chiplets répartissent les risques

Imaginez un grand processeur divisé en quatre puces plus petites. Si un défaut affecte une petite puce, les autres puces fonctionnelles peuvent tout de même être utilisables. Les éléments plus petits s’adaptent également plus efficacement sur la tranche. Cela peut améliorer le rendement de fabrication et réduire le coût de production d’un processeur très grand au total. Les éléments n’ont pas besoin d’être identiques. Un boîtier peut combiner :

  • des puces de calcul haute performance
  • une puce d’entrée/sortie
  • graphiques
  • accélération de l’IA
  • cache
  • et des interfaces spécialisées.

Chaque bloc devient un composant du système.

Différentes tâches peuvent utiliser différents procédés de fabrication

Le procédé de fabrication le plus avancé est coûteux et n’est pas aussi utile pour toutes les fonctions. Les cœurs de processeurs haute performance peuvent tirer parti de transistors plus petits. Les circuits d’entrée/sortie, les fonctions analogiques et les interfaces mémoire n’ont peut-être pas besoin du même procédé de pointe. Certains peuvent fonctionner plus efficacement ou à moindre coût sur un nœud mature. Les puces élémentaires permettent aux concepteurs d’utiliser le procédé approprié pour chaque tâche.

La conception graphique RDNA 3 d’AMD, par exemple, combinait une matrice de calcul graphique en 5 nm avec des matrices de cache mémoire en 6 nm. L’objectif n’était pas simplement de créer davantage de pièces. Il s’agissait d’attribuer différentes fonctions à des procédés adaptés à chacune d’elles. Intel décrit cette idée plus générale comme une intégration hétérogène : combiner des puces élémentaires conçues pour différentes fonctions et pouvant utiliser différentes technologies de fabrication.

Les processeurs ont rendu les puces élémentaires familières

Les familles de processeurs Zen d’AMD ont contribué à généraliser la conception à puces élémentaires dans les processeurs de bureau et de serveur. Un boîtier Ryzen ou EPYC peut combiner une ou plusieurs matrices de complexes de cœurs avec une matrice d’entrée/sortie distincte. Cette approche facilite l’augmentation du nombre de cœurs. Un processeur de bureau courant peut utiliser une ou deux matrices de calcul. Un processeur serveur peut en utiliser bien davantage autour d’un système d’E/S central. L’entreprise n’a pas besoin de concevoir une immense matrice monolithique unique pour chaque nombre de cœurs. Le même bloc de construction peut être utilisé dans plusieurs produits.

Les GPU sont plus difficiles à diviser

Les charges de travail graphiques dépendent du déplacement de quantités considérables de données entre les unités de calcul, le cache et la mémoire. Diviser un GPU peut donc créer des problèmes de latence et de bande passante. L’architecture RDNA 3 d’AMD utilisait une matrice centrale de calcul graphique reliée à des matrices distinctes de cache mémoire. L’entreprise a indiqué que l’interconnexion entre elles pouvait fonctionner jusqu’à 5,3 To/s. Il s’agit d’une valeur de pointe annoncée par le fabricant, et non du débit réel en jeu. Elle illustre l’ampleur de la connexion nécessaire.

Un GPU à puces élémentaires ne peut pas se comporter comme plusieurs cartes graphiques faiblement connectées. Les matrices doivent communiquer rapidement et de manière cohérente afin que les logiciels puissent traiter le produit comme un seul GPU. C’est pourquoi la conception graphique à puces élémentaires ne consiste pas simplement à « reprendre la méthode des processeurs ».

Le boîtier devient partie intégrante de l’architecture

Une fois le processeur divisé, le boîtier qui le relie devient essentiel. Les pistes de boîtier traditionnelles peuvent ne pas offrir suffisamment de bande passante ou d’efficacité énergétique. Les approches avancées comprennent notamment :

Intégration 2,5D

Plusieurs matrices sont placées côte à côte et communiquent par l’intermédiaire d’un interposeur ou d’une couche de redistribution haute densité.

Empilement 3D

Une puce est placée au-dessus d’une autre, créant des connexions verticales beaucoup plus courtes.

Approches hybrides

La logique, le cache et la mémoire peuvent être placés côte à côte et les uns au-dessus des autres grâce à plusieurs technologies de boîtier. La famille Foveros d’Intel est un exemple d’intégration avancée en 2,5D et en 3D. AMD combine également des chiplets avec un boîtier avancé dans ses produits pour processeurs, GPU et accélérateurs. Le boîtier n’est plus simplement l’objet qui protège le silicium. Il détermine la manière dont le système communique, reçoit son alimentation et évacue la chaleur.

Pourquoi ne pas tout transformer en chiplets ?

Les chiplets entraînent leurs propres coûts.

Surcharge de communication

Le déplacement des données entre les puces peut prendre plus de temps et d’énergie que leur déplacement au sein d’une seule puce.

Coût du boîtier

Les interposeurs avancés, le collage et l’assemblage peuvent être coûteux.

Densité thermique

L’empilement des puces peut rendre l’évacuation de la chaleur plus difficile.

Tests

Chaque chiplet et le boîtier final doivent être testés. Un composant défectueux peut tout de même affecter le produit assemblé.

Logiciels et ordonnancement

Le système d’exploitation et les applications peuvent devoir tenir compte des différences de latence, de cache ou de disposition des cœurs.

Échelle du produit

Un petit processeur peu coûteux peut être moins cher et plus simple sous la forme d’une seule puce monolithique.

Les chiplets sont un outil de conception, pas une amélioration universelle.

Les chiplets sont-ils automatiquement plus rapides ?

Non. Les chiplets peuvent rendre économiquement possible la création d’un processeur beaucoup plus grand ou plus spécialisé. Ce système peut être plus rapide parce qu’il contient davantage de cœurs, de cache, de mémoire ou de capacités d’accélération. L’agencement en chiplets introduit également une surcharge de communication. Une puce monolithique bien conçue peut être plus performante qu’un système multi-puces mal conçu. Les performances dépendent de :

  • architecture
  • charge de travail
  • interconnexion
  • cache
  • mémoire
  • boîtier
  • logiciel
  • et la consommation d’énergie.

L’avantage réside dans la flexibilité et la capacité à évoluer, pas dans une accélération gratuite.

Pourquoi sont-ils importants pour l’IA

Les accélérateurs d’IA nécessitent une puissance de calcul considérable, une mémoire à large bande passante et des liaisons rapides entre plusieurs blocs de traitement. Les chiplets permettent à un concepteur de combiner des puces de calcul, des entrées-sorties, du cache, de la mémoire à large bande passante et des accélérateurs spécialisés. L’architecture CDNA d’AMD utilise un boîtier avancé pour combiner les technologies de chiplets et la mémoire HBM dans des accélérateurs pour centres de données. L’ensemble du secteur s’oriente également vers des normes ouvertes d’interconnexion de chiplets, afin que des puces provenant de différentes équipes de conception, voire à terme de différentes entreprises, puissent communiquer via des interfaces communes. Cela pourrait rendre les processeurs plus modulaires, même si les défis commerciaux, de sécurité et de compatibilité restent considérables.

Ce que cela change pour les acheteurs

La plupart des acheteurs n’ont pas besoin de choisir un processeur parce qu’il est monolithique ou fondé sur des chiplets. Les résultats utiles sont indirects : davantage de cœurs pour un prix donné, des caches plus grands, une meilleure évolutivité des produits, des accélérateurs plus spécialisés et une concurrence accrue entre les procédés de fabrication. Les chiplets peuvent également expliquer certains comportements inhabituels. Un processeur peut présenter une latence différente entre les groupes de cœurs. Un GPU peut dépendre fortement de son cache et de son interconnexion. Une conception avec cache empilé peut avoir des limites thermiques différentes de celles d’une version conventionnelle. L’architecture compte lorsqu’elle modifie les performances réelles sur une charge de travail, et non simplement parce que le terme « chiplet » apparaît dans le marketing.

L’avenir sera probablement hybride

Certains processeurs resteront monolithiques. D’autres combineront plusieurs chiplets. Certains empileront verticalement le cache ou la mémoire. Les grands systèmes d’IA pourront relier de nombreux boîtiers si étroitement que la frontière entre puce, module et ordinateur deviendra moins évidente. L’objectif n’est pas de créer le plus grand nombre de composants possible. Il s’agit de placer chaque fonction sur le silicium approprié, de fabriquer le tout de manière économique et de connecter tous les éléments assez rapidement pour que l’utilisateur ait l’impression d’utiliser un seul système.

Les chiplets changent la manière dont les processeurs sont conçus, car ils permettent aux concepteurs de ne plus considérer une seule puce monolithique immense comme la seule voie vers une puce puissante. Les éléments plus petits ne constituent pas à eux seuls la véritable avancée. L’avancée consiste à les faire fonctionner ensemble. Découvrez pourquoi la mémoire graphique devient stratégiquement importante ou explorez le matériel d’entreprise et de centre de données de GPUsed.

More Blog GPUsed