Architecture et Syst`
eme
Stefan Schwoon
Cours L3, 2015/16, ENS Cachan
Circuit pour multiplication
Soient x= (xn1···x0)2et y= (yn1···y0)2deux entiers naturels.
On souhaite construire un circuit efficace pour calculer z= (z2n1···z0)2tel
que z=x·y.
Technique de multiplication classique :
z=
n1
X
i=0
n1
X
j=0
(xi·yj·2i+j)
Notons que xi·yj∈ {0,1}, du coup on obtient n2bits avec des “poids”
diff´
erents.
2
Visualisation (pour n= 4), chaque boule reprsent un produit xiyj:
Ayant obtenu les n2bits, il faut donc faire l’addition dans les 2ncolonnes (tout en
propagant les retenues). Le nombre maximal de “boules” dans une colonne est
de n.
3
Principe : Successivement r´
eduire les colonnes. On trouve des groupes de deux
ou trois “boules” et on fait passer tous les groupes (en parall`
ele) par des DA ou
AC.
Ensuite on distribue les deux bits r´
esultants (somme et retenue) aux bonnes
colonnes :
4
Et on r´
ep`
ete : identifier des groupes de deux ou trois . . .
. . . ce qui donne :
Quand il ne reste qu’au maximum deux boules par colonne, on ex`
ecute on
addition de deux entiers.
5
1 / 17 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !