Architectures des ordinateurs Cours 3
Algèbre de Boole et circuits logiques
Eric Garcia 2002 IUT GTR, Montbéliard
Plan Algèbre de Boole Électronique Circuits combinatoires UAL Circuits séquentiels : bascules Application des bascules
Logique des propositions
Propos Propositi ition on = énoncé énoncé vrai vrai ou faux 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) p V F
∧ (et logique) ∨ (ou logique non exclusif)
p
q
p∨q
p∧q
¬p
V
V
V
V
F V
V
F
V
F
F
V
V
F
F
F
F
F
tables de vérités
Notion ensembliste a ∪b R
R
a
a a a ∩b R
a
b
b
Passage à 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
George Georgess Boole Boole a expri exprimé mé la logique des propositions en termes algébriques
Claude Shanno Claude Shannonn a proposé proposé : V = 1 et F = 0
a∨b ⇒ a+b a ∧ b ⇒ a.b
¬a ⇒ a = 1 − a
Algèbre de Boole Il existes existes 16 fonctions fonctions à deux variables variables : toutes toutes ne sont sont pas intéressantes
a+b a+b
ab
ab
a⊕b
a⊕b
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
a
b
0
0
0
0
1
1 1
Ou exclusif ou xor
a ⊕ b = ab + ab
Non ou ou nor
a+b
Non et ou nand
ab
Opérations de base Toutes les fonctions fonctions peuvent peuvent s’expri s’exprimer mer à l’aide des des trois opérations logiques et , ou , non
Avec n variables on peut construire 2n fonctions Une fonction fonction à trois variables variables peut peut se décomposée décomposée en deux 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)
ensemble de fonction fonction à partir desque desquels ls groupe logique complet = ensemble il est possible de réaliser toutes les fonctions {et,ou,non}… Foncti Fonctions ons à n variables variables décomp décomposable osabless et fonct fonctions ions à 2 variable variabless exprimable avec {et,ou,non} ⇒ récurrence…
L’algèbre L’algèbre de Boole se constru construitit sur les booléens à partir partir des trois opérations internes : +, * et
Théorèmes et axiomes (1)
Théorème des constantes
a+0= a a +1 = 1
a×a = a
a⊕a =0
Complémentation
a + a =1
a⊕0 = a a ⊕1 = a
Idempotence
a+a = a
a×0 = 0 a ×1 = a
a×a = 0
a ⊕ a =1
Commutativité
a+b = b+a
a×b = b× a
a⊕b = b⊕a
Théorèmes et axiomes (2)
Distributivité
a + (bc) = (a + b)(a + c) a(b + c) = ab + ac
Associativité a + (b + c) = (a + b) + c = a + b + c a(bc) = (ab)c = abc
Théorème de De Morgan
ab = a + b a + b = a×b
Table 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é vérité : présente présente toutes les combinai combinaisons sons possibles possibles des n entrés (2n lignes) et les états de sortie correspondant
Une fois la la table de vérité vérité écrite, écrite, il faut la transform transformer er en équation logique
somme (fonction ou) de produit (fonction et)
Équation : exemple a 0 0 1 1
b 0 1 0 1
F(a,b) 1 0 1 1
Simplification algébrique de l’équation 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)=1 si
F (a, b) = a.a + b.a
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) = b.a F (a, b) = b + a F (a, b) = b + a
Diagrammes de Karnaugh
Table de Karnaugh : principe
départ : somme de produits départ produits où chaque produit produit doit doit contenir contenir toutes les variables : (a+a)b = b chaque colonne diffère de sa voisine d’un d’u n seul littéral les tables tables de Karnaug Karnaughh sont à deux dimens dimensions ions : on regro regroupe upe des variables on regroupe les 1 en morceaux rectangulaires 1. 2. 3.
plus grands morceaux possibles moins de morceaux possibles nouveau morceau que s’il permet de regrouper des 1 non encore regroupés 4. 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
Karnaugh : exemple n°1 F (a, b) = a.b + a.b + a.b
b
b
a
1
1
a
0
1
F (a, b) = b + a
Karnaugh : exemple n°2 F (a, b) = a.b.c + ab + abc F (a, b) = a.b.c + ab(c + c ) + abc F (a, b) = abc + abc + abc + abc bc
bc
bc
bc
a
1
1
1
0
a
0
0
1
0
F (a, b) = ac + bc
Portes et circuits logiques
Un ordinateur travaille en base 2 Électroniquement Électroniqu ement 0 correspo correspondait ndait à une tensio tensionn de de 0 à 0,8V et 1 à une tens tension ion de de 2,8 à 2,5 2,5V V (tensi (tensions ons donn données ées par par les les constructeurs de composants) Toute fonction binaire peut être représentée par une expression booléenne circuit électrique électrique ou électroniqu électroniquee à deux valeurs valeurs de Tout circuit tensionn peut être représenté tensio représenté par une expression expression booléenne 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
Portes logiques NON
a
OU
a+b
ET
a×b
OU exclusif XOR
a⊕b
Portes logiques et circuits
a
a×b
a+b
a⊕b
Portes logiques : mise en série
NON OU NOR
a+b
NON ET NAND
a×b
ID
a⊕b
Schéma Exemple du schéma électrique de la fonction
a 0 0 1 1
b 0 1 0 1
b
a
F(a,b) 1 0 1 1
F ( a, b) = a.b + a.b + a.b F ( a, b) = b + a
Système complet (1) Porte NAND NAND = la plus simple à réaliser réaliser du point de vue technolo technologique. gique. Possible de réaliser toutes les fonctions logiques en utilisant uniquement NAND (http://www.univ-lemans.fr/enseignements/phy http://www.univ-lemans.fr/enseignements/physique/02/electro/portes sique/02/electro/portes2.html) 2.html)
ET
NON
OU
XOR
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
Plan Algèbre de Boole Électronique Circuits combinatoires UAL Circuits séquentiels : bascules Application des bascules
Cristal et dopage
Trois type de cristaux (structures régulières d’atomes) Isolants : dioxyde de Silicium (SiO 2) Conducteurs : Cuivre, Aluminium, Or… Semi-conducteurs : Silicium, Germanium, Arséniure de Gallium isola isolant nt à très basse basse température température et conducteu conducteurs rs sinon
Dopage : insérer des atomes d’un matériau A dans un cristal d’atomes d’atomes B = modificati modification on de la conducti conductivité vité du cristal 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 cri stal de Silicium divise par 30000 sa résistivité positif : on retire des électrons le Silicium est facilement dopable
Transistor à effet de champ MOS
Transi Transisto storr à canal canal N : à l’inté l’intérieur rieur d’un d’un substrat substrat faible faiblement ment dopé P on délimite délimite 2 zones zones fortement fortement dopées N (source et drain) espacée d’une distance L surface du substrat substrat (entre source à la surface et drain) on dépose une couche d’isolant (dioxyde de Silicium) puis de Silicium dopéP
Temps de réponse
Temps de Propagation (Propagation Delay) passage de l' état logique passage logique "0" "0" à l' état logique logique "1", et inversem inversement ent ne sont pas instantanés mais prennent un temps : tPLH temps de propagation LOW to HIGH tPHL = temps temps de propagatio propagationn HIGH to LOW . Ex : tPLH tPLH = 8 ns pou pourr le 74LS2 74LS211 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
Transistor à 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 courant à gauche = active active l’électro-aima l’électro-aimant nt = ferme l’interrupte l’interrupteur ur
Portes 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)
Circuits 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 contenir plusieurs plusieurs million d’éléments 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 10 5 portes VLSI (Very Large) : entre 105 et 107 portes ULSI (Ultra Large) : plus de 10 7 portes
Largeur des connexions entre éléments : influence sur la densit densitéé des tran transis sistor torss au mm² mm² (0,13 (0,13 micro microns) ns)
Introduction 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 construits à partir de circuits circuits combinatoi combinatoires res + capacit capacitéé de mémori mémorisat sation ion
La réalisation d’un circuit passe par la recherche des expressions booléennes, puis par leur simplification (règles ou tableau de Karnaugh)
Plan Algèbre de Boole Électronique Circuits combinatoires UAL Circuits séquentiels : bascules Application des bascules
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
R = xy S = x ⊕ y = ( x + y ). xy
Additionneur complet
re
Addition de deux nombres additition addi on bit bit à bit considération de la retenue précédente somme de 3 bits = additionneur complet
x
S
y rs
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 v aut 1 alors que re vaut 1
Additionneur complet : circuit x
y
re
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
S 0 1 1 0 1 0 0 1
rs 1 1 0 1 0 1 0 0
S = re ⊕ x ⊕ y rs = xy + x.re + y.re rs = xy + re.( x ⊕ y )
Un additio additionneur nneur se réalise réalise à l’aide d’additionneurs d’additionneurs 3 bits bits mis mis bout bout à bout
Additionneur 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 (n+0 +0,,5) 5)T T
re0=0 x0 y0 rs0 x1 y1
Temps : (n+0,5)*T = linéaire
S1 rs1
S0
xn-1 yn-1
Sn-1 rsn-1
Additionneur 2n bits : anticipation
Anticipation de retenue partie complexe : calcule en un u n temps très court toutes les retenu ret enues es à par partir tir des des différe différents nts bits bits à add additi itionn onner er
n e o u i t n a e p t i e c r i t n e d A
x0 y0
S0 rsn-2
xn-1 yn-1
Sn-1 rsn-1
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 = co cons nsta tant nt
Incrémenteur
Ajouter ou retrancher 1 : opération fréquente d’un processeur utiliser l’addition : utilisation non optimale Exemple : incrémenteur 4 bits
Multiplexeur 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 0 1 X X
B X X 0 1 A
0
B 1
S 0 0 1 1
C
C 0 1 0 1
C = A.( B + B).S + ( A + A). B.S C = A.S + B.S
Multiplexeur / Demultiplexeur
Multip Mul tiplex lexeur eur à deux et 2n entrées
Demultiplexeur : aiguille l’entrée sur la sortie n °S
Plan Algèbre de Boole Électronique Circuits combinatoires UAL Circuits séquentiels : bascules Application des bascules
UAL : principe
UAL : Unité Unité Arithmétique Arithmétique et logique logique effectue les opérations de bases (arithmétiques et logiques ° c ircuit qui va effectuer les un code d’entrée détermine la partie du circuit opérations
UAL 1 bit : opération ET / OU
Op 0 1
en fonction d’un signal Op le circuit calcul a ET b ou bien a OU b
S a et b a ou b
S = a.b.Op + (a + b).Op S = x.Op + y.Op ⇒ multiplexeur
UAL : ET, OU, +
UAL 2 bits : opération ET / OU / +
Op1 0 0 1 1
on ajoute un additionneur
Op0 0 1 0 1
S a et b a ou b a+b libre
UAL n bits
Traitement de données codées sur n bits
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)
UAL : autre représentation
UAL 8 bits
Plan Algèbre de Boole Électronique Circuits combinatoires UAL Circuits séquentiels : bascules Application des bascules
Circuits 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é vérité : on trouve en plus plus des entrées, entrées, la valeur valeur de sortie à l’état précédent
Les circuits séquentiels de base sont les bascules particularité : deux états stables particularité stables = conservation conservation de l’état l’état de leur sortie même si la combinaison des signaux d’entrée l’ayant provoquée disparaît
Horloge Horloge : composant composant passant passant d’un niveau niveau haut à bas (0101010…) (0101010…) bascules synchrones (avec horloge) insensibles aux bruits entre deux tops ou asynchrone (sans)
Bascules RS (1)
Circuit le plus simple une ent entrée rée S (Set (Set – mis misee à un) et une une sort sortie ie R (Re (Reset set – rem remise ise à 0) qui permettent de changer l’état de la bascule bascule asynchrone : pas d’horloge
R 0 0 0 1 1
S 0 0 1 0 1
Q0 1 X X X
Q 0 1 1 0 ?
Mise à 1 et mise à 0
Q = R.S + R.S .Q −
Q=QQ=QMise à 1 Effacement Interdit
Q = R.( S + S .Q −) Q = R.( S + Q −) Q = ( R.( S + Q −)) Q = ( R + ( S + Q −))
Bascules RS (2) Effet Effet mémoir mémoiree représe représenté nté par le retour des sorties
Bascules RS fréquemment utilisées dans les circuits antirebond.
R 0 0 0 1 1
S 0 0 1 0 1
Q0 1 X X X
Q 0 1 1 0 ?
Q=QQ=QMise à 1 Effacement Interdit
Q = R.S + R.S .Q − Q = S .( R + R.Q −) = S .( R + Q −) Q = ( S .( R + Q −)) = ( S + ( R + Q −))
Bascules RSC ou RSH
Bascule RS asynchrone : deux problèmes sensibilité aux bruits sensibilité bruits parasi parasites tes (prise (prise en compte compte des des entrées entrées à tout moment) synchronisation (quand peut-on prendre les données)
Solution Solution : R et S pris pris en compte compte à des instants instants détermi déterminés nés à l’aide d’une horloge (période plus grande que le temps de stabilisation)
C 1 1 1 1 0
R 0 0 1 1 X
S 0 1 0 1 X
Q Q1 0 ? Q-
Bascules DH
Pour supprimer supprimer l’état indéterminé indéterminé (Horloge ou Clock) on utilise utilise un signal signal D qui va être mémor mémorisé isé dans la bascule 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)
R = H . D S = H . D
H 0 0 1 1
D X X 1 0
Q0 1 X X
Q 0 1 1 0
Q=QQ=QS=1;Q=1 R=1;Q=0
Bascules DH sur front
On mémor mémorise ise à un instan instantt précis précis front descend descendant ant : signal signal d’horloge d’horloge passe passe de 1 à 0 fonctionnement de bascule synchrone
Signal d’horloge = 1 : D est stoc stocké ké dans la la 1ère bascul basculee
Pass assage à 0 : le signal issu de la 1ère bascule est stockée dans la 2ème
Bascules D avec validation
Branchement de plusieurs bascules sur un bus de données attention : une seule attention seule sortie validée validée à un instant instant donnée donnée ajoute, en sortie de bascule, un interrupt interrupteur eur commandé commandé par un on ajoute, signal de validation la sortie sortie de bascule bascule est reliée reliée à l’exté l’extérieur rieur si Val Val = 1
Val 1 1 1 0
H X ↓ ↓
X
D X 1 0 X
Q Q1 0 NC
Bascules complètes
Elles possèdent possèdent à la fois fois des des entrées entrées asynchron asynch rones es : PRESET PRESET (=0 (=0 mise mise à 1) et CLEA CLEAR R (=0 mise mise à 0) synchrones rones : changemen changementt de sortie qu’à des moments moments précis précis (H,D) synch
Elles constituent les mémoires statiques de l’ordinateur
Val 1 1 1 1 1 1 0
H X ↓ ↓
X X X X
D X 1 0 X X X X
PRESET CLEAR
1 1 1 0 1 0 X
1 1 1 1 0 0 X
Q Q1 0 1 0 ? NC
Registres 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 f il : modem, imprimante série…
compteurs binaires
Décalage
rotation…
Registres : exemple // synchrone
// asynchrone
série
Registres : 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 regis registre tre est est repéré repéré par un numéro pour la lecture on a besoin de deux multltip mu iplex lexeu eurs rs à 2n entrées
Mémoire SRAM
SRAM (Static Random Access Memory) composée d’un ensemble de 2 n 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 décharge vite et qui doit être périodiqueme périodiquement nt rechargé rechargé (Dynami (Dynamic) c) 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
Plan Algèbre de Boole Électronique Circuits combinatoires UAL Circuits séquentiels : bascules Application des bascules
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ées Si (bit 0 de n1 = 1) alors produit = produit + n2 Finsi Déc Décaler à gauc auche n2 Déc Décaler à droi roite n1
Multiplicande Multiplicateur
1001 10010 100100 1001000
101 10 1 0
Produit 1001 1001 001001+100100=101101 101101…
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
Multiplieur V2 (1)
Pour limiter le matériel : sur les 64 bits du registre contenant co ntenant n2 : 32 utilisés Algorithme :
Pour i de 1 à Taille des données Si (bit 0 de n1 = 1) alors 32 bit its s MS MSB B du pro rodu duit it=3 =32 2 bi bits ts MSB du pr prod odui uit+ t+n2 n2
Finsi Déca Décale ler r à droi droite te prod produi uit t Décal écaler er à droi roite n1
Multiplieur V2 (2)
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
Multiplicande Multiplicateur 1001
101
1001
10
1001
1
Produit 32 bits MSB+1001=1001 …010010000000… …0100 10000000… 32 bits MSB+0000=0100 …00100100000000000… …0010 0100000000000… 32 bits MSB+1001=1011 …0101101000000000000… …0101 101000000000000… À la fin de la 32ème itération …000101101
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é 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 produ dui it=32 bits MSB du produit+n2
Finsi Déca Décale ler r à droi droite te prod produi uit t Déc Décaler à droi roite 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
Multiplieur V3 (2) Multiplicande
Produit
1001
32 bits LSB 000000….0101 32 bits MSB+1001=1001 …010010000…0010 …0100 10000…0010 32 bits LSB 1000….00010 32 bits MSB+0000=0100 …0010010000…001 …0010 010000…001
1001
1001
32 bits LSB 01000….0001 32 bits MSB+1001=1011 …01011010000…001 …0101 1010000…001 À la fin de la 32ème itération 00…001001101
Additionneur de réels (1)
Pour réaliser l'addition de n1 + n2 on utilise l'algorithme suivant:
Si (exp (expo osan sant n1 > expo xposan sant n2) alors décaler la mantisse de n2 à droite de (ex (exposa posan nt n1 - exposa posan nt n2) rang rang( (s) sinon décaler la mantisse de n1 à droite de (ex (exposa posan nt n2 - exposa posan nt n1) rang rang( (s) Finsi Add Additio ition nner ner les les manti antis sses ses de n1 et n2 Si rete reten nue sor sortan tante de l'ad l'add ditio ition n = 1 alors ajout outer 1 à l'ex 'expos posant ant et décale aler la mantis tisse 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, droite, ce ce qui qui corresp correspond ond à un décalage décalage à gauche gauche de la la virgul virgule. e.
Additionneur de réels (2)
Additionneur de réels : exemple
Exemple 1 n1 = 2,5 = 1,01 l'exposant = 128 et la mantisse normalisée = 01 125 et la mantisse mantisse normalisée = 1 n2 = 0,25 = 1,0 l'exposant = 125
Lors de l'addition l'exposant de n1 > exposant de n2, alors la mantisse mant isse et le bit de normalisat normalisation ion de n2 sont décalés décalés à droite de 128-125 = 3 rangs. n1 = 1,01 (1.25 2 1) et maintenant n2 = 0,001 (0,125 2 1) soit au total 1,011 (1,375 2 1) soit 2,75, il n'y a pas de changement de l'expos l'exposant ant à faire dans ce cas. cas.
Additionneur de réels : exemple
Exemple 2 n1 = 2,5 = 1,01 l'exposant = 128 et la mantisse normalisée = 01 mantisse normalisée =01 n2 = 2,5 = 1,01 l'exposant = 128 et la mantisse
lors de l'addition l'exposant de n1 = exposant de n2, alors la mantisse et le bit de normalisa normalisation tion de n2 sont sont décalés à droit droitee de 0 rang. n1 = 1,01 et maintenant n2 = 1,01 soit au total 10,1. retenue, il faut ajouter 1 à l'exposant Comme il y génération d'une retenue, (qui vaut 2 pour avoir un chiffre avant la virgule et décaler la mantisse de 1 rang rang à gau gauche che (1,0 (1,011 x 22 = 5)