Professional Documents
Culture Documents
ARCHITECTURE DES
SYSTEMES
INFO-SUP
F. GABON
Sommaire
LIVRES ET SITES WEB .................................................................................................................. 4
RESUME D'ELECTRONIQUE LOGIQUE ................................................................................... 5
SYSTEMES DE NUMERATION..................................................................................................... 7
I.
II.
III.
IV.
V.
VI.
VII.
II.
OPERATEURS COMPLEMENTAIRES...........................................................................................................................22
III.
IV.
V.
VI.
VII.
MULTIPLEXEUR...................................................................................................................................................35
II.
DECODEUR ........................................................................................................................................................36
III.
DEMULTIPLEXEUR ...............................................................................................................................................36
IV.
V.
VI.
INTRODUCTION...................................................................................................................................................41
II.
III.
IV.
V.
VI.
VII.
LES COMPTEURS.......................................................................................................................... 55
I.
INTRODUCTION...................................................................................................................................................55
II.
III.
IV.
V.
VI.
PRESENTATION ...................................................................................................................................................63
II.
APPLICATIONS ....................................................................................................................................................63
III.
IV.
CORRECTION ................................................................................................................................ 66
2. Sites WEB
http://www.abcelectronique.com/annuaire/cours_15.php# (plein de liens intressants)
A.A=A
A.A 0
A.1=A
A.0=0
A A.B A B
A + A.B = A
A.B A.C B.C A.B A.C
A.B A B (thorme de Morgan)
A B A.B (thorme de Morgan)
2) bascules D
Ltat prsent sur l'entre D au moment du front (ou pendant l'tat actif de l'entre
d'horloge) est recopi sur la sortie Q (sauf si l'une des entres de forage 0 ou 1 est
active)
3) bascules JK
Les changements d'tat des sorties se font (ventuellement)au moment du front (sauf
si l'une des entres de forage est active : voir ci-dessous)
J=K=0
JK
J=K=1
VI. SYNCHRONISATION
Il existe 3 faons diffrentes de synchroniser les changements dtat des sorties par rapport
lentre dhorloge.
1) Synchronisation sur niveau (ou "tat") qui peut tre haut (= 1) ou bas (= 0).
Tant que lhorloge est dans ltat actif ("1" en gnral), les sorties "ragissent"
immdiatement aux changements d'tat des entres.
2) Synchronisation sur front
Les sorties ne changent d'tat qu'au moment du front "actif " sur l'entre d'horloge.
Ce front actif peut tre le front montant (passage de "0" "1") ou le front descendant
(passage de "1" "0").
Sur le schma des bascules, ce type de synchronisation est reprsent par un petit
triangle sur l'entre d'horloge, associ de plus un petit rond si le front actif est
descendant.
3) Synchronisation sur impulsion positive (ou ngative) (bascules dites "matre-esclave")
Sur le front montant (ou descendant), la bascule mmorise l'tat des entres : les
sorties ne changent pas.
Sur le front descendant (ou montant), les sorties changent (ventuellement) d'tat en
fonction de l'tat des entres prsent au moment du front montant.
L'intrt de ce dernier type de synchronisation est de dissocier l'analyse de l'action : si la
dure du crneau d'horloge est suprieure au temps de retard des bascules (donn par le
constructeur), aucun mauvais fonctionnement ne peut tre gnr par ces temps de retard
(comme cela tait possible avec les bascules synchronises sur front).
VII. ENTREES DE FORCAGE ASYNCHRONES
Ltat actif (en gnral 0) sur lune des 2 entres de forage fait immdiatement passer la
sortie Q dans ltat demand, sans tenir compte de lhorloge.
Ltat actif sur lentre R(eset) (aussi appele Clear) force Q 0.
Ltat actif sur lentre Pr(eset) force Q 1.
Ltat actif sur les 2 entres de forage est videmment interdit !
Architecture EPITA INFO-SUP F. Gabon
SYSTEMES DE NUMERATION
I. Systme dcimal et dfinitions
Quand on voit le nombre 537, on sait que le chiffre 5 correspond aux centaines, le chiffre 3 aux
dizaines et le chiffre 7 aux units.
On peut crire ce nombre sous la forme d'un polynme : 537 = 5.102 + 3.101 + 7.100.
La base dans lequel ce nombre est crit est la base 10 car nous avons 10 doigts (si, si )
En base 10, il existe 10 symboles (appels chiffres) de 0 9.
Le rang d'un chiffre est par dfinition sa position dans le nombre en partant du rang 0 et en
commenant par le chiffre de droite (celui des units)
Dans l'exemple ci-dessus, le rang de 7 est 0, celui de 3 est 1 et celui de 5 est 2.
Mais, vu sa place, le chiffre 5 "pse" plus lourd que le chiffre 7 bien que sa valeur propre
soit plus petite.
Le poids d'un chiffre x est la base leve la puissance de son rang : poids (x) = 10 rang(x).
Le chiffre de droite s'appelle le chiffre de poids faible (pf) et celui de gauche le chiffre de
poids fort (PF).
7 est le chiffre de poids faible : son poids est 1 (100)
5 est le chiffre de poids fort : son poids est 100 (102)
n
avec ai {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
i 0
i 0
Un symbole devant correspondre un chiffre, si la base est suprieure 10, on prendra par
convention comme symboles supplmentaires les lettres majuscules de l'alphabet en commenant
par A.
Ainsi, en base 2 on aura :
En base 8 on aura :
En base 12 on aura :
En base 16 on aura :
Architecture EPITA INFO-SUP F. Gabon
ai {0, 1}
ai {0, 1, 2, 3, 4, 5, 6, 7}
ai {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B}
ai {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
7
En dehors de la base 10 (le systme dcimal), les 3 bases les plus utilises en informatique sont :
La base 2 : le systme est dit binaire (chaque chiffre binaire 0 ou 1 est appel BIT de
l'anglais BInary digiT)
La base 8 : le systme est dit octal
La base 16 : le systme est dit hexadcimal
La base se note en indice aprs le nombre. Toutefois on peut ne pas la noter en bases 2, 10 ou 16,
condition qu'il n'y ait aucun risque d'erreur.
ex : 100 est ambigu (10010 ou 1002 soit 410) sauf si le contexte est vident.
reste 7
reste 3
reste 5
Cette rgle, applique la conversion en binaire des nombres dcimaux de 0 15 donne les
rsultats suivants qu'il faut connatre par cur car ils seront trs utiliss.
Architecture EPITA INFO-SUP F. Gabon
base 10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
base 16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
base 2
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
Attention : chaque chiffre octal devra tre crit avec 3 bits, et chaque chiffre hexadcimal devra
l'tre avec 4.
ex : 35068 = 0111010001102 mais 350616 = 00110101000001102
Rem : les 0 gauche peuvent tre omis mais le 0 de rang 1 dans 3506 se code sur 3 "0" binaires si
le nombre tait en octal et sur 4 "0" si le nombre tait en hexadcimal.
Pour convertir un nombre binaire en octal ou hexadcimal, on dcoupe les bits par paquets
de 3 (pour l'octal) ou de 4(pour l'hexadcimal) en partant de la droite!
Ex : 11|100|101|110|011|000|0112 = 34563038
mais le mme nombre binaire donne en base 16 : 1110|0101|1100|1100|00112 = E5CC316
Ces transformations rapides sont pratiques et trs utilises en particulier quand on programme en
assembleur.
Multiplier la partie fractionnaire du nombre dcimal par la base dans laquelle on veut la
convertir.
Rpter l'opration pour atteindre la prcision voulue.
Ecrire toutes les parties entires dans l'ordre dans lequel on les a obtenues.
Si la base d'arrive est > 10, convertir les parties entires > 9 en lettres.
on garde 7
on garde 4
on garde 2
on garde 6
0,94310 = 0,74268
10
V. Oprations arithmtiques
De faon gnrale, les rgles habituelles utilises en dcimal ne changent pas mais bien sur il faut
tenir compte de la base de travail :
Ainsi, en base 16 : 9 + 4 = D et 9 + C = 15 (ou 5 et une retenue de 1 vers la colonne de gauche)
Jusqu'ici, nous n'avons trait que les nombres positifs et on pourrait imaginer de traiter les nombres
ngatifs en mettant un signe moins devant comme d'habitude mais l'informatique, qui ne connat
que les 1 et les 0, traite diffremment les nombres ngatifs.
1. Complment 1
En dcimal, on forme le complment 9 d'un nombre en remplaant chaque chiffre de ce nombre
par sa diffrence avec 9.
ex : le complment 9 de 6473, not C9(6473) est 3526
En binaire, on forme le complment 1 d'un nombre en remplaant chaque chiffre de ce nombre
par sa diffrence avec 1 (on remplace les 1 par des 0 et rciproquement).
ex : le complment 1 de 11010, not C1(11010) est 00101
11
on prend le
complment 2
on oublie le 1
en trop
12
Ex : 68 = 0100 0100
c) Limites
Comme on s'est limit 8 bits, on ne pourra coder en binaire que 256 valeurs diffrentes.
En nombres non signs (donc exclusivement positifs) on pouvait aller de 0 10 (= 0000 00002)
25510 (= 1111 11112) soit 256 valeurs en tout car 256 = 28.
En nombres signs, le plus grand nombre commenant par un 0 (donc positif) est 0111 1111 = 127
Le nombre binaire suivant est 1000 0000 mais, comme il commence par un 1, il doit tre considr
comme ngatif : pour trouver sa valeur dcimale, on en prend le complment 2 soit 1000 0000
(c'est le mme !) qui, converti en dcimal, donne 128.
128 est donc la valeur absolue de 1000 0000 et on obtient en dfinitive 1000 0000 = - 128
Sur un octet les 256 valeurs codables en nombres signs vont donc de 128 + 127.
Le nombre 128 n'est pas codable en nombres signs sur 8 bits.
En nombres signs sur n bits, on peut coder les nombres de 2 n-1 2 n-1 1.
Architecture EPITA INFO-SUP F. Gabon
13
Le tableau suivant regroupe quelques valeurs particulires des nombres signs et fait aussi
apparatre les nombres hexadcimaux correspondants.
base 10
127
126
2
1
0
-1
-2
-127
-128
base 2
0111 1111
0111 1110
0000 0010
0000 0001
0000 0000
1111 1111
1111 1110
1000 0001
1000 0000
base 16
7F
7E
02
01
00
FF
FE
81
80
1. Code Gray
En code binaire naturel, quand on passe de 7 8, donc de 0111 1000, les quatre bits changent la
fois. Cela peut tre gnant car les changements ne sont jamais totalement simultans et de trs
faibles carts peuvent entraner des erreurs. Le code Gray limine ce risque car, dans ce code, un
seul bit change la fois entre deux valeurs conscutives. On parle alors de code distance unit.
On l'appelle aussi code rflchi car sa construction s'opre par rflexion au sens gomtrique du
terme, c'est dire par "pliage" autour d'un axe de rflexion.
14
er
1 axe de symtrie
2me axe de symtrie
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
4. Autres codes
Il existe d'autres codes qui ont chacun leur utilit.
Par exemple, le code EXCESS 3 (qui consiste ajouter 3 au code BCD) a t utilis pour faire des
calculs numriques directement en BCD.
Les codes dtecteurs d'erreurs ou dtecteurs et correcteurs d'erreurs sont trs utiliss dans les
transmissions.
Architecture EPITA INFO-SUP F. Gabon
15
VII.
(10DA)16
2) Convertir les nombres ci-dessous (donns en base 10) dans la base indique
194 en base 2 ; 254 en base 2 ; 687 en base 16 ; 3021 en base 16 ; 1234 en base 8
3) Conversion rapide vers une base 2n
(B7AE)16 2 ; (DCBF)16 2 ; (56349)16 2 ; (5567)8 2 ; (ABCD)16 8 ;
(2074)8 16 ; (1110100000111010)2 16 ; (1110100000111010)2 8
4) Dterminer la base b pour que les galits ci-dessous soient vraies.
(132)b = (30)10 ; (2A)16 = (36)b ;
5) Dterminer les plus petites bases possibles (a et b) pour que les galits ci-dessous soient vraies.
(101)a = (401)b ; (501)a = (50001)b ; (12)a = (1002)b
6) Prouver que 1331 est un cube dans toute base suprieure 3. Quel est le plus petit cube
rpondant cette dfinition (exprim en dcimal) ?
7) A quelle condition un nombre crit en base quelconque est-il pair en base 10 ?
(discuter selon la parit de la base)
8) Convertir les nombres suivants en dcimal
(1101,011)2 ; (765,42)8 ; (AC,08)16
9) Convertir les nombres ci-dessous dans la base indique
(14,65)10 8 (3 chiffres aprs la virgule) ; (42,42)10 2 (7 chiffres aprs la virgule)
(69,23)10 16 (3 chiffres aprs la virgule)
Pourquoi faut-il garder 7 chiffres aprs la virgule pour convertir (42,42) 10 en binaire ?
(11011000110,001011011)2 16 ; (1011110100,1110111)2 8
16
17
a) Coder les nombres suivants en binaire sign (sur 1 octet y compris le bit de signe)
-1 ; -29 ; -40 ; -127 ; -128
b) Si on crit les nombres signs en hexa, quelles plages de valeurs correspondent les
nombres positifs et les nombres ngatifs ?
3) Le code Gray
a) Ecrire en code Gray les nombres de 0 15 et en dduire le code Gray de 17, 24, 31.
b) Mthode de codage : binaire code Gray
On veut coder Xb = (bn bn-1 bn-2 b1 b0)2 en code Gray : soit Xg = (gn gn-1 gn-2 g1 g0)G.
Appliquer la rgle suivante : gn = bn ; gn-1 = 0 ssi bn = bn-1 ; gn-2 = 0 ssi bn-1 = bn-2 ;
g0 = 0 ssi b1 = b0 (autrement dit, on compare donc 2 bits conscutifs : s'ils sont gaux on note
"0", sinon on note "1"). Ex : 11001011B donne 10101110G
Coder en code Gray les nombres suivants : 45 ; 100 ; 120.
c) Mthode de codage : code Gray binaire
On compte le nombre de 1 partir du poids fort jusqu'au bit dont on veut la valeur binaire :
si ce nombre est pair on note 0 sinon 1. Ex : 1011 en Gray donne 1101 en binaire.
Donner la valeur dcimale des nombres suivants cods en code Gray.
11001100 ; 10101010 ; 10000001
4) Coder en BCD les nombres suivants : 97 ; 724 ; 2009 ; 6308
Architecture EPITA INFO-SUP F. Gabon
18
ALGEBRE DE BOOLE
C'est une algbre un peu particulire et apparemment trs simple dans la mesure o les variables
(dites boolennes) qu'elle utilise ne peuvent prendre que 2 tats, que l'on note de faon
conventionnelle 0 et 1. Et pourtant, c'est avec cela qu'on fait toute l'informatique !!
Cette algbre est, de plus, munie de 3 oprateurs NON, ET et OU que nous allons dfinir.
De mme qu'en mathmatiques, l'application d'oprateurs ces variables donne des fonctions qui
sont elles aussi boolennes dans la mesure o elles ne peuvent prendre que les valeurs 0 ou 1.
Ex : X et Y tant des variables boolennes, Z = X ET Y est une fonction boolenne de X et de Y.
I. Oprateurs de base
1. Gnralits
Les oprateurs sont dfinis de faon conventionnelle par une "table de vrit", c'est dire un tableau
qui donne la valeur de la fonction en fonction de l'tat de la (ou des) variable(s) d'entre.
S'il n'y a qu'une seule variable d'entre, deux cas sont possibles (0, 1) et la table de vrit
comprendra 2 lignes.
S'il y a 2 variables d'entre, quatre cas sont possibles (00, 01, 10, 11) et la table de vrit
comprendra 4 lignes.
De faon gnrale, s'il y a n variables d'entres, la table de vrit comprendra 2 n lignes.
Dans les tables de vrit, il est d'usage de reprsenter les diffrents cas possibles les uns en dessous
des autres en utilisant l'ordre binaire naturel vu prcdemment.
Les oprateurs sont reprsents par un schma en forme de rectangle qui contient un symbole
significatif de l'oprateur considr et qui se lit de gauche droite : la ou les entres sont notes
gauche du rectangle et la sortie droite.
On les appelle souvent "portes logiques" car ils peuvent laisser passer une information ("porte
ouverte") ou l'empcher de passer ("porte ferme").
Symbole
On voit dans la table de vrit que si X = 1, Y = 0 et rciproquement. Cet oprateur est parfois
appel inverseur, il effectue le complment 1 d'une variable d'entre.
On dit Y = NON X ou X barre car on note la complmentation par une barre au dessus de la
variable que l'on veut complmenter : Y X
Nous allons profiter de cet oprateur (le plus simple qui existe) pour dfinir sur un plan lectrique
ce qu'on appelle des 0 et des 1.
Architecture EPITA INFO-SUP F. Gabon
19
Les composants lectroniques qui forment les ordinateurs sont appels Circuits Intgrs
(en abrg C.I.) car ils "intgrent" (= regroupent) un certain nombre de circuits lmentaires.
Pour pouvoir fonctionner, ces composants sont aliments en nergie par une "alimentation" qui
transforme la tension alternative du secteur (220 V 50 Hz) en une tension continue.
Une technologie un peu ancienne mais encore utilise s'appelle la technologie TTL pour Transistor
Transistor Logic et nous allons la prendre pour exemple.
Dans celle-ci, la tension d'alimentation est fixe 5 V, c'est dire que les C.I. sont aliments par
une tension de 5 V sur leur borne + par rapport leur borne qui est relie la masse.
En logique dite "positive", un niveau 1 logique correspond une tension de 5 V par rapport la
masse et un niveau 0 logique correspond une tension de 0 V par rapport la masse.
(La logique dite "ngative" correspond l'inverse mais elle est moins utilise et nous la laisserons
de cot)
Cela donne un schma complet faisant apparatre l'alimentation et les niveaux de tension :
X = 1 VX = 5 V
X = 0 VX = 0 V
Y = 1 VY = 5 V
Y = 0 VY = 0 V
5V
X
VX
Y
VY
Rem : on peut aussi faire une analogie avec des circuits lectriques forms uniquement
d'interrupteurs dans lesquels le courant passe ou non selon qu'ils sont ferms ou ouverts,
mais, en architecture des systmes informatiques, on utilise plutt les niveaux de tension.
Dans les schmas usuels, l'alimentation et les tensions ne sont pas reprsentes.
Seuls apparaissent les noms des variables logiques et leurs valeurs logiques (0 ou 1) mais
n'oubliez pas que "derrire" tout cela il y a bien des Volts et des Ampres !
Y
0
1
0
1
S
0
0
0
1
Table de vrit
X
Y
&
Symbole
Ds, qu'une entre est nulle, la sortie est nulle, ou, si l'on veut le dire autrement, il faut que les
2 entres soient 1 pour que la sortie soit 1.
C'est l'quivalent du produit en mathmatiques : ds qu'un facteur est nul, le produit est nul.
C'est pour cela qu'on peut remplacer le mot ET par un point ou mme l'omettre compltement.
20
Y
0
1
0
1
S
0
1
1
1
X
Y
Table de vrit
Symbole
5. Proprits
Les oprateurs vus ci-dessus respectent les lois suivantes, qu'il est facile de vrifier par induction
parfaite, c'est dire en vrifiant tous les cas possibles partir des tables de vrit.
Rem : comme en math, le produit a priorit sur la somme, ce qui permet d'liminer des parenthses.
a) Fermeture
(X.Y) et (Y + Y) sont des variables boolennes.
b) Commutativit
X.Y = Y.X
c) Associativit
X.(Y.Z) = (X.Y).Z = X.Y.Z
X+Y=Y+X
X + (Y + Z) = (X + Y) + Z = X + Y + Z
21
f)
Complmentarit
X X 1
X.X 0
g) Identits remarquables
1.X = X
0.X = 0
1+X=1
0+X=X
Toutes ces formules permettent dj de simplifier des fonctions logiques, c'est dire d'liminer au
maximum les oprateurs logiques (sans bien sur modifier la fonction initiale !)
S = (X + Y ).(X + Y) + Z.( X + Y)
S = (X + Y ).X + (X + Y ).Y + Z.( X + Y)
S = X.X + Y .X + X.Y + Y .Y + Z. X + Z.Y
S = X + Y .X + X.Y + Y .Y + Z. X + Z.Y
S = X + Y .X + X.Y + Z. X + Z.Y
S = 1.X + Y .X + X.Y + Z. X + Z.Y
S = X.(1 + Y + Y) + Z. X + Z.Y
S = X + Z. X + Z.Y
ex : Soit S simplifier
par distributivit
par distributivit
par idempotence (X.X = X)
par complmentarit Y.Y 0
par identit remarquable (1.X = X)
par distributivit
par identit remarquable (sur "+" puis".")
Nous pourrons mme simplifier encore la fonction S quand nous aurons vu quelques autres
formules un peu plus "puissantes" que celles vues ci-dessus.
Y
0
1
0
1
S
1
1
1
0
Table de vrit
X
Y
&
Symbole
Ds, qu'une entre est nulle, la sortie est 1, ou si l'on veut le dire autrement, il faut que les 2
entres soient 1 pour que la sortie soit nulle.
22
Y
0
1
0
1
S
1
0
0
0
X
Y
Table de vrit
Symbole
Ds, qu'une entre est 1, la sortie est nulle, ou si l'on veut le dire autrement, il faut que les 2
entres soient nulles pour que la sortie soit 1.
Y
0
1
0
1
S
0
1
1
0
X
Y
Table de vrit
=1
Symbole
La sortie est 1 si l'une des 2 entres (mais pas les 2) est 1 ou si l'on veut le dire autrement,
la sortie est 1 si les 2 entres ne sont pas dans le mme tat.
Rem : avec des NON, des OU et des ET le OU exclusif s'crit S X.Y X.Y
et il faut le reprer dans une quation pour pouvoir remplacer cette formule un peu
complique (2 NON, 2 ET et 1 OU) par un simple OU exclusif.
Formule N 1 : X + X.Y = X : dans une somme, on peut liminer tous les multiples d'un
terme fondamental.
Dmonstration : X + X.Y = X.1 + X.Y = X.(1 + Y) = X.1 = X
23
car le 3me terme est un multiple du 1er et le 4me est un multiple du 2me (formule N1).
Mme remarque que ci-dessus
On peut maintenant continuer simplifier l'quation vue en exemple.
Nous tions arrivs vrifier :
La formule N 2 donne :
La formule N 1 donne :
S = X + Z + Z.Y
S=X+Z
24
Traduire le problme donn dans une table de vrit de mme qu'en math on traduit par une
quation ou un systme d'quations un problme nonc en franais.
Dduire de cette table de vrit l'quation de la sortie en fonction des entres, de mme
qu'en math on rsout l'quation ou le systme d'quations.
C'est seulement en respectant ces 3 tapes que l'on peut tre assur
d'arriver une solution du problme CORRECTE et OPTIMALE !
Le plus simple est d'tudier un exemple concret :
Cahier des charges :
Sur un ptrolier, la cale comprend 3 soutes ptrole (A, B et C). Elles sont remplies de faon
indpendante les unes des autres. Quand le remplissage est termin, un voyant V doit s'allumer si
l'assiette du bateau est correcte, c'est dire si le ptrole est correctement rparti dans les soutes.
Des capteurs testent le remplissage complet de chaque soute.
L'assiette est correcte si les 3 soutes sont vides ou si elles sont toutes les 3 remplies ou si seule B est
remplie ou si seules A et C sont remplies.
Dfinition des entres du systme
Sortie du systme
b
0
0
1
1
0
0
1
1
a
0
1
0
1
0
1
0
1
V
1
0
1
0
0
1
0
1
remarques
cuves vides
dsquilibre
B seule pleine
dsquilibre
dsquilibre
A et C pleines
dsquilibre
3 cuves pleines
A ce stade, on est sur que le problme est trait de faon exhaustive et correcte, c'est dire qu'on n'a
oubli aucun cas de figure et qu'on rpond bien au cahier des charges (si la table est bien remplie !)
Architecture EPITA INFO-SUP F. Gabon
25
ba
01 11
0
1
10
L'ordre des colonnes (de gauche droite) correspond bien au code Gray : 00, 01, 11, 10.
Rem : - on garde le mme ordre que dans la table de vrit : c, b, a de gauche droite.
- S'il y avait 4 variables, on aurait dessin un tableau carr de 4 colonnes sur 4 lignes et on
aurait respect pour l'ordre des lignes le code Gray comme pour les colonnes.
On remplit le tableau en reportant dans les cases correspondantes les valeurs de la table de vrit, ce
qui donne le rsultat suivant.
Architecture EPITA INFO-SUP F. Gabon
26
V
c
0
1
00
1
0
ba
01 11
0
0
1
1
10
1
0
Dans le tableau ci-dessus, les deux 1 du bas sont bien adjacents : on peut les regrouper dans une
"bulle" de 2 cases et on constate que, dans cette "bulle", les variables a et c ne changent pas et
restent 1, par contre la variable b passe de 0 1.
On oublie donc la variable b qui change et l'quation de V contiendra a.c (car a = c = 1)
Les deux 1 du haut ne sont apparemment pas dans des cases adjacentes mais il faut voir le tableau
comme s'il tait enroul sur un cylindre : les colonnes de droite et de gauche sont aussi considres
comme adjacentes. Donc on peut regrouper ces deux 1 dans une seule bulle (indique sur la figure).
Dans cette "bulle", a et c ne changent pas et restent 0, par contre b change.
On oublie donc la variable b qui change et l'quation de V contiendra a.c (car a = c = 0)
En faisant un OU entre les 2 "bulles", on obtient en dfinitive V a.c a.c
On a obtenu directement l'quation la plus simple possible sous la forme d'une somme de
produits.
Comparaison avec la mthode algbrique
Considrons seulement les deux 1 du bas : si l'on n'avait pas regroup les 2 cases on aurait crit :
a.b.c a.b.c puis mis a.c en facteur soit a.c.(b b) . Comme b b 1 , il reste bien a.c
La mme opration avec les deux 1 du haut aurait donn a.c
On voit que le regroupement de cases adjacentes dans des "bulles" remplace automatiquement la
simplification par X X (mme si X contient plusieurs autres variables).
Remarques
Dans un tableau carr de 16 cases les lignes du haut et du bas sont aussi considres comme
adjacentes. On considre donc le tableau enroul sur un tore (un pneu si vous prfrez !)
S
dc
00
01
11
10
00
0
4
12
8
01
1
5
13
9
ba
11
3
7
15
11
10
2
6
14
10
dc
00
01
11
10
00
0
1
1
0
01
1
0
0
1
ba
11
1
0
0
1
10
0
1
1
1
D
0
0
0
0
0
0
0
0
1
1
C
0
0
0
0
1
1
1
1
0
0
B
0
0
1
1
0
0
1
1
0
0
A
0
1
0
1
0
1
0
1
0
1
S
0
0
0
1
0
0
1
0
0
1
Comme on note seulement les lignes pour lesquelles S = 1, cela revient considrer que, pour les
lignes 10 15, S = 0 : cela n'tait pas obligatoire puisque ces cas ne se produiront pas.
Si l'on utilise le tableau de Karnaugh, on peut mettre des X dans ces cases puisque le rsultat est
indiffrent :
L'intrt est que, pour agrandir les bulles o il y a DEJA des 1, on peut englober
les cases contenant des X et ainsi simplifier encore plus l'quation de la sortie.
S
DC
00
01
11
10
00
0
0
X
0
B A
01 11
0
1
0
0
X
X
1
X
On constate que la 2me expression de S est nettement plus simple que la 1re : dans les cas o
N < 10, elle donnera les mmes rsultats. Dans les cas o N > 10, elle ne donnera pas les mmes
rsultats mais ces cas ne se produisant pas, cela ne nous gne pas.
Conclusion
Dans le cas des tables de vrit incompltes, on voit bien qu'il est beaucoup plus intressant
d'utiliser les tableaux de Karnaugh que les simplifications algbriques partir des tables de vrit :
celles-ci ne nous auraient pas permis de voir que certaines cases contenant des X permettaient
d'agrandir les bulles o il y a dj des 1 et donc de simplifier l'quation de la sortie (et il n'y a aucun
autre moyen de voir quelles cases sont intressantes seulement partir de la table de vrit).
28
I
Anode
Diode bloque
Cathode
Diode passante
En fait, pour que la diode soit passante (interrupteur ferm) il faut que U soit au moins gale 0,6 V
pour du silicium (on appelle cette tension la tension de seuil), mais on ngligera souvent cette petite
tension.
A partir de ces explications, complter les tableaux correspondant aux 2 schmas ci-dessous en
indiquant l'tat (P)assant ou (B)loqu des diodes, les valeurs des courants et de V S selon les valeurs
de VA ou VB (E = 5 V et R = 5 k). En dduire le type des portes ainsi ralises.
IA DA
A
B
VA
VB
VA
IB
tat
de DB
IR
IB
VA
VS
tat
de DA
IA
IB
IA
IR
VS
DA
IR
E
DB
VB
R
A
tat
de DB
DB
VS
VB
tat
de DA
IB
IA
IR
VS
0
0
0
5
5
0
5
5
type de
porte
Architecture EPITA INFO-SUP F. Gabon
29
Si l'on envoie du courant dans la base en lui appliquant une tension positive Ve, l'interrupteur se
ferme : on dit que le transistor est satur. On obtient :VS = 0 et IC = E/RC.
Si l'on n'envoie pas de courant dans la base, l'interrupteur s'ouvre : on dit que le transistor est
bloqu. On obtient : IC = 0 et VS = E.
Les rsistances RB et RC permettent de rgler l'intensit des courants dans la base et dans le
collecteur.
IC
IC
RC
Base
Collecteur
Vs
Ve
RB
RC
E
IB
Vs
Ve
Emetteur
Complter le tableau ci-dessous et en dduire le type de porte ainsi ralise.
Ve
0
5
tat du transistor
VS
3) A partir des 2 exercices prcdents, dessiner le schma d'une porte NOR puis d'une porte NAND
30
S3 (A B).(A B) C.(A B)
S4 (A C D).(B C D)
S6 (A B C).(A C).(A B)
(A C).(B C) (A C).(B C)
Rem : On peut toujours rajouter "0" (soit X. X ) une expression ou la multiplier par "1"
(soit X + X ) sans la modifier. Cela peut tre utile pour faire apparatre des termes
communs (qui sinon n'apparatraient pas) et permettre ainsi des mises en facteurs ou des
simplifications.
31
8) Raliser la fonction OU exclusif ( X Y X.Y X.Y ) avec 5 NAND puis avec 4 NAND.
(Pour le faire avec 4 NAND, rajouter des quantits nulles et factoriser mais pas trop !)
9) Soient 3 variables A, B, C :
Raliser une fonction qui donne 1 si le nombre de variables 1 est impair
(simplifier avec des OU exclusifs).
Une faon simple d'noncer un problme sur n variables est de leur affecter un rang, c'est dire de
les considrer comme formant un nombre.
Dans la suite des exercices, la variable A aura toujours le rang 0, la variable B le rang 1, etc
Si on utilise 3 variables, le nombre N s'crira en binaire N = CBA avec 0 N 7.
Au lieu de dcrire une fonction S par tous les cas de figure possibles, il suffira de dire que S doit
tre gale 1 pour certaines valeurs de N.
Par exemple au lieu de demander de raliser une fonction S qui donne 1 ssi 2 variables sur 3 sont
1, il suffira de dire : on veut que S = 1 ssi N = 3 ou 5 ou 6.
10) Raliser une fonction S = f(C, B, A) telle que S = 1 ssi :
a) N 5
b) 2 < N 6
c) N = 2, 4, 6
d) N = 2, 4, 6 mais en plus S n'est pas dfinie pour N = 0 et N = 1
11) Complmenteur 2 sur 3 bits
On veut raliser un circuit qui donne le complment 2 d'un nombre cod sur 3 bits (CBA)
a)
Ecrire la table de vrit de chacune des 3 sorties C' B' A'.
b)
Simplifier les quations de ces 3 sorties.
12) Mmes questions pour raliser un circuit qui code en code Gray un nombre binaire sur 3 bits.
13) Soit N un nombre binaire cod sur 4 bits (DCBA)
Remplir directement les tableaux de Karnaugh et donner les quations simplifies de S dans les
cas suivants :
a) S = 1 ssi N 10
b) S = 1 ssi N = 0, 4, 8, 10, 12, 14
c) S = 1 ssi N = 0, 2, 5, 7, 8, 10, 13, 15
d) S = 1 ssi N = 2, 10, 11, 14
e) S = 1 ssi N = 2, 10, 11, 14 mais en plus S n'est pas dfinie pour N = 6, 9, 13 et 15.
14) Soit N un nombre binaire cod sur 5 bits (EDCBA)
Remplir directement les tableaux de Karnaugh et donner les quations simplifies de S
a) S = 1 ssi N = 0, 1, 9, 11, 13, 15, 16, 17, 20, 21, 25, 26, 27, 30, 31
b) S = 1 ssi N = 0, 2, 8, 10, 13, 15, 16, 18, 24, 25, 26, 29, 31 avec 5, 7, 9, 12, 28 indiffrents
32
VII.
33
1 entre de validation : G
2 entres : A et B (bits comparer)
3 sorties : S(uprieur), E(galit) et I(nfrieur)
Si G = 0 S = E = I = 0 A et B (circuit bloqu)
Si G = 1 A > B S = 1 ; E = I = 0
A=BE=1; S=I=0
A<BI =1; S=E=0
Calculer les quations simplifies de S, E et I et dessiner le schma correspondant ces 3
fonctions runies en un seul bloc fonctionnel : le comparateur de bits.
2) Comparateur de nombres
On veut comparer 2 nombres de 4 bits (non signs) : A (A3, A2, A1, A0) et B (B3, B2, B1, B0)
en respectant les mmes consignes que ci-dessus.
Proposer un schma indiquant comment relier entre eux 4 blocs fonctionnels identiques
celui construit dans le 1er exercice grce aux portes ncessaires.
3) Afficheur 7 segments
A partir des sorties S, E et I du comparateur prcdent, on veut afficher sur un afficheur 7
segments les lettres suivantes :
a
f g b
e
si G = 0
si A > B
si A = B
si A < B
d
reprage des
LEDs de l'afficheur.
34
CIRCUITS COMPLEXES
Les portes simples que nous avons vues jusqu' maintenant permettent de construire des circuits de
plus en plus complexes jusqu'aux microprocesseurs les plus puissants.
Nous allons voir quelques uns des circuits les plus courants que l'on rencontre en Architecture des
Systmes.
I. Multiplexeur
Un multiplexeur est une sorte d'aiguillage logique : il permet de slectionner une entre de donne
parmi n et d'envoyer la donne prsente sur cette entre vers la sortie du circuit.
On peut faire l'analogie avec le bouton qui permet de choisir le tuner, le lecteur de CD ou le
magntophone sur une chane HIFI et d'envoyer le signal qui en vient vers l'ampli et les enceintes.
Pour slectionner une entre parmi n, il faut donner au multiplexeur le numro de cette entre,
videmment sous forme binaire : on appellera ce numro l'adresse de l'entre correspondante.
Par exemple avec 3 entres d'adresses, on peut compter de 0 (000) 7 (111) donc slectionner une
entre parmi 8. On parlera alors de multiplexeur 8 vers 1.
De faon gnrale, avec n entres d'adresses, on peut slectionner une entre de donne parmi 2n.
Schma d'un multiplexeur 8 vers 1
E0
E1
E2
E3
E4
E5
E6
E7
MUX
8 vers 1
G 0/7
C B A
Exemple d'utilisation d'un multiplexeur : transformation d'une liaison parallle en liaison srie
A l'intrieur d'un ordinateur, les donnes sont vhicules par paquets de 8 (ou 16 ou 32) sur un
ensemble de 8 (ou 16 ou 32) fils qu'on appelle le bus de donnes. Pour transmettre ces donnes par
exemple une imprimante situe loin de l'ordinateur, il revient cher d'avoir un cble qui doit
comprendre au moins 8 fils sans parler de ceux permettant de grer les changes entre l'ordinateur
et l'imprimante. Il est plus conomique d'envoyer les donnes les unes aprs les autres sur le
mme fil : on applique les donnes aux entres E0 E7 du multiplexeur et on applique
successivement les valeurs 0 7 sur les entres d'adresses C, B et A. En sortie, on obtiendra bien
sur un seul fil les donnes prsentes sur les entres, mais les unes aprs les autres.
Architecture EPITA INFO-SUP F. Gabon
35
II. Dcodeur
Il en existe diffrentes sortes qui permettent de passer d'un code (binaire, dcimal, hexa, Gray )
un autre : nous allons en tudier un exemple simple.
Il doit comporter 3 entres (C, B et A) et 23 soit 8 sorties (Y0 Y7) : si l'on applique sur les entres
C, B, A un nombre binaire i sur 3 bits (donc compris entre 0 et 7), la sortie correspondante Y i doit
tre gale 1, les autres sorties restant 0.
Y0
Y1
Y2
C
Y3
B G 0/7 Y4
A
Y5
Y6
Y7
DEC 3 vers 8
Exemple d'utilisation d'un dcodeur de ce type : dans un ordinateur, les donnes sont stockes dans
plusieurs "puces" mmoire et un dcodeur permet au microprocesseur de slectionner la bonne puce
en fonction de l'adresse laquelle on veut lire une donne (nous en verrons un exemple en TD).
III. Dmultiplexeur
C'est presque le mme circuit que ci-dessus mais auquel on rajoute une entre dite entre de
validation. Elle est souvent note G et fonctionne de la faon suivante.
Si elle est inactive (par exemple 0) le dmultiplexeur ne fonctionne pas : ses sorties Y i restent 0
quel que soit l'tat des entres A, B et C. Si elle est active, le dmultiplexeur fonctionne comme le
dcodeur vu ci-dessus.
G
Y0
Y1
Y2
C
Y3
B
G 0/7
Y4
A
Y5
Y6
Y7
DEMUX 3 vers 8
Rem :
- On peut comparer cette entre au bouton marche/arrt qui
fait fonctionner ou non un circuit.
- Les documents techniques prcisent toujours l'tat de G
ncessaire pour que le circuit fonctionne.
- En fait, il n'existe qu'un seul type de circuit appel
dcodeur/dmultiplexeur et on utilise l'entre G en fonction
des besoins.
Exemple d'utilisation d'un dmultiplexeur : il fait le contraire d'un multiplexeur ! (c'est mme pour
cela qu'on l'appelle dmultiplexeur)
Dans l'exemple donn plus haut de la transmission srie, il sera utilis pour "remettre en parallle"
les donnes arrivant en srie depuis l'metteur : il suffit de relier son entre G la sortie S du
multiplexeur et de mettre au mme instant les mmes valeurs sur les entres C, B et A du
multiplexeur et du dmultiplexeur. Il faudra de plus "mmoriser" les donnes prsentes sur les
sorties Yi pendant un cycle complet pour les retrouver prsentes toutes en mme temps, c'est dire
en parallle.
Architecture EPITA INFO-SUP F. Gabon
36
E0
E1
E2
E3
MUX
4 vers 1
B A
B
A
4) Raliser la mme fonction S que dans lexercice 2) a) avec un multiplexeur 4 vers 1 et un
simple inverseur en plus.
5) Dcodeur/Dmultiplexeur
Un dcodeur est un circuit qui dispose de n entres et de 2 n sorties et qui fonctionne de la
faon suivante :
Toutes les sorties sont dans ltat inactif sauf celle dont on donne ladresse sur les entres
dadresses.
exemple sur un dcodeur 3 vers 8 :
les entres dadresses sont notes C, B, A (du poids fort au poids faible)
les sorties sont notes Y0 Y7.
Si CBA = 1012 = 510, Y5 est active, les autres sorties restant inactives.
Si on rajoute une entre de validation G ce circuit est appel dmultiplexeur (le circuit ne
fonctionne comme indiqu ci-dessus que si cette entre est active, sinon toutes les sorties
restent dans ltat inactif quel que soit ltat des entres dadresses)
Architecture EPITA INFO-SUP F. Gabon
37
Rem : en fait dans les docs techniques, ces circuits sont confondus et on utilise le mme
composant en connectant ou non lentre de validation selon les besoins.
Le circuit 74LS138 est un dcodeur/dmultiplexeur 3 vers 8 qui dispose de 3 entres de
validation G1, G2A, G2B, de 3 entres dadresses C, B, A, de 8 sorties Y0 Y7 et qui
fonctionne comme suit :
Le circuit n'est valid que si G1 = 1 et G2A = G2B = 0, sinon : Yi = 1 quels que soient
A, B et C (sorties inactives : circuit bloqu)
Si le circuit est valid, Yi = 0 si CBA = i10, les autres sorties restant 1
(ltat actif est 0 sur les sorties)
a) Donner les quations et le cblage des sorties Yi en fonction de G1, G2A, G2B, C, B et A.
b) Raliser la mme fonction S que dans lexercice 2) a) avec un 74LS138 et la ou les
porte(s) ncessaire(s) 2 entres.
c) Comparer les 3 solutions permettant de raliser la mme fonction.
38
0F
A19 A16
A15
0F
A14 A13
A12
000 FFF
A11 A0
EPROM 1 @ basse
@ haute
EPROM 2 @ basse
@ haute
RAM 1
@ basse
@ haute
RAM 2
@ basse
@ haute
RAM 3
@ basse
@ haute
RAM 4
@ basse
@ haute
DUART
@ basse
@ haute
I/0
@ basse
@ haute
39
&
1
&
X
=1
&
1
&
S2
S1
S0
X(A, B)
Y(A, B)
F(A, B)
40
Retard t
Sortie
2. Chronogramme
Pour reprsenter une fonction logique, nous avons vu les quations logiques, les tables de vrit et
les tableaux de Karnaugh. Ces reprsentations sont suffisantes en logique combinatoire mais
n'intgrent pas la notion de temps et ne permettent donc pas de visualiser facilement des systmes
o le temps intervient de faon essentielle.
C'est pourquoi on adopte plutt les chronogrammes : ils consistent dessiner un graphique sur
lequel le temps sera reprsent en abscisse et le niveau logique (0 ou 1) en ordonne
(avec par convention : 0 en bas et 1 en haut !)
Chronogramme d'une porte NON : S E
t
t
t
t
41
3. Logique squentielle
On passe dans le domaine de la logique squentielle quand le temps intervient, c'est dire quand il
faut connatre l'tat antrieur de la sortie d'un systme (ainsi bien sur que l'tat des entres) pour
dterminer son tat un instant donn. On peut dire que le systme "garde en mmoire" l'tat
antrieur de la sortie pour dterminer son tat un instant donn.
On peut reprsenter un systme squentiel 2 entres par le schma suivant dans lequel on voit
apparatre le "rebouclage" de la sortie Q du systme sur son entre.
Entres A
B
Sortie Q
Pour simplifier l'criture, on adoptera
la notation suivante : Q(t) = Q et Q(t-1) = q
Retard
ex :
Systme
A
B
1
1
Q'
q
Retard
Retard
Q1
Q2
42
Cette table de vrit demande quelques prcisions essentielles pour bien comprendre la suite.
1re ligne : R = S = 0 Q1 et Q2 sont dans l'tat mmoire : les sorties restent dans l'tat o
elles taient juste avant le retour 0 de R et de S.
4me ligne : R = S = 1 Q1 = Q2 = 0 quel que soit l'tat antrieur de ces sorties. Si l'on
fait en mme temps une demande de mise 1 en activant S et une demande de mise 0 en
activant R, la sortie principale Q1 passe (ou reste) 0.
Pour cette raison une bascule RS base de NOR est appele bascule arrt prioritaire
(par analogie avec des machines commandes par un interrupteur Marche/Arrt, on associe
le niveau 1 la position Marche et le niveau 0 la position Arrt).
Mais ce dernier cas est particulier d'o l'toile cot du 0. En effet dans les 3 premiers cas, on a
toujours Q1 Q 2 . C'est vident pour les lignes 2 et 3 mais c'est aussi le cas pour la 1re ligne et
voici pourquoi.
A l'intrieur des portes NOR, les transistors et autres composants ne sont jamais totalement
identiques les uns avec les autres. En particulier certains ragiront (changeront d'tat) lgrement
plus vite que d'autres.
Partons de l'hypothse qu'un 0 apparat d'abord sur la sortie Q1. Dans ce cas, la porte NOR du bas
voit des 0 sur ses 2 entres. La sortie Q2 se positionne donc 1, ce qui maintient la sortie Q1 0. Le
systme est stable dans cette position et les 2 sorties sont bien dans des tats complmentaires.
Mais si nous tions partis de l'hypothse inverse (0 sur Q2 en premier) nous serions arrivs la
mme conclusion : Q1 et Q2 sont bien dans des tats complmentaires (inverses du cas prcdent).
Autrement dit, Q1 Q 2 sauf si R = S = 1
Imaginons maintenant que les entres R et S repassent en mme temps 0. Juste avant de repasser
0, elles taient 1(bravo !), et on avait Q1 = Q2 = 0. Juste aprs le passage 0, on doit avoir
Q1 Q 2 . Laquelle des 2 passe 1 ? On n'en sait rien et ce n'est pas acceptable pour un systme
informatique qui doit tre totalement prvisible et ne doit surtout pas dpendre de la rapidit d'un
composant par rapport un autre.
Cette explication (un peu longue ) justifie le fait que le dernier tat est appel tat interdit et
qu'on l'vite soigneusement !
Si l'on vite cet tat particulier, on a toujours Q1 Q 2 : on appellera Q la sortie Q1 et Q la sortie Q2
43
&
&
&
&
Q1
S
0
1
0
1
Q1
q1
1
0
1
remarques
tat mmoire
mise 1 de Q1
mise 0 de Q1
1*
Q2
q2
0
1
1
Q2
remarques
tat mmoire
mise 0 de Q2
mise 1 de Q2
1*
Les 3 premires lignes de la table de vrit de cette bascule sont identiques celles correspondant
la bascule RS base de NOR et ne demandent aucun commentaire supplmentaire.
Seule la dernire ligne diffre : R = S = 1 : Q1 = Q2 = 1 quel que soit l'tat antrieur de ces sorties
Pour cette raison une bascule RS base de NAND est appele bascule marche prioritaire.
Si l'on vite ce dernier tat (et on a vu qu'il valait mieux l'viter !), ces 2 bascules sont
rigoureusement quivalentes et par la suite on ne les distinguera plus.
S'
&
&
&
&
R'
On pourrait calculer l'quation de Q et tablir sa table de vrit, mais il est plus simple de raisonner
par analogie avec la bascule prcdente.
Tant que H = 0, S' = R' = 1 : la bascule est dans l'tat mmoire : on peut modifier l'tat des
entres S et R mais cela n'a aucune influence sur Q.
44
&
H
&
H"
H'
Rem : si les changements d'tat des entres ont lieu pendant que H = 0, les bascules synchronises
sur front montant se comportent comme des bascules synchronises sur niveau.
Symbole d'une bascule RS synchronise sur front montant
S
H
R Q
H
R Q
Ce type de synchronisation a encore des inconvnients : on a dj voqu le fait que les composants
n'ont pas un temps de raction nul : dans un systme informatique un peu complexe, certaines
bascules en commandent d'autres, elles n'ont pas toutes exactement les mmes temps de raction et
ces diffrences peuvent gnrer des dysfonctionnements pour le moins gnants !
45
Cette succession de 2 fronts s'appelle une impulsion (positive si le 1er front est montant et le 2me
descendant et ngative dans le cas contraire).
Pour obtenir ce rsultat, on utilise 2 bascules RS
dont la 1re est appele Matre (celles qui mmorise),
et la 2me Esclave (celle qui excute les ordres
du Matre et commande les sorties),
l'horloge tant inverse entre les 2 bascules
S1 Q1
S2 Q2
R1 Q 1
R2 Q 2
Rem : si les changements d'tat des entres ont lieu pendant que H = 0, les bascules synchronises
sur impulsion se comportent comme des bascules synchronises sur front descendant
puisque Q ne peut changer d'tat que sur le front descendant de H.
Symbole d'une bascule RS synchronise sur impulsion positive
Le triangle cot de l'entre d'horloge rappelle que
la mmorisation se fait sur front montant et le signe cot
de la sortie Q symbolise un front descendant : il rappelle que
la sortie Q ne peut basculer que sur le front descendant de H.
H
R Q
D
H
1
Schma
Symbole
S Q
D Q
H
Q
R Q
Il est vident sur ce schma qu'une bascule D asynchrone n'aurait pas de sens : ce serait une simple
porte OUI (Q = D) sans aucune mmoire et un simple fil la remplacerait avantageusement !
Les bascules D existent avec les 3 modes de synchronisation vus ci-dessus.
46
V. Les bascules JK
On a vu que, pour les bascules RS, l'tat R = S = 1 est interdit. On va "rcuprer" ce cas pour
obtenir une commande supplmentaire.
S'
J
&
&
Pour cela, on remplace les NAND de gauche
par des NAND 3 entres et on relie " l'ancienne" H
entre S Q et " l'ancienne" entre R Q.
&
&
K
R'
Admettons de plus que la bascule est synchronise sur front montant (il faudrait rajouter sur l'entre
H le circuit vu au paragraphe III. 2., non reprsent ici pour ne pas alourdir le schma)
J=K=0
J=1;K=0
J=0;K=1
J=K=1
on peut "oublier" ces 2 entres car des 1 l'entres d'un NAND ne modifient
pas sa sortie (X.1 = X). Supposons que Q = 1 avant le front montant
d'horloge. Au moment o celui-ci arrive, l'entre des NAND de gauche passe
1 pendant un bref instant. Donc R' ( = Q.H ) passe 0.
D'o Q( R '.Q) passe 1et Q ( S'.Q) passe 0. On voit qu'au moment
du front d'horloge Q change d'tat.
K
0
1
0
1
Q
q
0
1
q
remarques
tat mmoire
mise 0
mise 1
basculement
Q J.q K.q
47
Q1
Q2
S
Q1
S
Q2
b) Dans quel tat sont Q1 et Q2 si R = S = 1 ?
Quel est le type de cette bascule ? (marche ou arrt prioritaire)
c) Que se passe-t-il la dernire transition ? Indiquer l'tat interdit et expliquer pourquoi il est
interdit.
2) Mmes questions que ci-dessus.
R
&
&
&
&
Q1
S
Q1
Q2
Q2
48
VII.
&
&
&
&
H"
&
H
&
H'
H"
1
H
H'
H'
H" (1er schma)
S1
R1
S1 Q1
S2 Q2
R1
R2
Q1
Q1
Q2
Q2
49
3) Complter les chronogrammes suivants selon que la bascule RS est synchronise sur niveau
haut, sur front montant, sur front descendant ou sur impulsion positive.(Q = 0 t = 0)
S
R
Q
Q
Q
Q
4) Les montages suivants utilisent des bascules synchronises sur impulsion positive.
Tracer les chronogrammes de la sortie Q en fonction de H (Q = 0 t = 0)
Dans le circuit de gauche quel est le rapport entre la frquence du signal prsent en Q et celle de
H ? Comment appelle-t-on ce montage ?
S
5) Les montages suivants utilisent des bascules synchronises sur impulsion positive.
Tracer les chronogrammes des sorties QA et QB en fonction de H (QA = QB = 0 t = 0)
QA
QB
&
SA QA
SB QB
RA Q A
RB Q B
QA
SA QA
QA
QB
&
SB QB
RA Q A
QA
QB
&
RB Q B
SA QA
RA Q A
QA
QB
&
SB QB
RB Q B
H
Architecture EPITA INFO-SUP F. Gabon
50
D
H
D Q
H
Q
R Q
1) Complter les chronogrammes suivants selon que la bascule D est synchronise a) sur niveau
haut, b) sur front montant , c) sur front descendant, d) sur impulsion positive.(Q = 0 t = 0)
a)
a)
b)
b)
c)
c)
d)
d)
Dans le circuit de gauche quel est le rapport entre la frquence du signal prsent en Q et celle de
H ? Comment appelle-t-on ce montage ?
51
Q2
Q1
H
H
E
Q1
Q2
S
4) Les montages suivants utilisent des bascules synchronises sur impulsion positive.
Tracer les chronogrammes des sorties Qi en fonction de H (Qi = 0 t = 0)
QA
&
QB
DA QA
DB QB
QA
QB
QA
DA QA
=1
DB QB
QB
QA
H
QA
QC
H
&
DA QA
QA
=1
DB QB
QB
&
DC QC
QC
52
H
1
1
H
3) Les montages suivants utilisent des bascules synchronises sur impulsion positive.
Tracer les chronogrammes des sorties QA et QB en fonction de H (QA = QB = 0 t = 0)
JA QA
KA Q A
JB
1
JA
KA Q A
QB
KB Q B
QA
JB
QB
KB Q B
H
JA
QA
KA Q A
JB
QB
KB Q B
53
5) Raliser un montage qui dlivre le cycle suivant sur sa sortie S en fonction de H, en utilisant les
composants ncessaires.
S
Priode de S
6) Complter les chronogrammes de R et de Q du circuit suivant :
(la commande Reset est asynchrone)
E
H
0
&
H
E
R
Q
Q'
Tracer sur la dernire ligne le chronogramme de Q' = H.E
Comparer Q et Q' et montrer l'intrt du montage ci-dessus par rapport une simple porte ET
entre H et E ?
7) Complter les chronogrammes de QA, QB et S du circuit suivant :
Les chronogrammes de H et de E sont les mmes que ci-dessus.
(la commande Reset est asynchrone) Quel est l'intrt d'un tel montage ?
1
JA QA
&
KA Q A
Cl
E
JB QB
1
KB Q B
Cl
54
LES COMPTEURS
I. Introduction
Un compteur est un circuit qui compte des impulsions et qui affiche sur ses sorties le nombre
d'impulsions qu'il a reues depuis le dbut du comptage (en binaire videmment).
On le reprsente par le schma suivant :
(compteur sur 4 bits synchronis sur front montant)
QA est bien sur la sortie de poids faible et QD celle
de poids fort.
QA
QB
QC
QD
QB
QC
QD
JA
QA
JB
QB
JC
QC
JD
QD
KA Q A
KB Q B
KC Q C
KD Q D
Explication
: pour compter en binaire naturel il faut que le bit de rang i + 1 change d'tat quand le
bit de rang i repasse 0 : si l'on utilise des bascules synchronises sur front
descendant, il suffit de relier les sorties Qi aux entres d'horloge des bascules de rang
i + 1, ce qui est ralis sur le schma ci-dessus.
55
2. Modulo 2n
Pour revenir 0 sur une autre valeur qu'une puissance de 2, il faut dtecter cette valeur et remettre
immdiatement le compteur 0 : On utilisera l'entre de remise 0 asynchrone que possdent
toutes les bascules. Elle fonctionne de la faon suivante : ds que l'on applique l'tat actif sur cette
entre, la sortie Q de la bascule passe 0, indpendamment de l'tat de l'horloge et des autres
entres de commande (D ou J, K). Elle est note R(eset) ou Cl(ear) et elle est souvent active l'tat
bas.
J
Schma d'une bascule JK, synchronise sur front descendant
et munie d'une entre de remise 0 active l'tat bas.
K Q
Cl
Par exemple pour raliser un compteur asynchrone dcimal, c'est dire qui compte de 0 9 et qui
revient 0 la 10me impulsion, il faut dtecter la valeur 1010 soit 10102 et activer les entres Clear
des bascules par un niveau bas. La remise 0 doit donc tre active ds que Q D = QB = 1 et
QC = QA = 0 mais comme on compte par ordre croissant, c'est la 1 re fois que QD et QB sont tous les
deux 1 en mme temps : il suffit donc de dtecter le passage 1 de ces 2 sorties et d'envoyer un 0
sur les entres Clear des 4 bascules, ce qui se fait avec un simple porte NAND selon le schma
suivant.
QA
QB
QC
QD
JA
QA
JB
QB
JC
QC
JD
QD
KA Q A
Cl
KB Q B
Cl
KC Q C
Cl
KD Q D
Cl
&
Rem : par mesure de prcaution, on remet 0 toutes les bascules, mme les bascules A et C qui y
sont dj.
56
2. Modulo 2n
Le principe est analogue celui des compteurs quelques dtails prs : pour raliser un dcompteur
modulo n, on doit obtenir la squence suivante : 3, 2, 1, 0, n-1, n-2, ., 3, 2,
La valeur 0 doit bien exister et rester stable tant que la n ime impulsion n'est pas arrive : si le
modulo n tait une puissance de 2, la valeur suivant 0 serait n-1 c'est dire que toutes les sorties des
bascules seraient 1. C'est cette valeur-l qu'il faut remplacer par la valeur n-1.
Par exemple pour raliser un dcompteur asynchrone dcimal, c'est dire qui dcompte de 9 0 et
qui revient 9 la 10me impulsion, il faut dtecter la valeur 1510 soit 11112 et la remplacer par 910
soit 10012.
La mthode la plus simple serait de dtecter la valeur 15 10 et de remettre les sorties QC et QB 0 en
utilisant un simple NAND 4 entres. Dans la mesure o la valeur 10 10 soit 10102 n'apparat pas
dans le cycle normal, il suffit de dtecter celle-ci (soit QD = QB = 1) et de remettre QC et QB 0 en
utilisant un simple NAND 2 entres au lieu de 4.
Pour plus de scurit, on prfre repositionner toutes les sorties dans l'tat correct c'est dire 1001.
On doit donc utiliser des bascules disposant, en plus de l'entre de remise 0 (entre Clear) d'une
entre de remise 1 fonctionnant de la mme faon que l'entre Clear : ds que l'on applique l'tat
actif sur cette entre, la sortie Q de la bascule passe 1, indpendamment de l'tat de l'horloge et
des autres entres de commande (D ou J, K). Elle est note Pr(eset) et elle est souvent active l'tat
bas.
J Pr Q
K Q
Cl
QB
QC
QD
JAPr QA
JBPr QB
JCPr QC
JDPr QD
KA Q A
Cl
KB Q B
Cl
KC Q C
Cl
KD Q D
Cl
1
&
Rem : les entres Cl et Pr inutilises sont positionnes dans leur tat inactif c'est dire 1.
Les entres Pr des bascules A et D sont relies la sortie S du NAND mais les fils de liaison
ne sont pas reprsents pour ne pas alourdir le schma.
Architecture EPITA INFO-SUP F. Gabon
57
On ne peut compter ou dcompter que dans l'ordre binaire pur : impossible par exemple de
construire un compteur en code Gray.
La valeur du modulo apparat un bref instant, pendant le temps que mettent les bascules pour
ragir l'ordre de remise 0 ou 1 (cet inconvnient peut toutefois tre supprim au prix d'une
plus grande complexit dans la remise 0 du compteur).
La frquence maximum de comptage est limite par les temps de retard des bascules qui
s'ajoutent : si chaque bascule a un temps de retard de 10 ns, le passage de 0111 1000 ne sera
effectif qu'au bout de 40ns, le temps que la dernire bascule (D) ait ragi.
Toutes les bascules doivent disposer d'entres de forage Reset (et Preset pour les dcompteurs)
Pour toutes ces raisons, on prfre utiliser des compteurs dits synchrones : dans ceux-ci, les entres
d'horloge des bascules sont toutes relies ensemble contrairement aux compteurs asynchrones dans
lesquels la sortie d'une bascule commandait l'entre d'horloge de la suivante.
Pour un compteur de modulo 16, cela donne le schma suivant :
QA
QB
JA QA
JB
QB
KA Q A
KB Q B
QC
JC
QC
QD
JD
QD
H
KC Q C
KD Q D
Le problme va donc consister relier correctement les entres J et K de chaque bascule aux sorties
Q des autres bascules pour obtenir le cycle voulu.
On va utiliser l'quation d'une bascule JK qui donne la valeur de la sortie Q en fonction de son tat
antrieur not q et des tats de J et de K au moment du front d'horloge, soit : Q J.q K.q
Le plus simple est de partir d'un exemple concret, celui d'un compteur modulo 5 qui ncessitera 3
bascules C, B et A. On doit donc obtenir le cycle 0, 1,2, 3, 4, 0, 1 : on commence par remplir la
table de vrit correspondant au cycle voulu (voir page suivante).
Puis il faut remplir les tableaux de Karnaugh de chaque sortie Q en mettant dans la case
correspondant l'tat du compteur un instant t l'tat que l'on veut l'instant t + 1, c'est
dire aprs l'apparition de la nime impulsion.
58
tat initial
aprs la 1re impulsion
aprs la 2me impulsion
aprs la 3me impulsion
aprs la 4me impulsion
aprs la 5me impulsion
N10
0
1
2
3
4
0
QC
0
0
0
0
1
0
QB
0
0
1
1
0
0
QA
0
1
0
1
0
0
0
1
qBqA
00 01 11 10
1 0 0 1
0 X X X
QB
qC
0
1
qBqA
00 01 11 10
0 1 0 1
0 X X X
QC
qC
0
1
qBqA
00 01 11 10
0 0 1 0
0 X X X
On en tire les quations des sorties Q en utilisant ventuellement les valeurs indtermines X :
Q A q C .q A
QC q B .q A
Q B q B .q A q B .q A
On identifie chaque quation l'quation type d'une bascule JK : Q J.q K.q : le coefficient de q
doit tre gal J et celui de q doit tre gal K .
Bascule C : le terme qC n'apparat pas dans l'quation de QC : on ne peut pas identifier les
coefficients. Dans ce cas on n'agrandit pas la "bulle" : on ne prend pas le X.
.On obtient donc : QC q C .q B .q A ou, comme pour la bascule A : QC q C .q B .q A 0.q C
soit en dfinitive JC = qB.qA et KC = 1.
La rgle est donc : on agrandit les "bulles" comme d'habitude sauf si cet agrandissement fait disparatre la
variable minuscule de mme indice que la variable majuscule.
JA
QA
QB
JB
QB
QC
JC
&
QC
H
1
KA Q A
KB Q B
KC Q C
59
R1
R2
JA
QA
JB
QB
JC
QC
JD
QD
KA Q A
KB Q B
KC Q C
KD Q D
&
QA HB
JA
QA
KA Q A
QB
JB
1
QC
QB
KB Q B
JC
1
QD
QC
JD
QD
KC Q C
KD Q D
60
QC
QB
QA
H
X
Y
Ch
Cpt
Dcp
X
0
Y
x
RA
PrA
RB
PrB
RC
PrC
RD
PrD
61
62
QB
QC
QD
DA QA
DB QB
DC QC
DD QD
QA
QB
QC
QD
Si l'on veut pouvoir transfrer les donnes d'une case mmoire dans celle de droite ou de gauche, il
faut interconnecter les bascules entre elles : on obtient alors un registre dcalage.
Par exemple, on voit dans le schma ci-dessus que, si on relie QA DB, QB DC et QC DD, on
obtient un registre dcalage droite, c'est dire qu' chaque impulsion de l'horloge, le bit contenu
dans la bascule A sera transfr dans B, celui contenu dans B sera transfr dans C et ainsi de suite.
Si l'on veut obtenir un registre dcalage gauche, il faut relier QD DC, QC DB et QB DA.
A partir de ce principe, on peut complter le schma pour obtenir un registre permettant soit le
dcalage droite, soit le dcalage gauche, soit le chargement parallle (4 valeurs binaires a, b, c et
d sont mmorises dans les 4 bascules, sur la mme impulsion d'horloge), soit la mmorisation (les
donnes mmorises ne changent pas au moment des impulsions d'horloge). Un tel registre est dit
"registre universel".
Pour obtenir ces 4 modes diffrents de fonctionnement, il faudra bien sur disposer de 2 entres de
commande pour choisir l'un d'entre eux.
II. Applications
Conversion srie/parallle : si l'on envoie les 4 bits d'un nombre les uns aprs les autres
(c'est dire en srie) sur l'entre DA, au bout de 4 impulsions d'horloge, on les retrouvera
prsents en mme temps (c'est dire en parallle) sur les 4 sorties des bascules.
Multiplication (ou division) par 2 : pour multiplier (ou diviser) un nombre par 2 il faut
envoyer un "0" sur DA (ou sur DD)et dcaler tous les autres bits vers la droite (ou la gauche).
Ligne retard numrique : si l'on veut retarder une donne de n tops d'horloge, il suffit de
l'envoyer sur DA et de la lire sur la sortie de la nime bascule, en mode dcalage droite.
63
S1
S0
ED
EG
H
R
S0
0
1
0
1
fonction
tat mmoire : QA = qA etc
dcalage droite : EDABCD
dcalage gauche : EGDCBA
chargement parallle : QA = a etc
64
En dbut de cycle, le nombre X (x3, x2, x1, x0) est suppos prsent aux entres de chargement du
registre N1 et Y(y3, y2, y1, y0) aux entres de chargement du registre N 2
Une commande I(nit), active l'tat haut, doit permettre le chargement des registres et
l'initialisation des circuits.
En fin de cycle, on doit retrouver X dans le registre N 1, la somme X + Y dans le registre N 2 et la
retenue ventuelle dans la bascule D.
Complter le schma ci-dessous pour obtenir cet additionneur.
S1 QA
QB
QC
S0
ED
Registre N 1
EG
H
b
c
R a
QD
Add
d
r-1
S1 QA
QB
QC
S0
ED
Registre N 2
EG
H
b
c
R a
QD
Q
Cl
d
65
CORRECTION
NUMERATION : CHANGEMENTS DE BASE
1) 324 ; 1579 ; 185 ; 65 ; 189 ; 2988 ; 4314
2) 1100 0010 ; 1111 1110 ; 2AF ; BCD ; 2322
3) 1011 0111 1010 1110 ; 1101 1100 1011 1111 ; 101 0110 0011 0100 1001 ; 101 101 110 111
125715 ; 43C ; E83A ; 164072
4) 4 ; 12 ; 6
5) a = 10 et b = 5 ; a = 36 et b = 6 ; a = 27 et b = 3
6) 125
8) 13,375 ; 501,53125 ; 172,03125
9) 16,514 ; 101010,0110101 ; 45,3AE ; 6C6, 2D8 ; 1364,734
OPERATIONS EN DIFFERENTES BASES
1)
2)
3)
4)
5)
1 0111 1000 ; 1001 1000 ; 1 1000 1011 ; 1360 ; 1176 ; 18294 ; C2DE ; 14E5
101 1010 1110 ; 10010 ; - 101
1010 1010 0101 ; 10 0010 0100 0110
1000,11001 ; 11010,1001
a) 2 ; 4 ; 8 ; 2n b) 213 = 819210 =200016; 1FFF16 c) 215 = 3276810 = 800016 ; 7FFF16 ;
d) M1 : 0000 1FFF ; M2 : 2000 3FFF ; M3 : 4000 BFFF ; M4 : C000 13FFF ;
capacit : 14000h ; 17 fils
6) a) 1501 valeurs diffrentes : 11bits b) 150/2047 = 0,073278 mm c) l / 150 = x / 2047
d) 100 / 0,073278 = 136510 = 55516 = 101 0101 01012 e) 134,538 mm
NOMBRES SIGNES ET CODES
1)
2)
3)
4)
a) 1111 1111 ; 1110 0011 ; 1101 1000 ; 1000 0001 ; 1000 0000
a) 103 ; erreur ; - 69 ; erreur ; 4
b) 111011G : 1010110G ; 1000100G ; c) 136 ; 204 ; 254
1001 0111 ; 0111 0010 0100 ; 0010 0000 0000 1001 ; 0110 0011 0000 1000
LES PORTES LOGIQUES EN ELECTRONIQUE
1)
VB
VA
0
0
0
5
5
0
5
5
type de
porte
tat
de DB
B
B
P
P
tat
de DA
B
P
B
P
IB
IA
IR
VS
0
0
0
1
1
0
0,5 0,5
0
1
1
1
0
5
5
5
tat
de DB
P
P
B
B
OU
tat
de DA
P
B
P
B
IB
IA
IR
VS
0,5
1
0
0
0,5
0
1
0
1
1
1
0
0
0
0
5
ET
2)
Ve
0
5
tat du transistor
Bloqu
Satur
VS
5
0
66
S4 A.B C D
b) A B C D 0 ou A.B.C.D 1
d) A.B.C.D 0 ou A B C D 1
S2 A B A.B
S3 A C
S5 A(B C)
S6 B(A C)
S5 A B.C
3) S1 A.B A.B A B
S6 B A.C
S5 A.B.C A B C
5) S1 A.B.A.B A B A B
6) S1 = A(C + B.D)
S2 = A + C
10) a) S C(B A)
S3 = B
b) S C B.A
c) S A.(B C)
11) A' = A
B' = B A
C' = C (B + A)
12) C' = C
B' = B C
A' = B A
b) S A(B D)
13) a) S = D(C + B)
d) S D.C.B B.A.(D C)
S6 B.A.C B A C
d) S A
c) S A C
e) S B.(A D)
OPERATIONS ARITHMETIQUES
1) B' D.A D.C.A C.B.A
R i Bi .A i R i1 (Bi A i )
COMPARAISON ET AFFICHAGE
b = S E
3) a = d = f = I
c= E
e = S I
2) a) S A (B C)
Architecture EPITA INFO-SUP F. Gabon
c) 22
EPROM 1 @ basse
@ haute
EPROM 2 @ basse
@ haute
RAM 1
@ basse
@ haute
RAM 2
@ basse
@ haute
RAM 3
@ basse
@ haute
RAM 4
@ basse
@ haute
DUART
@ basse
@ haute
I/0
@ basse
@ haute
0F
A19 A16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
A15
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0F
A14 A13
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
A12
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
000 FFF
A11 A0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
UNITE LOGIQUE
S3 S2 S1 S0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
X(A, B)
1
1
1
1
A B ou A.B
A B ou A.B
A B ou A.B
A B ou A.B
A.B ou A B
A.B ou A B
A.B ou A B
A.B ou A B
A
A
A
A
Y(A, B)
F(A, B)
A
A B ou A.B
A
A B ou A.B
A.B ou A B
0
A.B ou A B
0
A
A B ou A.B
A.B ou A B
B
AB
A.B ou A B
0
A
A B ou A.B
A.B ou A B
0
A
A B ou A.B
A.B ou A B
0
A B ou A.B
A B ou A.B
AB
B
A.B
1
A B ou A.B
A+B
A
68
Compteur mod 7
Dcompteur mod 10
Compteur mod 8 en Gray
Compteur dfilement
Compteur accumulation
JA
B.C
1
KA
1
1
JB
A
KB
A+C
JC
A.B
KC
B
JD
KD
A.(C D)
D.A
AB
A BC
CB
D.C.B
1
CB
1
D
C.A
A
A
A
C.A
1
D
B.A
B
B
AB
1
D
C
C
1
1
REGISTRE A DECALAGE
69