La bascule bistable (flip-flop)
Comment un ordinateur peut-il conserver une information alors que ses circuits ne manipulent que des signaux électriques ?
1918 : la naissance de la bascule électronique
Le 21 juin 1918, les physiciens britanniques William Henry Eccles et Frank Wilfred Jordan déposent un brevet décrivant un circuit constitué de deux tubes électroniques reliés entre eux. Leur montage possède une propriété particulièrement intéressante : lorsqu’il est placé dans un état, il peut y rester même après la disparition du signal qui a provoqué le changement.
À l’origine, Eccles et Jordan ne cherchent évidemment pas à construire une mémoire informatique. Ils étudient l’utilisation des tubes à vide pour réaliser un relais électronique : une faible impulsion électrique peut faire basculer le circuit dans un nouvel état, qu’il conserve ensuite jusqu’à sa remise à zéro. Ce fonctionnement trouvera quelques décennies plus tard une application fondamentale dans les ordinateurs : les deux états stables peuvent représenter 0 et 1.
Le circuit peut donc conserver une information. Il sera notamment connu sous les noms de :
- circuit Eccles-Jordan ;
- multivibrateur bistable ;
- bascule bistable ;
- flip-flop.
Quelques décennies plus tard, ce principe devient essentiel dans les ordinateurs électroniques.
Comment fonctionne la bascule Eccles-Jordan ?
Le circuit historique utilise deux tubes à vide, notés ici T1 et T2.
Les deux tubes sont reliés de manière à ce que l’état de l’un influence l’autre.

Dans un premier état :
- T1 conduit ;
- T2 est bloqué.
Lorsque T1 conduit, le courant traverse sa résistance d’anode et la tension présente sur sa sortie devient relativement faible. On peut donc représenter cette sortie par :
Q = 0.
Comme T2 est bloqué, presque aucun courant ne le traverse. La tension présente sur son anode reste élevée, ce qui correspond à :
Q̅ = 1.
Le circuit peut aussi prendre l’état exactement inverse :
- T1 bloqué → Q = 1 ;
- T2 conducteur → Q̅ = 0.
Les connexions entre les deux tubes entretiennent automatiquement l’état atteint. C’est ce principe de rétroaction qui permet au circuit de se « souvenir » de son état.
La bascule possède donc deux états possibles :
État 1 : Q = 0 État 2 : Q = 1
Elle peut ainsi mémoriser un bit d’information.
Les notations Q, Q̅, 0 et 1 sont des notations modernes utilisées ici pour faciliter la compréhension. Elles n’apparaissent pas sous cette forme dans le brevet original de 1918.
Une mémoire qui doit rester alimentée
La bascule conserve son état uniquement tant que son circuit reste sous tension.
Si l’alimentation est coupée, les tubes cessent de fonctionner et l’information disparaît.
On parle donc de mémoire volatile.
C’est une différence importante avec la mémoire à tores de ferrite apparue plus tard.
Dans une mémoire à tores, l’information est représentée par l’orientation magnétique d’un petit anneau de ferrite. Cet état magnétique peut rester conservé même lorsque l’ordinateur est éteint.
Pourquoi parle-t-on de « bistable » ?
Le mot est assez simple à comprendre :
- bi signifie deux ;
- stable signifie que le circuit peut rester dans cet état.
Une bascule possède donc deux états stables.
Ces deux états conviennent parfaitement à l’informatique binaire :
état A → 0 état B → 1
Un signal extérieur permet de faire passer la bascule d’un état à l’autre.
Des tubes aux transistors
Les premières bascules électroniques utilisent des tubes à vide.
Avec l’apparition du transistor, le même principe peut être réalisé avec des composants beaucoup plus petits, consommant moins d’énergie et produisant moins de chaleur.
Puis les transistors sont regroupés dans des circuits intégrés.
La technologie change donc :
tubes à vide
↓
transistors
↓
circuits intégrés
mais le principe reste le même : conserver l’un de deux états possibles.
La bascule SR : choisir entre 0 et 1
L’une des formes les plus simples est la bascule SR.
Elle possède deux commandes :
- S pour Set : placer la bascule à 1 ;
- R pour Reset : placer la bascule à 0.
On peut résumer son principe ainsi :
SET → mémoriser 1 RESET → mémoriser 0 aucune commande → conserver la valeur actuelle
Cette dernière propriété est essentielle : tant qu’on ne lui demande pas de changer, la bascule conserve son état.
La bascule D : mémoriser une donnée à un instant précis
Dans un ordinateur, on souhaite souvent pouvoir donner cet ordre :
« mémorise maintenant cette valeur ».
C’est notamment le rôle de la bascule D. Elle possède principalement :
- D : la donnée à mémoriser ;
- CLK : le signal d’horloge ;
- Q : la valeur mémorisée.
Par exemple, si :
D = 1
la bascule mémorise cette valeur lorsque le signal d’horloge lui en donne l’ordre.
On obtient alors :
Q = 1
La valeur reste ensuite conservée jusqu’au prochain changement.
À quoi sert l’horloge ?
Un processeur contient un très grand nombre de circuits qui doivent travailler ensemble.
Pour les coordonner, on utilise un signal périodique appelé horloge.
Il ressemble schématiquement à ceci :
┌───┐ ┌───┐ ┌───┐
────┘ └───┘ └───┘ └──
↑ ↑ ↑
Une bascule D peut mémoriser sa donnée au moment d’une transition de l’horloge. Cela permet à différentes parties du processeur de changer d’état à des moments bien déterminés.
Plusieurs bascules forment un registre
Une bascule mémorise un seul bit.
Avec plusieurs bascules, on peut mémoriser plusieurs bits :
1 bascule → 1 bit 8 bascules → 8 bits
Huit bascules peuvent par exemple conserver :
1 0 1 1 0 0 1 0
Un ensemble de bascules utilisé de cette manière constitue un registre.
Les registres sont très importants dans un processeur. Ils permettent de conserver temporairement :
- une valeur utilisée dans un calcul ;
- le résultat d’une opération ;
- une adresse mémoire ;
- une instruction ;
- certains états du processeur.
Ils constituent une petite mémoire extrêmement rapide située au cœur du processeur.
Construire des compteurs
Les bascules peuvent également servir à compter.
Certaines peuvent être configurées pour changer d’état à chaque impulsion :
0 → 1 → 0 → 1 → 0...
En associant plusieurs bascules, on obtient un compteur binaire.
Avec trois bits :
000 = 0 001 = 1 010 = 2 011 = 3 100 = 4 101 = 5 110 = 6 111 = 7
Chaque nouvelle impulsion fait passer le compteur à la valeur suivante.
Ces compteurs peuvent servir à compter des événements, mesurer des durées ou organiser différentes étapes d’un circuit.
Diviser une fréquence
Une bascule qui change d’état à chaque impulsion possède également une propriété utile.
Elle doit recevoir deux impulsions pour effectuer un cycle complet :
0 → 1 → 0
Sa fréquence de sortie est donc divisée par deux.
En associant plusieurs étages :
f ↓ f/2 ↓ f/4 ↓ f/8
on peut produire différentes fréquences à partir d’une même horloge.
Ce principe est utilisé dans les compteurs et différents circuits de temporisation.
Le registre à décalage : faire circuler les bits
Les bascules peuvent aussi être reliées les unes à la suite des autres.
À chaque impulsion d’horloge, une information passe d’une bascule à la suivante :
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
On obtient un registre à décalage.
Il permet notamment :
- de déplacer des données bit par bit ;
- de transformer des données série en données parallèles ;
- de transformer des données parallèles en données série.
Ce type de circuit est encore très utilisé en électronique numérique.
Mémoriser l’état d’une machine
Une bascule ne sert pas uniquement à conserver des nombres.
Elle peut aussi permettre à un circuit de savoir dans quelle étape il se trouve.
Imaginons un système devant effectuer :
1. attendre une donnée 2. recevoir la donnée 3. effectuer un calcul 4. envoyer le résultat 5. recommencer
Le circuit doit pouvoir conserver l’information indiquant quelle étape est actuellement en cours.
Des bascules permettent de mémoriser ces états.
On peut alors construire une machine à états, principe très utilisé dans les processeurs, les contrôleurs et les systèmes numériques.
Calculer et mémoriser
On peut résumer très simplement une grande partie du fonctionnement d’un ordinateur :
les portes logiques calculent, les bascules mémorisent.
Un processeur enchaîne constamment ces deux opérations :
registre ↓ calcul ↓ registre ↓ calcul ↓ registre
Un circuit logique effectue une opération, puis son résultat est enregistré dans un registre constitué de bascules.
Ce résultat peut ensuite être utilisé pour l’opération suivante.
Existe-t-il plusieurs types de bascules ?
Oui. Les principales sont :
- SR : permet de placer la sortie à 0 ou à 1 ;
- D : mémorise une donnée au moment déterminé par l’horloge ;
- JK : variante plus élaborée de la bascule SR ;
- T : particulièrement adaptée au changement d’état et aux compteurs.
Dans les circuits numériques modernes, la bascule D est particulièrement importante car elle permet simplement de mémoriser une donnée à un instant précis.
Bascule, latch et flip-flop
Le vocabulaire peut parfois être source de confusion.
Le terme bascule bistable désigne de manière générale un circuit capable de conserver l’un de deux états.
Dans l’électronique moderne, on distingue souvent :
- le latch, qui réagit pendant qu’un signal de commande est actif ;
- le flip-flop, qui mémorise généralement une valeur à un instant précis déterminé par l’horloge.
Dans les textes historiques, le mot flip-flop est cependant souvent utilisé de manière plus générale pour parler des circuits bistables.
Une bascule n’est pas la mémoire principale
Même si une bascule peut conserver un bit, toute la mémoire d’un ordinateur n’est pas construite de cette manière.
Les bascules sont très rapides mais nécessitent plusieurs composants pour mémoriser chaque bit. Elles sont donc surtout utilisées pour de petites quantités d’informations, notamment dans les registres et les circuits internes du processeur.
Pour la mémoire principale, les ordinateurs utilisent d’autres technologies.
Historiquement, on trouve notamment :
- les lignes à retard ;
- les tubes de Williams ;
- les tambours magnétiques ;
- les mémoires à tores de ferrite.
Aujourd’hui, les ordinateurs utilisent principalement des mémoires à semi-conducteurs : SRAM pour les caches, DRAM pour la mémoire vive et mémoire Flash pour le stockage non volatile comme les SSD.
Pourquoi la bascule est-elle importante ?
Avant la bascule, un circuit électronique peut essentiellement répondre à une question : « quelles sont mes entrées maintenant ? »
Avec une bascule, il peut également prendre en compte : « dans quel état étais-je auparavant ? »
Cette capacité à conserver un état permet de construire des :
- registres ;
- compteurs ;
- registres à décalage ;
- diviseurs de fréquence ;
- machines à états.
La bascule permet ainsi à un ordinateur non seulement de calculer, mais aussi de conserver temporairement des informations et d’enchaîner des opérations dans le temps.
C’est l’un des principes fondamentaux de l’électronique numérique.
Repères chronologiques
- 1918 : William Eccles et Frank Jordan déposent le brevet décrivant leur circuit bistable à tubes.
- 1920 : publication du brevet.
- Années 1940 : les bascules à tubes sont utilisées dans les premiers ordinateurs électroniques.
- Années 1950 : les transistors permettent de fabriquer des bascules beaucoup plus petites.
- Années 1960 : bascules, registres et compteurs sont progressivement intégrés dans des circuits intégrés.
- Aujourd’hui : les bascules restent indispensables dans les processeurs et de nombreux circuits numériques.
