Vous êtes sur la page 1sur 118

Licence Sciences, Technologies, Sant Universit de Perpignan Via Domitia

Semestre 6 (L3) - Mention Mathmatiques, Informatique Anne universitaire 2011/2012


Arithmtique des Ordinateurs
Algorithmes rapides de multiplication
Guillaume Revy
guillaume.revy@univ-perp.fr
Universit de Perpignan Via Domitia
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 1/58
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 2/58
Multiplication par additions et dcalages
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 3/58
Multiplication par additions et dcalages Multiplication binaire classique
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 4/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en numration simple position
Exemple : soient X et Y deux nombres binaires sur 4 bits

X = (x
3
x
2
x
1
x
0
) et Y = (y
3
y
2
y
1
y
0
)
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

Algorithme proche de ce quon fait sur papier en base 10


Rsultat de la multiplication : reprsentable exactement sur 8 bits

plus gnralement : si X sur n bits et Y sur m bits rsultat sur n +m bits


Remarque : comment multiplier deux nombres en complment deux ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 5/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en numration simple position
Exemple : soient X et Y deux nombres binaires sur 4 bits

X = (x
3
x
2
x
1
x
0
) et Y = (y
3
y
2
y
1
y
0
)
0 0 0
0 1 0
1 0 0
1 1 1
et
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

Algorithme proche de ce quon fait sur papier en base 10


Rsultat de la multiplication : reprsentable exactement sur 8 bits

plus gnralement : si X sur n bits et Y sur m bits rsultat sur n +m bits


Remarque : comment multiplier deux nombres en complment deux ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 5/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en numration simple position
Exemple : soient X et Y deux nombres binaires sur 4 bits

X = (x
3
x
2
x
1
x
0
) et Y = (y
3
y
2
y
1
y
0
)
0 0 0
0 1 0
1 0 0
1 1 1
et
+
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

Algorithme proche de ce quon fait sur papier en base 10


Rsultat de la multiplication : reprsentable exactement sur 8 bits

plus gnralement : si X sur n bits et Y sur m bits rsultat sur n +m bits


Remarque : comment multiplier deux nombres en complment deux ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 5/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en numration simple position
Exemple : soient X et Y deux nombres binaires sur 4 bits

X = (x
3
x
2
x
1
x
0
) et Y = (y
3
y
2
y
1
y
0
)
0 0 0
0 1 0
1 0 0
1 1 1
et
+
+
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

Algorithme proche de ce quon fait sur papier en base 10


Rsultat de la multiplication : reprsentable exactement sur 8 bits

plus gnralement : si X sur n bits et Y sur m bits rsultat sur n +m bits


Remarque : comment multiplier deux nombres en complment deux ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 5/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en numration simple position
Exemple : soient X et Y deux nombres binaires sur 4 bits

X = (x
3
x
2
x
1
x
0
) et Y = (y
3
y
2
y
1
y
0
)
0 0 0
0 1 0
1 0 0
1 1 1
et
+
+
+
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

Algorithme proche de ce quon fait sur papier en base 10


Rsultat de la multiplication : reprsentable exactement sur 8 bits

plus gnralement : si X sur n bits et Y sur m bits rsultat sur n +m bits


Remarque : comment multiplier deux nombres en complment deux ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 5/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en numration simple position
Exemple : soient X et Y deux nombres binaires sur 4 bits

X = (x
3
x
2
x
1
x
0
) et Y = (y
3
y
2
y
1
y
0
)
0 0 0
0 1 0
1 0 0
1 1 1
et
+
+
+
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

Algorithme proche de ce quon fait sur papier en base 10


Rsultat de la multiplication : reprsentable exactement sur 8 bits

plus gnralement : si X sur n bits et Y sur m bits rsultat sur n +m bits


Remarque : comment multiplier deux nombres en complment deux ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 5/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en numration simple position
Exemple : soient X et Y deux nombres binaires sur 4 bits

X = (x
3
x
2
x
1
x
0
) et Y = (y
3
y
2
y
1
y
0
)
0 0 0
0 1 0
1 0 0
1 1 1
et
+
+
+
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

Algorithme proche de ce quon fait sur papier en base 10


Rsultat de la multiplication : reprsentable exactement sur 8 bits

plus gnralement : si X sur n bits et Y sur m bits rsultat sur n +m bits


Remarque : comment multiplier deux nombres en complment deux ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 5/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

X est ngatif

1 1 0 1
0 1 0 1
Application de lalgorithme prcdent :

calcul des produits partiels

addition des produits partiels


Problme : X = 3 et Y = 5 rsultat ,=15 mais rsultat = 65

les produits partiels doivent tre sur 8 bits

solution : extension de signe (11110001)


2
= (15)
10
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 6/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

X est ngatif
1 0 1 1
0 0 0 0
1 0 1 1
0 0 0 0

1 1 0 1
0 1 0 1
Application de lalgorithme prcdent :

calcul des produits partiels

addition des produits partiels


Problme : X = 3 et Y = 5 rsultat ,=15 mais rsultat = 65

les produits partiels doivent tre sur 8 bits

solution : extension de signe (11110001)


2
= (15)
10
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 6/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

X est ngatif
1 0 1 1
0 0 0 0
1 0 1 1
0 0 0 0

1 1 0 1
0 1 0 1
+
+
+
1 0 0 0 0 0 1 0
Application de lalgorithme prcdent :

calcul des produits partiels

addition des produits partiels


Problme : X = 3 et Y = 5 rsultat ,=15 mais rsultat = 65

les produits partiels doivent tre sur 8 bits

solution : extension de signe (11110001)


2
= (15)
10
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 6/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

X est ngatif
1 0 1 1
0 0 0 0
1 0 1 1
0 0 0 0

1 1 0 1
0 1 0 1
+
+
+
1 0 0 0 0 0 1 0
Application de lalgorithme prcdent :

calcul des produits partiels

addition des produits partiels


Problme : X = 3 et Y = 5 rsultat ,=15 mais rsultat = 65

les produits partiels doivent tre sur 8 bits

solution : extension de signe (11110001)


2
= (15)
10
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 6/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

X est ngatif
3 sur 4 bits, mais 13 sur 8 bits 1 0 1 1
0 0 0 0
1 0 1 1
0 0 0 0

1 1 0 1
0 1 0 1
+
+
+
1 0 0 0 0 0 1 0
Application de lalgorithme prcdent :

calcul des produits partiels

addition des produits partiels


Problme : X = 3 et Y = 5 rsultat ,=15 mais rsultat = 65

les produits partiels doivent tre sur 8 bits

solution : extension de signe (11110001)


2
= (15)
10
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 6/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

X est ngatif
1 1 1 1
1 1
0
0 0 0
+
+
+
1 0 1 1
0 0 0 0
1 0 1 1
0 0 0 0

1 1 0 1
0 1 0 1
0 0 0 1 1 1 1 1
Application de lalgorithme prcdent :

calcul des produits partiels

addition des produits partiels


Problme : X = 3 et Y = 5 rsultat ,=15 mais rsultat = 65

les produits partiels doivent tre sur 8 bits

solution : extension de signe (11110001)


2
= (15)
10
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 6/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

Y est ngatif
Solution 1 : inverser les signes de X et Y application de lalgorithme prcdent
Solution 2 : adaptation de lalgorithme prcdent :

calcul des produits partiels

addition des 3 premiers produits partiels

soustraction du dernier produit partiel


+
+

1 0 1 0
0 0 0 0
1 0 1
0
0
0 1 1

1 0 1
1 0 1
0
1
1
0 0 0 1 1 1 1 1
0 0 1 1 1 0
0 0 1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 7/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

Y est ngatif
Solution 1 : inverser les signes de X et Y application de lalgorithme prcdent
Solution 2 : adaptation de lalgorithme prcdent :

calcul des produits partiels

addition des 3 premiers produits partiels

soustraction du dernier produit partiel


+
+

1 0 1 0
0 0 0 0
1 0 1
0
0
0 1 1

1 0 1
1 0 1
0
1
1
0 0 0 1 1 1 1 1
0 0 1 1 1 0
0 0 1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 7/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

Y est ngatif
Solution 1 : inverser les signes de X et Y application de lalgorithme prcdent
Solution 2 : adaptation de lalgorithme prcdent :

calcul des produits partiels

addition des 3 premiers produits partiels

soustraction du dernier produit partiel


+
+

1 0 1 0
0 0 0 0
1 0 1
0
0
0 1 1

1 0 1
1 0 1
0
1
1
0 0 0 1 1 1 1 1
0 0 1 1 1 0
0 0 1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 7/58
Multiplication par additions et dcalages Multiplication binaire classique
Multiplication de deux nombres entiers en base 2
cods en complment deux
Exemple : soient X et Y deux nombres binaires sur 4 bits

Y est ngatif
Solution 1 : inverser les signes de X et Y application de lalgorithme prcdent
Solution 2 : adaptation de lalgorithme prcdent :

calcul des produits partiels

addition des 3 premiers produits partiels

soustraction du dernier produit partiel


+
+

1 0 1 0
0 0 0 0
1 0 1
0
0
0 1 1

1 0 1
1 0 1
0
1
1
0 0 0 1 1 1 1 1
0 0 1 1 1 0
0 0 1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 7/58
Multiplication par additions et dcalages Multiplication binaire classique
Comment implanter un multiplieur ?
Algorithme de multiplication :
P 0
pour i de 0 n 1 faire
P P + { X Y
i
dcal de i positions vers les poids forts }
fpour
Remarque : implantation P sur 2n chiffres
Finalement ltape i

P n +i +1 chiffres

Y n i chiffres
Et donc : 2n +1 chiffres au total sont ncessaires pour stocker P et Y
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 8/58
Multiplication par additions et dcalages Multiplication binaire classique
Comment implanter un multiplieur ?
Algorithme de multiplication :
P 0
pour i de 0 n 1 faire
P P + { X Y
i
dcal de i positions vers les poids forts }
fpour
Remarque : implantation P sur 2n chiffres
Finalement ltape i

P n +i +1 chiffres

Y n i chiffres
Et donc : 2n +1 chiffres au total sont ncessaires pour stocker P et Y
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 8/58
Multiplication par additions et dcalages Multiplication binaire classique
Comment implanter un multiplieur ?
Algorithme de multiplication :
P 0
pour i de 0 n 1 faire
P P + { X Y
i
dcal de i positions vers les poids forts }
fpour
Remarque : implantation P sur 2n chiffres
Finalement ltape i

P n +i +1 chiffres

Y n i chiffres
Et donc : 2n +1 chiffres au total sont ncessaires pour stocker P et Y
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 8/58
Multiplication par additions et dcalages Multiplication binaire classique
Architecture de multiplication
en numration simple position
Multiplicande X
accu. poids faibles accu. poids forts
R
Additionneur
Multiplicande X
n n
n + 1
r
e
t
e
n
u
e
n 1
AC
1
AC
0
AC
0
[0]
Initialisation :

R 0

ACO
1
0

ACO
0
Y
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 9/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons la multiplication de X = 3 et Y = 9
Itration X R AC
1
AC
0
Action
0 0011 0 0000 1001
addition / dcalage
1 0011 0 0001 1100 dcalage
2 0011 0 0000 1110 dcalage
3 0011 0 0000 0111 addition / dcalage
4 0011 0 0001 1011
Finalement : X Y = (00011011)
2
= 27
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 10/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons la multiplication de X = 3 et Y = 9
Itration X R AC
1
AC
0
Action
0 0011 0 0000 1001 addition / dcalage
1 0011 0 0001 1100
dcalage
2 0011 0 0000 1110 dcalage
3 0011 0 0000 0111 addition / dcalage
4 0011 0 0001 1011
Finalement : X Y = (00011011)
2
= 27
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 10/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons la multiplication de X = 3 et Y = 9
Itration X R AC
1
AC
0
Action
0 0011 0 0000 1001 addition / dcalage
1 0011 0 0001 1100 dcalage
2 0011 0 0000 1110
dcalage
3 0011 0 0000 0111 addition / dcalage
4 0011 0 0001 1011
Finalement : X Y = (00011011)
2
= 27
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 10/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons la multiplication de X = 3 et Y = 9
Itration X R AC
1
AC
0
Action
0 0011 0 0000 1001 addition / dcalage
1 0011 0 0001 1100 dcalage
2 0011 0 0000 1110 dcalage
3 0011 0 0000 0111
addition / dcalage
4 0011 0 0001 1011
Finalement : X Y = (00011011)
2
= 27
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 10/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons la multiplication de X = 3 et Y = 9
Itration X R AC
1
AC
0
Action
0 0011 0 0000 1001 addition / dcalage
1 0011 0 0001 1100 dcalage
2 0011 0 0000 1110 dcalage
3 0011 0 0000 0111 addition / dcalage
4 0011 0 0001 1011
Finalement : X Y = (00011011)
2
= 27
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 10/58
Multiplication par additions et dcalages Multiplication binaire classique
Architecture de multiplication
en complment 2
Multiplicande X
accu. poids faibles accu. poids forts
R Multiplicande X
n n
n
n
AC
1
AC
0
Additionneur
compl ement ` a 2
AC
0
[0]
Initialisation :

R 0

ACO
1
0

ACO
0
Y
Remarques :

si AC
0
[0] = 1 R = 1

le dcalage laisse invariant le


contenu du registre R
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 11/58
Multiplication par additions et dcalages Multiplication binaire classique
Architecture de multiplication
en complment 2
Multiplicande X
accu. poids faibles accu. poids forts
R Multiplicande X
n n
n
n
AC
1
AC
0
Additionneur
compl ement ` a 2
AC
0
[0]
Initialisation :

R 0

ACO
1
0

ACO
0
Y
Remarques :

si AC
0
[0] = 1 R = 1

le dcalage laisse invariant le


contenu du registre R
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 11/58
Multiplication par additions et dcalages Multiplication binaire classique
Architecture de multiplication
en complment 2
Multiplicande X
accu. poids faibles accu. poids forts
R Multiplicande X
n n
n
n
AC
1
AC
0
Additionneur
compl ement ` a 2
AC
0
[0]
Initialisation :

R 0

ACO
1
0

ACO
0
Y
Remarques :

si AC
0
[0] = 1 R = 1

le dcalage laisse invariant le


contenu du registre R
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 11/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons maintenant la multiplication de X = 5 et Y =3
Itration X R AC
1
AC
0
Action
0 0101 0 0000 1101
R = 1 / addition / dcalage
1 0101 1 1010 1110 dcalage
2 0101 1 1101 0111 addition / dcalage
3 0101 1 1001 0011 addition / dcalage
4 0101 1 1111 0001
Finalement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 12/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons maintenant la multiplication de X = 5 et Y =3
Itration X R AC
1
AC
0
Action
0 0101 0 0000 1101 R = 1 / addition / dcalage
1 0101 1 1010 1110
dcalage
2 0101 1 1101 0111 addition / dcalage
3 0101 1 1001 0011 addition / dcalage
4 0101 1 1111 0001
Finalement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 12/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons maintenant la multiplication de X = 5 et Y =3
Itration X R AC
1
AC
0
Action
0 0101 0 0000 1101 R = 1 / addition / dcalage
1 0101 1 1010 1110 dcalage
2 0101 1 1101 0111
addition / dcalage
3 0101 1 1001 0011 addition / dcalage
4 0101 1 1111 0001
Finalement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 12/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons maintenant la multiplication de X = 5 et Y =3
Itration X R AC
1
AC
0
Action
0 0101 0 0000 1101 R = 1 / addition / dcalage
1 0101 1 1010 1110 dcalage
2 0101 1 1101 0111 addition / dcalage
3 0101 1 1001 0011
addition / dcalage
4 0101 1 1111 0001
Finalement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 12/58
Multiplication par additions et dcalages Multiplication binaire classique
Exemple dutilisation de cette architecture
Considrons maintenant la multiplication de X = 5 et Y =3
Itration X R AC
1
AC
0
Action
0 0101 0 0000 1101 R = 1 / addition / dcalage
1 0101 1 1010 1110 dcalage
2 0101 1 1101 0111 addition / dcalage
3 0101 1 1001 0011 addition / dcalage
4 0101 1 1111 0001
Finalement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 12/58
Multiplication par additions et dcalages Mthode de Booth
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 13/58
Multiplication par additions et dcalages Mthode de Booth
Mthode de Booth
Soient deux nombres binaires X (sur n bits) et Y (sur m bits)

en numration simple position ou complment 2


Multiplication X Y addition de m produits partiels sur n +m bits
+
+
+
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

remarque : on additionne le i -me produit partiel uniquement si y


i
,= 0
Ide de la mthode de Booth (Booth, 1951) : faire apparatre des 0 dans lcriture
du multiplicateur Y pour acclrer la multiplication
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 14/58
Multiplication par additions et dcalages Mthode de Booth
Mthode de Booth
Soient deux nombres binaires X (sur n bits) et Y (sur m bits)

en numration simple position ou complment 2


Multiplication X Y addition de m produits partiels sur n +m bits
+
+
+
y
3
x
2
y
2
y
1
x
1
x
0
y
0
x
3

remarque : on additionne le i -me produit partiel uniquement si y


i
,= 0
Ide de la mthode de Booth (Booth, 1951) : faire apparatre des 0 dans lcriture
du multiplicateur Y pour acclrer la multiplication
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 14/58
Multiplication par additions et dcalages Mthode de Booth
Mthode de Booth
Mthode de Booth : base sur lidentit
2
i +k
+2
i +k1
+ +2
i +1
+2
i +k
= 2
i +k+1
2
i

remplacer les chanes 0111 1110 par 1000 0010

utilisation des chiffres signs 1, 0, 1

exemple : 62 = (00111110)
2
= (01000010)
2

remarque : si le bit de poids fort = 1 la chane recode aura un bit de plus, et le


poids fort sera = 1
Problme : dans certain cas, on peut faire apparatre plus de 1 dans la chane
recode que dans la chane initiale :
01010101 11111111.
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 15/58
Multiplication par additions et dcalages Mthode de Booth
Mthode de Booth
Mthode de Booth : base sur lidentit
2
i +k
+2
i +k1
+ +2
i +1
+2
i +k
= 2
i +k+1
2
i

remplacer les chanes 0111 1110 par 1000 0010

utilisation des chiffres signs 1, 0, 1

exemple : 62 = (00111110)
2
= (01000010)
2

remarque : si le bit de poids fort = 1 la chane recode aura un bit de plus, et le


poids fort sera = 1
Problme : dans certain cas, on peut faire apparatre plus de 1 dans la chane
recode que dans la chane initiale :
01010101 11111111.
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 15/58
Multiplication par additions et dcalages Mthode de Booth
Mthode de Booth
Remarque : utilisation de chiffres signs coteuse (2 bits / chiffre)

on nutilisera pas directement des chiffres signs

chaque tape i : addition, soustraction ou rien


Finalement, on effectue les oprations suivantes (avec y
1
= 0)
y
i
y
i 1
action
0 0 rien 0 en i -me position du recodage
0 1 addition 1 en i -me position du recodage
1 0 soustraction 1 en i -me position du recodage
1 1 rien 0 en i -me position du recodage
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 16/58
Multiplication par additions et dcalages Mthode de Booth
Architecture base sur la mthode de Booth
Multiplicande X
accu. poids faibles accu. poids forts
Multiplicande X
n n
n
n
AC
0
Additionneur
compl ement ` a 2
AC
0
[0]
AC
1
H
Initialisation :

H 0

ACO
1
0

ACO
0
Y
Droulement :

si AC
0
[0] = 1 et H = 0 addition

si AC
0
[0] = 0 et H = 1 soustraction
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 17/58
Multiplication par additions et dcalages Mthode de Booth
Architecture base sur la mthode de Booth
Multiplicande X
accu. poids faibles accu. poids forts
Multiplicande X
n n
n
n
AC
0
Additionneur
compl ement ` a 2
AC
0
[0]
AC
1
H
Initialisation :

H 0

ACO
1
0

ACO
0
Y
Droulement :

si AC
0
[0] = 1 et H = 0 addition

si AC
0
[0] = 0 et H = 1 soustraction
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 17/58
Multiplication par additions et dcalages Mthode de Booth
Architecture base sur la mthode de Booth
Multiplicande X
accu. poids faibles accu. poids forts
Multiplicande X
n n
n
n
AC
0
Additionneur
compl ement ` a 2
AC
0
[0]
AC
1
H
Initialisation :

H 0

ACO
1
0

ACO
0
Y
Droulement :

si AC
0
[0] = 1 et H = 0 addition

si AC
0
[0] = 0 et H = 1 soustraction
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 17/58
Multiplication par additions et dcalages Mthode de Booth
Exemple dutilisation de cette architecture
Revenons sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
H Action
0 0101 0000 1101 0
soustraction / dcalage
1 0101 1101 1110 1 addition / dcalage
2 0101 0001 0111 0 soustraction / dcalage
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Effectivement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 18/58
Multiplication par additions et dcalages Mthode de Booth
Exemple dutilisation de cette architecture
Revenons sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
H Action
0 0101 0000 1101 0 soustraction / dcalage
1 0101 1101 1110 1
addition / dcalage
2 0101 0001 0111 0 soustraction / dcalage
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Effectivement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 18/58
Multiplication par additions et dcalages Mthode de Booth
Exemple dutilisation de cette architecture
Revenons sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
H Action
0 0101 0000 1101 0 soustraction / dcalage
1 0101 1101 1110 1 addition / dcalage
2 0101 0001 0111 0
soustraction / dcalage
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Effectivement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 18/58
Multiplication par additions et dcalages Mthode de Booth
Exemple dutilisation de cette architecture
Revenons sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
H Action
0 0101 0000 1101 0 soustraction / dcalage
1 0101 1101 1110 1 addition / dcalage
2 0101 0001 0111 0 soustraction / dcalage
3 0101 1110 0011 1
dcalage
4 0101 1111 0001 1
Effectivement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 18/58
Multiplication par additions et dcalages Mthode de Booth
Exemple dutilisation de cette architecture
Revenons sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
H Action
0 0101 0000 1101 0 soustraction / dcalage
1 0101 1101 1110 1 addition / dcalage
2 0101 0001 0111 0 soustraction / dcalage
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Effectivement : X Y = (11110001)
2
=15
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 18/58
Multiplication par additions et dcalages Mthode de Booth modie
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 19/58
Multiplication par additions et dcalages Mthode de Booth modie
Mthode de Booth modie
Principe : reprsenter une chane avec le plus de zro possible

garantir quau moins la moiti des bits sont nuls

rduire le nombre moyen et maximum dadditions/soustractions


Remarque sur la mthode de Booth

11 quivalent 01

11 quivalent 01
introduire de nouveau 0
Finalement, le mthode de Booth modie consiste remplacer squentiellement
de droite gauche
11 01 et 11 01
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 20/58
Multiplication par additions et dcalages Mthode de Booth modie
Mthode de Booth modie
Principe : reprsenter une chane avec le plus de zro possible

garantir quau moins la moiti des bits sont nuls

rduire le nombre moyen et maximum dadditions/soustractions


Remarque sur la mthode de Booth

11 quivalent 01

11 quivalent 01
introduire de nouveau 0
Finalement, le mthode de Booth modie consiste remplacer squentiellement
de droite gauche
11 01 et 11 01
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 20/58
Multiplication par additions et dcalages Mthode de Booth modie
Mthode de Booth modie
Principe : reprsenter une chane avec le plus de zro possible

garantir quau moins la moiti des bits sont nuls

rduire le nombre moyen et maximum dadditions/soustractions


Remarque sur la mthode de Booth

11 quivalent 01

11 quivalent 01
introduire de nouveau 0
Finalement, le mthode de Booth modie consiste remplacer squentiellement
de droite gauche
11 01 et 11 01
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 20/58
Multiplication par additions et dcalages Mthode de Booth modie
Par exemple...
Soit la chane binaire suivante :
A = 010111011011101111011
Aprs recodage par la mthode de Booth, on obtient :
B = 111001101100110001101
En remplaant squentiellement de droite gauche 11 01 et 11 01, on
obtient :
C = 101000100100010000101
Conclusions :

C contient plus de 0 que A et B rcriture minimale de A

C = recodage de A par la mthode de Booth modie recodage canonique de A


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 21/58
Multiplication par additions et dcalages Mthode de Booth modie
Par exemple...
Soit la chane binaire suivante :
A = 010111011011101111011
Aprs recodage par la mthode de Booth, on obtient :
B = 111001101100110001101
En remplaant squentiellement de droite gauche 11 01 et 11 01, on
obtient :
C = 101000100100010000101
Conclusions :

C contient plus de 0 que A et B rcriture minimale de A

C = recodage de A par la mthode de Booth modie recodage canonique de A


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 21/58
Multiplication par additions et dcalages Mthode de Booth modie
Par exemple...
Soit la chane binaire suivante :
A = 010111011011101111011
Aprs recodage par la mthode de Booth, on obtient :
B = 111001101100110001101
En remplaant squentiellement de droite gauche 11 01 et 11 01, on
obtient :
C = 101000100100010000101
Conclusions :

C contient plus de 0 que A et B rcriture minimale de A

C = recodage de A par la mthode de Booth modie recodage canonique de A


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 21/58
Multiplication par additions et dcalages Mthode de Booth modie
Principe de la mthode de Booth modie
Il existe plus rapide que dappliquer la mthode de Booth et ensuite modier la
chane rsultat par remplacement squentiels et successifs
Remarque : aprs application de la mthode de Booth, les squences

11 0 isols de la chane initiale

11 1 isols de la chane initiale


Par exemple : recodons la chane 01111011

application de la mthode de Booth 10001101

remplacement squentiel (Booth modi) 10000101


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 22/58
Multiplication par additions et dcalages Mthode de Booth modie
Principe de la mthode de Booth modie
Par exemple : recodons la chane 01111011

Booth modi 10000101


Finalement au i -me pas de lagorithme de multiplication (avec c
0
= 0)

les c
i
permettent de localiser les 0 ou 1 isols
c
i
y
i +1
y
i
action ltape i c
i +1
0 0 0 rien 0 en i -me position du recodage 0
0 0 1 addition 1 en i -me position du recodage 0
0 1 0 rien 0 en i -me position du recodage 0
0 1 1 soustraction 1 en i -me position du recodage 1
1 0 0 addition 1 en i -me position du recodage 0
1 0 1 rien 0 en i -me position du recodage 1
1 1 0 soustraction 1 en i -me position du recodage 1
1 1 1 rien 0 en i -me position du recodage 1
Remarque : la chane recode jamais deux chiffres conscutifs non nuls

au plus n/2 additions/soustractions


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 23/58
Multiplication par additions et dcalages Mthode de Booth modie
Architecture base sur la mthode de Booth
Multiplicande X
accu. poids faibles accu. poids forts
Multiplicande X
n n
n
n
AC
0
Additionneur
compl ement ` a 2
AC
1
AC
0
[1]
AC
0
[0]
c
i
c
i+1
Initialisation :

H 0

ACO
1
0

ACO
0
Y
Droulement : avec y
i +1
= AC
0
[1] et y
i
= AC
0
[0]

si (c
i
,y
i +1
,y
i
) = (0,0,1) ou (1,0,0) addition

si (c
i
,y
i +1
,y
i
) = (0,1,1) ou (1,1,0) soustraction
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 24/58
Multiplication par additions et dcalages Mthode de Booth modie
Architecture base sur la mthode de Booth
Multiplicande X
accu. poids faibles accu. poids forts
Multiplicande X
n n
n
n
AC
0
Additionneur
compl ement ` a 2
AC
1
AC
0
[1]
AC
0
[0]
c
i
c
i+1
Initialisation :

H 0

ACO
1
0

ACO
0
Y
Droulement : avec y
i +1
= AC
0
[1] et y
i
= AC
0
[0]

si (c
i
,y
i +1
,y
i
) = (0,0,1) ou (1,0,0) addition

si (c
i
,y
i +1
,y
i
) = (0,1,1) ou (1,1,0) soustraction
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 24/58
Multiplication par additions et dcalages Mthode de Booth modie
Architecture base sur la mthode de Booth
Multiplicande X
accu. poids faibles accu. poids forts
Multiplicande X
n n
n
n
AC
0
Additionneur
compl ement ` a 2
AC
1
AC
0
[1]
AC
0
[0]
c
i
c
i+1
Initialisation :

H 0

ACO
1
0

ACO
0
Y
Droulement : avec y
i +1
= AC
0
[1] et y
i
= AC
0
[0]

si (c
i
,y
i +1
,y
i
) = (0,0,1) ou (1,0,0) addition

si (c
i
,y
i +1
,y
i
) = (0,1,1) ou (1,1,0) soustraction
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 24/58
Multiplication par additions et dcalages Mthode de Booth modie
Exemple dutilisation de cette architecture
Revenons enn sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
c
i
Action
0 0101 0000 1101 0
addition / dcalage
1 0101 0010 1110 0 dcalage
2 0101 0001 0111 0 soustraction / dcalage et c
i +1
= 1
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Conrmation : X Y = (11110001)
2
=15, mais en 1 soustraction de moins
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 25/58
Multiplication par additions et dcalages Mthode de Booth modie
Exemple dutilisation de cette architecture
Revenons enn sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
c
i
Action
0 0101 0000 1101 0 addition / dcalage
1 0101 0010 1110 0
dcalage
2 0101 0001 0111 0 soustraction / dcalage et c
i +1
= 1
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Conrmation : X Y = (11110001)
2
=15, mais en 1 soustraction de moins
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 25/58
Multiplication par additions et dcalages Mthode de Booth modie
Exemple dutilisation de cette architecture
Revenons enn sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
c
i
Action
0 0101 0000 1101 0 addition / dcalage
1 0101 0010 1110 0 dcalage
2 0101 0001 0111 0
soustraction / dcalage et c
i +1
= 1
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Conrmation : X Y = (11110001)
2
=15, mais en 1 soustraction de moins
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 25/58
Multiplication par additions et dcalages Mthode de Booth modie
Exemple dutilisation de cette architecture
Revenons enn sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
c
i
Action
0 0101 0000 1101 0 addition / dcalage
1 0101 0010 1110 0 dcalage
2 0101 0001 0111 0 soustraction / dcalage et c
i +1
= 1
3 0101 1110 0011 1
dcalage
4 0101 1111 0001 1
Conrmation : X Y = (11110001)
2
=15, mais en 1 soustraction de moins
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 25/58
Multiplication par additions et dcalages Mthode de Booth modie
Exemple dutilisation de cette architecture
Revenons enn sur la multiplication de X = 5 et Y =3
Itration X AC
1
AC
0
c
i
Action
0 0101 0000 1101 0 addition / dcalage
1 0101 0010 1110 0 dcalage
2 0101 0001 0111 0 soustraction / dcalage et c
i +1
= 1
3 0101 1110 0011 1 dcalage
4 0101 1111 0001 1
Conrmation : X Y = (11110001)
2
=15, mais en 1 soustraction de moins
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 25/58
Multiplieurs par rseaux cellulaires
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 26/58
Multiplieurs par rseaux cellulaires
Principe des multiplieurs cellulaires
Soient deux nombres entiers X et Y, encods en base 2 sur n bits :
X = (X
n1
X
n2
X
1
X
0
)
2
et Y = (Y
n1
Y
n2
Y
1
Y
0
)
2

numration simple position


Multiplieurs cellulaires : cellules simples sur un rseau dinterconnexion rgulier
Principe : utilisation de cellules full adder (FA) pour calculer les sommes partielles

on ne propage pas la retenue sur chaque ligne

utilisation de la notation carry save

bmol : utilisation dun additionneur propagation de retenue la n pour dterminer


le rsultat
Exemple : multiplieur de Braun (1963)

rseau trs rgulier

entres sur n bits n 1 additionneurs carry save et 1 additionneur squentiel la


n pour dterminer le rsultat
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 27/58
Multiplieurs par rseaux cellulaires
Principe des multiplieurs cellulaires
Soient deux nombres entiers X et Y, encods en base 2 sur n bits :
X = (X
n1
X
n2
X
1
X
0
)
2
et Y = (Y
n1
Y
n2
Y
1
Y
0
)
2

numration simple position


Multiplieurs cellulaires : cellules simples sur un rseau dinterconnexion rgulier
Principe : utilisation de cellules full adder (FA) pour calculer les sommes partielles

on ne propage pas la retenue sur chaque ligne

utilisation de la notation carry save

bmol : utilisation dun additionneur propagation de retenue la n pour dterminer


le rsultat
Exemple : multiplieur de Braun (1963)

rseau trs rgulier

entres sur n bits n 1 additionneurs carry save et 1 additionneur squentiel la


n pour dterminer le rsultat
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 27/58
Multiplieurs par rseaux cellulaires
Principe des multiplieurs cellulaires
Soient deux nombres entiers X et Y, encods en base 2 sur n bits :
X = (X
n1
X
n2
X
1
X
0
)
2
et Y = (Y
n1
Y
n2
Y
1
Y
0
)
2

numration simple position


Multiplieurs cellulaires : cellules simples sur un rseau dinterconnexion rgulier
Principe : utilisation de cellules full adder (FA) pour calculer les sommes partielles

on ne propage pas la retenue sur chaque ligne

utilisation de la notation carry save

bmol : utilisation dun additionneur propagation de retenue la n pour dterminer


le rsultat
Exemple : multiplieur de Braun (1963)

rseau trs rgulier

entres sur n bits n 1 additionneurs carry save et 1 additionneur squentiel la


n pour dterminer le rsultat
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 27/58
Multiplieurs par rseaux cellulaires
Multiplieur de Braun
FA FA FA
FA
FA FA FA
FA FA
FA FA FA
X
0
X
1
X
2
X
3
Y
3
Y
2
Y
1
Y
0
P
0
P
2
P
1
P
3
P
4
P
5
P
6
P
7
a
b
a b
0 0 0
0
Temps de calcul :

proportionnel au plus long chemin

entres sur n bits traverse de 2n 2 cellules


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 28/58
Dcomposition rcursive de la multiplication
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 29/58
Dcomposition rcursive de la multiplication Principe de base
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 30/58
Dcomposition rcursive de la multiplication Principe de base
Principe de la dcomposition rcursive de la multiplication
Soient deux nombres entiers X et Y, encods en base 2 sur n bits :
X = (X
n1
X
n2
X
1
X
0
)
2
et Y = (Y
n1
Y
n2
Y
1
Y
0
)
2

numration simple position


Principe : on peut dcouper X et Y en deux blocs de n/2 bits
X
(1)
= (X
n1
X
p
)
2
et X
(0)
= (X
p1
X
0
)
2
X = 2
p
X
(1)
+X
(0)
.
Et nalement
X Y = 2
2p
X
(1)
Y
(1)
+2
p

X
(1)
Y
(0)
+X
(0)
Y
(1)

+X
(0)
Y
0
.
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 31/58
Dcomposition rcursive de la multiplication Principe de base
Principe de la dcomposition rcursive de la multiplication
Principe : on peut dcouper X et Y en deux blocs de n/2 bits
X Y = 2
2p
X
(1)
Y
(1)
+2
p

X
(1)
Y
(0)
+X
(0)
Y
(1)

+X
(0)
Y
(0)
.
Remarque : les 4 multiplications peuvent tre excutes en parallles

on parle de dcomposition 4M
Complexit : en considrant les additions en temps constant carry save
D(n) = D(n/2) +cst
D(n) =O(logn)

thoriquement : proportionnel au logarithme de la taille des oprandes


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 32/58
Dcomposition rcursive de la multiplication Principe de base
Principe de la dcomposition rcursive de la multiplication
Remarque 1 : on peut galement calculer X Y de la manire suivante :
X Y = 2
2p
B+2
p

ABC

+C, avec
A =

X
(1)
+X
(0)

Y
(1)
+Y
(0)

, B = X
(1)
Y
(1)
et C = X
(0)
Y
(0)
.

3 multiplications seulement : dcomposition 3M


Remarque 2 : on peut encore calculer X Y en dcomposant rcursivement un
seul oprande :
X Y = 2
p
XY
(1)
+XY
(0)
.

multiplier X par un entier de 1 bit trivial

en fait, cest mon multiplieur avec mes lignes dadditions

dcomposition 2M
Mais comment construire des multiplieurs utilisant ces dcompositions ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 33/58
Dcomposition rcursive de la multiplication Principe de base
Principe de la dcomposition rcursive de la multiplication
Remarque 1 : on peut galement calculer X Y de la manire suivante :
X Y = 2
2p
B+2
p

ABC

+C, avec
A =

X
(1)
+X
(0)

Y
(1)
+Y
(0)

, B = X
(1)
Y
(1)
et C = X
(0)
Y
(0)
.

3 multiplications seulement : dcomposition 3M


Remarque 2 : on peut encore calculer X Y en dcomposant rcursivement un
seul oprande :
X Y = 2
p
XY
(1)
+XY
(0)
.

multiplier X par un entier de 1 bit trivial

en fait, cest mon multiplieur avec mes lignes dadditions

dcomposition 2M
Mais comment construire des multiplieurs utilisant ces dcompositions ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 33/58
Dcomposition rcursive de la multiplication Principe de base
Principe de la dcomposition rcursive de la multiplication
Remarque 1 : on peut galement calculer X Y de la manire suivante :
X Y = 2
2p
B+2
p

ABC

+C, avec
A =

X
(1)
+X
(0)

Y
(1)
+Y
(0)

, B = X
(1)
Y
(1)
et C = X
(0)
Y
(0)
.

3 multiplications seulement : dcomposition 3M


Remarque 2 : on peut encore calculer X Y en dcomposant rcursivement un
seul oprande :
X Y = 2
p
XY
(1)
+XY
(0)
.

multiplier X par un entier de 1 bit trivial

en fait, cest mon multiplieur avec mes lignes dadditions

dcomposition 2M
Mais comment construire des multiplieurs utilisant ces dcompositions ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 33/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 34/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Rappel
Rappel de la cellule full-adder (FA)
FA c
in
c
out
S
i
X
i
Y
i
X
i
Y
i
c
in
c
out
= maj

X
i
, Y
i
, c
i

S
i
= X
i
Y
i
c
i
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

assimilable un compteur : (c
out
S
i
) criture binaire de X
i
+Y
i
+c
in

on compte le nombre dentres = 1


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 35/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Arbres de Wallace
La cellule FA est une cellule de Wallace 3 entres
W3
2
0
2
0
W3
W3
W3
2
0
2
0
2
0
2
1
2
0
2
0
2
0
2
0
0
2
2
2
0
2
1
2
1
2
1
2
0
W5
Remarques :

une cellule de Wallace p entres ,log


2
p| sorties

une cellule de Wallace 2


p+1
1 entres peuvent tre facilement construit laide
de cellules 2
p
1
Comment utiliser les cellules de Wallace pour construire des multiplieurs ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 36/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Arbres de Wallace
La cellule FA est une cellule de Wallace 3 entres
W3
2
0
2
0
W3
W3
W3
2
0
2
0
2
0
2
1
2
0
2
0
2
0
2
0
0
2
2
2
0
2
1
2
1
2
1
2
0
W5
Remarques :

une cellule de Wallace p entres ,log


2
p| sorties

une cellule de Wallace 2


p+1
1 entres peuvent tre facilement construit laide
de cellules 2
p
1
Comment utiliser les cellules de Wallace pour construire des multiplieurs ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 36/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Construisons un arbre de Wallace 15 entres
avec des cellules 7 entres
W7 W7
W3
W3
W3
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
1
2
2
2
0
2
0
2
2
2
1
2
0
2
2
2
3
2
1
2
0
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 37/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Construisons un arbre de Wallace 15 entres
avec des cellules 7 entres
W7 W7
W3
W3
W3
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
1
2
2
2
0
2
0
2
2
2
1
2
0
2
2
2
3
2
1
2
0
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 37/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Intrt des arbres de Wallace
Les arbres de Wallace permettent dadditionner trs rapidement plusieurs termes

en un temps proportionnel au logarithme du nombre de termes et du logarithme de la


taille des donnes

en neffectuant quune seule vraie addition


Par exemple : comment additionner rapidement 7 nombres de 4 bits ?
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
W7 W7
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
3
W7 W7
2
3
2
4
2
5
2
2
2
4
2
2
2
3
2
1
2
1
2
0
2
2
W3 W3 W3
0
Additionneur 5 bits
2
0
2
1
2
2
0
2
5
2
4
2
3
2
1
2
2
2
3
2
4
2
5
2
6
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 38/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Intrt des arbres de Wallace
Les arbres de Wallace permettent dadditionner trs rapidement plusieurs termes

en un temps proportionnel au logarithme du nombre de termes et du logarithme de la


taille des donnes

en neffectuant quune seule vraie addition


Par exemple : comment additionner rapidement 7 nombres de 4 bits ?
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
W7 W7
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
3
W7 W7
2
3
2
4
2
5
2
2
2
4
2
2
2
3
2
1
2
1
2
0
2
2
W3 W3 W3
0
Additionneur 5 bits
2
0
2
1
2
2
0
2
5
2
4
2
3
2
1
2
2
2
3
2
4
2
5
2
6
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 38/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Utilisation des arbres de Wallace pour la multiplication
On souhaite implanter un multiplieur 8 bits, laide de multiplieurs cellulaires 4 bits
X = 2
4
X
(1)
+X
(0)
et Y = 2
4
Y
(1)
+Y
(0)
.
Donc X Y = 2
8
X
(1)
Y
(1)
+2
4

X
(1)
Y
(0)
+X
(0)
Y
(1)

+X
(0)
Y
(0)
.
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 39/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Utilisation des arbres de Wallace pour la multiplication
On souhaite implanter un multiplieur 8 bits, laide de multiplieurs cellulaires 4 bits
X = 2
4
X
(1)
+X
(0)
et Y = 2
4
Y
(1)
+Y
(0)
.
Donc X Y = 2
8
X
(1)
Y
(1)
+2
4

X
(1)
Y
(0)
+X
(0)
Y
(1)

+X
(0)
Y
(0)
.
X
(0)
Y
(1)
X
(1)
Y
(1)
X
(0)
Y
(0)
4 W3 4 W3
7 4 11 8
7 4 11 8
7 4 3 0 11 8 15 12
Additionneur 12 bits
3 0 15 12 7 4 11 8
X
(1)
Y
(0)
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 39/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Utilisation des arbres de Wallace pour la multiplication
On souhaite implanter un multiplieur 8 bits, laide de multiplieurs cellulaires 4 bits
X = 2
4
X
(1)
+X
(0)
et Y = 2
4
Y
(1)
+Y
(0)
.
Donc X Y = 2
8
X
(1)
Y
(1)
+2
4

X
(1)
Y
(0)
+X
(0)
Y
(1)

+X
(0)
Y
(0)
.
4 4
4 4 4 4
4 4
Additionneur
W3
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 39/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Utilisation des arbres de Wallace pour la multiplication
Finalement : 4 multiplieurs 4 bits + 8 cellules W3 + 1 additionneur 12 bits
Ce schma peut facilement tre gnralis pour trater des oprandes de taille
n bits, pour n une puissance de 2
W7 W5 W3 W5 W3
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 40/58
Dcomposition rcursive de la multiplication Arbres de Wallace
Complexit
Remarque : tous les multiplieurs 44 sexcutent en parallle
Cot

cot multiplieur 44

temps de traverse du plus grand arbre de Wallace, n/21 entres

cot de ladditionneur nal


D(n) = D
mul
(4) +D
W
(n/21) +D
add
O(logn)
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 41/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 42/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Mthode de L. Dadda (1965)
Amlioration de la mthode des arbres de Wallace
Rappel du problme : multiplier 2 nombres n bits additionner n prodtuits
partiels de 2n bits
Principe : utilisation de la notation suivante
2
2

colonne j : n
j
points n
j
bits de poids 2
j
additionner
Comment rduire la hauteur des colonnes de points ?

jusqu ce que toutes les colonnes soient de hauteurs 2


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 43/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Principe de la mthode de L. Dadda (1965)
Utilisation de la cellule full adder
FA
somme
retenue
Utilisation de la cellule half adder
somme
retenue
HA
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 44/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Principe de la mthode de L. Dadda (1965)
Exemple
Objectifs :
(1) rduire le plus vite possible la hauteur des colonnes,
(2) en utilisant le moins de cellules FA/HA possible
Observation : si un niveau de cellules FA/HA produit une colonne de hauteur h, la
hauteur de la colonne dentres est au plus gale 3 h/2|
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 45/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Principe de la mthode de L. Dadda (1965)
Exemple
Objectifs :
(1) rduire le plus vite possible la hauteur des colonnes,
(2) en utilisant le moins de cellules FA/HA possible
Observation : si un niveau de cellules FA/HA produit une colonne de hauteur h, la
hauteur de la colonne dentres est au plus gale 3 h/2|
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 45/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Principe de la mthode de L. Dadda (1965)
la n, la hauteur des colonnes est 2
u
0
= 2, u
1
= 3, u
2
= 4, u
j +1
=3 u
j
/2|
Algorithme de Dadda

si h est la hauteur maximale des colonnes, faire en sorte dobtenir un schma o la


colonne la plus leve ait une hauteur h
/
= max
j

u
j
[u
j
< h

, en utilisant le moins de
cellules HA/FA

ensuite, on passe successivement de la hauteur maximale u


j
u
j 1
, pour atteindre la
hauteur u
0
= 2
Remarque sur la mthode de Dadda :

mthode gloutonne

on ne sait pas vraiment quoi faire chaque tape


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 46/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Principe de la mthode de L. Dadda (1965)
la n, la hauteur des colonnes est 2
u
0
= 2, u
1
= 3, u
2
= 4, u
j +1
=3 u
j
/2|
Algorithme de Dadda

si h est la hauteur maximale des colonnes, faire en sorte dobtenir un schma o la


colonne la plus leve ait une hauteur h
/
= max
j

u
j
[u
j
< h

, en utilisant le moins de
cellules HA/FA

ensuite, on passe successivement de la hauteur maximale u


j
u
j 1
, pour atteindre la
hauteur u
0
= 2
Remarque sur la mthode de Dadda :

mthode gloutonne

on ne sait pas vraiment quoi faire chaque tape


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 46/58
Dcomposition rcursive de la multiplication Mthode de Dadda
Exemple dutilisation de la mthode de L. Dadda (1965)
sur le multiplieur 5 bits
EXPL p. 125
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 47/58
Dautres types de multiplieurs
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 48/58
Dautres types de multiplieurs Multiplieurs srie poids faible dabord
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 49/58
Dautres types de multiplieurs Multiplieurs srie poids faible dabord
Principe des multiplieurs srie poids faible dabord
Jusque maintenant, on a considr que les bits des oprandes taient tous
disponibles au mme instant
Multiplieurs srie : les bits des oprandes arrivent en srie, deux deux

commencer les calculs ds larrive des premires donnes

arrive en commenant par les bits de poids faible


Exemple : multiplieur de Chen & Willoner

multiplieur srie

nombres binaires en numration simple position


Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 50/58
Dautres types de multiplieurs Multiplieurs srie poids faible dabord
Multiplieurs de Chen & Willoner
Soient deux nombres entiers X et Y, encods en base 2 sur n bits :
X = (X
n1
X
n2
X
1
X
0
)
2
et Y = (Y
n1
Y
n2
Y
1
Y
0
)
2

au temps i , le multiplieur reoit les bits de poids i 1 : X


i
et Y
i

arrive en commenant par les bits de poids faibles : X


0
et Y
0
Soit P le produit de X et Y : P = (P
2n1
P
2n2
P
1
P
0
)
2

le bit P
k
ne dpend que des bits X
0
X
k
et Y
0
Y
k

au temps i : le multiplieur fournit le bit P


i 1
Soit P
(k)
le produit de (X
k
X
k1
X
1
X
0
)
2
et (Y
k
Y
k1
Y
1
Y
0
)
2
P
(k)
= X
k
2
k
(Y
k
Y
0
)
2
+Y
k
2
k
(X
k1
X
0
)
2
+P
(k1)
avec P
(0)
= X
0
Y
0

P
0
P
k
: ne dpendent que des bits de poids k des facteurs

P
0
P
k
: k +1 premiers bits de P
(k+1)
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 51/58
Dautres types de multiplieurs Multiplieurs srie poids faible dabord
Multiplieurs de Chen & Willoner
Soient deux nombres entiers X et Y, encods en base 2 sur n bits :
X = (X
n1
X
n2
X
1
X
0
)
2
et Y = (Y
n1
Y
n2
Y
1
Y
0
)
2

au temps i , le multiplieur reoit les bits de poids i 1 : X


i
et Y
i

arrive en commenant par les bits de poids faibles : X


0
et Y
0
Soit P le produit de X et Y : P = (P
2n1
P
2n2
P
1
P
0
)
2

le bit P
k
ne dpend que des bits X
0
X
k
et Y
0
Y
k

au temps i : le multiplieur fournit le bit P


i 1
Soit P
(k)
le produit de (X
k
X
k1
X
1
X
0
)
2
et (Y
k
Y
k1
Y
1
Y
0
)
2
P
(k)
= X
k
2
k
(Y
k
Y
0
)
2
+Y
k
2
k
(X
k1
X
0
)
2
+P
(k1)
avec P
(0)
= X
0
Y
0

P
0
P
k
: ne dpendent que des bits de poids k des facteurs

P
0
P
k
: k +1 premiers bits de P
(k+1)
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 51/58
Dautres types de multiplieurs Multiplieurs srie poids faible dabord
Multiplieurs de Chen & Willoner
Construction dun multiplieur : 2n modules 5 entres / 3 sorties

2n arbres de Wallace W5

2n compteurs (5,3) de Dadda


X(i, j)
C
1
(i 1, j 1)
C
2
(i 1, j 2)
S(i 1, j) Y (i, j)
S(i, j)
C
1
(i, j)
C
2
(i, j)
Module j, au temps i
X(i , j ) =

Y
i
X
j i
si i j < 2i
0 sinon
Y(i , j ) =

X
i
Y
j i
si i j 2i
0 sinon
X(i , j ) +Y(i , j ) +C
2
(i 1, j 2) +C
1
(i 1, j 1) +S(i 1, j ) = 4 C
2
(i , j ) +2 C
1
(i , j ) +S(i , j )
avec C
1
(i , 0) = 0 C
2
(i , 0) = C
2
(i , 1) = 0 S(1, j ) = C
1
(1, j ) = C
2
(1, j ) = 0
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 52/58
Dautres types de multiplieurs Multiplieurs srie poids faible dabord
Multiplieurs de Chen & Willoner
ATTENTION... SCHEMA (4.56) + EXEMPLE! !
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 53/58
Dautres types de multiplieurs Multiplieurs en ligne
Plan du cours
1. Multiplication par additions et dcalages
Multiplication binaire classique
Mthode de Booth
Mthode de Booth modie
2. Multiplieurs par rseaux cellulaires
3. Dcomposition rcursive de la multiplication
Principe de base
Arbres de Wallace
Mthode de Dadda
4. Dautres types de multiplieurs
Multiplieurs srie poids faible dabord
Multiplieurs en ligne
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 54/58
Dautres types de multiplieurs Multiplieurs en ligne
Principe des multiplieurs en ligne
Dans certains cas, on a intrt connatre rapidement les bits de poids forts du
rsultat de la multiplication

la division trate les chiffres de poids fort dabord

arithmtique relle : seuls les n bits de poids fort dun produit nn sont intressants
Mais les retenues se propagent de gauche droite des poids faibles vers les
poids forts

utilisation de systmes sans propagation de retenues : systme redondant


dAvizienis, par exemple
Exemple : multiplieur dErcegovac et Trivedi (1977)
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 55/58
Dautres types de multiplieurs Multiplieurs en ligne
Principe des multiplieurs en ligne
Dans certains cas, on a intrt connatre rapidement les bits de poids forts du
rsultat de la multiplication

la division trate les chiffres de poids fort dabord

arithmtique relle : seuls les n bits de poids fort dun produit nn sont intressants
Mais les retenues se propagent de gauche droite des poids faibles vers les
poids forts

utilisation de systmes sans propagation de retenues : systme redondant


dAvizienis, par exemple
Exemple : multiplieur dErcegovac et Trivedi (1977)
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 55/58
Dautres types de multiplieurs Multiplieurs en ligne
Multiplieur en ligne dErcegovac et Trivedi
On considre une base 3
(pour pouvoir utiliser lalgorithme parallle daddition dAvizienis)
Soient deux nombres X et Y sur n bits
X =
n1

i =0
x
i

i
et Y =
n1

i =0
Y
i

i
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 56/58
Dautres types de multiplieurs Multiplieurs en ligne
Multiplieur en ligne dErcegovac et Trivedi
On note

X
(k)
= (X
n1
X
k
) et Y
(k)
= (Y
n1
Y
k
)

P
(k)
= X
(k)
X
(k)
.
On remarque que
X
(k1)
= X
(k)
+X
k1
et Y
(k1)
= Y
(k)
+Y
k1
On obtient nalement
P
(k1)
=
2
P
(k)
+X
k1
Y
(k1)
+ Y
k1
X
(k)
Conclusion : on calcule de proche en proche P
(n2)
, P
(n3)
, P
(0)
= P,
avec P
(n1)
= X
n1
Y
n1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 57/58
Dautres types de multiplieurs Multiplieurs en ligne
Multiplieur en ligne dErcegovac et Trivedi
On note

X
(k)
= (X
n1
X
k
) et Y
(k)
= (Y
n1
Y
k
)

P
(k)
= X
(k)
X
(k)
.
On remarque que
X
(k1)
= X
(k)
+X
k1
et Y
(k1)
= Y
(k)
+Y
k1
On obtient nalement
P
(k1)
=
2
P
(k)
+X
k1
Y
(k1)
+ Y
k1
X
(k)
Conclusion : on calcule de proche en proche P
(n2)
, P
(n3)
, P
(0)
= P,
avec P
(n1)
= X
n1
Y
n1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 57/58
Dautres types de multiplieurs Multiplieurs en ligne
Multiplieur en ligne dErcegovac et Trivedi
On note

X
(k)
= (X
n1
X
k
) et Y
(k)
= (Y
n1
Y
k
)

P
(k)
= X
(k)
X
(k)
.
On remarque que
X
(k1)
= X
(k)
+X
k1
et Y
(k1)
= Y
(k)
+Y
k1
On obtient nalement
P
(k1)
=
2
P
(k)
+X
k1
Y
(k1)
+ Y
k1
X
(k)
Conclusion : on calcule de proche en proche P
(n2)
, P
(n3)
, P
(0)
= P,
avec P
(n1)
= X
n1
Y
n1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 57/58
Dautres types de multiplieurs Multiplieurs en ligne
Multiplieur en ligne dErcegovac et Trivedi
On note

X
(k)
= (X
n1
X
k
) et Y
(k)
= (Y
n1
Y
k
)

P
(k)
= X
(k)
X
(k)
.
On remarque que
X
(k1)
= X
(k)
+X
k1
et Y
(k1)
= Y
(k)
+Y
k1
On obtient nalement
P
(k1)
=
2
P
(k)
+X
k1
Y
(k1)
+ Y
k1
X
(k)
Conclusion : on calcule de proche en proche P
(n2)
, P
(n3)
, P
(0)
= P,
avec P
(n1)
= X
n1
Y
n1
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 57/58
Questions ?
Guillaume Revy (Univ. de Perpignan Via Domitia) Algorithmes rapides de multiplication 58/58