Les registres (parallèle et à décalage) - Logique séquentielle

Dans cette leçon vidéo, l’instructeur explique les registres numériques, leurs fonctions et leurs différentes configurations. Il commence par rappeler que les bascules (RS, D, JK, T) servent de mémoire d’un bit et que, pour stocker plusieurs bits simultanément, on combine plusieurs bascules D en un registre. Il décrit le registre parallèle : un ensemble de bascules D synchronisées par le même front d’horloge, qui copie simultanément un mot binaire de N bits des entrées vers les sorties, et il illustre ses usages dans les processeurs (registres de travail), les interfaces d’E/S et les tampons de synchronisation. Ensuite, il introduit le registre à décalage (shift register), où les bascules sont en chaîne, chaque sortie alimentant l’entrée de la suivante, de façon à faire avancer un bit à chaque front d’horloge. Il détaille le chronogramme d’un registre à 4 bascules, en insistant sur le délai de propagation qui rend visible le décalage temporel des signaux. Il montre comment ce mécanisme réalise la conversion série‑parallèle : un flux de bits transmis un à un est capturé, décalé à travers les bascules et ressort en parallèle sous forme d’un mot complet (exemple 1101). Enfin, il mentionne d’autres applications possibles, comme l’intégration avec des compteurs ou des diviseurs de fréquence, soulignant le rôle central des registres dans la conception de systèmes numériques. La vidéo se conclut par un remerciement et une invitation à la prochaine leçon.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon sur la logique séquentielle. Aujourd'hui, nous allons traiter les registres. Nous avons vu qu'à la base, une bascule a pour rôle de mémoriser un bit d'information. Les bascules que nous avons traitées comme RS, D, JK ou T disposent toutes de la fonction mémoire qui, selon leur combinaison d'entrées et l'état d'horloge pour les versions synchrones, retiennent la valeur qu'ils avaient en sortie. C'est d'ailleurs l'essence même de la logique séquentielle basée sur la rétroaction. Or, si on veut mémoriser plusieurs bits simultanément, une seule bascule ne suffit pas. C'est précisément pour répondre à ce besoin que les registres ont été conçus. Il s'agit tout simplement de circuits capables de stocker et mémoriser un mot binaire complet. Un registre est un petit circuit numérique conçu pour mémoriser plusieurs bits en même temps. Concrètement, il s'agit d'un ensemble de bascules, le plus souvent des bascules D, placées côte à côte, chacune stocke un bit. En regroupant ces bascules, le registre peut retenir un mot binaire complet constitué de plusieurs bits, par exemple 4 ou 8 bits, voire même beaucoup plus. Le rôle d'un registre est simple mais essentiel. En effet, il permet de stocker temporairement des données dans un système numérique, de les déplacer, comme dans un registre à décalage, ou de les convertir entre formats série et parallèle. Les registres sont donc les premières briques qui permettent de manipuler des informations plus larges que de simples bits. Ouvrant ainsi la voie aux mémoires et au processeur. Lorsqu'il s'agit de construire des registres, on privilégie généralement les bascules D. Leur fonctionnement est direct: à chaque impulsion d'horloge, l'entrée est simplement copiée en sortie, ce qui rend leur utilisation claire et efficace. Bien sûr, on pourrait aussi employer les bascules RS et JK, puisqu'elles disposent elles aussi d'une fonction mémoire et peuvent copier une entrée vers la sortie. Donc pour cette leçon, nous allons opter pour la bascule D afin de garder une approche simple et lisible dans la conception des registres. Rappelons d'abord le fonctionnement de la bascule D flip-flop que nous allons utiliser ici dans sa version active sur front montant. À chaque fois qu'un front montant de l'horloge est détecté, la valeur présente à l'entrée D est copiée vers la sortie Q. En revanche, lorsque l'horloge est au niveau haut ou au niveau bas ou encore au moment du front descendant, La sortie Q conserve simplement la dernière valeur mémorisée. Prenons cette configuration où l'on aligne 4 bascules D qui partagent le même signal d'horloge. Cela signifie qu'elles fonctionnent toutes de manière synchronisée. En d'autres termes, au moment précis du front montant de l'horloge, chacune copie son entrée vers sa sortie. Ainsi, les 4 bits sont transférés simultanément, et le registre mémorise en une seule opération l'ensemble des données présentes sur ses entrées. Ce qu'on vient de réaliser correspond à un registre parallèle. C'est un circuit séquentiel très répandu dans les systèmes électroniques et informatiques. Son rôle est simple: il copie un mot binaire de N bits depuis ses entrées vers ses sorties, et cela se fait simultanément au moment défini par le signal d'horloge. Cela signifie que si l'on souhaite créer un registre parallèle capable de copier 16 bits, il faudra utiliser 16 bascules, chacune mémorisant un bit. De manière générale, le nombre de bascules correspond directement au nombre de bits que le registre peut stocker. Les applications des registres parallèles sont nombreuses et jouent un rôle essentiel dans les systèmes numériques. À titre d'exemple, dans les microprocesseurs, les registres parallèles servent de mémoire ultra-rapide directement accessible par l'unité arithmétique et logique ou ALU. Ils permettent de stocker temporairement des données ou des instructions, ce qu'on appelle souvent des registres de travail. Dans les interfaces d'entrée-sortie: les périphériques comme le clavier, l'écran, les capteurs ou encore les bus de données échangent des informations sous forme de mots binaires complets: 8, 16, 32 ou 64 bits. Les registres parallèles assurent un transfert rapide et synchronisé de ces données. Dans les mémoires tampons ou buffers: ils permettent de synchroniser les flux de données entre 2 sous-systèmes numériques qui ne fonctionnent pas à la même vitesse ou ne partagent pas la même horloge. Par exemple, un processeur très rapide peut communiquer avec un composant réseau plus lent grâce à un registre tampon qui régule le flux. Maintenant, au lieu de connecter directement plusieurs bits aux entrées de différentes bascules, imaginons cette fois qu'un seul bit est appliqué à l'entrée de la première bascule. La sortie de chacune d'entre elles est alors reliée à l'entrée de la suivante, formant une chaîne. Toutes les bascules partagent le même signal d'horloge, ce qui signifie qu'à chaque impulsion, le bit se déplace d'une bascule vers la suivante. Ce type de configuration est appelé registre à décalage ou shift register. Sans doute le plus connu des registres, il permet de faire circuler les données pas à pas, un bit à la fois d'une bascule à la suivante. Pour mieux comprendre son mécanisme, représentons-le à l'aide d'un chronogramme. On y trace le signal d'horloge CLK, le signal d'entrée I, ainsi que les sorties successives des 4 bascules placées en série. Avant de poursuivre, rappelons que les portes logiques et les circuits plus complexes ne réagissent jamais instantanément aux changements de leurs entrées. Ils présentent toujours un léger retard appelé délai de propagation. Jusqu'ici, nous avons volontairement ignoré ce phénomène en considérant nos circuits comme parfaits, capables de réagir immédiatement. Cependant, pour mieux suivre l'évolution du signal dans un registre à décalage, il est utile d'introduire cette notion de retard. Concrètement, il s'agit d'un petit décalage temporel qui apparaît au moment des transitions des différents signaux et qui permet de visualiser clairement comment les bits se déplacent d'une bascule à une autre au rythme de l'horloge. Pour tracer le signal de la sortie Q1 de la première bascule, on observe son entrée D qui correspond au signal I ainsi que l'horloge CLK. Avant le premier front montant, la bascule reste en mode mémoire. Comme l'état initial de la sortie est inconnu, On suppose qu'il vaut 0. Au premier front montant, l'entrée est à 1, la sortie copie cette valeur et passe à 1, avec un léger décalage dû au délai de propagation du circuit. Au deuxième front montant, l'entrée reste à 1, donc la sortie demeure à 1. Ici, le retard n'est pas perceptible puisqu'il n'y a pas de transition. Au troisième front montant, l'entrée est à 0, la sortie bascule à 0, toujours avec le petit retard. Au 4e front montant, l'entrée repasse à 1, la sortie suit et devient 1. Au 5e front montant, l'entrée est à 0, la sortie revient à 0. Pour les fronts montants suivants, comme l'entrée reste à 0, la sortie se maintient à 0. Pour tracer le signal de la sortie Q2 de la 2e bascule, on observe son entrée D qui correspond cette fois à la sortie Q1. Ainsi que le signal d'horloge CLK. Avant le premier front montant, la bascule est en mode mémoire. Comme pour la première bascule, on suppose que son état initial est 0. Au premier front montant, Q1 vaut 0, donc la sortie reste à 0. On remarque ici l'importance du délai de propagation qui rend bien visible le niveau bas de Q1 au moment du front montant. Au deuxième front montant, Q1 vaut 1. La bascule suit et met sa sortie à 1 avec le retard habituel. Au 3e front montant, Q1 est toujours à 1, donc la sortie demeure à 1. Au 4e front montant, Q1 passe à 0. La sortie repasse à 0 toujours avec le même retard. Au 5e front montant, Q1 vaut 1. La sortie reprend la valeur 1. Au 6e front montant, Q1 vaut 0. La sortie revient à 0 et reste dans cet état jusqu'à la fin. Pour tracer les sorties Q3 et Q4, on procède exactement de la même manière que précédemment. On considère à chaque fois que l'entrée de la bascule correspond à la sortie de la bascule précédente et que toutes sont synchronisées par le même signal d'horloge CLK. Ainsi, la sortie Q3 reproduit fidèlement le comportement de Q2 mais avec un décalage supplémentaire lié au front d'horloge et au délai de propagation. De même, la sortie Q4 suit la sortie Q3 toujours avec ce décalage. On obtient ainsi une chaîne où chaque bascule copie l'état de la bascule précédente au rythme de l'horloge. On observe donc que le même signal se décale progressivement, bascule après bascule, à chaque front montant. Ce phénomène illustre parfaitement le principe du registre à décalage. Les bits avancent pas à pas en suivant la cadence de l'horloge et en se propageant successivement d'une sortie vers l'entrée suivante. L'une des applications les plus répandues du registre à décalage est la conversion série-parallèle. Le principe consiste à capter un flux de bits transmis séquentiellement, c'est-à-dire un par un, comme sur une ligne de communication ou une liaison sans fil, puis à les organiser de manière à former un mot binaire complet. Autrement dit, le registre à décalage aligne progressivement ces bits reçus en série pour les présenter simultanément en parallèle, prêts à être exploités par un système numérique. Je reprends l'exemple de la conversion série-parallèle que nous avons déjà abordé dans la leçon consacrée aux multiplexeurs et aux démultiplexeurs en logique combinatoire. Cette fois, au lieu d'utiliser un démultiplexeur, nous allons recourir à un registre à décalage. Ce choix est généralement plus pratique car le registre assure directement le stockage et l'alignement des bits reçus en série, puis leur restitution parallèle sans nécessité de circuits supplémentaires. Là encore, je vais considérer le registre à décalage à 4 bascules comme un seul et unique bloc fonctionnel, sans en détailler la structure interne. On considère que le mot binaire à transmettre est 1, Pour l'envoyer en série, on utilise un multiplexeur à 4 entrées commandé par 2 lignes de sélection. Je ne vais pas détailler ici le fonctionnement du multiplexeur, mais vous pouvez vous référer au cours de ce circuit en logique combinatoire. On suppose également que l'émetteur et le récepteur sont synchronisés, afin d'assurer un alignement parfait des données échangées. Au départ, le premier bit 1 est aiguillé vers la sortie du multiplexeur. Il apparaît donc sur la ligne de transmission et à l'entrée du registre à décalage. Au premier front montant de l'horloge, ce bit est transféré dans la première bascule et devient la sortie Q1. Lorsque le deuxième bit 1 est envoyé, au front montant suivant, il est placé dans la première bascule, tandis que le bit précédent est décalé vers la sortie Q2. Le troisième bit 0 est transmis au front d'horloge suivant. Il occupe la première bascule. Et les 2 bits précédents sont décalés vers Q2 et Q3. Enfin, le 4e bit 1 est envoyé, offrant mon temps correspondant, et il est placé dans la première bascule, et les 3 bits précédents sont décalés vers les sorties suivantes, à savoir Q2, Q3 et Q4. À la fin de la séquence, le registre à décalage contient le mot binaire complet 1101, reconstitué par le récepteur, même si la ligne de communication ne permettait l'envoi que d'un seul bit à la fois. Il faut noter que le mot est reconstitué dans l'ordre inverse. Le premier bit reçu se retrouve en dernière position, mais il est facile de le réorganiser pour retrouver la séquence originale. En réalité, les registres possèdent bien d'autres applications que celles que nous avons vues. Nous aurons l'occasion de les retrouver combinés à d'autres circuits séquentiels tels que les compteurs ou les diviseurs de fréquence, où ils jouent un rôle central dans la conception et le fonctionnement des systèmes numériques. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm

Algorithme d'Euclide pour calculer le PGCD #algorithm #euclid #programming #coding #algorithms








