Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Arbres <strong>de</strong> réduction <strong>de</strong>s produits partiels<br />
Il faut maintenant <strong>calcul</strong>er la somme carry-save <strong>de</strong>s n/2 + 1 produits<br />
partiels. Pour cela, différents types d’arbres <strong>de</strong> réduction sont possibles :<br />
• À base <strong>de</strong> cellules FA :<br />
◮ arbres <strong>de</strong> Wallace<br />
◮ arbres <strong>de</strong> Dadda<br />
◮ algorithmes <strong>de</strong> réduction rapi<strong>de</strong><br />
• À base <strong>de</strong> cellules “4 donne 2”<br />
• À base <strong>de</strong> “grands” compteurs<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 117/144<br />
Arbres <strong>de</strong> Dadda<br />
Idée : faire le minimum <strong>de</strong> réduction à chaque étape pour gagner un<br />
niveau dans la suite n(h) = ⌊3n(h − 1)/2⌋ et n(0) = 2.<br />
h 1 2 3 4 5 6 7 8 9 10 11<br />
n(h) 3 4 6 9 13 19 28 42 63 94 141<br />
Dadda Standard<br />
8 FA + 4 HA + 1 ADD(8) 9 FA + 3 HA + 1 ADD(8)<br />
Gain en surface pour<br />
les grands multiplieurs.<br />
Exemple :<br />
n = 12 bits ⇒ 11%<br />
<strong>de</strong> portes en moins<br />
qu’avec un arbre <strong>de</strong><br />
Wallace.<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 119/144<br />
Arbres <strong>de</strong> Wallace<br />
Les arbres <strong>de</strong> Wallace 8 sont <strong>de</strong>s compteurs à p entrées (⌈log2p⌉ sorties).<br />
Un arbre <strong>de</strong> Wallace à 2 p+1 − 1 se construit facilement à partir d’arbres<br />
<strong>de</strong> Wallace à 2 p − 1 entrées (un arbre <strong>de</strong> Wallace à 3 entrées est une<br />
cellule FA).<br />
W5<br />
0<br />
i i i i i<br />
W 3<br />
i+2<br />
W 3 = FA<br />
W 3<br />
i+1<br />
W 3<br />
i+1<br />
i<br />
W 3<br />
i+1<br />
i<br />
aH bH aH bH b L<br />
a H<br />
b H<br />
a L<br />
b L<br />
a H<br />
b H<br />
a L<br />
a H<br />
b H<br />
b L<br />
a L<br />
b L<br />
a L<br />
a L<br />
b L<br />
W 3<br />
W 3 W5 W7<br />
W<br />
W 3<br />
5<br />
8 C.S. Wallace. A suggestion for a fast multiplier. IEEE Transactions on Computers,<br />
février 1964.<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 118/144<br />
Algorithmes pour la génération automatique d’arbres <strong>de</strong><br />
réduction optimisés<br />
Il existe <strong>de</strong>s généralisations et améliorations <strong>de</strong> la métho<strong>de</strong> <strong>de</strong> Dadda<br />
pour différents types <strong>de</strong> compteurs et utilisant <strong>de</strong>s modèles <strong>de</strong> délai<br />
complexes (ex : bits <strong>de</strong> retenue plus rapi<strong>de</strong>s que ceux <strong>de</strong> somme).<br />
Par exemple, la métho<strong>de</strong> TDM 9 permet <strong>de</strong> gagner jusqu’a 30% en<br />
vitesse et 15% en surface par rapport à une solution utilisant un arbre <strong>de</strong><br />
cellules “4 donne 2”.<br />
La génération automatique <strong>de</strong> multiplieurs est un problème très<br />
compliqué et fait intervenir différents aspects (souvent antagonistes) :<br />
vitesse, surface, régularité topologique, consommation d’énergie, besoins<br />
en cellules spéciales. . .<br />
9 V. Oklobdzija, D. Villeger et S. Liu. A method for speed optimized partial product<br />
reduction and generation of fast parallel multipliers using an algorithmic<br />
approach.IEEE Transactions on Computers, mars 1996.<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 120/144