Professional Documents
Culture Documents
Cours de Frdric Goualard de lUniversit de Nantes e e e http ://supports.goualard.free.fr/ Cours de Eric Garcia de lIUT GTR, Montbliard e Emmanuel Viennet de lIUT de Viltaneuse
logo
logo
Plan
Plan
Notion ensembliste
a V V F F
logo
b V F V F
a F F V V
ab V V V F
ab V F F F
logo
Alg`bre de Boole e
Il existes 16 fonctions ` deux variables : toutes ne sont pas a intressantes e a 0 0 1 1 b 0 1 0 1 a+b 0 1 1 1 a+b 1 0 0 0 ab 0 0 0 1 ab 1 1 1 0 ab 0 1 1 0 ab 1 0 0 1
Oprations de base e
Toutes les fonctions peuvent sexprimer ` laide des trois a oprations logiques et, ou, non e
Avec n variables on peut construire 2n fonctions Une fonction ` trois variables peut se dcompose en deux a e e
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)
Thor`mes et axiomes e e
Thor`me des constantes e e a+0=a a+1=1 Idempotence a+a=a Complmentation e a+a=1 Commutativit e
logo
a.0 = 0 a.1 = a
a0=a a1=a
a.a = a
aa=0
groupe logique complet = ensemble de fonction ` partir a desquels il est possible de raliser toutes les fonctions e {et,ou,non}. . . Fonctions ` n variables dcomposables et fonctions ` 2 a e a variables exprimable avec {et,ou,non} rcurrence . . . e
a.a = 0
aa=1
Lalg`bre de Boole se construit sur les boolens ` partir des e e a trois oprations internes : +, * et e
a+b =b+a
a.b = b.a
ab =ba
logo
Thor`mes et axiomes e e
Distributivit e a + (bc) = (a + b)(a + c) a(b + c) = ab + ac Associativit e a + (b + c) = (a + b) + c = a + b + c a(bc) = (ab)c = abc Thor`me de De Morgan e e ab = a + b a + b = a.b
Table de vrit : prsente toutes les combinaisons possibles e e e des n entrs (2n lignes) et les tats de sortie correspondant e e Une fois la table de vrit crite, il faut la transformer en e ee quation logique e
somme (fonction ou) de produit (fonction et)
logo logo
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
logo
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
logo
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
logo
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
logo
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
F (a, b) = a.b + a.(b + b) F (a, b) = a.b + a F (a, b) = ((a.b.a)) F (a, b) = (a + b).a F (a, b) = a.a + b.a
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
logo
logo
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
F (a, b) = a.b + a.(b + b) F (a, b) = a.b + a F (a, b) = ((a.b.a)) F (a, b) = (a + b).a F (a, b) = a.a + b.a F (a, b) = b.a
F (a, b) = a.b + a.(b + b) F (a, b) = a.b + a F (a, b) = ((a.b.a)) F (a, b) = (a + b).a F (a, b) = a.a + b.a F (a, b) = b.a F (a, b) = b + a
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
logo
logo
Equation : exemple
a 0 0 1 1 b 0 1 0 1 F(a,b) 1 0 1 1
Diagrammes de Karnaugh
Table de Karnaugh : principe F (a, b) = a.b + a.(b + b) F (a, b) = a.b + a F (a, b) = ((a.b.a)) F (a, b) = (a + b).a F (a, b) = a.a + b.a F (a, b) = b.a F (a, b) = b + a F (a, b) = b + a
dpart : somme de produits o` chaque produit doit contenir e u toutes les variables (pour simplier) : (a + a)b = b chaque colonne di`re de sa voisine dun seul littral e e les tables de Karnaugh sont ` deux dimensions : on regroupe a des variables on regroupe les 1 en morceaux rectangulaires
plus grands morceaux possibles moins de morceaux possibles nouveau morceau que sil permet de regrouper des 1 non encore regroups e la ligne du haut et du bas ainsi que colonne de droite et de gauche sont adjacentes
F (a, b) = 1 si a = 0 et b = 0 soit a = 1 et b = 1 donc si a.b = 1 a = 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
Morceau = produit de variable : variable et son inverse dans le mme morceau = limination de la variable e e
logo logo
Karnaugh : Exemple 1
Karnaugh : Exemple 2
F (a, b, c) = a.b.c + a.b + a.c F (a, b, c) = a.b.c + a.b.(c + c) + a.c.(b + b) F (a, b, c) = a.b.c + a.b.c + a.b.c + a.b.c + a.b.c b 1 1 0 1 F (a, b, c) :
a c
'$
0 b 0
1 0
1 1
1 1
a+b a + b.c
logo
&%
logo
Karnaugh : Exemple 3
F (a, b, c, d) = a.b.c + a.d + a.c b F (a, b, c, d) : 0 0 d 0 0 0 0
Karnaugh : Exemple 3
F (a, b, c, d) = a.b.c + a.d + a.c b F (a, b, c, d) : 0 1 c a
2
d 0 0 0 0 0 1 1
0 1 5 4 '$
0 1 5 4 '$ 3 7 6 $ '
c a
2 3 7 6 $ ' 10 15 14 11 &%
1 1 0
1 0
1 1
10 11 15 14 &%
1 1
1 0
1
8
9 13 12 % &
9 13 12 % &
logo
logo
Portes logiques
a a+b a.b ab
Prfrable de reprsenter les circuits par des symboles logiques ee e et non par des expressions boolennes e
Correspondance entre les direntes fonctions logiques e (+, . . .) et des symboles appels portes logiques e
logo
logo
NOR(a, b)
a+b
NAND(a, b)
a.b
ID(a, b)
ab
logo
logo
Syst`me complet e
Porte NAND = la plus simple ` raliser du point de vue a e technologique. Possible de raliser toutes les fonctions logiques en utilisant e uniquement NAND AND : a.b = a.b.a.b = NAND(NAND(a, b), NAND(a, b))
Syst`me complet e
Porte NAND = la plus simple ` raliser du point de vue a e technologique. Possible de raliser toutes les fonctions logiques en utilisant e uniquement NAND OR : a + b = a.a.b.b = NAND(NAND(a, a), NAND(b, b))
logo
logo
Syst`me complet e
Porte NAND = la plus simple ` raliser du point de vue a e technologique. Possible de raliser toutes les fonctions logiques en utilisant e uniquement NAND NOT : a = a.a = NAND(a, a)
Syst`me complet e
Porte NAND = la plus simple ` raliser du point de vue a e technologique. Possible de raliser toutes les fonctions logiques en utilisant e uniquement NAND XOR : a b = a.a.b.b.a.b = NAND(NAND(a, NAND(a, b)), NAND(b, NAND(a, b)))
logo
logo
Syst`me complet e
Porte NAND = la plus simple ` raliser du point de vue a e technologique. Possible de raliser toutes les fonctions logiques en utilisant e uniquement NAND NOR : a + b = a.a.b.b.a.a.b.b = NAND(NAND(NAND(a, a), NAND(b, b)), NAND(NAND(a, a), NAND(b, b)))
Plan
Transistor
Un transistor est un interrupteur qui permet de runir ou de e sparer deux ls. e Ltat dun transistor (passant ou non), est command par un e e troisi`me l. e Il existe deux types de transistors :
les transistors de type N (non-passant par dfaut), pour e lesquels le transistor est non passant quand le l de commande est dans ltat 0, e
Circuits intgrs e e
et les transistors de type P (passant par dfaut), pour e lesquels le transistor est passant quand le l de commande est dans ltat 0. e
logo logo
Circuits intgrs e e
A partir de ce dispositif on peut raliser des portes de base e (NON, ET, OU . . . )
Circuits intgrs e e
A partir de ce dispositif on peut raliser des portes de base e (NON, ET, OU . . . )
logo
logo
Circuits intgrs e e
Les circuits intgrs (chip) peuvent tre classis e e e e
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
Plan
Portes logiques : ralises lectroniquement par un ou deux e e e transistors Plusieurs portes logiques forment un circuit logique = circuit intgr e e
circuits combinatoires : ne font que combiner les variables dentre selon une table de vrit e e e circuits squentiels : construits ` partir de circuits e a combinatoires + capacit de mmorisation e e La ralisation dun circuit passe par la recherche des e expressions boolennes, puis par leur simplication (r`gles ou e e tableau de Karnaugh)
G. Blin - Architecture des ordinateurs Alg`bre de Boole et circuits logiques e
Demi-additionneur
Addition de deux bits x et y x 0 0 1 1 y 0 1 0 1 S 0 1 1 0 R 0 0 0 1
Additionneur complet
Addition de deux nombres
addition bit ` bit a considration de la retenue prcdente e e e somme de 3 bits = additionneur complet
Somme S
vaut 1 si entre x, y et re (retenue dentre) : le nombre de bits e ` 1 est impaire a
Retenue de sortie rs
vaut 1 si x et y valent 1, ou si lun des deux vaut 1 alors que revaut 1
R = xy S = x y = (x + y ).xy
logo
logo
Additionneur complet
x 1 1 1 1 0 0 0 0 y 1 1 0 0 1 1 0 0 re 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 rs 1 1 0 1 0 1 0 0
Temps de calcul
si un additionneur 1 bit met 1T pour calculer la retenue et 1,5T pour le rsultat e rs0 ` T et S0 ` 1,5T a a rs1 ` 2T et S1 ` 2,5T a a rsn1 ` nT et Sn1 ` a a (n+0,5)T Temps : (n+0,5)*T = linaire e
logo
La lenteur de ladditionneur par propagation de retenue impose dutiliser dautres techniques pour des additionneurs ayant un nombre important de bits. Comme cette lenteur est due au temps ncessaire ` la propagation de la retenue, toutes e a les techniques ont pour but dacclrer le calcul des retenues. ee La premi`re technique appele anticipation de retenue e e consiste ` faire calculer les retenues par un circuit extrieur. a e
logo
An de faciliter le calcul des retenues, on introduit deux quantits appeles G (pour Generate en anglais) et P (pour e e Propagate en anglais). Soient A = An1 . . . A0 et B = Bn1 . . . B0 deux entres de n e bits. On note Ci la retenue de laddition des i bits de poids faible de A et B. Pour acclrer le calcul des Ci , on introduit ee les deux quantits Gi et Pi associes aux entres Ai et Bi par e e e les formules suivantes. Gi = Ai Bi et Pi = Ai + Bi Ci+1 = Gi + Pi Ci C0 = G0 + Re Par rcursivit on peut calculer toutes les Ci en traversant e e seulement 3 portes logiques Pb : il faut des portes logiques avec de nombreuses entres e
logo
Incrmenteur e
Ajouter ou retrancher 1 : opration frquente dun processeur e e Additionneur par slection de retenue e
Lide gnrale de ladditioneur par slection de retenue est e e e e deectuer en parall`le le calcul avec une retenue de 0 et le e calcul avec une retenue de 1 puis de slectionner le bon e rsultat lorsque la retenue est enn connue. e Le probl`me est que ca double le nombre de portes e utiliser laddition : utilisation non optimale Exemple : incrmenteur 4 bits e
logo
logo
Multiplexeur
Permet denvoyer sur la sortie (C) ltat dune entre (A) ou e e de lautre (B) en fonction dun signal de slection (S) e A 0 1 X X B X X 0 1 S 0 0 1 1 C 0 1 0 1
Multiplexeur/Demultiplexeur
Multiplexeur ` deux et 2n entres (n bits pour coder 2n val =) a e
C = A.(B + B).S + (A + A).B.S C = A.S + B.S Demultiplexeur : aiguille lentre sur la sortie num S e
logo
logo
Plan
UAL : principe
UAL : Unit Arithmtique et logique e e
eectue les oprations de bases (arithmtiques et logiques) e e un code dentre dtermine la partie du circuit qui va eectuer e e les oprations e
logo
UAL n bits
Op1 0 0 1 1
Op0 0 1 0 1
S a et b a ou b a+b libre
logo
logo
UAL : reprsentation e
UAL charge des oprations e e
logiques : AND, OR, XOR, NOT, CMP, LSL, LSR, ASR (dcalages) e arithmtiques : ADD, SUB, MUL, DIV, INC (+1), DEC (-1) e
UAL 8 bits
c0 , c1 , c2 , c3 = slection de lopration e e R = rsultat e OF , CF , ZF , SF , PF = Drapeau (boolen) dcrivant ltat du e e e rsultat e
logo
logo
Plan
circuit squentiel : pour la mme combinaison des donnes, la e e e sortie peut prendre diverses valeurs en fonction du temps mmorisation des tats passs e e e table de vrit : on trouve en plus des entres, la valeur de e e e sortie ` ltat prcdent a e e e
Bascules RS
Circuit le plus simple
une entre S (Set mise ` un) et une sortie R (Reset remise e a ` 0) qui permettent de changer ltat de la bascule a e bascule asynchrone : pas dhorloge
Bascules RS
Eet mmoire reprsent e e e par le retour des sorties Bascules RS frquemment e utilises dans les circuits e antirebond. R 0 0 0 1 1
logo
R 0 0 0 1 1
S 0 0 1 0 1
Q 0 1 X X X
Q 0 1 1 0 ?
S 0 0 1 0 1
Q 0 1 X X X
Q 0 1 1 0 ?
Bascules DH
Pour supprimer ltat indtermin (Horloge ou Clock) e e e
on utilise un signal D qui va tre mmoris dans la bascule RS e e e D permet de fabriquer deux signaux R et S (dirents de 11) e C : signal dhorloge permet de mmoriser le signal dans une e plage de temps xe (quand C vaut 1) e
Solution : R et S pris en compte ` des instants dtermins ` a e e a laide dune horloge (priode plus grande que le temps de e stabilisation) C 0 1 1 1 1 R X 0 0 1 1 S X 0 1 0 1 Q Q Q 1 0 ?
Alg`bre de Boole et circuits logiques e
C 0 1 1 1
logo
D X X 1 0
Q 0 1 X X
Q 0 1 1 0
Signal dhorloge = 1 : D est stock dans la 1`re bascule e e Passage ` 0 : le signal issu de la 1`re bascule est stocke dans a e e la 2`me e DH sur front montant ?
logo
V 1 1 1 0
C X
D X 1 0 X
Q Q 1 0 ?
logo
Bascules compl`tes e
Elles poss`dent ` la fois des entres e a e
asynchrones : PRESET (=0 mise ` 1) et CLEAR (=0 mise ` 0) a a synchrones : changement de sortie qu` des moments prcis a e (H,D)
Registres
Application des bascules : utilises pour leurs eets mmoire, e e chacune permet de stocker un bit
Registres
parall`les synchrones (bascules DH sur front montant) e parall`les asynchrones (PRESET et CLEAR) e Srie (bascules connectes en sries) : pour transmettre des e e e informations n bit sur un seul l : modem, imprimante srie... e
V 1 1 1 1 1 1 0
G. Blin - Architecture des ordinateurs
C X
X X X X
D X 1 0 X X X X
Preset 1 1 1 0 1 0 X
Clear 1 1 1 1 0 0 X
Q Q 1 0 1 0 ? logo ?
logo
Registres
Application des bascules : utilises pour leurs eets mmoire, e e chacune permet de stocker un bit
Registres
parall`les synchrones (bascules DH sur front montant) e parall`les asynchrones (PRESET et CLEAR) e Srie (bascules connectes en sries) : pour transmettre des e e e informations n bit sur un seul l : modem, imprimante srie... e
logo