06.07.2013 Views

Unités de calcul flottant - Lirmm

Unités de calcul flottant - Lirmm

Unités de calcul flottant - Lirmm

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!