Fonctionnement d'un ordinateur/Les transistors et portes logiques

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

Dans le chapitre précédent, nous avons abordé les circuits les plus élémentaires de tout ordinateur : les portes logiques. Dans ce chapitre, nous allons voir comment elles sont fabriquées et ce qu'il y a à l'intérieur. Elles sont fabriqués avec des composants électroniques que l'on appelle des transistors, reliés entre eux pour former des circuits plus ou moins compliqués. Pour donner un exemple, sachez que les derniers modèles de processeurs peuvent utiliser près d'un milliard de transistors.

Les transistors[modifier | modifier le wikicode]

Un transistor est un morceau de conducteur, dont la conductivité est contrôlée par une troisième broche/borne. On peut le voir comme un interrupteur contrôlé par la troisième broche.

Les transistors sont des composants qui possèdent trois broches, des pattes métalliques sur lesquelles on connecte des fils électriques. On peut appliquer une tension électrique sur ces broches, qui peut représenter soit 0 soit 1. Sur ces trois broches, il y en a deux entre lesquelles circule un courant, et une troisième qui commande le courant. On l'utilise le plus souvent comme un interrupteur commandé par sa troisième broche : le courant qui traverse les deux premières broches passe ou ne passe pas selon ce qu'on met sur la troisième.

Les types de transistors MOS : PMOS et NMOS[modifier | modifier le wikicode]

Il existe différents types de transistors, mais tous les transistors de nos ordinateurs sont tous des transistors MOS. On a donné un nom à chaque broche pour mieux les repérer, nom qui est indiqué sur le schéma ci-dessous. On l'utilise le plus souvent comme un interrupteur commandé par sa grille. Appliquez la tension adéquate et la liaison entre la source et le drain se comportera comme un interrupteur fermé. Mettez la grille à une autre valeur et cette liaison se comportera comme un interrupteur ouvert. Il existe deux types de transistors CMOS, qui diffèrent entre autre par le bit qu'il faut mettre sur la grille pour les ouvrir/fermer :

  • les transistors NMOS qui s'ouvrent lorsqu'on envoie un zéro sur la grille et se ferment si la grille est à un ;
  • et les PMOS qui se ferment lorsque la grille est à zéro, et s'ouvrent si la grille est à un.
Transistor CMOS
Transistor MOS à canal N (NMOS).
Transistor MOS à canal P (PMOS).
Illustration du fonctionnement des transistors NMOS et PMOS, avec un circuit fabriqué avec de tels transistors.

L'anatomie d'un transistor CMOS[modifier | modifier le wikicode]

À l'intérieur du transistor, on trouve simplement une plaque en métal reliée à la grille appelée l'armature, un bout de semi-conducteur entre la source et le drain, et un morceau d'isolant entre les deux. Pour rappel, un semi-conducteur est un matériau qui se comporte soit comme un isolant, soit comme un conducteur, selon les conditions auxquelles on le soumet. Dans un transistor, son rôle est de laisser passer le courant, ou de ne pas le transmettre, quand il faut. C'est grâce à ce semi-conducteur que le transistor peut fonctionner en interrupteur : interrupteur fermé quand le semi-conducteur conduit, ouvert quand il bloque le courant. La commande de la résistance du semi-conducteur (le fait qu'il laisse passer ou non le courant) est réalisée par la grille, comme nous allons le voir ci-dessous.

Transistor CMOS

Suivant la tension que l'on place sur la grille, celle-ci va se remplir avec des charges négatives ou positives. Cela va entrainer une modification de la répartition des charges dans le semi-conducteur, ce qui modulera la résistance du conducteur. Prenons par exemple le cas d'un transistor NMOS et étudions ce qui se passe selon la tension placée sur la grille. Si on met un zéro, la grille sera vide de charges et le semi-conducteur se comportera comme un isolant : le courant ne passera pas. En clair, le transistor sera équivalent à un interrupteur ouvert. Si on met un 1 sur la grille, celle-ci va se remplir de charges. Le semi-conducteur va réagir et se mettre à conduire le courant. En clair, le transistor se comporte comme un interrupteur fermé.

Transistor NMOS ouvert. Transistor NMOS fermé.

La loi de Moore[modifier | modifier le wikicode]

Les composants électroniques contiennent un grand nombre de transistors. Par exemple, les derniers modèles de processeurs peuvent utiliser près d'un milliard de transistors. Cette orgie de transistors permet d'ajouter des fonctionnalités aux composants électroniques. C'est notamment ce qui permet aux processeurs récents d'intégrer plusieurs cœurs, une carte graphique, etc. En 1965, le cofondateur de la société Intel, spécialisée dans la conception de mémoires et de processeurs, a affirmé que la quantité de transistors présents dans un processeur doublait tous les 18 mois : c'est la première loi de Moore. En 1975, il réévalua cette affirmation : ce n'est pas tous les 18 mois que le nombre de transistors d'un processeur double, mais tous les 2 ans. Cette nouvelle version, appelée la seconde loi de Moore, est toujours valable de nos jours.

Nombre de transistors en fonction de l'année.

Cela n'aurait pas été possible sans le développement de la miniaturisation, qui permet de rendre les transistors plus petits. Il faut savoir que les circuits imprimés sont fabriqués à partir d'une plaque de silicium pur, un wafer, sur laquelle on vient graver le circuit imprimé. Les transistors sont donc répartis sur une surface plane. Ils ont souvent une largeur et une longueur qui sont très proches. Pour simplifier, la taille des transistors est aussi appelée la finesse de gravure. Celle-ci s'exprime le plus souvent en nanomètres. La loi de Moore nous donne des indications sur l'évolution de la finesse de gravure dans le temps. Doubler le nombre de transistors signifie qu'on peut mettre deux fois plus de transistors sur une même surface : la surface occupée par un transistor a été divisée par deux. Ainsi, la finesse de gravure est divisée par la racine carrée de deux, environ 1,4, tous les deux ans. Une autre formulation consiste à dire que la finesse de gravure est multipliée par 0,7 tous les deux ans, soit une diminution de 30 % tous les deux ans.

Évolution de la finesse de gravure au cours du temps pour les mémoires FLASH de type NAND.

Néanmoins, la loi de Moore n'est pas vraiment une loi gravée dans le marbre. Si celle-ci a été respectée jusqu'à présent, c'est avant tout grâce aux efforts des fabricants de processeurs, qui ont tenté de la respecter pour des raisons commerciales. Vendre des processeurs toujours plus puissants, avec de plus en plus de transistors est en effet gage de progression technologique autant que de nouvelles ventes.

Il arrivera un moment où les transistors ne pourront plus être miniaturisés, et ce moment approche ! Quand on songe qu'en 2016 certains transistors ont une taille proche d'une vingtaine ou d'une trentaine d'atomes, on se doute que la loi de Moore n'en a plus pour très longtemps. Et la progression de la miniaturisation commence déjà à montrer des signes de faiblesses. Le 23 mars 2016, Intel a annoncé que pour ses prochains processeurs, le doublement du nombre de transistors n'aurait plus lieu tous les deux ans, mais tous les deux ans et demi. Cet acte de décès de la loi de Moore n'a semble-t-il pas fait grand bruit, et les conséquences ne se sont pas encore faites sentir dans l'industrie. Au niveau technique, on peut facilement prédire que la course au nombre de cœurs a ses jours comptés.

On estime que la limite en terme de finesse de gravure sera proche des 5 à 7 nanomètres : à cette échelle, le comportement des électrons suit les lois de la physique quantique et leur mouvement devient aléatoire, perturbant fortement le fonctionnement des transistors au point de les rendre inutilisables. Et cette limite est proche : des finesses de gravure de 10 nanomètres sont déjà disponibles chez certaines fondeurs comme TSMC. Autant dire que si la loi de Moore est respectée, la limite des 5 nanomètres sera atteinte dans quelques années, à peu-près vers l'année 2020. Ainsi, nous pourrons vivre la fin d'une ère technologique, et en voir les conséquences. Les conséquences économiques sur le secteur du matériel promettent d'être assez drastiques, que ce soit en terme de concurrence ou en terme de réduction de l'innovation.

Quant cette limite sera atteinte, l'industrie sera face à une impasse. Le nombre de cœurs ou la micro-architecture des processeurs ne pourra plus profiter d'une augmentation du nombre de transistors. Et les recherches en terme d'amélioration des micro-architectures de processeurs sont au point mort depuis quelques années. La majeure partie des optimisations matérielles récemment introduites dans les processeurs sont en effet connues depuis fort longtemps (par exemple, le premier processeur superscalaire à exécution dans le désordre date des années 1960), et ne sont améliorables qu'à la marge. Quelques équipes de recherche travaillent cependant sur des architectures capables de révolutionner l'informatique. Le calcul quantique ou les réseaux de neurones matériels sont une première piste, mais qui ne donneront certainement de résultats que dans des marchés de niche. Pas de quoi rendre un processeur de PC plus rapide.

Fabriquer des portes logiques avec des transistors[modifier | modifier le wikicode]

Les portes logiques que nous venons de voir sont actuellement fabriquées en utilisant des transistors. Il existe de nombreuses manières pour concevoir des circuits à base de transistors, qui portent les noms de DTL, RTL, TLL, CMOS et bien d'autre.

La technologie CMOS[modifier | modifier le wikicode]

Dans cette section, nous allons montrer comment fabriquer des portes logiques en utilisant la technologie CMOS. Avec celle-ci, chaque porte logique est fabriquée à la fois avec des transistors NMOS et des transistors PMOS. On peut la voir comme un mélange entre la technologie PMOS et NMOS. Tout circuit CMOS est divisé en deux parties : une intégralement composée de transistors PMOS et une autre de transistors NMOS. Chacune relie la sortie du circuit soit à la masse, soit à la tension d'alimentation.

Principe de conception d'une porte logique/d'un circuit en technologie CMOS.

La première partie relie la tension d'alimentation à la sortie, mais uniquement quand la sortie doit être à 1. Si la sortie doit être à 1, des transistors PMOS vont se fermer et connecter tension et sortie. Dans le cas contraire, des transistors s'ouvrent et cela déconnecte la liaison entre sortie et tension d'alimentation. L'autre partie du circuit fonctionne de la même manière que la partie de PMOS, sauf qu'elle relie la sortie à la masse et qu'elle se ferme quand la sortie doit être mise à 0

Fonctionnement d'un circuit en logique CMOS.

La porte NON[modifier | modifier le wikicode]

Cette porte est fabriquée avec seulement deux transistors, comme indiqué ci-dessous.

Porte NON fabriquée avec des transistors CMOS.

Si on met un 1 en entrée de ce circuit, le transistor du haut va fonctionner comme un interrupteur ouvert, et celui du bas comme un interrupteur fermé : la sortie est reliée au zéro volt, et vaut donc 0. Inversement, si on met un 0 en entrée de ce petit montage électronique, le transistor du bas va fonctionner comme un interrupteur ouvert, et celui du haut comme un interrupteur fermé : la sortie est reliée à la tension d'alimentation, et vaut donc 1.

Porte NON fabriquée avec des transistors CMOS - fonctionnement.

La porte NAND[modifier | modifier le wikicode]

Voici en exclusivité comment créer une porte NAND à deux entrées avec des transistors CMOS !

Porte NAND fabriquée avec des transistors.
Porte NAND fabriquée avec des transistors.

La porte NOR[modifier | modifier le wikicode]

Implémenter une porte NOR à deux entrées avec des transistors CMOS ressemble à ce qu'on a fait pour la porte NAND.

Porte NOR fabriquée avec des transistors.
Porte NOR fabriquée avec des transistors.

Portes ET et OU[modifier | modifier le wikicode]

Les autres portes sont construites à partir de ces portes. Par exemple, la porte ET est fabriquée en combinant deux portes logiques : une porte NAND et une porte NON. Voici le circuit d'une porte ET :

Porte ET : circuit à base de transistors CMOS.

Comme pour la porte ET, la porte OU est fabriquée à partie de deux portes plus simples : une porte NON et une porte NOR. Voici le circuit d'une porte OU sans vous l'expliquer.

Porte OU : circuit à base de transistors CMOS.

Portes XOR et NXOR[modifier | modifier le wikicode]

Il est possible de créer une porte XOR en combinant d'autres portes logiques. Il est notamment possible de la concevoir en utilisant uniquement des portes NOR ou des portes NAND.

Circuits équivalents à une porte XOR
Porte XOR à base de transistors CMOS
CmosXORGate CMOS6TrXOR
CMOS XOR Gate Cmos xor

La technologie NMOS[modifier | modifier le wikicode]

Nous allons commencer avec la technologie NMOS, mais les circuits PMOS sont relativement similaires. Ceux-ci sont fabriqués avec des transistors MOS intercalés avec une résistance, qui relie directement la tension d'alimentation à la sortie.

Circuit en logique NMOS.

Leur fonctionnement est assez facile à expliquer. Quand la sortie doit être à 1, tous les transistors sont ouverts. Il n'y a pas de chemin qui relie la sortie à la masse. Par contre, la sortie est connectée à la tension d'alimentation, ce qui fait qu'elle est mise à 1. On place une résistance entre la tension d'alimentation et la sortie pour éviter que le courant qui la traverse soit trop fort dans cette situation. Quand la sortie doit être à 0, il y a au moins un transistor NMOS qui se ferme. Mais si un transistor NMOS se ferme et connecte l'alimentation à la masse, les choses changent. Les lois compliquées de l'électricité nous disent alors que la sortie est connectée à la masse, soit au zéro volts. Elle est donc mise à 0.

Fonctionnement d'un circuit en technologie NMOS.

Voici les circuits obtenus :

Porte NON NMOS. NMOS-NAND-gate NMOS-NOR-gate NMOS AND gate NMOS OR gate

Les portes de base, utilisées pour fabriquer toutes les autres, sont les portes NON, NAND et NOR. Les portes ET et OU sont fabriqués en plaçant une porte NON à la suite d'une porte ET/OU.

La porte NON[modifier | modifier le wikicode]

Le circuit d'une porte NON en technologie NMOS est illustré ci-dessous. Le principe de ce circuit est assez simple : l'étude de seulement deux cas permet de le comprendre en détail. Si on envoie un 0 sur la grille du transistor, celui-ci s'ouvre et la sortie est reliée à la tension d'alimentation. A l'inverse, quand on met un 1 sur la grille, le transistor se ferme et la sortie est reliée à la masse, mise à 0. Le résultat est bien un circuit inverseur.

Porte NON NMOS. Porte NON NMOS : fonctionnement.

La porte NOR[modifier | modifier le wikicode]

La porte NOR est similaire à la porte NON, si ce n'est qu'il y a maintenant deux transistors en parallèles. Si une des grilles est mise à 1, un des transistors se fermera et la sortie est mise à 0. Par contre, quand les deux entrées sont à 0, les transistors s'ouvrent tous deux et la sortie est mise à 1. Le comportement obtenu est bien celui d'une NAND.

NMOS-NOR-gate Fonctionnement d'une porte NOR NMOS.

La porte NAND[modifier | modifier le wikicode]

La porte NAND fonctionne sur un principe similaire au précédent, si ce n'est qu'il faut que les deux grilles soient à zéro pour obtenir une sortie à 1. Pour mettre la sortie à 0 quand seulement les deux transistors sont ouverts, il suffit de les mettre en série, comme dans le schéma ci-dessous. Le circuit obtenu est bien une porte NOR.

NMOS-NAND-gate
Funktionsprinzip eines NAND-Gatters

La technologie PMOS[modifier | modifier le wikicode]

Les circuits en technologie PMOS ressemblent beaucoup aux circuits en technologie NMOS, si ce n'est qu'ils sont inversés. Rien d'étonnant à cela, les deux types de transistors, PMOS et NMOS, ayant un fonctionnement inverse. Là encore, les circuits PMOS sont construits d'une manière assez similaire aux circuits CMOS, si ce n'est que les transistors NMOS sont remplacés par une résistance qui relie ici la masse à la sortie.

PMOS NOT PMOS NAND corr PMOS NOR corr

Les circuits intégrés[modifier | modifier le wikicode]

Broches du processeur MOS6502.

On peut utiliser des portes logiques et/ou des transistors pour créer des circuits plus compliqués, souvent appelés circuits intégrés. Ces circuits ont, comme les portes logiques, des broches métalliques sur lesquelles on envoie des tensions, chaque broche pouvant servir soit d'entrée, soit de sortie (rarement les deux). Certaines de ces broches vont recevoir la tension d'alimentation (broche VCC), d'autres vont être reliées à la masse (broche GND), d'autres vont recevoir des bits de données. A l'intérieur de ces circuits imprimé, on trouve un grand nombre de transistors et de portes logiques qui sont reliés entre eux et/ou connectés aux broches d'entrée/sortie.

Les broches[modifier | modifier le wikicode]

La plupart des circuits actuels, processeurs et mémoires, comprennent un grand nombre de broches : plusieurs centaines ! Si on prend l'exemple du processeur MC68000, un vieux processeur inventé en 1979 présent dans les calculatrices TI-89 et TI-92, celui-ci contient 68000 transistors (d'où son nom : MC68000). Il s'agit d'un vieux processeur complètement obsolète et particulièrement simple. Et pourtant, celui-ci contient pas mal de broches : 37 au total ! Pour comparer, sachez que les processeurs actuels utilisent entre 700 et 1300 broches d'entrée et de sortie. A ce jeu là, notre pauvre petit MC68000 passe pour un gringalet !

Pour être plus précis, le nombre de broches (entrées et sorties) d'un processeur dépend du socket de la carte mère. Par exemple, un socket LGA775 est conçu pour les processeurs comportant 775 broches d'entrée et de sortie, tandis qu'un socket AM2 est conçu pour des processeurs de 640 broches. Certains sockets peuvent carrément utiliser 2000 broches (c'est le cas du socket G34 utilisé pour certains processeurs AMD Opteron). Pour la mémoire, le nombre de broches dépend du format utilisé pour la barrette de mémoire (il existe trois formats différents), ainsi que du type de mémoire. Certaines mémoires obsolètes (les mémoires FPM-RAM et EDO-RAM) se contentaient de 30 broches, tandis que la mémoire DDR2 utilise entre 204 et 244 broches.

Les sorties et leurs types[modifier | modifier le wikicode]

Les sorties des circuits intégrés peuvent se classer en plusieurs types, selon leur fonctionnement. On distingue principalement les sorties totem-pole, les sorties à drain ouvert et les sorties trois-état.

Les sorties totem-pole sont les plus communes pour les circuits CMOS. Ce sont des sorties qui sont connectées à deux transistors : un qui relie la sortie à la masse, et un autre qui la relie à la tension d'alimentation. En technologie CMOS, elles sont équivalentes à des sorties connectées à une porte logique.

Sortie à collecteur ouvert, équivalent en technologie TTL d'une sortie à drain ouvert.

Les sorties à drain ouvert sont reliées à un seul transistor, comme indiqué dans le schéma ci-contre. Le transistor relie la sortie à la masse, mais rien ne relie la sortie à la tension d'alimentation. La sortie peut être mise à 0 par le circuit intégré, mais elle ne peut pas être mise à 1 sans intervention extérieure. Pour utiliser une sortie à drain ouvert, il faut relier la sortie à la tension d'alimentation à travers une résistance, appelée résistance de rappel. Dans ce cas, la sortie est mise à 0 ou 1 selon que le transistor est ouvert ou fermé. Si le transistor est ouvert, la sortie n'est pas reliée au circuit. A la place, elle est connectée à la tension d'alimentation, ce qui fait que la sortie est à 1. Si le transistor est fermé, la tension d'alimentation est reliée à la masse et il en est de même pour la sortie. En clair, elle est à 0.

Les sorties à totem-pole ont pour caractéristique de toujours être connectées sous à la masse, soit à la tension d'alimentation. Les sorties à drain ouvert ne sont pas dans ce cas là, du moins sans résistance de rappel. Si on regard bien, elles peuvent être connectées soit à la masse, soit à rien. Cet état où elles ne sont pas connectées à quoi que ce soit n'est pas utilisé tel quel. Par contre, le troisième type de sortie en fait bon usage. Il s'agit des sorties trois-état. leur caractéristique principale est qu'elles peuvent prendre trois états, comme leur nom l'indique. Soit elles sont connectées à la masse, soit elles sont reliées à la tension d'alimentation, soit elles ne sont connectée ni à l'une ni à l'autre. Si les deux premiers cas correspondent à un 0 et à un 1, l'état déconnecté ne correspond à aucun des deux. Il s'agit d'un état utilisé quand on souhaite déconnecter ou connecter à la demande certains composants dans un circuit. Vous comprendrez en quoi ces sorties sont utiles quand nous parlerons des mémoires et des bus de communication.

Illustration des différents types de sorties d'un circuit intégré et de leur utilisation.