Vous êtes sur la page 1sur 77

Architecture des ordinateurs

I/F: cours 5-6 (2011-2012)

AO 2011/2012 1
Partie I: Concepts de base
..suite

IV. Logique séquentielle (suite)

AO 2011/2012 2
IV. Logique séquentielle (suite)

Rappel!!!
Dans les chapitres précédent portant sur la logique combinatoire nous avons fait abstraction du temps : les signaux
de sortie ne dépendaient que des états des variables d'entrée.
Pour les circuits de logique séquentielle nous devons tenir compte de l'état du système. Ainsi les sorties dépendent
des entrées mais également de l'état du système. Celui-ci dépend aussi des entrées.
Si nous notons Q l'état d'un système séquentiel, X ses entrées et Y ses sorties, nous avons de manière générale :

La logique séquentielle permet de réaliser des circuits dont le comportement est variable avec le temps. L'état d'un
système constitue une mémoire du passé.
Lorsque les changements d'état des divers composants d'un circuit séquentiel se produisent à des instants qui
dépendent des temps de réponse des autres composants et des temps de propagation des signaux on parle de
logique séquentielle asynchrone. Cependant les retards peuvent ne pas être identiques pour toutes les variables
binaires et conduire à certains aléas. Ceux-ci peuvent être évités en synchronisant la séquence des diverses
opérations logiques sur les signaux périodiques provenant d'une horloge. La logique séquentielle est alors dite
synchrone : tous les changements d'état sont synchronisés sur un signal de contrôle.
Nous avons commencés notre étude par celle des bascules, éléments de base des circuits séquentiels. Puis nous
étudierons les registres et les compteurs.
AO 2011/2012 3
Logique séquentielle (suite)

Alors……
Les circuits logiques combinatoires implémentent les
fonctions essentielles d’un ordinateur numérique. Ces circuits
se caractérisent par le fait que l’état de leurs sorties dépend
seulement de l’état des entrées et pas du tout de temps.. Par
conséquence, sauf les mémoires ROM, ces circuits ne
donnent pas des informations de mémoire ou d’état,
informations qui sont en fait des éléments essentiels pour le
fonctionnement d’un ordinateur numérique.
Conclusion:
Dans ce but on utilise les circuits séquentiels. Un circuit
séquentiel a de la mémoire, c’est-à-dire, les sorties du circuit
dépend des entrées courantes ainsi que des entrées
précédentes. .
On peut alors dire que les sorties courantes du circuit dépend
des entrées courantes et de l’état du circuit.
La forme générale d’un circuit séquentiel est donnée dans la
figure. AO 2011/2012 4
IV. Logique séquentielle (suite)

Un circuit séquentiel se compose d’un circuit combinatoire (voir la figure), une


partie de ses sorties étant connectées par l’intermédiaire d’un circuit de mémoire
(éléments de retard) ∆1, …, ∆p.
Les signaux appliqués sur les n entrées forment l’ensemble X = {x1, x2, …, xn}des
variables d’entrées, nommées aussi variables d’entrées principales.
L’ensemble composé par les 2n entrées distinctes se nomme alphabet d’entrée I, ou
I ={i1, i2,… i2n}
Par exemple, si on a deux variable d’entrée, l’alphabet d’entrée est I = {00, 01, 10,
11}. Une combinaison d’entrée s’appelle le symbole de l’alphabet.
Les signaux de sorties forment l’ensemble Z = {z1, z2, …, zm} des variables de
sorties, nommée aussi variables de sorties principales.
L’ensemble est composée de a 2m sorties distinctes et s’appelle l’alphabet de sortie
O, O={O1, O2, ….O2m}.

Les sorties secondaires, y1, y2,…..yp, , sont connectées à l’entrée par des liaisons inverse et les éléments de retard ∆1, …,
∆p, en formant les entrées secondaires y1, y2, …, yp du circuit séquentiel.
Les valeurs des entrées secondaire (y1, y2, …, yp) à un instant donné définissent l’état interne présente du circuit.
L’ensemble d’état présente est Q={Q1, Q2, ….Q2p}.
Les valeurs de sorties secondaires, yi, définissent l’état interne suivante du circuit.
L’ensemble d’état suivante est Q’={Q’1, Q’2, ….Q’2p}.
AO 2011/2012 5
IV. Logique séquentielle (suite)

En considérant des éléments de mémoire locale idéale dont l’entrée présente constitue la sortie à
l’instant de temps suivant et, en supposant, pour simplifier, ∆1= ∆2 = … = ∆p = ∆, l’état suivant
devient l’état présente après l’intervalle de temps ∆:

L’intervalle de temps ∆ est déterminé des retards produites par les éléments de retard
spécialement introduites sur les liaisons inverses ou par les retards de propagation des signaux d’
entrées vers les sorties. Les circuits séquentiels de cette forme, ou l’état suivant devient état
présente seulement après un intervalle de temps ∆, déterminé par les retards internes du circuit
logique combinatoire, s’appelle circuits séquentiels asynchrones.
Pour décrire le comportement d’un circuit séquentiel, il faut indiquer la correspondance entre
l’état présente pour un mot d’entrée donné et l’état suivant.

AO 2011/2012 6
IV. Logique séquentielle (suite)

On suppose que le circuit a un comportement déterministe, c’est à dire, que pour un mot d’entrée
x1, x2, …, xn et un état présente y1, y2, …, yp il existe une seule transition possible dans un état y’1,
y’2, …, y’p d’où il résulte les équations de l’état suivant (la transition des états):

Pour la description complète du circuit il faut exprimer les sorties de celui-ci comme étant des
fonctions des ses entrées et de l’état présente par les équations des sorties (la transition des
sorties).

AO 2011/2012 7
IV. Logique séquentielle (suite)

Parce que l’alphabet d’entrée et l’alphabet de sortie sont des ensembles finis, composés de
maximum 2n, respectivement 2m symboles, ainsi que le nombre d’états internes est fini, le circuit
s’appelle un circuit à états finis ou machine d’état. Les circuits séquentiels décrits par les
équations de la forme présentée dans le transparent précèdent, s’appelle circuits séquentiels de
type Mealy et leur modèle mathématique s’appelle automate finit de type Mealy.
Il existe des circuits séquentiels ou les sorties ne dépend pas des entrées principales, c’est-à-dire,
ils dépendent seulement des entrées secondaires (c.à.d. de l’état présente). Alors les équations
devient:

Les circuits séquentiels décrits par les équations des sorties de la forme z=g (y1, y2,….yn) et des
équations de l’état suivante s’appelle circuits séquentiels de type Moore et leur modèle
mathématique s’appelle automate finit de type Moore.
AO 2011/2012 8
IV. Logique séquentielle
IV.1 Logique séquentielle asynchrone et synchrone

Dans le cas des circuits combinatoires réels, les sorties ne se modifient pas simultanément avec les
entrées, ça se passe avec un retard qui s’appelle temps de propagation (tp). Le vecteur de sortie sera
correct seulement après ce temps de propagation. Pendant l’intervalle de temps (0 .. tp) on peut
avoir plusieurs vecteurs de sorties, différents du vecteur correct. Ce phénomène s’appelle hasard
combinatoire et il peut être éliminé en ajoutant une mémoire à la sortie du circuit combinatoire qui
prend les données seulement au moment déterminés de temps plus grand que tp: t = kT (k = 1, 2, 3,
…). Ça peut se réaliser en commandant la mémoire par des impulses d’un générateur d’horloge
ayant la période T.
Les circuits combinatoires ou l’état suivant devient état présent seulement dans des moments
détermines par des impulses d’horloge s’appelle circuits séquentiels synchrones.

AO 2011/2012 9
IV. Logique séquentielle (suite)
Circuit séquentiel synchrone

AO 2011/2012 10
IV. Logique séquentielle (suite)
Circuit séquentiel

On peut décrire un circuit séquentiel par des table de transitions (table d’état ou table de vérité) ,
par de graphes de transitions ou diagramme d’états, par des organigramme ou par des diagramme
de temps. Par exemple, pour un circuit séquentiel ayant 4 états, une variable d’entrée principale et
une sortie on obtient:.

(Automate Mealy). Automate Moore

AO 2011/2012 11
IV. Logique séquentielle (suite)
Circuit séquentiel
Représentation d’une transition dans une
diagramme d’état

Diagramme de transitions

AO 2011/2012 12
IV. Logique séquentielle (suite)
Circuit séquentiel

Organigramme
(Logigramme)

AO 2011/2012 13
IV. Logique séquentielle (suite)
Circuit séquentiel
Concevoir un circuit séquentiel
Il faut, tout d’abord, construire le schéma logique qui détermine le comportement souhaité de celui-ci. Le étapes
principales sont:
1. En suivant la description du circuit on construit une diagramme d’état ou un table d’état. Dans cette étape, les
états sont noté par des lettres ou des chiffres décimales.
2. On élimine les éventuels états redondants de cette diagramme ou du table d’état. Il faut donc déterminer les
états équivalents et leur remplacement par un seul état. Deux états sont équivalents s’ils ont les mêmes symboles
d’entrée ou si leur correspond les mêmes symboles de sortie ou s’ils ont pour les mêmes symboles d’entrée le
même état suivant. ..
3. On détermine le nombre des bascules nécessaires en fonction du nombre d’états. Si s est le nombre d’états, ne
nombre des bascules nécessaire sera : n = [log2 s]. Après on codifie les états en assignant un nombre unique à
chaque état.
4. On va choisir un type de bascule pour implémentation et, sur la base de la table de vérité de celui-ci on va
construire la table pour déterminer les fonctions d’entrée des bascules et les sorties du circuits séquentiel. Les
bascules implémenteront la fonction de l’état suivant dans les quand sur leurs entrées on applique les fonctions
d’entrée détermines.
5. On détermine les équations d’entrée des bascules et les équations de sorties du circuits. On réalise
l’optimisation des équations en utilisant les diagrammes de Karnaugh en fonction des entrées du circuit et de
l’état présente..
6. En s’appuyant sur les équations déterminés on trace le schéma logique du circuit séquentiel.
AO 2011/2012 14
IV. Logique séquentielle (suite)
Circuit séquentiel
Exemple:
Cahier de charge: On veut concevoir un circuit séquentiel pour réaliser le complément à deux pour une chaîne
des bits. Le circuit a une entrée série ou on va recevoir une chaîne des bits, le premier étant le moins signifiant
bit, et une sortie série, la sortie étant le complément par rapport à 2 de la chaîne d’entrée. L’implémentation se
fera avec des bascules JK.
1-ere étape: On réalise la logigramme (organigramme) d’état du circuit. Le complément à 2 peut se générer en
copiant les bits d’entrée, en commençant par le moins signifiant bit jusqu’au premier bit de 1 inclusivement et
en complémentant les suivants bits. Par exemple:
Entrée x 1 0 1 1 0 | 1 0 0
Sortie z 0 1 0 0 1 | 1 0 0
On remarque que, pour ce circuit séquentiel, on a besoin de deux états. Dans le premier état, noté avec A, les
bits de l’entrée sont copiés sans être modifies jusqu’à la rencontre du premier 1. A ce moment la, on passe
dans l’état deux, noté B, dans laquelle les bits d’entrée sont complémentés. Le diagramme d’état devient: ..

AO 2011/2012 15
IV. Logique séquentielle (suite)
Circuit séquentiel. Exemple (suite)

Dans ce cas, l’élimination d’états redondant n’est pas nécessaire, et alors, on passe à l’étape
suivant dans laquelle on détermine le nombre des bascules nécessaires et on codifie les états.
Parce qu’il existe deux états, il est nécessaire une seul bascule. La sortie de cette bascule
représente les deux états.
Deux états se codifie par un seul bit.
Par conséquence, on assigne la valeur 0 pour l’état A et la valeur 1 pour l’état B.
On passe alors à l’étape suivante pour déterminer les fonctions d’entrée des bascules et les
sorties du circuits en considérant toutes les combinaisons possibles des entrées et des états.
Suite au table de vérité de la bascule JK on peut construire la table suivante, dans laquelle on a
noté l’état présente par SP et par SU l’état suivant. .

AO 2011/2012 16
IV. Logique séquentielle (suite)
Circuit séquentiel. Exemple (suite)
On passe à l’étape suivante dans laquelle on détermine les équations pour les entrées de la bascule
et pour la sortie du circuit.
Voila les diagrammes Karnaugh:

On obtiens les suivantes équations:


Donner la logigramme !

AO 2011/2012 17
IV. Logique séquentielle (suite)
Circuit séquentiel. Exemple (suite)

Voila….

AO 2011/2012 18
IV. Logique séquentielle (suite)
IV.5. Registres.

Et maintenant, on passe vers les registres….


Les registres sont des circuits séquentiels destiné à la mémorisation temporaire ou au
déplacement de l’information binaire, h’habitude sur la longueur d’un mot.
Un registre est composé des éléments de mémoire binaire, en particulier des bascules
auxquelles on attache des circuits logiques qui permettent d’effectuer des opérations sur
l’information: chargement, décalage (déplacement), lecture, écriture.
Chaque bascule mémorise un bit du mot, alors la capacité du registre est égale avec le
nombre des bascules dont il est formé. Le type des bascules d’un registre détermine la
modalité dans laquelle l’information est inscrite dans le registre (par leur type de
commutation).
Il existe plusieurs types de registres: registre de mémorisation (de type parallèle), registre
à décalage (de type série), registre combiné (mémorisation et décalage, de type série -
parallèle), şi registre universelle.

AO 2011/2012 19
IV.5 Registre de mémorisation

Un registre permet la mémorisation de n bits. Il est donc constitué de n bascules, mémorisant chacune un bit.
L'information est emmagasinée sur un signal de commande et ensuite conservée et disponible en lecture. La figure
donne un exemple de registre 4 bits réalisé avec quatre bascules D.
En synchronisme avec le signal d'écriture W le registre mémorise les données présentent sur les entrées E0, E1, E2 et
E3. Elles sont conservées jusqu'au prochain signal de commande W. Dans cet exemple les états mémorisés peuvent
être lus sur les sorties Q0, Q1, Q2 et Q3 en coïncidence avec un signal de validation R.
Lorsque ces sorties sont connectées à un bus, les portes ET en coïncidence avec ce signal de lecture sont remplacées
par des portes à trois états.
Exemple de registre intégré:
• 7475: Registre de 4 bits, formé de 4 bascule D
de type latch;
• 74118: Registre formé de 6 bascules RS;
• 74279: Registre formé de 4 bascule RS.

AO 2011/2012 20
IV.5 Registre de mémorisation

Un registre permet la mémorisation de n bits. Il est donc constitué de n bascules, mémorisant chacune un bit. L'information est
emmagasinée sur un signal de commande et ensuite conservée et disponible en lecture. La figure donne un exemple de
registre 4 bits réalisé avec quatre bascules D.
A la transition de 0 en 1 du signal de clock, l’information qui se trouvent sur les entrées D0, D1, D2, D3 est lue dans le
registre et, après un temps de propagation, elle va apparaître aux sorties Q des bascules. Sur la durée du palier du signal de
clock, la dernière information présente sur les entrées des bascules est retenue dans le registre. A la transition de 1 en 0 du
signal de clock, la dernière information présente aux entrées des bascules est retenue dans le registre. Le signal de clock a
donc le rôle de valider l’information présente aux entrées des bascules. ...
Les données sont chargées dans le registre en parallèle, au même impulse de clock.
Si le registre est implémenté en utilisant des bascules D qui commutent sur le front montant du clock, on mémorise
l’information existante au moment de la transition de 0 en 1 de l’impulse de clock.
Si on utilise de bascule maître – esclave, M/S, le contenu des bascules peut être lu simultanément en augmentant la vitesse de
travail..
AO 2011/2012 21
IV.6 Registre à décalage

Un registre à décalage déplace son contenu avec une position, à droite ou é gauche, à chaque impulse d’horloge.. .
On peut implémenter un tel registre en utilisant des bascules de type maître - esclave ou des bascules qui commutent
sur le front montant de l’impulse d’horloge.

AO 2011/2012 22
IV.6 Registre à décalage

Dans un registre à décalage les bascules sont interconnectées de façon à ce que l'état logique de la bascule de rang i
puisse être transmis à la bascule de rang i+1 (ou i-1) quand un signal d'horloge est appliqué à l'ensemble des
bascules. L'information peut être chargée de deux manières dans ce type de registre.
¾Entrée parallèle : comme dans le cas d'un registre de mémorisation. En général une porte d'inhibition est
nécessaire pour éviter tout risque de décalage pendant le chargement parallèle.
¾ Entrée série : l'information est présentée séquentiellement bit après bit à l'entrée de la première bascule. A chaque
signal d'horloge un nouveau bit est introduit pendant que ceux déjà mémorisés sont décalés d'un niveau dans le
registre.
La figure suivante schématise le chargement d'un registre 4 bits en quatre coups d'horloge.

AO 2011/2012 23
IV.6 Registre à décalage

Registre à décalage à droite implémenté avec des bascule JK Master-Slave.


A chaque impulse d’horloge, sur le front posteriori de celui-ci, le contenu de la bascule
Qi (slave) se transfère dans la bascule maître Qi+1 (master). Dans la bascule Q0 on
introduit l’information externe, tant que l’information de la bascule Q3 se perde. On
peut écrire les équations suivantes:
De la même manière on peut réaliser un registre à
décalage à gauche si on connecte la sortie de la
bascule Qi+1 à l’entrée de la bascule Qi. Si on
ajoute des circuits supplémentaires on peut
réaliser des registres à décalage à gauche ou à
droite, en fonction d’un signal de commande.
AO 2011/2012 24
IV.6 Registre à décalage

De même l'information peut être lue en série ou en parallèle. D'autre part, certains registres peuvent être capables de
décaler à gauche et à droite.
Un registre à décalage universel serait donc constitué des entrées, des sorties et des commandes suivantes :

Note: Généralement on utilise des bascules du type maître esclave D ou R-S.

AO 2011/2012 25
IV.6.a Entrée série - Sortie
parallèle
La figure suivante donne un exemple de registre de 4 bits à entrée série et sortie parallèle réalisé avec des bascules
D.

Ce type de registre permet de transformer un codage temporel (succession des bits dans le temps) en un codage
spatial (information stockée en mémoire statique).
La sortie série peut également être utilisée. L'intérêt d'utilisation d'un registre à décalage en chargement et lecture
série réside dans la possibilité d'avoir des fréquences d'horloge différentes au chargement et à la lecture. Le
registre constitue alors un tampon.

AO 2011/2012 26
IV.6.b Entrée parallèle - sortie série

La figure suivante présente un exemple de registre à décalage à entrée parallèle ou série et sortie série. Si X = 1
l'entrée parallèle est inhibée et l'entrée série est validée.
Si X = 0 l'entrée série est bloquée par contre le chargement par l'entrée parallèle est autorisé.

Un registre à décalage à entrée parallèle et sortie série transforme un codage spatial en codage temporel.

AO 2011/2012 27
IV.6.c Entrée parallèle - Sortie
parallèle
La figure suivante présente un exemple de registre à
décalage avec entrées série et parallèle et sorties série et
parallèle réalisé avec des bascules de type D.
La commande permet de sélectionner le mode de
chargement et d'inhiber le signal d'horloge en cas de
chargement parallèle. Si X = 0 nous avons Pr = Cr = 1, ce
qui garantit le fonctionnement normal des bascules. Si X = 1
alors selon l'état de chacune des entrées nous avons :

AO 2011/2012 28
IV.6.d Registre à décalage à droite et à
gauche

La figure suivante présente un


exemple de registre à décalage
universel de 4 bits. Les diverses
possibilités sont sélectionnées par
les lignes commande S0 et S1.
Considérons la ligne transportant le
signal d'horloge aux bascules, elle
est gouvernée par l'expression
logique :

AO 2011/2012 29
IV.6.d Registre à décalage à droite et à
gauche

Un registre à décalage à droite et à gauche permet d’effectuer des multiplications et des


divisions entières par des puissance de 2.
En effet, une multiplication par 2 est équivalente à un décalage vers gauche et une division par 2
à un décalage à DROITE.
Une multiplication par 2n sera obtenue par n décalages à gauche et une division par 2n par n
décalages à droite.

AO 2011/2012 30
IV.6.d Registre à décalage à droite et à
gauche

Un exemple de registre série – parallèle de 4 bits: le circuit 7495


Qui permet le chargement parallèle des données et le déplacement (décalage) à
gauche par des connexions externes.. Le registre est composé des 4 bascules RS
de type M/S commandé sur le front posteriori. Il dispose des entrées parallèles
A, B, C, D, des sortie parallèles QA, QB, QC, QD, et de l’entrée série SI (Serial
Input). Le signal MC (Mode Control) réalise le contrôle du mode de travail.

Les bascules RS, connectés comme des bascules D, reçoivent les données à l’entrée de deux sources: de l’entrée série ou la
bascule précédente (pour déplacement série), respectivement des entrées parallèle (pour chargement parallèle). Les deux
source doivent être multiplexée à l’entrée de chaque bascule et, par conséquence à chaque bascule on a attaché une
structure combinatoire formée de deux portes ET et une porte NON OU, structure équivalente avec un multiplexeur 2:1.
Si MC = 0, on connecte l’entrée série ou la sortie de chaque bascule à l’entrée de la bascule suivante. Ceci permet le
décalage à droite en appliquant l’impulse de clock à l’entrée C1. L’information est introduite par l’entrée SI et on l’obtient
à la sortie QD. Si MC = 1, on inscrit les données dans le registre sur les entrées parallèle A, B, C, D, en appliquant
l’impulse de clock à l’entrée C2.
Le décalage à gauche peut s’obtenir par les suivantes connexions externes: C = QD, B = QC, A = QB. L’entrée série
s’applique en D et la sortie série s’obtient en QA. Le mode de travail est conforme avec le chargement parallèle: MC = 1,
avec l’impulse de clock appliqué à l’entrée C2. Ces connexions sont indiqués dans la figure.

AO 2011/2012 31
IV.6.e Mémoire de registre

Exemple: Mémoire de registres


Le schéma de la figure du transparent suivant correspond à une SRAM (static RAM) 4x3 bits. Un
bit = une bascule = 2 portes NOR= 4 transistors (2 par porte) → mémoire très rapide.
À l’opposé, la DRAM (Dynamic RAM) est simplement constituée d’un transistor couplé à un
condensateur (on va voir les cours suivants). Celui-ci se décharge progressivement et doit être
périodiquement rechargé rafraîchissement de la mémoire (d’où le vocable dynamic), ce mécanisme
de rafraîchissement est intégré au boîtier.
Ce temps de rafraîchissement, durant lequel aucun accès ne peut se faire, rend la DRAM moins
rapide que la SRAM.
Avantage : fabrication plus simple, moins coûteuse, intégration importante.
SRAM : registres du processeur, mémoire cache ;
DRAM : mémoire centrale.

AO 2011/2012 32
IV.6.e Mémoire de
registre: exemple
Schéma
logique d’une
mémoire 4x3
bits.

AO 2011/2012 33
IV.6.d Registres universels

Ces registres permettent des opérations de décalage à gauche et à droite, le chargement parallèle,
lecture sérielle ou parallèle des données.
Les mêmes opérations peuvent se réaliser avec le circuit 7495 du transparent précèdent, mais en lui
ajoutant des connexions externes pour le décalage à gauche.
Un exemple de registre de ce type est 74194.
Il est un registre bidirectionnel de 4 bits, prévu avec une entrée d’effacement
asynchrone CL. La commutation des bascule a lieu au front montant de
l’impulse de clock. Le circuit dispose des entrées parallèles A, B, C, D et des
sorties parallèles QA, QB, QC, QD. Il a aussi deux entrées série pour le
décalage à droite RI (Right Input), respectivement à gauche, LI (Left Input).
Le mode de travail est déterminé par les signaux S1, S0:
S1 S0 = 00: état non modifié
S1 S0 = 01: décalage à droite
S1 S0 = 10: décalage à gauche
S1 S0 = 11: chargement parallèle
Le circuit 74198 travail de la même manière, etant en registre universel de 8
bits.
AO 2011/2012 34
IV.7 Compteurs
Un compteur est un ensemble de n bascules interconnectées par des portes logiques. Ils peuvent donc
mémoriser des mots n bits.
Au rythme d’une horloge ils peuvent décrire une séquence déterminée, c’est-à-dire occuper une suite d’états
binaires. Le code de comptage est donné par la succession des mots de code associés aux états du compteur.
Ils ne peuvent y avoir au maximum que 2n combinaisons. Ces états restent stables et accessibles entre les
impulsions d’horloge. Le nombre N des combinaisons successives est appelé modulo du compteur.
On a N≤2n .Si N < 2n un certain nombre d’états ne sont jamais utilisés.
La classification des compteur peut se faire d’après plusieurs critères:
1) d’Après le code de comptage il existe des compteurs binaires et des compteurs binaire - décimale (par
exemple en code Gray, en code BCD etc);.
2) D’après le mode de commutation des bascules il existe des compteurs asynchrones et synchrones;
3) D’après le sens de comptage il existe des compteurs directes, inverses et réversibles.
Les compteurs binaires peuvent être classes en deux catégories:
-Les compteurs asynchrones;
-Les compteurs synchrones.
De plus on distingue les compteurs réversibles ou compteurs -decompteurs.
AO 2011/2012 35
IV.8 Compteurs asynchrones

Un compteur asynchrone est constitué de n bascules J-K


fonctionnant en mode T. Le signal d'horloge n'est reçu que par le
premier étage (bascule LSB : Least Significant Bit).
Pour chacune des autres bascules le signal d'horloge est fourni par
une sortie de la bascule de rang immédiatement inférieur.
Considérons par exemple (voir la figure) un compteur modulo 8
suivant le code binaire pur constitué de trois bascules J-K maîtres-
esclaves.
Supposons les trois bascules à zéro à l'instant t = 0. Nous avons vu
que pour une bascule maître-esclave la sortie change d'état juste
après le passage du signal d'horloge de l'état 1 à l'état 0 (front
descendant). L'évolution temporelle des trois sorties Q0, Q1 et Q2
par rapport aux impulsions d'horloge est représentée sur la figure
suivante.
La sortie Q0 bascule sur chaque front descendant du signal
d'horloge. La sortie Q1 change d'état à chaque transition 1 → 0 de la
sortie Q0. De même le basculement de la sortie Q2 est déclenché par
une transition 1 → 0 de la sortie Q1.

AO 2011/2012 36
IV.8 Compteurs asynchrones

Nous avons réalisé un compteur s’incrémentant d’une unité à chaque top d’horloge, avec un
cycle de huit valeurs de 0 à 7 (modulo 8).
On constate que les sorties Q0, Q1 et Q2 fournissent des signaux périodiques de fréquences
respectivement 2, 4 et 8 fois plus faible.
La division de fréquence est une des applications des compteurs.
AO 2011/2012 37
IV.8 Compteurs asynchrones

Pour les compteurs asynchrones, les bascules ne commutent pas simultanément


sous l’action d’un signal d’horloge commun, dans ce cas la sortie d’une bascule
déterminera la commutation d’une autre bascule. Considérons la réalisation d’un
compteur binaire de 4 bits. Pour ça on écrit la table contenant la succession des
nombre binaire de 4 bits qui constituent les sorties des 4 bascules. Chaque mot
de sortie correspond à un état du compteur.
Parce que l’état du compteur change à chaque impulse d’horloge, on constate
que la sortie de la bascule correspondante au bit d’ordre inférieur Q0 se modifie
à chaque impulse d’horloge. La bascule associe au bit Q1 commute au moment
de la transition de 1 en 0 de la sortie Q0. La bascule associe au bit commute au
moment quand Q1 passe de 1 en 0, tant que celui associé au bit Q3 commute au
moment du passage de Q2 de 1 en 0.
En utilisant la propriété de la bascule JK, ou les entrées J = K = 1 passent dans
l’état complémentaires à chaque impulse d’horloge, pour réaliser le compteur on
applique les impulses d’horloges à la bascule associé au bit de rang inférieur.
(Q0). A chaque transition de 1 en 0 de cette bascule on obtient un front negatif
qui s’utilise pour la commande de la bascule associé au bit suivant, Q1.
On obtiendra le circuit du transparent suivant.
AO 2011/2012 38
IV.8 Compteur binaire asynchrone de 4
bits qui compte dans le sens directe

AO 2011/2012 39
IV.8 Compteur binaire asynchrone de 4
bits qui compte dans le sens inverse

Comment le faire?
Un petit test….

AO 2011/2012 40
IV.8 Compteur binaire asynchrone de 4
bits qui compte dans le sens inverse

Le voila….

AO 2011/2012 41
IV.8 Compteurs asynchrones

L’inconvénient des compteurs asynchrones vient de leur temps de commutation élevé (dans
le cas le plus défavorable la somme des temps de commutation de toutes bascules).
A cause de ça, ces compteurs ne peuvent pas être utilisés aux hautes fréquences.
Par contre, l’avantage est donné par la simplicité du schéma logique, les bascules
s’interconnectent sans des circuits supplémentaires.

AO 2011/2012 42
IV.8.a Compteur-décompteur
asynchrone
Nous obtenons un compteur en déclenchant chaque bascule lorsque celle de rang immédiatement inférieur passe de
l'état 1 à 0.
Pour réaliser un décompteur il faut que le changement d'état d'une bascule intervienne lorsque la bascule de rang
immédiatement inférieur passe de l'état 0 à 1. Pour cela il suffit d'utiliser la sortie Q de chaque bascule pour
déclencher la suivante.
On réalise un compteur-décompteur en utilisant un multiplexeur 2 entrées - 1 sortie entre chaque étage pour
sélectionner la sortie à utiliser. Pour l'exemple présenté sur la figure suivante, selon l'état de la ligne de commande X
nous pouvons sélectionner le mode de comptage : X=1 → compteur; X=0 → décompteur

AO 2011/2012 43
IV.8.b Remise à Zéro et chargement
d'un compteur
La figure suivante présente un exemple de montage permettant de remettre à zéro un compteur ou de le charger avec
une valeur déterminée. Pour cela on utilise les entrées asynchrones des bascules. En fonctionnement normal du
compteur nous devons avoir : DS = R = 1. Nous avons alors : J = K = Pr = Cr = 1 sur chaque bascule du compteur.

AO 2011/2012 44
IV.8.c Compteur à cycle incomplet
On peut souhaiter compter jusqu’à un nombre N qui ne soit pas une puissance de 2, par exemple 10 (système
décimal). Pour cela on utilise un compteur de n bascules, tel que 2n > N. On lui ajoute un asservissement de
l’entrée Clear pour remettre le compteur à zéro tous les N coups.
Considérons par exemple un compteur modulo 10. Nous voulons que l’entrée Clear soit à zéro lorsque le
compteurs atteint 1010 = 10102 . Pour cela nous pouvons écrire l’expression logique:

En fait dans ce cas particulier nous pouvons simplifier cette relation logique en ne tenant compte de ce que
des sorties à 1 dans l'expression binaire de N.
En effet il ne peut y avoir ambiguïté : toute combinaison contenant les mêmes sorties à 1 et au moins une autre
à 1 correspond à un nombre plus grand que N et ne peut être rencontrée dans la séquence décrite par le
compteur.
Pour un compteur modulo 10 nous pouvons donc utiliser :

Ce qui nous conduit au schéma du transparent suivant:


AO 2011/2012 45
IV.8.c Compteur à cycle incomplet

AO 2011/2012 46
IV.8.d Inconvénients des
compteurs asynchrones
Comme chaque bascule a un temps de réponse le signal d'horloge ne
parvient pas simultanément sur toutes les bascules. Ceci a pour
conséquence de provoquer des états transitoires qui peuvent être
indésirables.
Supposons un temps de réponse tr identique pour toutes les bascules.
Considérons la chronologie du passage d'un compteur asynchrone 4
bits de 0111 à 1000.
Celle-ci est présentée sur la figure

Nous constatons que le compteur passe par les états transitoires 0110,
0100 et 0000 qui sont faux.
Ceci est un inconvénient rédhibitoire chaque fois que la sortie du
compteur est exploitée par des organes rapides.

AO 2011/2012 47
IV.8.d Exemples des compteurs
asynchrones

Schéma logique du compteur binaire asynchrone de 4 bits 7493.


Il est composé d’un compteur d’un bit (QA, avec l’entrée d’horloge A), donc un diviseur par 2, et
un compteur de 3 bits (QD, QC, QB, avec l’entrée d’horloge B), diviseur par 8. Il existe deux
entrées d’effacement (initialisation) R01 şi R02, qui amène le compteur à 0 quand R01 = R02 = 1.
Question: En utilisant 7493 comment on peut obtenir un compteur diviseur par 16?
AO 2011/2012 48
IV.8.d Exemples des compteurs
asynchrones
Question 1: En utilisant 7493 comment on peut obtenir un compteur diviseur par 16?

Réponse: En reliant la sortie QA à l’entrée B.

Question 2: En utilisant 7493 comment on peut obtenir un compteur diviseur par N?


Ou N n’est pas un multiple de puissance de 2……… Soit N=13

AO 2011/2012 49
IV.8.d Exemples des compteurs
asynchrones
Question 2: En utilisant 7493 comment on peut obtenir un compteur diviseur par N?
Ou N n’est pas un multiple de puissance de 2………Exemple N=13

Réponse: on force le compteur à 0 (par les entrées R01, R02) au moment quand
on arrive dans l’état N. Par exemple, pour obtenir un diviseur par 13, on fait les
connexions:
R01 = QD⋅QC, R02 = QA

AO 2011/2012 50
IV.8.d Exemples des compteurs
asynchrones: décimal de 4 bits 7490

Le circuit 7490 contient un diviseur par 2 (QA,


ayant l’entrée d’horloge A), et un diviseur par 5
(QD, QC, QB, ayant l’entrée d’horloge B).
Les entrées d’initialisation sont R01 et R02, tant que
les entrées R91 et R92 sont prévues pour amener le
compteur dans l’état 9. (initialisation pour le
comptage inverse). Les entrées R91 et R92 sont
prioritaires par rapport aux R01 et R02. Pour la
remise à zéro il faut qu’une des entrées R91, R92
soit en o logique.
Pour le comptage en code BCD, il faut connecter la
sortie QA à l’entrée B

AO 2011/2012 51
IV.9 Compteurs synchrones

Dans un compteur synchrone toutes les bascules reçoivent en parallèle le même signal d'horloge. Pour faire décrire au compteur une
séquence déterminée il faut à chaque impulsion d'horloge définir les entrées synchrones J et K. Pour cela on utilise la table de transition
de la bascule J-K.
Nous avons déjà remarqué que cette table peut se simplifier. En effet, pour chacune des quatre transitions possibles une seule des entrées
J ou K est définie. Rien ne nous interdit donc de les mettre dans le même état, c'est-à-dire J = K, comme dans une bascule T.
Prenons l'exemple d'un compteur synchrone 3 bits fonctionnant selon le code binaire pur. Nous pouvons dresser un tableau précisant les
valeurs des entrées J et K permettant d'obtenir chaque transition (passage d'une ligne à la suivante). Pour qu'une bascule change d'état il
faut que ses deux entrées soient à 1. Chaque ligne de cette table correspond à une même tranche de temps. Il est assez facile d’en déduire
les expressions logiques reliant les entrées aux sorties:

AO 2011/2012 52
IV.9 Compteurs synchrones

De manière générale nous pouvons vérifier que les


équations de commutation satisfont les relations de
récurrence suivantes:

Ou encore:

Procédons de même pour réaliser un compteur, nous écrivons la


table de transitions recherchées.
Nous en déduisons l’expression logique d’un décompteur:
Nous constatons que les équations de commutation sont
identiques en utilisant cette fois les sorties complémentaires Q
AO 2011/2012 53
IV.9 Compteurs synchrones

Aux deux manières d'exprimer les relations de récurrence des


équations de commutation correspondent deux types de circuits.
Le premier (figure 1) est dit à report parallèle, le second (figure 2)
à report série.
Dans le report série on utilise la fonction Ji-1
On évite ainsi des portes à multiples entrées.
Par contre, il faut tenir compte du retard dans
l’établissement de Ji-1
Il faut donc que la largeur des impulsions d'horloge soit assez
grande et la vitesse maximum de fonctionnement sera plus
faible que pour le report parallèle.
Les deux schémas présentés sur les figures correspondent à
des compteurs-décompteurs
(X = 0 ⇒ compteur, X = 1 ⇒ décompteur).

AO 2011/2012 54
IV.9 Compteurs synchrones: exemple:
compteur binaire synchrone de 4 bits
(modulo 16)
On le réalise avec des bascule J-K M/S
connectés comme des bascules de type T.

Q: Comptage en sens …..?

AO 2011/2012 55
IV.9 Compteurs synchrones: exemple:

Exemple: Concevoir un compteur en code BCD avec des bascules JK et ayant la séquence de comptage suivante:

La table de transitions pour le compteur en code BCD

Les fonctions d’entrée pour les


bascules du compteur en code
BCD

AO 2011/2012 56
IV.9 Compteurs synchrones: exemple:

Exemple: Les diagrammes de Karnaugh:

AO 2011/2012 57
IV.9 Compteurs synchrones: exemple:

Exemple: Les diagrammes de Karnaugh:

Les équations d’entrée des bascules

AO 2011/2012 58
IV.9 Compteurs synchrones: exemple:

Exemple: Un exemple de compteur synchrone est 74193, un compteur binaire réversible avec possibilité de chargement
parallèle.

Il y a deux entrées d’horloge, pour les deux sans de comptage: CU (Count Up), pour le comptage directe et CD
(Count Down), pour le comptage inverse. Le comptage a lieu sur le front ascendant du signal d’horloge. L’entree
d’horloge non utilisé se connecte en 1 logique. L’entrée LD (Load) s’utilise pour le chargement parallèle tant que
l’entrée CL (Clear) s’utilise pour initialisation. Si LD = 0, l’opération de chargement parallèle est validée,
indépendant du signal d’horloge et de l’état du compteur. Pour compter, LD doit être en 1 logique. Pour
initialisation on applique 1 logique sur l’entrée CL. Si on connecte plusieurs compteurs en cascade, ils sont prévus
les sorties CR (Carry) et BR (Borrow). CR s’active au moment quand le compteur arrive au nombre maxime et CU
= 0 (comptage directe). BR s’active au moment quand le compteur arrive à et CD = 0 (comptage inverse). Une
sequence de comptage plus courte s’obtient en connectant à l’entrée LD la sortie de transport CR ou BR , en
fonction du cas, c.à.d comptage en sens directe ou respectivement comptage en sens inverse. Aux entrées D, C, B,
A s’applique les valeurs correspondantes à l’etat dans laquelle la transition doit se realiser au moment quand on
arrive au nombre maxime ou à 0. AO 2011/2012 59
Ça suffit pour aujourd’hui!
Merci de votre attention!

AO 2011/2012 60
Études de cas

Exemples:
exercices résolus sur les circuits séquentiels
(sujet d’exam en juin 2009)

AO 2011/2012 61
Exercice résolu (1)

Analyse d’un compteur programmable


Nous nous proposons d’étudier le fonctionnement du compteur schématisé par la figure du
transparent suivant et basé sur les sorties Q3 Q2 Q1 Q0 de quatre bascules D déclenchées sur le
front montant d’un signal de commande Clk.

AO 2011/2012 62
Exercice résolu (1) (suite)

Analyse d’un compteur programmable (suite)


Questions:
I.1 Donner une première caractéristique de ce compteur.
I.2 Déterminer la fonction logique notée X. Montrer que cette fonction peut s’exprimer à partir des
variables logiques Qi et Mi (i = 0,…,3) sans utiliser leurs compléments.
I.3 Exprimer les fonctions logiques Di = Fi (X, Q3, Q2, Q1, Q0). Montrer que ces fonctions peuvent
se mettre sous la forme Fi (X, Q3, Q2, Q1, Q0) = X · fi (Q3, Q2, Q1, Q0).
I.4 On impose M3 M2 M1 M0 = 0 1 0 0. Écrire la table de vérité (tableau 1) de ce compteur lorsque
celui-ci est initialisé à Q3 Q2 Q1 Q0 = 0 0 0 0.
I.5 Quel est alors le modulo de ce compteur. Quel code suit-il ?
I.6 Nous cherchons à synthétiser un compteur synchrone modulo 16 en binaire pur à l’aide de
quatre bascules de type D : Di (i = 0,…,3). Écrire la table des transitions de ce compteur (tableau 2).
I.7 A partir de cette table exprimer les fonctions logiques Di. Montrer que nous avons Di = fi (Q3,
Q2, Q1, Q0).
I.8 En déduire que les entrées Mi permettent de programmer le modulo du compteur de la figure

AO 2011/2012 63
Exercice résolu (1) (suite)
Analyse d’un compteur programmable (suite)
Questions:
I.1 Donner une première caractéristique de ce compteur.
R: Compteur synchrone
I.2 Déterminer la fonction logique notée X. Montrer que cette fonction peut s’exprimer à partir des variables
logiques Qi et Mi (i = 0,…,3) sans utiliser leurs compléments.
R:

AO 2011/2012 64
Exercice résolu (1) (suite)

Analyse d’un compteur programmable (suite)


Questions:
I.3 Exprimer les fonctions logiques Di = Fi (X, Q3, Q2, Q1, Q0). Montrer que ces fonctions peuvent
se mettre sous la forme Fi (X, Q3, Q2, Q1, Q0) = X · fi (Q3, Q2, Q1, Q0).

AO 2011/2012 65
Exercice résolu (1) (suite)

Analyse d’un compteur


programmable (suite)
Questions:
I.4 On impose
M3 M2 M1 M0 = 0 1 0 0.
Écrire la table de vérité (tableau 1)
de ce compteur lorsque celui-ci est
initialisé à Q3 Q2 Q1 Q0 = 0 0 0 0.

AO 2011/2012 66
Exercice résolu (1) (suite)
Analyse d’un compteur programmable
(suite)
Questions:
I.5 Quel est alors le modulo de ce compteur.
Quel code suit-il ?

R: C’est un compteur modulo 5 qui suit le


code binaire pur.
I.6 Nous cherchons à synthétiser un compteur
synchrone modulo 16 en binaire pur à l’aide de
quatre bascules de type D : Di (i = 0,…,3).
Écrire la table des transitions de ce compteur
(tableau 2).
R: Comme après chaque impulsion
d’horloge l’état est chargé dans une bascule,

la table de transitions est évidente :


AO 2011/2012 67
Exemple résolu (suite)

Analyse d’un compteur


programmable (suite)
Question:
I.7 A partir de cette table exprimer
les fonctions logiques Di. Montrer
que nous avons Di = fi (Q3, Q2, Q1,
Q0).
R:
Utilisons la méthode des
tableaux de Karnaugh

Note: A la variable X près, nous


nous retrouvons les expressions
logiques de la question I.3

AO 2011/2012 68
Exercice résolu (1) (suite)

Analyse d’un compteur programmable (suite)


Question:
I.8 En déduire que les entrées Mi permettent de programmer le modulo du compteur de la figure
R: Donc lorsque X=1, le compteur de la figure 1 évolue comme un compteur de 4 bits suivant le
code binaire pur. Lorsque la variable X est égale à 0, il y a remise à zéro du compteur. Or la
variable X dépend des entrées Mi, celle+ci permettent donc de programmer le modulo du
compteur.

AO 2011/2012 69
Exercice résolu (2)

Réalisation d’un décodeur complément vrai –


signe et valeur absolue

AO 2011/2012 70
Exercice résolu (2)
Exercice: Réalisation d’un décodeur complément vrai – signe et valeur absolue
Un entier signé peut être représenté sous la forme signe et valeur absolue ou sous la forme dite en complément vrai.
Nous souhaitons réaliser un circuit réalisant la transformation du codage en complément vrai vers le codage signe et
valeur absolue.
III.1 Rappeler le principe du codage en complément vrai. Expliquer pourquoi si le codage en complément vrai se fait
sur n+1 bits, il faut n+2 bits pour pouvoir coder sous la forme signe et valeur absolue toutes les valeurs possibles en
complément vrai.
III.2 Expliquer comment calculer la valeur absolue de l’entier négatif 1 0 0 1 1 0 0 0 codé en complément vrai sur 8
bits. Nous nous proposons de réaliser cette opération à l’aide d’un circuit élémentaire ayant trois entrées notées a, s, c
et deux sorties notées b, d (figure 1).
L’idée est de combiner n+1 de ces circuits (en grisé) comme indiqué sur la figure 2 pour obtenir le décodeur souhaité.

AO 2011/2012 71
Exercice résolu (2) (suite)

Exercice: Réalisation d’un décodeur complément vrai – signe et valeur absolue (suite)

III.3 En vous appuyant sur l’exemple de la deuxième question, expliquer à quoi correspond
chacune des entrées et des sorties.
III.4 Pour s = 0 exprimer les fonctions logiques b = f0(a, c) et d = g0(a, c).
III.5 Pour s = 1 écrire la table de vérité des fonctions logiques b = f1(a, c) et d = g1(a, c).
III.6 En utilisant les tableaux de Karnaugh donner les expressions simplifiées des deux fonctions
logiques b = f(a, c, s) et d = g(a, c, s).
III.7 Donner un logigramme du circuit de la figure 1.

AO 2011/2012 72
Exercice résolu (2) (suite)

AO 2011/2012 73
Exercice résolu (2) (suite)

AO 2011/2012 74
Exercice résolu (2) (suite)

AO 2011/2012 75
Ça suffit pour aujourd’hui!
Merci de votre attention!

AO 2011/2012 76
PREMINV – Virtual Enterprises Management
and Engineering Training Laboratory

A suivre…
Mémoires mortes et logique programmable…
Mémoires vives
Unité Centrale de Traitement : Processeur
Les interruptions
Les entrées/sorties
……..
AO 2011/2012 77

Vous aimerez peut-être aussi