algèbre de boole et circuits logiques
TRANSCRIPT
![Page 1: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/1.jpg)
Algèbre de Boole et circuits logiques
Eric GarciaEric Garcia
20022002
IUT GTR, Montbéliard
Architectures des ordinateursCours 3
![Page 2: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/2.jpg)
PlanPlan
Algèbre de BooleAlgèbre de Boole
Circuits combinatoiresCircuits combinatoires
Circuits séquentiels : basculesCircuits séquentiels : bascules
Application des basculesApplication des bascules
UALUAL
ÉlectroniqueÉlectronique
![Page 3: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/3.jpg)
Logique des propositionsLogique des propositions
Proposition = énoncé vrai ou faux
a : les élèves sont présents b : le professeur est présent cours si a et b
Combinaison par des connecteurs
(non logique) (et logique) (ou logique non exclusif)
p p
V F
F V
p q p q p q
V V V V
V F V F
F V V F
F F F F
tables de vérités
![Page 4: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/4.jpg)
Notion ensemblisteNotion ensembliste
R
a
a
R
a b
ba
R
a b
ba
![Page 5: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/5.jpg)
Passage à l’algèbre de BoolePassage à l’algèbre de Boole
Il y a d’autres connecteurs et quelques lois dans la logique des propositions : a b = (a b)…
a b a b a b a b (a b)
V V F F F V F
V F F V F V F
F V V F F V F
F F V V V F V
Georges Boole a exprimé la logique des propositions en termes algébriques
Claude Shannon a proposé : V = 1 et F = 0 aaa
baba
baba
1
.
![Page 6: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/6.jpg)
Algèbre de BooleAlgèbre de Boole
Il existes 16 fonctions à deux variables : toutes ne sont pas intéressantes
0 0 0 1 0 1 0 1
0 1 1 0 0 1 1 0
1 0 1 0 0 1 1 0
1 1 1 0 1 0 0 1
a b ba ba ab ab ba ba
Ou exclusif ou xor
Non ou ou nor
Non et ou nand
bababa
ba
ab
![Page 7: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/7.jpg)
Opérations de baseOpérations de base
Toutes les fonctions peuvent s’exprimer à l’aide des trois opérations logiques et, ou, non
Avec n variables on peut construire 2n fonctions Une fonction à trois variables peut se décomposée en deux
f(a,b,c) = f(0,b,c) si a=0 et f(a,b,c) = f(1,b,c) si a=1 f(a,b,c) = a.f(1,b,c) + a.f(0,b,c)
groupe logique complet = ensemble de fonction à partir desquels il est possible de réaliser toutes les fonctions {et,ou,non}… Fonctions à n variables décomposables et fonctions à 2 variables exprimable avec {et,ou,non} récurrence…
L’algèbre de Boole se construit sur les booléens à partir des trois opérations internes : +, * et
![Page 8: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/8.jpg)
Théorèmes et axiomes (1)Théorèmes et axiomes (1)
Théorème des constantes
Idempotence
Complémentation
Commutativité
aa 0 00 a11a aa 1
aaa aaa
1 aa 0aa
abba abba
1aa
0aa
aa 0aa 1
abba
![Page 9: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/9.jpg)
Théorèmes et axiomes (2)Théorèmes et axiomes (2)
Distributivité
Associativité
))(()( cababca acabcba )(
cbacbacba )()(abccabbca )()(
Théorème de De Morgan
baab
baba
![Page 10: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/10.jpg)
Table de vérité et équationTable de vérité et équation
Pour concevoir un circuit, il faut le modéliser.
on utilise une table de vérité on obtient une équation qu’on simplifie (algébrique ou Karnaugh) on trace le schéma électrique du circuit
éléments constitutifs d’un ordinateur : exclusivement portes nand ou bien nor (système complet)
Table de vérité : présente toutes les combinaisons possibles des n entrés (2n lignes) et les états de sortie correspondant
Une fois la table de vérité écrite, il faut la transformer en équation logique
somme (fonction ou) de produit (fonction et)
![Page 11: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/11.jpg)
Équation : exempleÉquation : exemple
F(a,b)=1 si
a=0 et b=0 soit a=1 et b=1 donc si a.b=1a=1 et b=0 soit a=1 et b=1 donc si a.b=1 a=1 et b=1 donc si a.b=1
F(a,b) = a.b+a.b+a.b
a b F(a,b)
0 0 1
0 1 0
1 0 1
1 1 1
Simplification algébrique de l’équation
abbaF
abbaF
abbaF
abaabaF
ababaF
ababaF
ababaF
bbababaF
),(
),(
.),(
..),(
).(),(
))..((),(
.),(
).(.),(
![Page 12: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/12.jpg)
Diagrammes de KarnaughDiagrammes de Karnaugh
Table de Karnaugh : principe
départ : somme de produits où chaque produit doit contenir toutes les variables : (a+a)b = b
chaque colonne diffère de sa voisine d’un seul littéral les tables de Karnaugh sont à deux dimensions : on regroupe
des variables on regroupe les 1 en morceaux rectangulaires
1. plus grands morceaux possibles2. moins de morceaux possibles3. nouveau morceau que s’il permet de regrouper des 1 non
encore regroupés4. la ligne du haut et du bas ainsi que colonne de droite et de
gauche sont adjacentes
Morceau = produit de variable : variable et son inverse dans le même morceau = élimination de la variable
![Page 13: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/13.jpg)
Karnaugh : exemple n°1Karnaugh : exemple n°1
babababaF ...),(
abbaF ),(
a
a
b b
1 1
10
![Page 14: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/14.jpg)
Karnaugh : exemple n°2Karnaugh : exemple n°2
abccbacbacbabaF
abcccbacbabaF
abcbacbabaF
),(
)(..),(
..),(
cbacbaF ),(
a
a
bc cb
1 1
00
cb
1
1
cb0
0
![Page 15: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/15.jpg)
Portes et circuits logiquesPortes et circuits logiques
Un ordinateur travaille en base 2
Électroniquement 0 correspondait à une tension de 0 à 0,8V et 1 à une tension de 2,8 à 2,5V (tensions données par les constructeurs de composants) Toute fonction binaire peut être représentée par une expression booléenne Tout circuit électrique ou électronique à deux valeurs de tension peut être représenté par une expression booléenne
Préférable de représenter les circuits par des symboles logiques et non par des expressions booléennes
Correspondance entre les différentes fonctions logiques (+,*…) et des symboles appelés portes logiques
![Page 16: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/16.jpg)
Portes logiquesPortes logiques
ET
NON
OU
OU exclusif
XOR
a
ba
ba
ba
![Page 17: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/17.jpg)
Portes logiques et circuitsPortes logiques et circuits
a
ba
ba
ba
![Page 18: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/18.jpg)
Portes logiques : mise en sériePortes logiques : mise en série
NON ETNAND
NON OUNOR
ID
ba
ba
ba
![Page 19: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/19.jpg)
SchémaSchéma
Exemple du schéma électrique de la fonction
a b F(a,b)
0 0 1
0 1 0
1 0 1
1 1 1
abbaF
babababaF
),(
...),(
a
b
![Page 20: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/20.jpg)
Système complet (1)Système complet (1)
Porte NAND = la plus simple à réaliser du point de vue technologique. Possible de réaliser toutes les fonctions logiques en utilisant uniquement NAND (http://www.univ-lemans.fr/enseignements/physique/02/electro/portes2.html)
ET
XOR
OU
NON
![Page 21: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/21.jpg)
Système complet (2)Système complet (2)
NON OU
Représentation des assemblages de portes NAND (TTL : 7400 ou CMOS : 4011) qui réalisent les différentes fonctions logiques
![Page 22: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/22.jpg)
PlanPlan
Algèbre de BooleAlgèbre de Boole
Circuits combinatoiresCircuits combinatoires
Circuits séquentiels : basculesCircuits séquentiels : bascules
Application des basculesApplication des bascules
UALUAL
ÉlectroniqueÉlectronique
![Page 23: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/23.jpg)
Cristal et dopageCristal et dopage
Trois type de cristaux (structures régulières d’atomes)
Isolants : dioxyde de Silicium (SiO2) Conducteurs : Cuivre, Aluminium, Or… Semi-conducteurs : Silicium, Germanium, Arséniure de Gallium
isolant à très basse température et conducteurs sinon
Dopage : insérer des atomes d’un matériau A dans un cristal d’atomes B = modification de la conductivité du cristal
négatif : on introduit un excès d’électrons dans le cristal. Exemple : un excès d’un atome de Phosphore dans un cristal de Silicium divise par 30000 sa résistivité positif : on retire des électrons le Silicium est facilement dopable
![Page 24: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/24.jpg)
Transistor à effet de champ MOSTransistor à effet de champ MOS
Transistor à canal N :
à l’intérieur d’un substrat faiblement dopé P on délimite 2 zones fortement dopées N (source et drain) espacée d’une distance L à la surface du substrat (entre source et drain) on dépose une couche d’isolant (dioxyde de Silicium) puis de Silicium dopéP
![Page 25: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/25.jpg)
Temps de réponseTemps de réponse
Temps de Propagation (Propagation Delay)
passage de l' état logique "0" à l' état logique "1", et inversement ne sont pas instantanés mais prennent un temps : tPLH temps de propagation LOW to HIGH tPHL = temps de propagation HIGH to LOW . Ex : tPLH = 8 ns pour le 74LS21 signal électrique : 200 000 km/s dans un conducteur mais 2 km/s dans un semi-conducteur
Puissance consommée
La puissance consommée " p" en mW par un boîtier dépend de sa fréquence d' utilisation et du nombre d' opérateurs utilisés .Ex : 2mW par opérateur pour le 74LS21
![Page 26: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/26.jpg)
Transistor à canal PTransistor à canal P
Même principe mais bloquant si VG = 5V passant sinon
Tensions des circuits électronique de l’ordre de 3,3 V ou 5 V
pour représenter les valeurs logiques (1 et 0) il est impossible de prendre 0V pour 0 ou 5V pour 1 (bruits parasites) 0 logique : tension comprise entre 0 et 0,75 V 1 logique : tension comprise entre 4,5 et 5 V
on peut modéliser un transistor sous forme d’un circuit courant à gauche = active l’électro-aimant = ferme l’interrupteur
![Page 27: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/27.jpg)
Portes logiquesPortes logiques
A partir de ce dispositif on peut réaliser des portes de base (ET, OU…)
Portes logiques : regroupées dans des circuits intégrés (2 types de technologies différentes TTL ou CMOS)
![Page 28: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/28.jpg)
Circuits intégrésCircuits intégrés
Plaquette de Silicium contenant :
des éléments actifs : transistor (amplification de tension) des éléments passifs : résistances, condensateurs, diodes. entre 5 et 500 mm² : peut contenir plusieurs million d’éléments
Les circuits intégrés (chip) peuvent être classifiés
SSI (Small Scale Integration) contenant moins de 100 portes MSI (Medium) : entre 100 et 1000 portes LSI (Large) : entre 1000 et 105 portes VLSI (Very Large) : entre 105 et 107 portes ULSI (Ultra Large) : plus de 107 portes
Largeur des connexions entre éléments : influence sur la densité des transistors au mm² (0,13 microns)
![Page 29: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/29.jpg)
Introduction aux circuits logiquesIntroduction aux circuits logiques
Portes logiques : réalisées électroniquement par un ou deux transistors
Plusieurs portes logiques forment un circuit logique = circuit intégré
circuits combinatoires : ne font que combiner les variables d’entrée selon une table de vérité circuits séquentiels : construits à partir de circuits combinatoires + capacité de mémorisation
La réalisation d’un circuit passe par la recherche des expressions booléennes, puis par leur simplification (règles ou tableau de Karnaugh)
![Page 30: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/30.jpg)
PlanPlan
Algèbre de BooleAlgèbre de Boole
Circuits combinatoiresCircuits combinatoires
Circuits séquentiels : basculesCircuits séquentiels : bascules
Application des basculesApplication des bascules
UALUAL
ÉlectroniqueÉlectronique
![Page 31: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/31.jpg)
Demi-additionneurDemi-additionneur
Addition de deux bits x et y
x y S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1xyyxyxS
xyR
).(
![Page 32: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/32.jpg)
Additionneur complet Additionneur complet
Addition de deux nombres
addition bit à bit considération de la retenue précédente somme de 3 bits = additionneur complet
x
y
re
rs
S
Somme S
vaut 1 si entre x, y et re (retenue d’entrée) : le nombre de bits à 1 est impaire
Retenue de sortie rs
vaut 1 si x et y valent 1, ou si l’un des deux vaut 1 alors que re vaut 1
![Page 33: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/33.jpg)
Additionneur complet : circuitAdditionneur complet : circuit
Un additionneur se réalise à l’aide d’additionneurs 3 bits mis bout à bout
x y re S rs
1 1 0 0 1
1 1 1 1 1
1 0 0 1 0
1 0 1 0 1
0 1 0 1 0
0 1 1 0 1
0 0 0 0 0
0 0 1 1 0
).(
..
yxrexyrs
reyrexxyrs
yxreS
![Page 34: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/34.jpg)
Additionneur 2n bits : propagationAdditionneur 2n bits : propagation
Forme la plus simple : propagation de retenue
le calcul sur chaque bit se fait de façon différée rang 0 en premier puis rang 1 avec la retenue du rang 0…
Temps de calcul
si un additionneur 1 bit met 1T pour calculer la retenue et 1,5T pour le résultat rs0 à T et S0 à 1,5T rs1 à 2T et S1 à 2,5T rsn-1 à nT et Sn-1 à (n+0,5)T
Temps : (n+0,5)*T = linéaire
x0
y0
re0=0
rs0
S0
x1
y1
rs1
S1
xn-1
yn-1
rsn-1
Sn-1
![Page 35: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/35.jpg)
Additionneur 2n bits : anticipationAdditionneur 2n bits : anticipation
Anticipation de retenue
partie complexe : calcule en un temps très court toutes les retenues à partir des différents bits à additionner
Temps de calcul
si un additionneur 1 bit met 1,5T pour calculer le résultat et si l’anticipation de retenue met 3T Temps : 4,5T = constant
Ant
icip
atio
n de
ret
enue
x0
y0S0
xn-1
yn-1Sn-1
rsn-1
rsn-2
![Page 36: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/36.jpg)
IncrémenteurIncrémenteur
Ajouter ou retrancher 1 : opération fréquente d’un processeur
utiliser l’addition : utilisation non optimale Exemple : incrémenteur 4 bits
![Page 37: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/37.jpg)
MultiplexeurMultiplexeur
Permet d’envoyer sur la sortie (C) l’état d’une entrée (A) ou de l’autre (B) en fonction d’un signal de sélection (S)
A B S C
0 X 0 0
1 X 0 1
X 0 1 0
X 1 1 1
SBSAC
SBAASBBAC
..
.).()..(
A
BC0
1
![Page 38: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/38.jpg)
Multiplexeur / DemultiplexeurMultiplexeur / Demultiplexeur
Multiplexeur à deux et 2n entrées
Demultiplexeur : aiguille l’entrée sur la sortie n°S
![Page 39: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/39.jpg)
PlanPlan
Algèbre de BooleAlgèbre de Boole
Circuits combinatoiresCircuits combinatoires
Circuits séquentiels : basculesCircuits séquentiels : bascules
Application des basculesApplication des bascules
UALUAL
ÉlectroniqueÉlectronique
![Page 40: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/40.jpg)
UAL : principeUAL : principe
UAL : Unité Arithmétique et logique
effectue les opérations de bases (arithmétiques et logiques° un code d’entrée détermine la partie du circuit qui va effectuer les opérations
UAL 1 bit : opération ET / OU
en fonction d’un signal Op le circuit calcul a ET b ou bien a OU b
Op S
0 a et b
1 a ou b
urmultiplexeOpyOpxS
OpbaOpbaS
..
).(..
![Page 41: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/41.jpg)
UAL : ET, OU, +UAL : ET, OU, +
UAL 2 bits : opération ET / OU / +
on ajoute un additionneur
Op1 Op0 S
0 0 a et b
0 1 a ou b
1 0 a + b
1 1 libre
![Page 42: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/42.jpg)
UAL n bitsUAL n bits
Traitement de données codées sur n bits
![Page 43: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/43.jpg)
UAL : représentation UAL : représentation
UAL chargée des opérations
logique : AND, OR, XOR, NOT, CMP, LSL, LSR, ASR (décalages) arithmétiques : ADD, SUB, MUL, DIV, INC (+1), DEC (-1)
![Page 44: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/44.jpg)
UAL : autre représentationUAL : autre représentation
UAL 8 bits
![Page 45: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/45.jpg)
PlanPlan
Algèbre de BooleAlgèbre de Boole
Circuits combinatoiresCircuits combinatoires
Circuits séquentiels : basculesCircuits séquentiels : bascules
Application des basculesApplication des bascules
UALUAL
ÉlectroniqueÉlectronique
![Page 46: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/46.jpg)
Circuits séquentiels : définitionCircuits séquentiels : définition
Définition
circuit séquentiel : pour la même combinaison des données, la sortie peut prendre diverses valeurs en fonction du temps mémorisation des états passés table de vérité : on trouve en plus des entrées, la valeur de sortie à l’état précédent
Les circuits séquentiels de base sont les bascules
particularité : deux états stables = conservation de l’état de leur sortie même si la combinaison des signaux d’entrée l’ayant provoquée disparaît
Horloge : composant passant d’un niveau haut à bas (0101010…)
bascules synchrones (avec horloge) insensibles aux bruits entre deux tops ou asynchrone (sans)
![Page 47: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/47.jpg)
Bascules RS (1)Bascules RS (1)
Circuit le plus simple
une entrée S (Set – mise à un) et une sortie R (Reset – remise à 0) qui permettent de changer l’état de la bascule bascule asynchrone : pas d’horloge
R S Q- Q
0 0 0 0 Q=Q-
0 0 1 1 Q=Q-
0 1 X 1 Mise à 1
1 0 X 0 Effacement
1 1 X ? Interdit))((
)).((
).(
)..(
...
QSRQ
QSRQ
QSRQ
QSSRQ
QSRSRQ
Mise à 1 et mise à 0
![Page 48: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/48.jpg)
Bascules RS (2)Bascules RS (2)
Effet mémoire représenté par le retour des sorties
Bascules RS fréquemment utilisées dans les circuits anti-rebond.
R S Q- Q
0 0 0 0 Q=Q-
0 0 1 1 Q=Q-
0 1 X 1 Mise à 1
1 0 X 0 Effacement
1 1 X ? Interdit
))(()).((
).()..(
...
QRSQRSQ
QRSQRRSQ
QSRSRQ
![Page 49: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/49.jpg)
Bascules RSC ou RSHBascules RSC ou RSH
Bascule RS asynchrone : deux problèmes
sensibilité aux bruits parasites (prise en compte des entrées à tout moment) synchronisation (quand peut-on prendre les données)
Solution : R et S pris en compte à des instants déterminés à l’aide d’une horloge (période plus grande que le temps de stabilisation)
C R S Q
1 0 0 Q-
1 0 1 1
1 1 0 0
1 1 1 ?
0 X X Q-
![Page 50: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/50.jpg)
Bascules DHBascules DH
Pour supprimer l’état indéterminé (Horloge ou Clock)
on utilise un signal D qui va être mémorisé dans la bascule RS D permet de fabriquer deux signaux R et S (différents de 11) H : signal d’horloge permet de mémoriser le signal dans une plage de temps fixée (quand H vaut 1)
DHS
DHR
.
.
H D Q- Q
0 X 0 0 Q=Q-
0 X 1 1 Q=Q-
1 1 X 1 S=1;Q=1
1 0 X 0 R=1;Q=0
![Page 51: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/51.jpg)
Bascules DH sur frontBascules DH sur front
On mémorise à un instant précis
front descendant : signal d’horloge passe de 1 à 0 fonctionnement de bascule synchrone
Signal d’horloge = 1 : D est stocké dans la 1ère bascule
Passage à 0 : le signal issu de la 1ère bascule est stockée dans la 2ème
![Page 52: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/52.jpg)
Bascules D avec validationBascules D avec validation
Branchement de plusieurs bascules sur un bus de données
attention : une seule sortie validée à un instant donnée on ajoute, en sortie de bascule, un interrupteur commandé par un signal de validation la sortie de bascule est reliée à l’extérieur si Val = 1
Val H D Q
1 X X Q-
1 1 1
1 0 0
0 X X NC
![Page 53: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/53.jpg)
Bascules complètesBascules complètes
Elles possèdent à la fois des entrées
asynchrones : PRESET (=0 mise à 1) et CLEAR (=0 mise à 0) synchrones : changement de sortie qu’à des moments précis (H,D)
Elles constituent les mémoires statiques de l’ordinateur
Val H D PRESET CLEAR Q
1 X X 1 1 Q-
1 1 1 1 1
1 0 1 1 0
1 X X 0 1 1
1 X X 1 0 0
1 X X 0 0 ?
0 X X X X NC
![Page 54: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/54.jpg)
RegistresRegistres
Application des bascules : utilisées pour leurs effets mémoire, chacune permet de stocker un bit
Registres
parallèles synchrones (bascules DH sur front montant) parallèles asynchrones (PRESET et CLEAR) Série (bascules connectées en séries) : pour transmettre des informations n bit sur un seul fil : modem, imprimante série…
compteurs binaires
Décalage
rotation…
![Page 55: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/55.jpg)
Registres : exempleRegistres : exemple
// synchrone// synchrone
// asynchrone// asynchrone
sériesérie
![Page 56: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/56.jpg)
Registres : repérageRegistres : repérage
Dans un microprocesseur les données et le résultat d’une opération UAL sont stockés dans les registres (2 ports d’entrée et 1 port de sortie)
un registre est repéré par un numéro pour la lecture on a besoin de deux multiplexeurs à 2n entrées
![Page 57: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/57.jpg)
Mémoire SRAMMémoire SRAM
SRAM (Static Random Access Memory)
composée d’un ensemble de 2n lignes de données de m bits signal Lecture(0)/Écriture(1) en mémoire un décodeur permet de valider une ligne de bascules (un registre)
SRAM : 1 bit = 1 bascule = 2 portes NOR = 4 transistors
mémoire très rapide DRAM = 1 transistor + 1 condensateur qui se décharge vite et qui doit être périodiquement rechargé (Dynamic) DRAM moins rapide que SRAM car on ne peut pas faire d’accès pendant le temps de rechargement mais moins chère.
SRAM : registres processeur, mémoire cache DRAM : mémoire centrale
![Page 58: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/58.jpg)
PlanPlan
Algèbre de BooleAlgèbre de Boole
Circuits combinatoiresCircuits combinatoires
Circuits séquentiels : basculesCircuits séquentiels : bascules
Application des basculesApplication des bascules
UALUAL
ÉlectroniqueÉlectronique
![Page 59: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/59.jpg)
Multiplieur V1 (1)Multiplieur V1 (1)
Multiplication simple : multiplication, décalage, addition
9*5=1001*0101=1001+00000+100100+0000000=101101=45 Algorithme :
Pour i de 1 à Taille des donnéesSi (bit 0 de n1 = 1) alors
produit = produit + n2FinsiDécaler à gauche n2Décaler à droite n1
Multiplicande Multiplicateur Produit
1001 101 1001
10010 10 1001
100100 1 001001+100100=101101
1001000 0 101101…
![Page 60: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/60.jpg)
Multiplieur V1 (2)Multiplieur V1 (2)
Si n1 et n2 sont codés sur 32 bits, on a besoin de :
un registre 64 bits pour décaler n2 un registre 32 bits pour n1 une UAL 64 bits pour le calcul un registre 64 bits pour stocker le résultat
![Page 61: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/61.jpg)
Multiplieur V2 (1)Multiplieur V2 (1)
Pour limiter le matériel : sur les 64 bits du registre contenant n2 : 32 utilisés Algorithme :Pour i de 1 à Taille des données
Si (bit 0 de n1 = 1) alors 32 bits MSB du produit=32 bits MSB du
produit+n2FinsiDécaler à droite produitDécaler à droite n1
![Page 62: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/62.jpg)
Multiplieur V2 (2)Multiplieur V2 (2)
Multiplicande Multiplicateur Produit
1001 101 32 bits MSB+1001=1001
…010010000000…
1001 10 32 bits MSB+0000=0100
…00100100000000000…
1001 1 32 bits MSB+1001=1011
…0101101000000000000…
À la fin de la 32ème itération
…000101101
on a besoin de :
deux registres 32 bits pour n1 et n2 une UAL 32 bits pour le calcul un registre 64 bits pour stocker le résultat
![Page 63: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/63.jpg)
Multiplieur V3 (1)Multiplieur V3 (1)
Dans le résultat : les 32 bits de poids faible ne sont pas utilisés au début : on peut y placer n1 décalé en // au produit
Algorithme :Pour i de 1 à Taille des données
Si (bit 0 de n1 = 1) alors 32 bits MSB du produit=32 bits MSB du
produit+n2FinsiDécaler à droite produitDécaler à droite n1
on a besoin de :
un registre 32 bits pour décaler n2 une UAL 32 bits pour le calcul un registre 64 bits pour stocker le résultat et n1
![Page 64: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/64.jpg)
Multiplieur V3 (2)Multiplieur V3 (2)
Multiplicande Produit
1001 32 bits LSB 000000….0101
32 bits MSB+1001=1001
…010010000…0010
1001 32 bits LSB 1000….00010
32 bits MSB+0000=0100
…0010010000…001
1001 32 bits LSB 01000….0001
32 bits MSB+1001=1011
…01011010000…001
À la fin de la 32ème itération
00…001001101
![Page 65: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/65.jpg)
Additionneur de réels (1)Additionneur de réels (1)
Pour réaliser l'addition de n1 + n2 on utilise l'algorithme suivant:
Si (exposant n1 > exposant n2) alors décaler la mantisse de n2 à droite de (exposant n1 - exposant n2) rang(s) sinon décaler la mantisse de n1 à droite de (exposant n2 - exposant n1) rang(s) FinsiAdditionner les mantisses de n1 et n2Si retenue sortante de l'addition = 1 alors ajouter 1 à l'exposant et décaler la mantisse d'un rang à droite FinSi
Remarque : Au niveau des décalages de la mantisse, ce sont les bits de la mantisse qui sont décalés à droite, ce qui correspond à un décalage à gauche de la virgule.
![Page 66: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/66.jpg)
Additionneur de réels (2)Additionneur de réels (2)
![Page 67: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/67.jpg)
Additionneur de réels : exempleAdditionneur de réels : exemple
Exemple 1
n1 = 2,5 = 1,01 l'exposant = 128 et la mantisse normalisée = 01 n2 = 0,25 = 1,0 l'exposant = 125 et la mantisse normalisée = 1
Lors de l'addition l'exposant de n1 > exposant de n2, alors la mantisse et le bit de normalisation de n2 sont décalés à droite de 128-125 = 3 rangs.
n1 = 1,01 (1.25 21) et maintenant n2 = 0,001 (0,125 21) soit au total 1,011 (1,375 21) soit 2,75, il n'y a pas de changement de l'exposant à faire dans ce cas.
![Page 68: Algèbre de Boole et circuits logiques](https://reader035.vdocuments.net/reader035/viewer/2022081602/5571f37749795947648e12d4/html5/thumbnails/68.jpg)
Additionneur de réels : exempleAdditionneur de réels : exemple
Exemple 2
n1 = 2,5 = 1,01 l'exposant = 128 et la mantisse normalisée = 01 n2 = 2,5 = 1,01 l'exposant = 128 et la mantisse normalisée =01
lors de l'addition l'exposant de n1 = exposant de n2, alors la mantisse et le bit de normalisation de n2 sont décalés à droite de 0 rang.
n1 = 1,01 et maintenant n2 = 1,01 soit au total 10,1. Comme il y génération d'une retenue, il faut ajouter 1 à l'exposant (qui vaut 2 pour avoir un chiffre avant la virgule et décaler la mantisse de 1 rang à gauche (1,01 x 22 = 5)