Académique Documents
Professionnel Documents
Culture Documents
1
T.EA
Bibliographie
Circuits Numriques - Thorie et Applications Ronald J. Tocci (Dunod) ( ) Circuits numriques et synthse logique
J. Weber & M. Meaudre
Introduction to Digital Systems Milos Ercegovac, Tomas Lang, J.H. Moreno (Wiley) l ( l )
2
T.EA
Introduction gnrale g
3
T.EA
Analogique-Numrique
Systme analogique - Systme numrique
traitement de grandeurs physiques exprimes sous forme analogique (resp. numrique) : les grandeurs varient de faon continues (resp. discrtes) lintrieur i d f i ( di ) li i dun intervalle de valeurs ex. syst. ana: tachymtre, thermomtre mercure, microphone classique, bande magntique, etc. ex. syst. num.: calculatrice, ordinateur, etc.
4
T.EA
Analogique-Numrique
Atouts du numriques
circuits plus simple concevoir stockage de linformation facile g prcision et exactitude accrues programmation des oprations robuste vis vis du bruit forte intgration
Analogique-Numrique
Exploitation des techniques numriques p q q
Traduire les signaux analogiques en signaux numriques Traiter l information numrique linformation Convertir les sorties numriques en analogique A CAN N
Traitement numrique
Transducteur
Traitement numrique
CNA
Transducteur
T.EA
Systme numrique
Systme combinatoire (pass indiffrent) :
ralisation d une fonction dune
logique combinatoire Systme y t
Entres
Sorties
Sorties
7
Architecte numricien
Fonction ou comportement souhait ( ifi i ) h i (spcification)
Technologie disponible
Transistor, portes, ...
Conception darchitecture
T.EA
Spcifications du besoin
Demande du client
Dfinition contraignante des rsultats obtenir
Performances et caractristiques lectriques du circuit
Rflexion t i t ti Rfl i et orientation vers certains choix architecturaux t i h i hit t Contient la description :
De toutes l D t t les entres/sorties t / ti De lenvironnement dans lequel le circuit sera utilis Des fonctionnalits du circuit dvelopper pp Des caractristiques temporelles (timing) des entres /sorties, des niveaux lectriques Des conditions de test, le taux de couverture de test, les mthodes test test statistiques utilises pour lacceptation des lots
10
T.EA
Conception darchitecture
Document usage interne crit par lingnieur responsable du projet Synthse de lanalyse de la spcification et solutions techniques envisages h i i Description des interconnexions des sous blocs internes et leurs relations l l ti
Rpartition du travail entre collaborateurs Construction d une bibliothque de fonctions dune Suivi de lavancement du projet
Conception dtaille
Conception du circuit p
Code VHDL, saisie schmatique Dfinition dtaille des interfaces des blocs Conception de certains modules critiques du circuit
Dtection D i prcoce dventuels problmes techniques d l bl h i
12
T.EA
Synthse, Analyse
Transformation du code VHDL ou de la schmatique en netlist
Liste de nuds Instances de cellules effectuant des oprations lmentaires (portes logiques)
13
T.EA
Placement, Routage
Disposer les cellules de la fonction p
Optimisation en surface Rduction de la longueur des interconnexions
Insertion du Scan-Path
Test de production
15
T.EA
16
T.EA
Introduction
Reprsentation binaire
Utilisation Utili ti courante pour exprimer des dcisions t i d d i i fonction de propositions multiples prsentant deux tats : vraies ou fausses. fausses exemple :
Dcision D : aller au cinma Prop 1 : film intressant Prop 2 : occup aux horaires de passage du film P h i d d fil Prop 3 : voiture en tat de marche Prop 4 : mtro en grve P t La dcision D sera prise si : P1 est vraie ET si P2 est fausse ET (si P3 est vraie OU P4 est fausse). fausse)
17
T.EA
Introduction
Toute proposition logique peut se mettre sous la forme dcrite prcdemment:
ncessit dun outil mathmatique p q pour traiter les propositions logiques : algbre de Boole ncessit d outil physique pour matrialiser les outil oprateurs fondamentaux ( vrai/faux - ET - OU) : circuits logiques gq
18
T.EA
Contributeurs
George Boole ( g (1815-1864) : mathmaticien ) anglais Augustus De Morgan (1806-1871) (1806 1871) Charles Sanders Peirce (1839-1914) John Venn (1834-1923) Gottlob Frege (1848 1925) G ttl b F (1848-1925) Claude Elwood Shannon (1916-2001)
19
T.EA
Fonction logique de n variables est une fonction qui ne p prend, comme chacune des variables, que deux tats , ,q
Peut tre considre comme une variable logique vis vis dune autre fonction.
Algbre de Boole tudie des variables binaires et des fonctions de ces variables.
Algbre dtats et non des nombres.
20
T.EA
Algbre de Boole
Dfinition : B=<E,+,,,0,1> , ,, , ,
ensemble E muni de deux lois de composition internes + et , et d une loi de complmentation , une , a, /a: si a=0 alors =1 si a=1 alors =0 i 1 l 0
21
T.EA
Algbre de Boole
Axiome de base : (a,b,c) E3 ( , , )
Commutativit: a + b = b + a ab=ba Distributivit: a (b + c) = (a b) + (a c) a + (b c) = (a + b) (a + c) Elments neutres: a + 0 = a a1=a Complmentation: a + = 1 a=0
22
T.EA
Algbre de Boole
Proprits p
a=a a+1=1 a0=0 a + (a b) = a a+a=a a (a + b) = a aa=a a + b + c = (a + b) + c = a + (b + c) a b c = (a b) c = a (b c) a +b = ab ; ab = a +b : loi de De Morgan
Gnralisable n variable par SHANNON
23
T.EA
Algbre de Boole
Autres proprits p p
( a b) + ( a b) = a ( a + b) ( a + b) = a a ( a + b) = a b a + ( a b) = a + b
24
T.EA
Algbre de Boole
Exemples de dmonstration p
( a b) + ( a b) = [( a b) + a ] [( a b) + b] = [a (b + 1)] [( a + b) (b + b)] = a ( a + b) = a (1 + b) = a ( a + b ) ( a + b ) = [( a + b ) a ] + [( a + b ) b ] = [a + (b a )] + [( a b) + (b b)] = a + ( a b) = a (1 + b) = a a ( a + b) = ( a a ) + ( a b) = a b a + ( a b) = ( a + a ) ( a + b) = a + b
25
T.EA
Algbre de Boole
Remarque:
a+b=a+cb=c ab=acb=c b=ca+b=a+c b=cab=ac Exemple : si a=1, b=0, c=1 alors a+b=a+c=1 mais bc i 1 b 0 1 l b 1 i b si a=0, b=0, c=1 alors a b=a c=0 mais bc
26
T.EA
Fonction logique
Fonction logique compltement dfinie
entirement dfinie quand on connat sa valeur 0 ou 1 pour les 2n combinaisons possibles (n : nombre de variables)
Table de vrit ou tableau des combinaison
a 0 0 1 1 b 0 1 0 1 f 0 1 1 0
27
T.EA
i =0
28
T.EA
Minterme, maxterme
Reprsentation des mintermes et maxtermes en fonction d lt t d f ti de ltat des variables tel que minterme=1 i bl t l i t 1 et maxterme=0
x n 1
0 0 1 1
x1
0 0 1 1
x0
Minterme
Maxterme
0 0 1 1
0 1 0 1
x n 1 x n 2 ... x1 x 0 x n 1 x n 2 ... x1 x 0
x n 1 + x n 2 + ... + x1 + x 0 x n 1 + x n 2 + ... + x1 + x 0
x n 1 x n 2 ... x1 x 0 x n 1 x n 2 ... x1 x 0
x n 1 + x n 2 + ... + x1 + x 0 x n 1 + x n 2 + ... + x1 + x 0
29
T.EA
Thorme de Shannon
Toute fonction boolenne autre que f=0 peut s crire sous la forme d une somme de crire une mintermes. Toute fonction boolenne autre que f=1 f 1 peut s i sous la forme d produit de crire l f un d i d maxtermes. Forme gnralise du thorme de De Morgan
30
Thorme de Shannon
Dmonstration pour une variable p
Toute fonction boolenne f d' une variable peut s' crire : f(x) = x f(1) + x f(0) en effet f(x) = f(x) (x + x ) = x f(x) + x f(x) si x = 1, on a x f(x) = 0 f(1) = 0 si x = 1, on a x f(x) = 1 f(1) = f(1) et x f(1) = 1 f(1) = f(1) et x f(0) = 0 f(0) = 0 si x = 0, on a x f(x) = 0 f(0) = 0 si x = 0, on a x f(x) = 1 f(0) = f(0)
31
T.EA
Thorme de Shannon
Toute fonction boolenne f d' une variable peut s' crire : f(x) = [ x + f(0)] [x + f(1)] en effet f(x) = f(x) + (x x ) = [ x + f(x)] [x + f(x)] si x = 1, on a x + f(x) = 0 + f(1) = f(1) si x = 1, on a x + f(x) = 1 + f(1) = 1 et x + f(1) = 0 + f(1) = f(1) et x + f(0) = 1 + f(0) = 1 si x = 0, on a x + f(x) = 1 + f(0) = 1 si x = 0, on a x + f(x) = 0 + f(0) = f(0) et x + f(0) = 0 + f(0) = f(0) donc x + f(x) = x + f(0), f (0) et x + f(0) = 1 + f(0) = 1 donc x + f(x) = x + f(1), f (1)
Gnralisation n variables
32
T.EA
Ecriture Canonique
F(a,b,c) peut scrire sous deux formes ( , , )p
somme canonique (1re forme canonique - forme canonique (ou normale) disjonctive):
somme de produits contenant toutes les variables de la fonction : somme de mintermes ex : f ( x , y , z ) = xyz + x y z + x yz
p produit canonique (2re forme canonique - forme q ( q canonique (ou normale) conjonctive):
p produit de sommes contenant toutes les variables de la fonction : produit de maxtermes ex : f ( x , y , z ) = ( x + y + z )( x + y + z )
33
T.EA
Ecriture Canonique
Obtention des formes canoniques
issues de la formule de dveloppement de Shannon i d l f l d d l t d Sh exemple de 2 variables :
f ( a , b) = a f (1, b) + a f (0, b) = a[b f (1,1) + b f (1,0)] + a[b f (0,1) + b f (0,0)] = ab f( 1,1 ) + a b f (1,0) + ab f (0,1) + a b f (0,0)
extension n variables
Exemple 1:
f(0,0)=0; f(0,1)=0; f(1,0)=0; f(1,1)=1 f(a,b)=a.b
34
T.EA
Ecriture Canonique
Exemple 2: p
f ( a , b, c ) = ( a + b)( a + b + c )
somme de mintermes
f ( a, b, c ) = a a + ab + ac + ab + b + bc = b + ac = ab + ab + abc + a bc = abc + abc + abc + abc + abc + a bc = abc + abc + ab + abc + a bc b b bc
T.EA
35
0
1
n=2 b\a 0
0
0
1
n=3 c\ba 0
0
00
1 5
01
3 7
11
2 6
10
1
2 3
1
4
b
a
n=4 dc\ba 00
0
00
1 5 13 9
01
3 7 15 11
11
2
10
001
3
011
2
010
6
110
7
111
5
101
4
100
01
4 6
01
8 9 25 17 11 27 19 10 26 18 14 30 22 15 31 23 13 29 21 12 28 20
c d
11
12 14
11
24
10
8 10
10
16
38
T.EA
39
T.EA
on appelle forme minimale dune expression logique, l expression sous forme rduite qui comporte : i f d it i t -nombre minimal de termes (p-termes, s-termes) -nombre minimal de variables dans chaque terme nombre exemples : f (d , c, b, a ) = db a + cba + d ba + dcb
f (d , c, b, a ) = db a + cba + d ba + d b dc
41
T.EA
42
T.EA
f ( a, b, c ) = abc + a bc + abc + abc = ( a + a )bc + a bc + abc = bc + a bc + abc = c(b + a b) + abc = c(b + a ) + abc = cb + ca + abc = cb + a ( c + bc ) = cb + a ( c + b) = ac + ab + bc
T.EA
43
Etapes de simplification
Cas des fonctions compltement dfines
1. regrouper des ensembles de 2i cases en maximisant i chaque fois. Les cases extrmes peuvent se regrouper entre-elles p g p
44
T.EA
Exemple
dc\ba 00 01 11 10 1 1 1 1 1 1 00 01 11 10 dc\ba 00 01 11 10 1 00 01 11 1 10 dc\ba 00 01 11 10 1 1 1 1 00 01 11 10
dc\ba 00 01 11 10
00 1
01
11
10 1
dc\ba 00 01 11
00
01
11
10
1 1
1 1
1 1
1 1
10
45
T.EA
f ( d , c, b, a ) = d c + ca + d c a
f ( d , c, b, a ) = d c + ca + c a
46
T.EA
Mthodes algorithmiques
Nelson Quine-McCluskey Mthode du consensus (Tison) d consens s (Tison) BDD : Diagramme de dcision binaire
simple implmenter
47
T.EA
a b 1
48
T.EA
x y
0
0 1
x
1
0 1
y
0
z
0 1 0
z
1 0
z
1 0
z
1 0
z
1
1 0 1 0 1
T.EA
1 0 1
1 0 1
1 0
49
f(x,y,z) f( )
y
0 1 0
y
1
z
0 1 0
z
1 0
z
1 0
z
1
0 0 0 1 0 1 0 1
50
T.EA
x
1
x
1
y
0 1 0
y
1
y
0 0 1
y z
1 0
y
0 1
z
0 1 0
z
1 0
z
1
z
1
0 0
z
1
z
0 1
0 1
0 1
0 0 1
0 1
0 0 1
0 1
f ( x, y , z ) = xz + x yz = z ( x + x y ) = z ( x + y )
51
T.EA
a b
1
52
T.EA
f(x,y,z)
x
0
x
1
y
0 0 1
z
1
1 VDD
0 1
GND
53
T.EA
Dualit
Forme duale dune fonction + 1 0 1 + a = 1 0.a = 0 1.a 1 = a 0+a = a
a + a = a a.a = a a + a = 1 a.a = 0
Exemple :
( a + b)( a + b)( a + b) = ? a b + a b + ab = b + ab = a + b ( a + b)( a + b)( a + b) = a b
54
T.EA
55
T.EA
Logique combinatoire
Dfinition de base
Fonction logique combinatoire : toute fonction dfinie uniquement partir de ses variables, quel que soit linstant dobservation. Pour une combinaison des variables, la valeur de la fonction est unique Circuit logique combinatoire : l tat de ses sorties est tat fonctions uniquement de ltat prsent de ses entres, c est dire de ses variables d entres. A chaque q combinaison des entres correspond une seule combinaison des sorties. Les tats des sorties sont stables pour des tats dentre stables.
56
T.EA
x x y x y
x y
& 1
57
x+ y
x y
OU, NON
oprateur ET :
x y
x y = x+ y
y
x y
x+ y
x y
x+ y = x y
58
T.EA
x y x
x y
xx = x
oprateur NON
x 1 logique
oprateur OU
x
y
T.EA
x y = x+ y
59
x y
NOR (NON OU) (NON-OU)
x y
x y x
x+ y
x+x= x
Oprateur NON
x 0 logique
x+0= x
Oprateur OU
x y
T.EA
x+ y = x+ y
60
x+ y = x y
y
Autres oprateurs
XOR (OU Exclusif ) XNOR (NON-OU Exclusif)
61
T.EA
f ( x, y )
63
T.EA
f ( x, y )
x y
x y
x+ y
x y
x y
x y x+ y
xy
65
T.EA
Table de vrit
y 0 0 1 1 x 0 1 0 1 xy 0 1 1 0 xy 1 0 0 1
x y
x y
=1
x y x y x y
x y x y
Proprits
x y = yx
( x y) z = x ( y z) x0 = x x y = x y x y = x y = x y
=1
x y
66
T.EA
Applications du XOR-XNOR
XOR :
Dtection de 2 lments binaires diffrents si x y , x y = 1 sinon x y = 0 Dtection d un nombre impair de variables gales 1 dun
si x=0 et y=1 ou si x=1 et y=0, le nombre de variables gales 1 est un nombre impair et la sortie du XOR vaut 1 p si x=y, le nombre de variables gales 1est soit nul, soit gal 2 et la sortie du XOR vaut 0
y 0 1 0 1
s 0 1 1 0
r 0 0 0 1
x y
s r
67
Applications du XOR-XNOR
Oprateur programmable
Dfinition : un oprateur est dit programmable si la relation entre la sortie et les entres est fixe par une commande
x
c
XNOR
s = x si c = 0 s = x si c = 1
Dtection de 2 lments binaires gaux Dtection dun nombre pair de variables gales 1 Oprateur programmable p p g
68
T.EA
Convention logique
Traduction physique des oprateurs
correspondance entre les tats binaires et les tats physiques systme physique comprend 2 tats distincts E1 et E2, on peut associer :
E1 0, E2 1 ou bien E1 1 et E2 0 0
69
T.EA
Convention logique
Influence du changement de convention sur les fl d h d i l oprateurs ralises
NON NON OU ET ET OU NAND NOR NOR NAND XOR XNOR
Selon l S l la convention logique, le mme circuit ti l i l i it ralise 2 fonctions diffrentes En pratique, convention fixe au dbut du projet et cette convention est conserve jusqu la fin jusqu Choix de la convention positive dans la majorit des d cas
T.EA
70
Sub
Transistor pMOS
71
T.EA
Transistor pMOS
passant : VSub=VDD et VG=VSS
p parfait p pour p passer ltat 1 imparfait pour passer ltat 0
0 1 1 0 D 0 1 D0 D=1
72
T.EA
Z qd VG=VDD VDD
0 1
Z 0
0 1
D
les transistors n et p combins servent respectivement raliser les 0 et 1 dune porte logique
logique complmentaire ou logique CMOS
73
T.EA
Inverseur CMOS
x
1 Z VDD
x 0 1
1 0
x 0 1
x
x 0 1
Z 0
74
T.EA
0 1
Z
c x
0 1
x
y
75
T.EA
x y
0 1
0 1
x
x
y
x
y
x
x
0 1 VDD GND
y
z
z
y
z
VDD
y
z
y
z
VDD
Traduction brute
T.EA
Montages en srie/parallle
nMOS en srie
0 si xy = 1
pMOS en srie
VDD
y\x 0 1 0 1 Z 1 Z Z
x
y
Z sinon
y\x 0 1 0 Z Z 1 Z 0
x
y
1 si x + y = 0 Z sinon i
nMOS en parallle
0 si x + y = 1, Z sinon
pMOS en parallle
VDD
y\x 0 0 1 1 1 1 Z 1 0 0
y\x 0 1
0 Z 0
1 si xy = 0, Z sinon
77
T.EA
NAND-NOR CMOS
NAND CMOS
y\x \ 0 1 0 1 1 1 1 0
VDD
1 si xy=0 y 0 si xy=1
x
y
y xy
Bloc p
Bloc n
Gnralisable n entres li bl
78
T.EA
NAND-NOR CMOS
NOR CMOS
y\x 0 1 0 1 0 1 0 0
VDD
x
Bloc p
1 si x+y=0 0 si x+y=1
x+ y
y
Bloc n
Gnralisable n entres
79
T.EA
p parallle srie
srie + parallle
x
x
Bloc n
80
T.EA
a c
a
c a b
f = c + ab
f = c + ab
6 transistors
c
b
c a b
f = c + ab
10 transistors
81
T.EA
a
b
a
VDD
c a
c
VDD
c a
b b
a
c
c
14 transistors
a
b b
12 transistors
82
T.EA
dlais excessifs
x1 x1
xn
xn
83
T.EA
a
50%
a
a
tpHL : high to low propagation delay
T.EA
Porte A
Porte B Porte C
85
T.EA
Facteur charge
exprime la charge lentre dune porte en fonction de la charge unit
Sortance (Fan-out) : cest la charge maximale accepte par une porte sur sa sortie i Entrance (Fan-in) : cest la charge aux entres dune porte
86
T.EA
Alas statiques
Origine des alas
en thorie: a + a = 1 et a a = 0 en pratique : il existe un retard entre a et la sortie a ce retard est d la porte inverseuse d l i
a a
a idalis
niveau dinversion
temporairement a + a = 0 i temporairement a a = 1
T.EA
alas
87
Alas statiques
Circuit logique avec un ala
b a
ab
a
f ( a , b, c ) = ab + ac
ac
b = c = 1 f = a + a = 1, thorique ment
en pratique, f nest pas gale 1 en permanence ala peut p p perturber le fonctionnement du circuit en aval
88
T.EA
Alas statiques
Thorme de la redondance
Dans une expression boolenne ayant la forme d une dune somme de produits, un produit contenant tous les facteurs d un autre produit est redondant ce qui permet dun redondant, de lliminer Exemple :
a+ab=a ab+abc+abd=ab
ab + ac + bcd = ab + ac + bcd( a + a) = ab + ac + abcd + abcd = ab + ac
89
T.EA
Alas statiques
Remdes
Thorme des alas pour a + a = 0 temporairement : Dans une somme de produits, on peut introduire des produits redondants correspondant au produit des redondants, coefficients de a et a : La sortie est force 1 Exemple : f 1 = a + ab = a + ab + b = a + b
f 2 = a + ab + bc = a + ab + bc + b = a + ab + b(1 + c ) = a + ab + b = a + b f 3 = ab + ac = ab + ac + bc
90
T.EA
Alas statiques
Mthode Karnaugh
Regrouper les paquets dj constitus entre-eux f 1 = a + ab f 2 = a + ab + bc
b\a 0 0 1 1 1 1
c\ba 0 1 00 0 0 01 1 1 11 1 1 10 1 1
Cause
0 1
f1= a +b
f 3 = ab + ac
c\ba 0 1 00 0 1 01 0 0 1 1
f 2=a+b
11 10 0 1
f 3 = ab + ac + bc
91
T.EA
Alas statiques
Correction du circuit avec ala
b a
ab
a
ac
f ( a , b, c ) = ab + ac + b b bc
93
T.EA
Codes-Codage
Dfinition
Code
correspondance arbitraire entre un ensemble de symboles et un e se b e objet ensemble d objet ex: code Morse : une srie de points et de traits reprsentent les lettres de laphabet
Codage
Action de faire correspondre des nombres, des lettres ou des p mots, un groupe de symbole (code)
94
T.EA
Codes-Codage
Types codes
pondrs :
code dcimal, binaire naturel, octal, hexadcimal, DCB...
non pondrs
code major de 3, code de gray
codes alphanumriques
code ASCII (CTI 5), code ASCII t d U i d d 5) d tendu, Unicode
95
T.EA
Codes pondrs
Manipulation courante des nombres dcimaux (base 10) Systmes numriques : nombres binaires (base 2) Besoin de circuits ralisant la conversion :
dcimale binaire
Code dcimal
Base 10
10 symboles : 0 1 2 3 4, 5, 6, 7, 8, 9 b l 0, 1, 2, 3, 4 5 6 7 8 systme poids positionnels
la valeur dun chiffre dpend de sa position dans le nombre
exemple
453,89610 = 4 x 102 + 5 x 101 + 3 x 100 + 8 x 10-1 + 9 x 10-2 + 6 x 10-3 Poids f t P id fort Poids d P id de rang 0 Poids f ibl P id faible
Tout nombre est la somme des produits de chaque chiffre par le poids de son rang dans le nombre
x = xi 10i avec xi {0;1;2;3;4;5;6;7;8;9}
i
T.EA
97
Code binaire
Base 2
2 symboles : 0 et 1 sy bo es systme poids positionnels
la valeur dun chiffre dpend de sa p p position dans le nombre
exemple
1011,0112=1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 + 1 x 2,
3
x = xi 2i avec xi {0;1}
i
98
T.EA
Code octal
Base 8
8 symboles : 0, 1, 2, 3, 4, 5, 6, 7 systme p y poids positionnels p
la valeur dun chiffre dpend de sa position dans le nombre
exemple
275,468=2 x 82 + 7 x 81 + 5 x 80 + 4 x 8-1 + 6 x 82=189,59375 10
x = xi 8i avec xi {0;1;2;3;4;5;6;7}
i
99
T.EA
Code hexadcimal
Base 16
16 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F q. dcimal : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15 q binaire : 0000 0001 0010 0000, 0001, 0010,,1101,1110,1111 1101 1110 1111 systme poids positionnels
la l l valeur dun chiffre dpend de sa position dans le nombre d hiff d dd ii d l b
exemple
2A,1C16=2 x 161 + 10 x 160 + 1 x 16-1 + 12 x 16-2 =42,10937510
100
T.EA
Comptage binaire
Avec N bits, on a 2N valeurs numriques Exemple : N=3
22 0 0 0 0 1 1 1 1 21 0 0 1 1 0 0 1 1 20 0 1 0 1 0 1 0 1 Eq. dcimal 0 1 2 3 4 5 6 7
MSB
LSB
101
T.EA
Dcimal binaire
1re mthode : le nombre dcimal est exprim comme une puissance de 2 et on inscrit 1 ou 0 vis--vis des positions binaires appropries
ex : 39=32+4+2+1=1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 100111
102
T.EA
2 9 1
2 4 0
2 2 0
2 1 1
2 0
103
T.EA
dcimal d i l octal t l
mthode par division successive (division par 8) 478 39 7 8 4 4
8 0
104
T.EA
105
T.EA
dcimal hexadcimal
mthode par division successive : division p 16 p par 1BC16 444 16 12 27 11
16 1 1
16 0
106
T.EA
107
T.EA
Code complment
Coder les nombres ngatifs g
code complment la base code complment la base diminu
108
T.EA
0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000
110
Code complment 2
Codage des entiers dans un ordinateur Dcoule d l dfi i i D l de la dfinition modulo 2n d nombres d l des b
si x 0 : criture en binaire naturel de x, ventuellement complt par des 0 gauche lt d h si x < 0 : criture en binaire naturel de 2n + x ou 2n -x (modulo ( d l 2n)
exemple :
sur 8 bi si x = +83 x = 01010011 bits i 83 si x = -83 = 256-83=173 x = 10101101
Code complment 2
Astuce de calcul
obtention rapide de loppos dun mot binaire A bt ti id d l d t bi i
-A=2n - A= 2n - 1 - A + 1 Nbr dont tous les chiffres binaires sont 1 Complment de A (0 1 et 1 0) Complment 1 ou complment restreint de A
A = A +1
exemple :
T.EA
Code complment 2
Rgle pratique : lecture de la droite vers la gauche (du LSB vers le MSB). Complmentation aprs le premier bit 1 1 rencontr et maintenu. Extension du bit de signe par la gauche exemple : sur 16 bits +83= +83 0000000001010011 -83 = 1111111110101101 Addition et soustraction se ramnent une mme opration Division et multiplication par des puissances de 2 sont des p p p dcalages arithmtiques droite et gauche (c--d avec conservation des signes) g )
114
T.EA
Code complment 10
Trouver loppos de 240 ( pp (nombres sur 3 digits) g )
complment 9 : C9(240)=103-1-240=759 complment 10 : C10(240) 759+1 760 C10(240)=759+1=760
Calculer 800-240
800 + (-240) = 800 + 760 = 1560 = 560 (modulo 103)
115
T.EA
Virgule fixe
Codage virgule fixe dun nombre dans la base B
N bits pour la partie entire et M bits pour la partie dcimale N 1
x = xN 1 x N 2 ... x0 , x1 x2 x3... x M =
avec xi {0,1,2,3..., B 1}
exemple :
B=2, N=3 et M=2 B=8, N=2 et M=1
i = M
x B
i
101,012=1x22+0x21+1x20+0x2-1+1x2-2=5,2510 24,68=2x81+4x80+6x8-1=20,7510
116
T.EA
Remarques :
4 bits pour chaque chiffre dcimal utilisation des groupes binaires de 0000 1001 un nombre DCB nest pas un nombre binaire pur b t b bi i
117
T.EA
Avantage du code :
passage facile en dcimal et vice-versa
118
T.EA
119
T.EA
T.EA
D cim a l 0 1 2 3 4 5 6 7 8 9
DCB 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
MCT 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
120
121
T.EA
Code alphanumrique
Codage des nombres, des lettres, des signes de ponctuation, ponctuation des caractres spciaux spciaux Code ASCII (American Standard Code for Information Interchange) ou ANSI X3 4 I f i I h ) X3.4
code 7 bits soit 27=128 groupes possibles
123
T.EA
124
T.EA
Unicode
Standard UNICODE
codage sur 16 bits ( 30 000 caractres couvrant la plupart des langages du monde.) 128 premiers caractres == caractres ASCII i t t 128 suivants== caractres LATIN 1 de lASCII puis, les caractres cyrilliques, armniens, hbreux, arabes, sanscrit, bengali, etc , , g , englobe galement plus de 20 000 idogrammes chinois Han
125
T.EA
Stockage d d dans une mmoire (disquette, S k de donnes d i (di disque dur) Probabilit non nulle quune erreur survienne
126
T.EA
Codes p parmi n
A chaque chiffre dcimal correspond n lments binaires d t bi i dont p sont 1 et n-p 0 t t
si le nbr de 1 est diffrent lenvoi et la rception, il y a une erreur. Permet de dtecter 1 erreur ex : code 2 parmi 5 p
127
T.EA
Code biquinaire
Compos de 2 groupes dlments binaires chacun contenant un 1 Permet de dtecter 2 erreurs (une dans chaque groupe)
128
T.EA
Contrle vertical
T.EA
129
130
T.EA
Classification
Applications
Traitement de l'information Comptage p g Visualisation Arithmtique binaire q Addition, soustraction Chiffres, lettres, caractres Transmission des donnes numriques Minimisation d'erreur Simplification Tableau de Karnaugh Asservissement Dtecteur d' D d'erreur Dtection et correction d'erreurs
Codes recommands
binaire BCD MCT, aiken, Compl.1 et 2 p
ASCII, unicode
Gray
T.EA
132
T.EA
133
T.EA
Multiplexeur p vers 1
Dfinition
Organe qui reoit p entres de donnes et transmet par O i it t d d tt t sa sortie une de ces entres au choix pour n entres de contrle d l p=2n entres de 2 d donnes aux maximum et 1 sortie de donnes parfois, une entre de validation supplmentaire V
V
n entres de contrle 2n entres de donnes
MUX
1 sortie de donnes
134
T.EA
Multiplexeur p vers 1
Exemple dun multiplexeur 4 vers 1
a et b : entres de contrles x0x3 : entres de donnes s : sortie
s = x 0 a b + x1a b + x 2 ab + x 3ab
a b x0 x1 x2 x3
135
T.EA
Mot ni
0 x-1
Mot nN-1
0 x-1
0 x-1
Mot de sortie
N bits de contrle
T.EA
136
MUX 41
x y x y
s s1 0
137
T.EA
Multiplexeur 4 vers 1
entres : x0 x3, bits de contrle : a et b, sortie : s s = a bx0 + abx1 + a bx2 + abx3
0 0 0 1 0 1 1 1
y0 y1 y2 y3 Mux y4 y5 8vers1 y6 y7 2 1 0
2 2 2
f(c,b,a)
c b a
139
T.EA
0 a
y0 y1 f
Mux y2 4vers1 /a y 1 3 1 0
2 2
c b
140
T.EA
Exemple :
a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 s 1 1 0 0 1 1 0 1
1 0
000 001 010 011 100 101 110 111
141
T.EA
Dmultiplexeur 1 vers p
Dfinition
Organe qui reoit 1 entre de donnes et la transmet par O i it t d d tl t t une de ses sorties au choix pour n entres de contrle d l p=2n sorties de 2 i d donnes aux maximum et 1 entre de donnes parfois, une entre de validation supplmentaire
V
n entres de contrle 1 entre de donnes DEMUX 2n sorties de donnes
142
T.EA
Dmultiplexeur 1 vers p
Exemple dun dmultiplexeur 1 vers 4
a et b : entres de contrles (a poids faible, b poids fort) faible x : entre de donnes s0s3 : sorties de donnes i d d
s0 = x a b s1 = xa b s2 = x ab s3 = xab
x a b s0 s1 s2 s3
143
T.EA
Dmultiplexeur-Gnrateur de fonctions
Table de vrit de la fonction majorit
f ( c, b, a ) = cba + cba + cba + cba
N 0 1 2 3 4 5 6 7 c 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 a f(c,b,a) y ( , , ) 0 0 y0 1 0 y1 0 0 y2 1 1 y3 0 0 y4 1 1 y5 0 1 y6 6 1 1 y7
y0 y1 y2 Dmux y3 y 1vers8 y4 5 y6 y7 2 1 0
2 2 2
f(c,b,a)
c b a
144
T.EA
Utilisation
Contrler la bonne transmission des donnes Contrler le bon fonctionnement de la mmoire vive d un ordinateur
145
T.EA
146
T.EA
P = x3 x2 x1 x0
(1 si nbr de 1 impair, sinon 0)
x0 x1 x2 x3
Vers le rcepteur
E = P x3 x2 x1 x0
(1 =erreur, 0 pas derreur)
147
Transcodeur
Dfinition
fonction f ti permettant de passer dun code A un code B tt t d d d d p entres k sorties Dcodeur : n entres 2n sorties max dont une seule est valide (En)codeur : 2n entres n sorties
Caractristiques gnrales
V x0 x1 xn 2 n-2 xn-1
Contrle C t l Code 1
y0 ypyp2
1
Code 2
148
T.EA
Dcodeur
Pour chaque combinaison des variables dentres, une seule variable de sortie est active n entres, m entres de contrle, p sorties (2n max) dcodeur complet : n entres et 2n sorties Exemple :
V x0 x1 x2
y0 y1 y2 y3 y4 y5 y6 y7
149
T.EA
Dcodeur
Table de vrit
V 0 1 1 1 1 1 1 1 1 c X 0 0 0 0 1 1 1 1 b X 0 0 1 1 0 0 1 1 a X 0 1 0 1 0 1 0 1 y y0 0 1 0 0 0 0 0 0 0 y y1 0 0 1 0 0 0 0 0 0 y y2 0 0 0 1 0 0 0 0 0 y y3 0 0 0 0 1 0 0 0 0 y y4 0 0 0 0 0 1 0 0 0 y y5 0 0 0 0 0 0 1 0 0 y y6 0 0 0 0 0 0 0 1 0 y y7 0 0 0 0 0 0 0 0 1
Dcodeur
Schma logique
a b c V
y0
y1
y2
y3
y4
y5
y6
y7
151
T.EA
y0 y1 2 y2 c 21 y3 2 b 0 3 vers 8 y4 y5 a 2 y6 y7
f(c,b,a)
Adressage mmoire
Mmoire == tableau dlments binaires Envoi d un numro de ligne (adresse) => lecture d un mot dun dun en mmoire Une mmoire de 1024 lignes, ncessite 10 bits dadresse lignes Le dcodeur permet la slection d une seule ligne un instant d i t t donn
Ligne 0 Ligne i 10 01101000 mmoire
Adresse i
dcodeur
Ligne 1023
01101000
Sortie ligne i
153
Dcodeur 7 segments
Afficher un chiffre dcimal sur un afficheur 7 segments
a f e g d
a b
b c dp d
Anode
cathode
d e f g dp
dp
154
Dcodeur 7 segments
Chiffres Chiff et caractres affichs ffi h
Remarque :
6, 9 6 7, 9, c, e peuvent tre reprsents par
155
Dcodeur 7 segments
Pour la suite, on ne tient pas compte des valeurs a suprieures 9 b A c B Dcodeur 7 segments d bin/7seg C e D Table de vrit f
g
N 0 1 2 3 4 5 6 7 8 9
T.EA
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
a 1 0 1 1 0 1 1 1 1 1
b 1 1 1 1 1 0 0 1 1 1
c 1 1 0 1 1 1 1 1 1 1
d 1 0 1 1 0 1 1 0 1 1
e 1 0 1 0 0 0 1 0 1 0
f 1 0 0 0 1 1 1 0 1 1
g 0 0 1 1 1 1 1 0 1 1
156
Dcodeur 7 segments
Obtention des quations aprs simplification Ob i d i i lifi i
Segment a
dc\ba 00 01 11 10 00 1 0 X 1 01 0 1 X 1 11 1 1 X X 10 1 1 X X dc\ba 00 01 11 10
Segment b
00 1 1 X 1 01 1 0 X 1 11 1 1 X X 10 1 0 X X
a = B + D + CA + C A
b = C + BA + B A
Segment c
dc\ba d \b 00 01 11 10 00 1 1 X 1 01 1 1 X 1 11 1 1 X X 10 0 1 X X dc\ba 00 01 11 10
Segment d
00 1 0 X 1 01 0 1 X 1 11 1 0 X X 10 1 1 X X
c = D+C + B+ A
T.EA
d = D + C A + B A + BC + C B A
157
Dcodeur 7 segments
Segment e
dc\ba 00 01 11 10 00 1 0 X 1 01 0 0 X 0 11 0 0 X X 10 1 1 X X dc\ba 00 01 11 10
Segment f
00 1 1 X 1 01 0 1 X 1 11 0 0 X X 10 0 1 X X
e = BA+ CA
f = D + CB + BA+ C A
Segment g
dc\ba 00 01 11 10 00 0 1 X 1 01 0 1 X 1 11 1 0 X X 10 1 1 X X
g = D + C B + B A + CB
158
T.EA
Encodeur
Oprateur inverse du dcodeur G 2n entres, contrle m entres de contrle x0 encodeur n sorties
n1 X2n-1
y0 yn-1 n1
Encodeur
Exemple l
x3 0 0 0 1 x2 0 0 1 0 x1 0 1 0 0 x0 1 0 0 0 y1 0 0 1 1 y0 0 1 0 1
Une seule entre active la fois Pour tous les autres cas, y1 y0 0 y1=y0=0 (par dfaut)
Eq. Logiques
y0 = x3 x2 x1 x0 + x3 x2 x1 x0 = x2 x0 ( x3 x1 ) y1 = x1 x0 ( x3 x2 )
x0 x2 x1 x3 y1
160
T.EA
Schma logique
y0
Encodeur prioritaire
Problme de lencodeur
indtermination si plusieurs combinaisons dentres i dt i ti i l i bi i d t sont actives en mme temps si x1=x2=1 et x0=x3=0 alors y1=y0=0 (par dfaut) sur i 1 2 1 0 3 0 l 1 0 0( df ) lexemple prcdent
161
T.EA
Encodeur prioritaire
Exemple :
clavier avec 9 touches table de codage
e 1 2 3 4 5 6 7 8 9 A 0 0 0 0 0 0 0 1 1 B 0 0 0 1 1 1 1 0 0 C 0 1 1 0 0 1 1 0 0 D 1 0 1 0 1 0 1 0 1
1 2 3 4 5 6 7 8 9
A B C D
e9 e8 e7 e6 e5 e4 e3 e2 e1 1 X X X X X X X X 0 1 X X X X X X X 0 0 1 X X X X X X 0 0 0 1 X X X X X 0 0 0 0 1 X X X X 0 0 0 0 0 1 X X X 0 0 0 0 0 0 1 X X 0 0 0 0 0 0 0 1 X 0 0 0 0 0 0 0 0 1
A 1 1 0 0 0 0 0 0 0
B 0 0 1 1 1 1 0 0 0
C 0 0 1 1 0 0 1 1 0
D 1 0 1 0 1 0 1 0 1
162
T.EA
Encodeur prioritaire
Equation logique i l i
A = e9 + e9e8 = e9 + e8 B = e9e8e7 + e9e8e7e6 + e9e8e7e6e5 + e9e8e7e6e5e4 = e9e8( e7 + e6 + e5 + e4) C = e9e8e7 + e9e8e7e6 + e9e8e7e6e5e4e3 + e9e8e7e6e5e4e3e2 = e9e8( e7 + e6 + e5e4(e3 + e2)) D = e9 + e9e8e7 + e9e8e7e6e5 + e9e8e7e6e5e4e3 + e9e8e7e6e5e4e3e2e1 = e9 + e8( e7 + e6( e5 + e4( e3 + e2e1)))
163
T.EA
Encodeur prioritaire
Schma logique S h l i
e9 e8 e7 e6 e5 e4 e3 e2 e1
1
& & & & & & & & & & & & &
1
A
T.EA
1
B
1
C
1
D
164
165
T.EA
Comparateur binaire
Comparaison entre 2 mots binaires 2 types d comparaison de i
comparaison logique : bit bit comparaison arithmtique
Comparateur
Sa >b = Ea b S a =b = E a b Sa <b = E ab
E est une entre d autorisation mais sert de dtecteur dgalit d l d lit des lments binaires de poids suprieurs t bi i d id i
T.EA
166
E a b E a b E a b E a b
a>b
COMP a = b
a<b a>b
A>B
COMP a = b
a<b a>b
A<B
COMP a = b
a<b a>b
COMP a = b
a<b
A=B
167
A>B
A0
A1
A2
A3
Entre E
Sortie S
Entre B
A<B
A=B
1 0 0
0 1 0
0 0 1
S A> B = E A3 > B3 + E A3 = B3 E A2 > B2 + E A3 = B3 E A2 = B2 E A1 > B1 + E A3 = B3 E A2 = B2 E A1 = B1 E A0 > B0 + E A3 = B3 E A2 = B2 E A1 = B1 E A0 = B0 E A'> B ' S A< B = E A3 < B3 + E A3 = B3 E A2 < B2 + E A3 = B3 E A2 = B2 E A1 < B1 + E A3 = B3 E A2 = B2 E A1 = B1 E A0 < B0 + E A3 = B3 E A2 = B2 E A1 = B1 E A0 = B0 E A'< B ' S A= B = E A3 = B3 E A2 = B2 E A1 = B1 E A0 = B0 E A'= B '
169
T.EA
X4 X5 X6 X7
A0 A1 A2 A3 A>B A=B A<B
Y0 Y1 Y2 Y3
Y4 Y5 Y6 Y7
170
T.EA
Additionneur binaire
Oprateur important dans les systmes numriques
Opration de soustraction, multiplication et division sont des variantes de lopration d addition
Etude des additionneurs sur 2 mots binaires Addition logique (OU) et addition binaire
1+1=1 1+1+1=1 1+1=0 +report de 1 1+1+1=1 + report de 1
171
T.EA
Demi-additionneur (HA)
Demi additionneur monobit
si = a i b i ci +1 = a i bi
Gnration dune retenue
ai bi
si ci+1
172
T.EA
ci +1 = a i b i Propagation dune retenue Propagation d une retenue dune Gnration/Propagation dune retenue
ai bi ci
T.EA
+ ci (a i b i )
ai bi
HA
si
ai bi
HA
si
si ci+1
173
ci+1
ci+1
FA cn-1
sn-1
c2
FA
s1
FA c1 (HA)
s0
( (co=0) )
174
T.EA
si ai=bi=0 ci, ci+1=0 : pas de retenue =0, si ai ou bien bi = 1, ci+1= ci : propagation de la retenue (Pi) si ai=bi=1 ci, ci+1=1 : gnration d une retenue (Gi) =1, dune
la retenue ci+1 est gnre au rang i ou propage par le rang i avec la retenue entrante ci : ci+1=Gi+Pi.ci c
T.EA
175
Dernire retenue (retenue anticipe) calcule avec seulement les termes de gnration, de propagation et la retenue entrante c0
T.EA
176
c3
c4
177
=1 1
c4 S3
=1 1
S2
=1 1
S1
=1 1
S0
178
T.EA
FA
FA
FA
FA
FA
FA
FA
FA
FA
FA
FA
FA
FA
FA
CO 0 1 0 1
FA FA FA FA FA FA FA FA FA FA FA
FA FA FA FA FA FA
FA
FA
Paralllisation
CO
FA FA FA
FA FA FA
FA FA FA
5 TPFA
179
T.EA
180
T.EA
Demi-soustracteur (HS)
Table de vrit
si = a i b i ci +1 = a i bi
ai bi
si ci+1
181
T.EA
Soustracteur binaire
si=ai - bi - ci Table de vrit
ai bi ci
si = a i bi c i ci+1 = a i bi + a ici + bici
Soustracteur
si ci+1
Remarque :
en pratique, le soustracteur n est pas ralis partir de ces nest quations choix d un code adquat pour An, Bn et Rn-1 dun
utilisation de ladditionneur en tant que soustracteur
T.EA
182
FS cn-1
sn-1
c2
FS
s1
FS c1 (HS)
s0
( (co=0) )
183
T.EA
Additionneur/soustracteur binaire
Similitude Si ili d entre ladditionneur et le soustracteur l ddi i l
diffrence : calcul de la retenue ajout dune entre de commande, add/sub , pour choisir entre additionneur et soustracteur, ,
si = a i bi c i
ai
si
ci+1
184
T.EA
utilisation pour les nombres flottants prfrence pour la notation en complment 2 (complment vrai) ( l t i)
185
T.EA
Exemple
Addition directe
Sur 8 bits : 4 + (-7) 4 00000100 et -7 10000111 7 4 + (-7) 10001011 -13!!! FAUX
186
T.EA
A+B A = B A B ou B A BA AB A B ou B A BA AB A+B A = B A B ou B A BA AB A B ou B A BA AB
1
Signe du rsultat SR =SA= SB 0 SR = SB=1 SR = SA=0 0 SR = SB=0 SR = SA=1 SR = S A 0 1 SR =SA= SB=1 0 0 SR =SA= SB=1
Rem.
R=0
0 Add(=0) ( ) S A S B
A < B A > B A = B
R=0
A < B A > B
S A S B
R=0
A < B A > B A = B
R=0
A < B A > B
187
T.EA
Addition : complment 2
A+B
A>0 B>0 0,
( +9) 01001 + ( +4) 00100
01101
A > 0, B < 0
A=-B
A < 0, B > 0
189
T.EA
Soustraction : complment 2
A-B
prendre le complment 2 de B : faire A + (-B) La retenue est pris en prenant le complment de la retenue obtenue exemple : A=9 et B=4
( +9) 01001 + ( 4) 11100 (-4) 00101
Addition/soustraction en compl. 2
bn-1 an-1 b 1 a1 b 0 a0
add/ b dd/sub
cn
FA cn-1
sn-1
c2
FA
s1
c1
FA c o
s0
191
T.EA
Dpassement de capacit
Reprsentation des nombres sur un nombre fini de positions N Rsultat de lopration sur N+1 position Exemple : sur 8 bits p
Arithmtique non signe
255 + 8 1111 1111 + 0000 1000 1 0000 0111 9me bit bit de carry (CF), retenue de la dernire addition indique quil y a un dbordement de capacit CF est activ
Overflow (V)
Arithmtique signe
Addition de deux nombres de mme signes Obtention dun rsultat de signe incorrect
Exemples E l
( +9) 01001 ) + ( +8) 01000
(9) 10111 ) + (8) 11000 ( 9) 10111 ) ( +8) 01000
10001 faux
01111 faux
01111 faux
Overflow (V)
Dtermination de loverflow:
Comparer le bit de signe des nombres additionns/soustraits (an-1, bn-1) avec le bit de signe de la somme/soustraction (sn-1)
an-1 bn-1 sn-1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 cn cn-1 V+ cn cn-1 V0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0
V = c n 1 c n
194
T.EA
Additionneur en DCB
Chaque chiffre dcimal est cod sur 4 bits de 0000 1001 Somme 9 5 0101
+ 3 + 0011 8 1000
Somme > 9
1 9 1001 + 8 + 1000 17 1 0001 somme non valide 0110 addition de 6 pour corriger 1 0111
195
T.EA
Additionneur en DCB
Additionneur en DCB 4 bits
S est compris entre 00000 et 10010 Cas o il faut ajouter 6 (0110)
A 3A 2 A1A 0 + B3B2 B1B0 S4S3S2S1S0
Y = S4 + S3 ( S2 + S1 )
196
T.EA
Additionneur en DCB
Schma logique
B 3 B 2 B 1 B 0 A3 A2 A1 A0 Additionneur 4 bits
S4
S3
S2
S1
S0
Additionneur 4 bits
C0=0
3 2 1 0 Somme DCB
T.EA
197
Additionneur en DCB
Montage cascade (3 chiffres)
B11B10B9B8 A11A10A9A8 B7B6B5B4 A7 A6 A5 A4 B 3 B 2 B 1 B 0 A3 A2 A1 A0
Additionneur DCB
111098
Additionneur DCB
7654
Additionneur DCB
321 0
Centaine
Dizaine
Unit
198
T.EA
Incrmateur : B+1
Une entre de ladditionneur 1 et lautre 0
bn-1 0 cn b1 0 b0 0 c1
FA cn-1
sn-1
c2
FA
s1
FA
s0
co=1
Cellule lmentaire : HA
ci bi
T.EA
si ci+1
199
Comparateur arithmtique
Utilisation de ladditionneur/soustracteur pour raliser des comparaisons li d i
B A
Additionneur/soustracteur Addi i /
Circuit de dcision
A<B
T.EA
A=B
A>B
200
Remarques
Addition vue comme une table
Dcodage de 2N bits vers N+1 bits Considrer chaque bit de sortie comme une fonction logique quelconque des bits d'entres
Utilisation de porte logique Utilisation dune mmoire
201
T.EA
Remarques
Addition de plusieurs oprandes
N bits
MO d Oprandes
Additionneur srie
D FA
si
T.EA
202
Remarques
Additionneur en arbre
N N+1 N+2 N M oprandes sur N bits N N+1 N
M-1 additionneurs log2M tages
203
T.EA
Remarques
Estimation Vitesse-Surface pour un additionneur Surface Sfa Vitesse Tpfa N bits N N Add. Prop Add Prop. Retenue
Add. Retenue Anticipe 2N (N=4) pb de fan-in Carry S l t Add C Select Adder Add. Arbre 2N Nlog2N Indpt de N (th.) log2N 2N 2log2N
Arithmtique sature q
Problme :
A code sur 3 bits valeur max de A= 7 Si S=A+1=7+1=8 => S 000 +1 report S A+1 7+1 8 > S=000
S
T.EA
Problme
S
204
205
T.EA
Multiplieur binaire
Exemples
0111 (7) ( ) x 0101 (5) 0111 0000 0111 - 0000 - - 0100011 0111 (7) ( ) x 1011 (11) 0111 0111 0000 - 0111 - - 100110 1
multiplicande p multiplicateur
produit
Multiplieur binaire
a 3a 2a1a 0 x b3b2 b1b0 p03p02 p01p00 p13p12 p11p10 p23p22 p21p20 p33p32 p31p30 S7 S6 S5 S4 S3 S2 S1 S0
aj b i
pij
bi ai ci+1FA ci si
207
T.EA
b1
bi ai ci+1FA ci si
bi ai ci+1FA ci si
bi ai ci+1FA ci si
0 b2
bi ai ci+1FA ci si
bi ai ci+1FA ci si
bi ai ci+1FA ci si
0 S1 S0
208
S5
T.EA
S4
S3
S2
Remarque: nombre de bits du rsultat est gal N+M-1 pour une multiplication en complment 2
209
T.EA
Multiplication en complment 2
Problme
0111 (7) x 0101 (5) 0111 0000 0111 - 0000 - - 0100011
1001 (-7) ( ) x 0101 (5) 1001 0000 -
210
T.EA
Multiplication en complment 2
Exemple
0111 (7) x 0101 (5) 0111 0000 0111 - 0000 - - 0100011 1001 (-7) x 0101 (5) 1111001 000000 11001 - 0000 - - 1011101 0111 (7) x 1011 (-5) 0000111 000111 00000 - 1001 - - 1011101 1001 (-7) x 1011 (-5) 1111001 111001 00000 - 0111 - - 0100011
Extension du signe
CV(7)
Extension E t i du signe
CV(-7) ( )
211
T.EA
Multiplication en CV
a 2a1a 0 x b2 b1b0 p02 p02 p02 p01p00 p12 p12 p11p10 p22 p21p20 S4 S3 S2 S1 S0
pij
pij
Succession de dcalage et d addition de daddition loprande A ou de 0 avec extension de signe, signe except la fin : si b2=0, on ajoute 0 si b2=1 on ajoute -A ou CV(A) 1, A
212
T.EA
b1
bi ai ci+1FA ci si
bi ai ci+1FA ci si
bi ai ci+1FA ci si
bi ai ci+1FA ci si
0 b2
bi ai ci+1FA ci si
bi ai ci+1FA ci si
bi ai ci+1FA ci si
S5
T.EA
S4
S3
S2
S1
S0
213
Remarques
Vitesse dun multiplieur est conditionne par la vitesse des additionneurs it d dditi
Existence de solutions architecturales permettant dacclrer les additions : retenue anticipe Diminution du nombre doprandes additionner
Plus il y a de zro dans le multiplicateur, moins il y a daddition faire Recodage de Booth
Algorithme de Booth Algorithme de Booth modifi Codage de Booth 3 bits
214
T.EA
Algorithme de Booth
Algorithme de Booth
Dtecter l Dt t les squences continues de 1 dans le multiplicateur ti d d l lti li t Squence de n 1 n sommes du multiplicande multipli par 2i ( id du bit du multiplicateur) (poids d bi d l i li ) Bas sur lidentit suivante : k i +k x i x i + k +1 j x = 1 x pour x = 2 : 2 j = 2i+k +1 2i j =i j =i
Exemple et notation : 011110=2i+k+1-2i=...00100...010 p
Position i+k Position i Position i+k+1 Position i
Algorithme de Booth
Exemple :
squence de 3 1 successifs, la somme de 3 multiplicandes M se ramne une simple soustraction
24 0
23 0
22 1
21 1
20 1
2 2 M + 21 M + 20 M = 23 M M = 01001
0101110111 101100
Remarque: 11110011
1110011000110100
00010101
216
T.EA
Algorithme de Booth
Algorithme
b-1=0 (Cond. Init.) ltape i de lalgorithme de multiplication, suivant les valeurs du multiplicateur bi-1 et bi , on effectue :
une addition ou une soustraction ou rien
bi 0 0 1 1
T.EA
b i-1 0 1 0 1
R em arque 0 en position i du recodage 1 en position i du recodage 1 en position i du recodage 0 en position i d r n p iti n du recodage d
217
Algorithme de Booth
Exemple : p
Soit multiplier 2 par 7 00010 Init Opration x 001110 sub rien rien add rien
Poids 20 21 22 23 24
Calcul 111111110
000010- - 000001110
218
T.EA
Algorithme de Booth
Problme bl
24 0 23 1 22 0 21 1 20 0
23 M + 21 M = 24 M 23 M + 22 M 21 M
0101010101 4 additions
Exemple E l
0101110111 101100
Rcriture minimale (Comporte le moins de 1 possible) ( p p ) Recodage canonique
T.EA
1110011000110100 1010001000010100
220
0101110111 101100
1010001000010100 222
T.EA
0101010101
0101010101
223
T.EA
( (6 x 2 3 )
T.EA
n 2 2
n 4 2
pair
impair
n 2 2
n 4 2
n 4 2
225
T.EA
n 2 2
n 2 2
n 4 2
n 2 2
n 2 2
n 2 2
226
T.EA
B de 3 bits conscutifs de B suivant les puissances paires de 2 Recodage de B suivant la table de vrit : R d d i t l t bl d it
b 2i+1 0 0 0 0 1 1 1
T.EA
b 2i 0 0 1 1 0 0 1 1
b 2i-1 0 1 0 1 0 1 0 1
ci 0 1 1 2 -2 -1 -1 0
227
0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 (24044)
1 2 1 2 0 1 1 0
1.214 + 2.212 1.210 + 2.28 1.2 4 1.2 2 = 16384 + 8192 1024 + 512 16 4 = 24044
228
T.EA
c0 b1b0 b-1
Multiplication suite daddition de loprande A, -A, 2A, -2A ou 0 et de dcalage par 22i Encodage simple au plus N/2 additions N bits
229
T.EA
230
T.EA
Dcodage des bits bi g Additionneur N/2 Encodage des oprandes oprandes 231
T.EA
Remarques
Codage de Booth 3 bits algo. de Booth en g g prenant les bits 2 2 Exemple
01101110
10110010
2 1 0 2
( 27 25 + 24 21 = 110)
( 2.26 24 21 = 110)
232
T.EA
Remarques
Regrouper les bits 2 2 dans l algo de Booth lalgo modifi napporte rien de plus (mme nbr daddition) d dditi ) Exemple
01011101 (93)
1 2 1 1 ( 26 + 2.2 4 2 2 + 1 = 93)
7 6 5 2 11100111 ( 2 2 + 2 2 + 2 1 = 93)
Division
La plus complexes des 4 oprations arithmtiques En d i l E dcimal :
Dividende >? diviseur Nombre de fois que le diviseur va dans le dividende? Essais successifs
En base 2
Plus simple l i l Nbr de fois que le diviseur entre dans le dividende
0 ou 1
234
T.EA
Division binaire
Rappel : a3a2a1a0,a-1a-2a-3a-4
Ex : 13,375=1101,011
Exemple: 13/4=3,25 p ,
13 - 12 10 8 20 20 0
T.EA
4 3,25 3 25
100 11,01 11 01
235
Division binaire
Principe gnral
soustraction successive du diviseur soit A et B deux nombres binaires Q l quotient de la division A par B le i d l di i i R les restes partiels Si R B alors Q=1 et R-B sinon Q=0 et R Q Q
236
T.EA
Division binaire
Exemple : A/B=1101/0100
R=1<B Q=0 et R=1 R=11<B Q=0 et R=11 R=110 B Q=1 et R-B=10 R=101 B Q=1 et R-B=1 R=10<B Q=0 et R=10 R=100B Q=1 et R-B=0
0 0 1 1 , 0 1 Q
1101 - 0100 11 - 0100 110 - 0100 101 0100 010 0100 100 0100 000
237
T.EA
Division binaire
Exemple : A/B=1011/1001
R=1<B Q=0 et R=1 R=10<B Q=0 et R=10 R=101<B Q=0 et R=101 R=1011 B Q=1 et R-B=10 R=100<B Q=0 et R=100 R=1000<B Q=0 et R=1000 R=10000B Q=1 et R-B=111 Q
T.EA
0 0 0 1 , 0 0 1 Q
1011 1001 10 1001 101 1001 1011 1001 00100 1001 1000 1001 10000 1001 0111
Division binaire
Exemple : A/B=1011/1001
R=1<B Q=0 et R=1 R=10<B Q=0 et R=10 R=101<B Q=0 et R=101 R=1011 B Q=1 et R-B=10 R=100<B Q=0 et R=100 R=1000<B Q=0 et R=1000 R=10000B Q=1 et R-B=111 Q
T.EA
0 0 0 1 , 0 0 1 Q
00001011 01001 00010 01001 00101 01001 01011 01001 00100 01001 01000 01001 10000 01001 0111
complment
Resultat. Resultat Soustraction 111000 111001 111100 000010 111011 111111 000111
239
Division binaire
0 0 0 B3 0 B2 0 B1 A3 B0
A B ci+1 contrle
Q3
1 0
1 0
1 0
1 0
1 0
0 A2
1 0
ci
Q2
1 0 Q1
1 0
1 0
1 0
1 0
0 A1
1 0 Q0
1 0
1 0
1 0
1 0
0 A0
A ou A-B
1 0
1 0
1 0
1 0
1 0
0 0
A B ci+1 contrle
Q-1
1 0 Q-2
1 0
1 0
1 0
1 0
0 0
1 0
ci
1 0 Q-3
1 0
1 0
1 0
1 0
0 0
1 0
1 0
1 0
1 0
1 0
240
T.EA
Autres oprateurs
Exponentielle Logarithme Fonctions trigonomtriques Racine carr Transforme de Fourier .
241
T.EA