Photo agrandie de la puce 8086; matrice en silicium et câblage visible Le
microprocesseur révolutionnaire Intel 8086, introduit en 1978, a engendré toute une famille de processeurs x86 qui sont encore utilisés aujourd'hui dans les ordinateurs de bureau et serveurs. La puce est construite sur des circuits numériques, mais elle contient également des circuits analogiques: des générateurs de pompe de charge qui transforment l'alimentation 5 V du processeur en une tension négative pour augmenter les performances. Je rétroconce un 8086 basé sur une photo du cristal, et dans cet article je décris la conception de ces générateurs de pompe de charge et leur fonctionnement.
À proprement parler, bien sûr, toute la puce est constituée de composants analogiques. Comme le dit le vieil adage, «les ordinateurs numériques sont fabriqués à partir de composants analogiques». Son auteur est l'ingénieur DEC Don Vonada, et ses aphorismes ont été publiés dans le magazine Computer Engineering en 1978.
Aphorismes d'ingénierie de Vonada
- Il n'y a pas de «terre».
- Les ordinateurs numériques sont fabriqués à partir de composants analogiques.
- Les prototypes de circuits fonctionnent toujours.
- Tout d'abord, des conditions temporaires approuvées sont développées, puis des conditions non approuvées sont trouvées.
- Si tous sauf un commutent dans un groupe de conducteurs, il commute également.
- Si tous les commutateurs sauf un du groupe de portes sont commutés, il commute également.
- Chaque picofarad a sa propre nanogénie.
- Les condensateurs convertissent les défauts de tension en défauts de courant (loi de conservation de l'énergie).
- – , , .
- .
- – , .
- .
- , .
- 95% . 5% — .
Photo du cristal du microprocesseur 8086. Sur la gauche se trouvent l'ALU et les registres. En bas à droite - ROM avec microcode. Le lien avec la photo ouvre une photo plus grande. Suivez ce lien - la photo originale (10 000 × 10 000 px, 24 Mo - ne tient pas sur habrastorage).
La photo ci-dessus montre une minuscule puce 8086 sous un microscope. Une couche métallique est visible sur le dessus de la puce, sous laquelle du silicium est caché. Le long du bord extérieur, vous pouvez voir les fils de soudure reliant les plots de contact du cristal avec 40 contacts externes de la puce. Mais si vous regardez de près, vous pouvez voir que le cristal a 42 sites. Pourquoi a-t-il besoin de deux supplémentaires?
Un circuit intégré est construit sur un substrat de silicium sur lequel sont appliqués des transistors. Pour les circuits intégrés à grande vitesse, il est utile d'appliquer une tension de polarisation "négative" au substrat.«Pour cela, de nombreuses puces des années 1970 ont un contact externe, qui est alimenté - 5 V, mais il n’était pas pratique pour les ingénieurs d’utiliser une alimentation supplémentaire. À la fin des années 1970, des circuits pour un générateur de pompe de charge étaient développés directement sur la puce, ce qui permettait d’obtenir tension négative en place.Ces puces utilisent l'
alimentation simple + 5V pratique , et tous les ingénieurs sont heureux.L'ajout d'une polarisation négative présente plusieurs avantages: cela réduit la capacité parasite, ce qui rend la puce plus rapide, rend la tension de seuil des transistors plus prévisible et réduit les fuites de courant
Les premières puces DRAM et microprocesseur nécessitaient souvent trois tensions d'alimentation: +5 V (Vcc), +12 V (Vdd) et -5 V (Vbb). À la fin des années 1970, les améliorations de la technologie des puces ont permis d'utiliser une seule tension. Par exemple, le MK4116 (DRAM 16K bits de Mostek 1977) nécessitait trois tensions, tandis que le MK4516 amélioré (1981) fonctionnait avec un seul + 5V, ce qui simplifiait la conception du circuit. C'est drôle que certaines des puces les plus récentes aient des broches Vbb et Vcc non connectées à quoi que ce soit pour une compatibilité ascendante.
Les puces mémoire d'Intel ont emprunté le même chemin: la DRAM 2116 (16 Ko, 1977) utilisait trois tensions, tandis que la 2118 améliorée (1979) n'en utilisait qu'une. De même, le célèbre microprocesseur Intel 8080 (1974) utilisait des MOSFET à canal induit et nécessitait trois tensions pour fonctionner. Le microprocesseur Motorola 6800 (1974) a adopté une approche différente, fonctionnant avec une seule tension d'alimentation; bien que le 6800 ait été construit avec un transistor à l'ancienne, il n'a pas besoin d'une alimentation externe de + 12V car il a mis en place un doubleur de tension.
Les deux plots supplémentaires sur la puce 8086 sont nécessaires pour appliquer une tension de polarisation au substrat. La photo au début de l'article montre l'emplacement du cristal de silicium sur la puce, avec des fils de pontage le reliant au plot de contact qui forme les contacts externes. La photo montre deux petits carrés gris au-dessus et en dessous. Chacun d'eux est connecté à l'un des sites "extra". La pompe de charge sur la puce 8086 génère une tension négative passant à travers les fils de dessoudage vers ces carrés, puis à travers la plaque métallique sous le substrat 8086.
Comment fonctionnent les générateurs de pompes de charge
Sur la photo ci-dessous, deux générateurs de pompe de charge de processeur 8086 sont mis en évidence. Nous considérerons le premier; celui du bas fonctionne de la même manière, il est simplement disposé différemment pour s'adapter à l'espace disponible. Chaque générateur possède un circuit d'attaque, un gros condensateur et un plot avec un fil le reliant au substrat. Chaque générateur est situé à côté de l'une des deux plages de masse du 8086, probablement pour minimiser le bruit électrique.
Photo d'une puce 8086 avec des générateurs de tension de polarisation surdimensionnés
Vous vous demandez peut-être comment la pompe de charge transforme une tension positive en une tension négative. L'astuce pour utiliser un condensateur «volant», dont le schéma est ci-dessous. Sur la gauche, le condensateur est chargé à 5 V. Déconnectez-le et connectez le côté positif à la masse. Le condensateur a toujours une charge de 5 V, de sorte que le bas du condensateur doit fournir -5 V. En commutant rapidement le condensateur entre les deux états, la pompe de charge génère une tension négative.
La pompe de charge 8086 utilise un MOSFET et des diodes pour commuter le condensateur entre les états, et un générateur pour piloter le transistor - comme indiqué dans le schéma ci-dessous. Le générateur en anneau se compose de trois onduleurs connectés en boucle (anneau). Le nombre d'onduleurs étant impair, le système est instable et fluctue. S'il avait un nombre pair d'onduleurs, il serait stable dans l'un des deux états. Cette technique est utilisée dans les registres 8086 - une paire d'onduleurs stocke un peu.
Par exemple, si le premier onduleur reçoit 0, il émettra 1, la deuxième sortie sera 0 et la troisième sortie 1. Cela commute le premier onduleur, et cette commutation se déplace en boucle, entraînant une oscillation. Pour ralentir la vitesse de l'oscillation, deux circuits RC sont insérés dans l'anneau... Comme il faut un certain temps pour charger et décharger le condensateur, l'oscillation ralentit, ce qui donne à la pompe de charge le temps de fonctionner.
J'ai essayé de mesurer la fréquence de la pompe de charge en regardant le courant de la puce pour l'oscillation. J'ai mesuré les fluctuations à 90 MHz, mais je suppose que je pourrais réellement mesurer le bruit.
Circuit d'un générateur de pompe de charge dans un Intel 8086 qui produit une tension de polarisation négative sur le substrat
Les sorties du condensateur arrivent au pilote de condensateur à transistor. La première étape active le transistor supérieur, ce qui oblige le condensateur à se charger à travers la première diode à 5V par rapport à la terre. Dans la deuxième étape, toute la magie opère. Le transistor inférieur s'allume et connecte le haut du condensateur à la terre. Étant donné que le condensateur est toujours chargé à 5V, le fond doit fournir -5V, ce qui nous donne la tension négative souhaitée. Le courant circule à travers la deuxième diode et le fil de soudure vers le substrat. Lorsque l'oscillateur commute à nouveau, le transistor supérieur se met en marche et le cycle se répète. La pompe de charge est ainsi appelée car elle pompe la charge de la sortie vers le sol. Les diodes sont similaires aux vannes d'isolement de pompe à eau en ce qu'elles déplacent la charge dans la bonne direction.
Bien sûr, j'ai un peu simplifié le schéma de travail. En raison de la chute de tension dans le transistor, la tension du substrat sera de -3 V et non de -5 V. Si la puce a besoin d'une chute de tension plus élevée, vous pouvez créer une cascade de plusieurs générateurs de pompe de charge. Quand je parle de la direction du générateur, je veux dire la direction du courant. Si vous imaginez pomper des électrons, supposez que les électrons chargés négativement sont pompés dans la direction opposée dans le substrat.
Implémentation en silicium
La photo ci-dessous montre la mise en œuvre du générateur de pompe de charge sur la puce. La photo ci-dessus montre les conducteurs métalliques sous lesquels se trouve un polysilicium rougeâtre. Ci-dessous se trouve du silicium beige. Au centre se trouve le condensateur principal, avec des conducteurs en forme de H le reliant au circuit de gauche. Une partie du condensateur est cachée sous le large chemin d'alimentation métallique en haut. Sur la droite, le fil de liaison est connecté au pad. Il y a un motif de test sous le tampon - un carré pour chaque masque utilisé pour appliquer la couche suivante à la puce.
Pompe de charge à couche métallique
Après avoir retiré la couche métallique, le diagramme devient plus visible. La moitié droite de la photo est occupée par un gros condensateur de pompe de charge. Il est, bien sûr, de taille microscopique, mais selon les normes de la puce, il est énorme - à peu près comparable à un registre 16 bits. Le condensateur est constitué de polysilicium au-dessus du silicium, entre lequel un oxyde isolant est interposé. Le polysilicium et le silicium forment les plaques de condensateur. Sur la gauche se trouvent un condensateur plus petit et des résistances qui donnent au générateur un retard RC. En dessous d'eux se trouvent le circuit générateur et les transistors.
Le générateur est assemblé à partir de 13 transistors. Sept transistors forment 3 onduleurs (un transistor a un onduleur supplémentaire pour un courant de sortie supplémentaire). Sur les six transistors de commande, deux tirent la sortie vers le haut et quatre vers le bas. Le circuit est étrangement différent d'un circuit onduleur normal car les exigences de courant sont différentes de la logique numérique normale.
Composants clés de la pompe de charge 8086. La couche métallique a été retirée et les couches de polysilicium et de silicium sont visibles.
Une caractéristique intéressante de la pompe de charge est qu'il y a deux diodes, chacune avec huit transistors espacés à intervalles réguliers. Le schéma ci-dessous montre la structure du transistor. Un transistor peut être considéré comme un interrupteur qui permet au courant de circuler entre ses deux sections, la source et le drain. Le transistor est contrôlé par une grille constituée d'un type spécial de silicium, le polysilicium. Une tension de grille élevée permet au courant de circuler entre la source et le drain, tandis qu'une grille basse bloque le courant. Ces minuscules transistors peuvent être combinés pour former des portes logiques - des composants de microprocesseurs et d'autres puces numériques. Cependant, dans ce cas, les transistors sont utilisés comme diodes.
La structure des transistors implémentée dans IC
La photo ci-dessous montre une vue de dessus du transistor dans le générateur de pompe de charge. Comme dans le schéma, le polysilicium forme une grille entre les régions dopées au silicium de part et d'autre. Une diode peut être réalisée à partir d'une structure MOS en connectant la grille et le drain à travers la jonction silicium / polysilicium située en bas de la photo. Le silicium peut également être lié à la couche métallique par des contacts. Pour cette photo, la couche métallique a été supprimée, mais les cercles pâles restants indiquent l'emplacement des contacts traversants.
Un transistor dans le circuit du générateur de pompe de charge. Une grille en silicium polycristallin sépare la source et le drain du transistor.
Le schéma ci-dessous montre comment deux diodes sont assemblées à partir de 16 transistors. Pour supporter un courant relativement important du générateur de pompe de charge, 8 transistors parallèles sont utilisés dans chaque diode. Notez que les transistors voisins ont une source et un drain communs, c'est pourquoi ils étaient si serrés. Des lignes bleues indiquent où se trouvaient les fils métalliques - ils ont été retirés pour cette photo. Les cernes sont les endroits où il y a eu des contacts entre le métal et le silicium.
La pompe de charge a deux diodes, chacune composée de 8 transistors. La source, la porte et le drain sont identifiés par les lettres S, G et D.
En conséquence, les origines des huit transistors supérieurs sont reliées à la masse par un fil métallique. Leurs grilles et drains sont reliés par du silicium polycristallin sous les transistors, à la suite de quoi des diodes sont obtenues à partir d'eux. Ils sont connectés au condensateur avec un fil métallique. Les huit transistors inférieurs forment la deuxième diode. Leurs vannes et drains sont reliés par une boucle métallique inférieure. Notez comment la disposition des éléments a été optimisée; par exemple, les culottes sont pliées pour ne pas toucher les contacts traversants.
Conclusion
Le générateur de tension de polarisation sur la puce 8086 est une combinaison intéressante d'un circuit numérique (un générateur en anneau composé d'onduleurs) et d'une pompe de charge analogique. Cela peut sembler un appareil oublié depuis longtemps de l'histoire des ordinateurs dans les années 1970, mais en fait, il est également présent dans les circuits intégrés modernes. Dans les puces modernes, il s'agit d'un circuit beaucoup plus complexe, soigneusement réglé pour fournir plusieurs tensions de polarisation réglables dans des zones avec des alimentations séparées. À certains égards, il est similaire à l'architecture x86, qui a commencé son chemin dans les années 1970 et est devenue encore plus populaire aujourd'hui, mais dans le cadre de l'amélioration constante de l'efficacité, sa complexité a incroyablement augmenté.
Les générateurs de biais sont aujourd'hui commercialisés en tant qu'idées exclusives prêtes à l' emploi- vous pouvez acheter un circuit d'un tel générateur et l'insérer dans votre projet de puce (voir liens 1 , 2 , 3 , 4 , 5 , 6 ). Il existe même une norme d'alimentation IEEE 1801 selon laquelle les outils de conception de circuits intégrés peuvent générer les circuits requis.
Le coprocesseur mathématique Intel 8087 attaché au 8086 possède également son propre générateur de tension de polarisation. Il fonctionne sur les mêmes principes, cependant, assez curieusement, il utilise un circuit différent avec 5 onduleurs.