La bascule bistable

La bascule bistable (flip-flop)

Comment un ordinateur peut-il conserver une information alors que ses circuits ne manipulent que des signaux électriques ?

L’un des éléments fondamentaux qui rendent cela possible est la bascule bistable, également appelée flip-flop. Ce petit circuit électronique peut conserver l’un de deux états, que l’on peut représenter par 0 ou 1.Une bascule mémorise donc un bit. En associant plusieurs bascules, on peut construire des registres, des compteurs et différents circuits utilisés à l’intérieur des processeurs.Le principe remonte à 1918, bien avant l’apparition des premiers ordinateurs électroniques.


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.

Schéma simplifié de la bascule Eccles-Jordan de 1918

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 :

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.

Publications similaires

  • Le circuit intégré

    Un circuit intégré, souvent appelé puce électronique, regroupe plusieurs composants électroniques et leurs connexions sur un même support semi-conducteur, aujourd’hui généralement en silicium. Son invention se construit en plusieurs étapes. En 1958, Jack Kilby démontre chez Texas Instruments qu’un circuit complet peut être réalisé sur un même morceau de semi-conducteur. En 1959, Robert Noyce, en…

  • Le transistor

    Le transistor est l’un des composants fondamentaux de l’histoire de l’informatique. À partir des années 1950, il remplace progressivement les tubes à vide et permet de construire des ordinateurs plus petits, moins énergivores et plus fiables. Mais son importance va beaucoup plus loin. Le transistor rend ensuite possibles le circuit intégré, les mémoires à semi-conducteurs…

  • Tubes à vide

    Avant le transistor, les premiers ordinateurs électroniques utilisent massivement des tubes à vide, également appelés lampes électroniques. Dans les années 1940 et 1950, ces composants permettent de remplacer les relais électromécaniques par des circuits électroniques beaucoup plus rapides. Leur capacité à contrôler un courant électrique rend possible la construction des premiers grands calculateurs électroniques. Comment…