Comment les processeurs peuvent-ils être stables lorsqu'ils ont autant de transistors?


10

Comme nous savons qu'un processeur est composé de milliards de transistors sur une seule vignette, que se passe-t-il si l'un des transistors se brise?

Le processeur dispose-t-il d'un mécanisme de récupération automatique?


6
En fait, les plus gros contiennent aujourd'hui des milliards de transistors.
starblue

6
«stable» n'est probablement pas le bon mot, car cela pointe davantage vers des questions telles que la métastabilité. Un meilleur choix pour ce sujet serait des mots comme «sans défaut» ou «rendement». Ou vous pourriez vous interroger sur la stabilité du processus de fabrication, plutôt que sur les puces résultantes.
Chris Stratton

2
@ChrisStratton, je pense que OP peut demander plus de fiabilité que de rendement.
The Photon

1
Si l'un des transistors se brise, vous jetez la puce. Il n'y a pas de redondance (sauf certaines applications spécifiques) et aucune option de réparation.
Dmitry Grigoryev

Réponses:


18

C'est simple, nous les testons avant de les vendre et jetons les mauvais.

Il existe de nombreuses façons de le faire - différentes personnes font des choses différentes, utilisent souvent une combinaison de:

  • certains tests sont rapides pour s'assurer qu'ils vont assez vite.

  • d'autres tests impliquent un mode qui transforme certaines ou toutes les bascules de la puce en registres à décalage série géants, nous synchronisons les données connues dans ces chaînes, puis exécutons la puce pendant une horloge, puis analysons les nouveaux résultats et vérifions qu'ils correspondent nos résultats prévus - les outils de test automatique génèrent un ensemble minimum de "vecteurs de balayage" qui testeront chaque grille aléatoire ou transistor sur la puce - d'autres vecteurs effectuent des tests spéciaux des blocs de RAM,

  • d'autres testent que les fils externes sont tous correctement connectés

  • nous nous assurons qu'il ne tire pas une quantité malsaine de courant

Le temps de test coûte de l'argent, nous faisons parfois quelques tests simples pour les puces mortes évidentes avant qu'elles ne soient emballées pour éliminer les mauvaises, puis plus de tests une fois l'emballage terminé.


1
"C'est simple, nous les testons avant de les vendre et jetons les mauvais." Si c'était le seul système de qualité, vous auriez probablement un rendement de 0,0000000000001% avec 1 milliard de transistors
Federico Russo

2
C'est aussi simple que ça; l'astuce réside dans la quantité extrêmement importante de simulation et de vérification des règles au préalable pour garantir que votre rendement est acceptable. Il y a rarement une redondance dans la logique CPU elle-même; parfois, vous obtenez un peu de redondance dans les RAM sur puce.
pjc50

Si la conception est correcte, vos défaillances individuelles proviennent de défauts de matériaux, de contamination, d'erreurs de processus, etc. surface. Dans certains cas, vous pouvez avoir une puce avec plus d'unités fonctionnelles que ce qu'elle est parfois vendue, elle peut donc être commercialisable si elle est mauvaise, mais cela est limité. Parfois, vous pouvez acheter des FPGA à prix réduit qui ne sont testés que pour fonctionner comme utilisés par un fichier de configuration particulier, plutôt que pour fonctionner avec un fichier arbitraire.
Chris Stratton

2
Je pense que vous avez oublié de mentionner des fabricants comme AMD vendant des processeurs avec de mauvais cœurs comme un modèle différent avec le mauvais cœur verrouillé. C'est une sorte de redondance, ou de marketing intelligent peut-être.
akaltar

Si quelqu'un se demandait comment les pièces du marché gris sont fournies, il ne devrait plus se le demander. J'ai travaillé à l'extrémité logicielle des systèmes de fabrication de puces, et les tests automatisés décrits ici représentent une énorme partie des coûts en temps et en argent des usines.

12

Pour développer un peu ce que les autres ont dit: il y a la validation et ensuite la classification des puces.

Les transistors dans les processeurs ont tendance à montrer leurs problèmes à des fréquences plus élevées, il est donc courant de fabriquer un processeur et de le commercialiser sous la forme de plusieurs produits différents. Les CPU moins chers sont en fait des versions endommagées du CPU cher. Une autre option consiste à désactiver certaines parties du CPU. Par exemple, AMD a fabriqué des processeurs avec un noyau BArton. Il a également vendu des processeurs avec un cœur Thorton. Thorton n'était pas un nouveau noyau. Au lieu de cela, la moitié du cache L2 était défectueuse et désactivée. De cette façon, AMD a effectué une récupération sur les processeurs qui aurait été autrement gaspillée.

La même chose s'est produite avec les 3 processeurs principaux d'AMD. Ils étaient à l'origine 4 processeurs principaux, mais l'un des cœurs a été déterminé comme étant défectueux, il a donc été désactivé.


2
il n'est pas rare de faire une conception de puce avec des fonctionnalités que vous pouvez désactiver en faisant sauter des fusibles. Économie simple du rendement de la puce, si nous pouvons récupérer tout ou partie de la puce en la faisant tourner plus lentement ou en désactivant une fonctionnalité qui a échoué au test, nous pouvons récupérer une partie du coût de cette partie plutôt que de jeter la totalité de la partie. vous pouvez également revenir à l'Intel 386 SX et DX à titre d'exemples. et à peu près tous les processeurs sont classés en fonction de la vitesse. les plus lentes sont des pièces qui ont échoué à des vitesses plus rapides.
old_timer

2
Non, pas le 386SX / 386DX. Ces puces ont une interface de bus totalement différente. Vous ne désactivez pas seulement une partie du 386DX pour obtenir un 386SX. Ce que vous dites est vrai pour le 486DX / 486SX, ce dernier ayant le FPU désactivé.
Michael Karcher

6

La réponse à votre question est "Non". Il n'existe actuellement aucune méthode de récupération automatique pour les pannes matérielles.

Les fabricants conçoivent leurs processus pour obtenir le meilleur rendement (en dollars) possible de leurs plaquettes. En rétrécissant les transistors, ils peuvent adapter plus de fonctionnalités à moins de zone. Cela peut être considéré comme plus de puces (de la même fonctionnalité) par tranche. À mesure que la taille de la puce diminue, vous pouvez en retirer davantage d'une plaquette, mais à mesure qu'elles rétrécissent, un plus grand nombre d'entre elles se révèlent mauvaises. Les fabricants l'acceptent et repoussent constamment l'enveloppe de la technologie pour réduire les puces. Ce qui leur dit qu'ils SONT au bord de l'enveloppe, ce sont les mauvais jetons.

Si une entreprise peut réduire la taille des fonctionnalités à 70% de l'ancienne taille des fonctionnalités, elle peut obtenir environ 2 fois le nombre de puces sur une tranche. Si leur rendement sur l'ancien processus était de 95% (disons, 95 bons jetons sur 100 sur une plaquette) et leur rendement sur le nouveau processus est de 75% (150 bons jetons sur 200 sur une plaquette), ils ont fait de l'argent en allant le nouveau processus.


5
Pour certains types de puces telles que les mémoires flash NAND, les fabricants repoussent systématiquement l'enveloppe au-delà du point où les puces sans défaut seraient la norme, mais la plupart des pannes auront des caractéristiques quelque peu prévisibles, et les dispositifs utilisant les puces devraient travailler autour d'eux.
supercat

3

Aux petits nœuds, chaque "transistor" a 2 portes, sauf si vous avez de la mémoire, comme SRAM. Si l'un ne fonctionne pas, vous n'avez qu'un pilote lent. Pour SRAM, si elle ne passe pas, il vous suffit de "souffler" la ligne. Si les deux transistors sur transistor tombent en panne, vous auriez un morceau de sable très cher, mais personnellement je ne l'ai jamais fait. Les FinFET modernes sont si petits, il y a un tas de problèmes de production (tracas principalement) en raison de la nature de la lithographie et de la probabilité. Vous constaterez que les premiers éléments des nouveaux processus sont les FPGA, car vous pouvez simplement "faire sauter" les cellules défectueuses et modifier le graphique de routage. Je ne peux pas vous donner de chiffres, mais vous pouvez deviner comment le monde x86 effectue le binning, les choses se passent rarement parfaitement.

Voici une illustration de la disposition d'une cellule XOR: XOR

Les barres vertes gauche / droite sont des nageoires et le rouge est poly. Les bleus sont le métal coloré au niveau 1.

Les processeurs commerciaux n'ont pas de mécanisme de récupération automatique, mais les choses flottent dans les universités et les processeurs d'applications spéciales. J'ai fait quelques composants spécialisés qui utilisent des architectures asynchrones pour résoudre les problèmes d'horloge qui surviennent en raison de mauvaises portes par la destruction de l'oxyde d'un trou en tant que support chaud où vous obtenez juste un transistor vraiment lent.


3

Apparemment, les temps ont changé. Bon nombre des réponses de cinq ans à cette question ne reflètent plus l'état de l'art et certaines n'étaient pas exactes à l'époque.

Les transistors et autres dispositifs sur silicium sont assez stables après fabrication, à condition que le CI ne surchauffe pas.

Voici les choses maintenant faites dans un processus de fabrication de circuits intégrés modernes pour minimiser les défauts:

  • Les circuits intégrés sont soumis à des tests approfondis, tant au niveau de la validation et de la vérification de la conception que des tests d'échantillons individuels. Ce document décrit certaines procédures de test pour le Pentium 4.
  • la conception globale des circuits intégrés est désormais trop complexe pour être complètement vérifiée
  • Les circuits intégrés ont un microcode programmable, ce qui permet un degré limité de reprogrammabilité si des défauts sont découverts après la fabrication
  • les circuits intégrés modernes contiennent des couches de silicium redondantes, permettant de corriger les défauts découverts lors de la fabrication
  • de nombreux processeurs ont des modules matériels redondants, qu'il s'agisse de cœurs de processeur, de mémoire cache ou d'autres IP; si toutes les unités ne sont pas fonctionnelles, certaines peuvent être désactivées et «regroupées» en tant que pièces à moindre coût. Un exemple est le circuit intégré multicœur PS4 comprend un cœur redondant qui est désactivé pour obtenir un rendement plus élevé.
  • certains processeurs fonctionneront mais pas à la vitesse maximale; ceux-ci peuvent être vendus comme des processeurs à faible vitesse et à moindre coût
  • de nombreux processeurs et RAM utilisent une mémoire de codage à correction d'erreur (ECC) ou effectuent une correction d'erreur de validation de message à différentes étapes du transfert de données pour garantir l'intégrité
  • Parfois, les processeurs échouent d'une manière qui provoque un plantage du système mais n'empêche pas le système de fonctionner à nouveau en cas de redémarrage (verrouillage CMOS)

Les erreurs de programmation dans la spécification formelle du processeur sont plus susceptibles que les défaillances d'un transistor particulier.

Bien que les CPU courants n'aient rien à voir avec une capacité de récupération automatique, il y a également eu des travaux sur les CPU à réinitialisation automatique comme contre-mesure pour les rayons cosmiques. Les rayons cosmiques peuvent déposer suffisamment d'énergie dans un CPU ou une RAM pour provoquer des retournements de bits.

Comme indiqué dans les commentaires, les systèmes critiques reposent depuis longtemps sur plusieurs processeurs pour la vérification. La navette spatiale, en 1976 , par exemple, utilisait cinq ordinateurs, dont quatre exécutaient le même programme et «votaient» sur toutes les décisions de contrôle de vol pour assurer la sécurité.


L'ECC et la détection d'erreurs sont utilisés depuis un certain temps (pour les mémoires et la communication, pour les fonctions arithmétiques et logiques similaires, certains systèmes haut de gamme ont une détection d'erreurs depuis des années). De même, une exécution redondante (spatiale ou temporelle) a été utilisée pour détecter des erreurs pendant un certain temps dans des systèmes où le coût en matériel / temps d'exécution semble justifié.
Paul A. Clayton

@ PaulA.Clayton si vous voulez faire un post sur Itanium et plus récemment sur les fonctionnalités Xeon RAS, je serais certainement heureux de voter pour cela.
Oleksandr R.

2

La plupart des transistors de processeur modernes sont des transistors FET. Celles-ci ont l'avantage de gagner en résistance source / drain lors du démarrage de la surcharge. C'est un facteur qui permet de réaliser des MOSFET de haute puissance en mettant plusieurs en parallèle. La charge se répartit automatiquement. Cela peut être un facteur pour aider à distribuer les problèmes. Mais je pense que c'est vraiment plus simple que ça.

Comme avec la plupart des pièces électroniques, si vous les conduisez selon les spécifications, elles dureront un certain temps. Lorsqu'un microprocesseur est fabriqué, il y a deux facteurs pour le coût. Juste l'espace sur le silicium et, en raison de la complexité, le rendement réel. Toutes les puces ne fonctionnent pas après la fabrication. Cependant, une fois qu'il est fait et passe la validation, vous savez que les transistors sont bons. S'ils sont conformes aux spécifications, il est probable qu'ils resteront bons.


2

Vous êtes-vous déjà demandé pourquoi la même puce est parfois vendue à des vitesses différentes? Et avez-vous remarqué que parfois la même architecture de puce GPU est vendue avec un nombre différent d'unités internes?

Il n'y a aucun moyen de corriger un défaut matériel au niveau du silicium, mais au fil du temps, les concepteurs ont appris à résoudre le problème de l'augmentation du rendement . Sans prévoyance, le rendement dépend uniquement de la qualité de fabrication. Cependant, si vous êtes intelligent, vous pouvez récupérer certains des mauvais jetons.

Par exemple, disons que vous avez une conception de puce à 18 cœurs, qui fonctionne plus ou moins indépendamment. Pendant les tests, vous triez les puces parfaites et les libérez en tant que modèle A18. La plupart des puces ayant échoué n'ont qu'une seule erreur, elles fonctionneront donc bien tant que le noyau défectueux sera désactivé. Vous les vendez en tant que modèle A17 à un prix légèrement inférieur, et ceux qui ont deux mauvais cœurs sont vendus en tant que modèle A16 à un prix toujours plus bas.

La même chose peut s'appliquer à l'indice de vitesse d'une puce. Les puces parfaitement fabriquées seront capables de fonctionner à des vitesses dépassant les spécifications de conception, mais pas les puces présentant des problèmes. Ceux-ci sont vendus à des vitesses inférieures.

Cette méthode augmentera considérablement le rendement global et est donc assez courante. La PlayStation 3, par exemple, possède 8 unités SPE en matériel, mais une est toujours désactivée pour tenir compte des problèmes de rendement.


1

Le processeur dispose-t-il d'un mécanisme de récupération automatique?

Non, comme expliqué ci-dessus. Cependant, leurs caches, en particulier L2 et L3, peuvent contenir de la mémoire RAM supplémentaire. Lorsque la pièce est testée en usine, les blocs RAM défectueux peuvent être supprimés et les blocs RAM supplémentaires peuvent être utilisés.


1

En général non, vous couvrez les mauvais transistors à travers un écran à puce et vous vous attendez à un pourcentage relativement faible de pertes après cela. Le secteur des puces existe depuis des décennies, ils ont beaucoup d'astuces pour gérer cela (et oui, parfois l'une des astuces consiste à simplement laisser sortir les mauvaises pièces et à les remplacer gratuitement ou à laisser les clients mécontents).

Pour les environnements durcis par rayonnement (espace), vous auriez probablement un triple vote, chaque "bit" a en fait trois bits qui votent pour en faire un. il suffit d'un vote des deux tiers pour déterminer le réglage du bit. les transistors de l'autre tiers pourraient donc mal tourner et finiront par une dose totale. mais la principale préoccupation est la perturbation d'un événement unique. Ces puces et systèmes sont conçus pour ces environnements de haut en bas, de silicium, de matériel, de logiciels, etc.

COTS devrait hocher et échouer de temps en temps.


-1

Cela peut sembler un miracle, mais il existe un certain nombre de mécanismes utilisés pour réduire le nombre de défaillances de transistors. Cependant, selon le type de panne subie par le transistor et où, le CPU peut ou non être encore utilisable parfois sous certaines conditions.

À l'heure actuelle, il n'y a souvent pas de mécanisme de récupération automatique intégré, mais il existe de nombreuses recherches sur l'informatique reconfigurable, la redondance et d'autres techniques pour minimiser ce problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.