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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Résolution <strong>de</strong> problèmes par préfixe parallèle<br />

Les n sorties (yn−1, yn−2,· · · , y0) sont <strong>calcul</strong>ées à partir <strong>de</strong>s n entrées<br />

(xn−1, xn−2,· · · , x0) en utilisant un opérateur associatif avec :<br />

y0 = x0<br />

y1 = x1 x0<br />

y2 = x2 x1 x0<br />

.<br />

yn−1 = xn−1 xn−2 · · · x1 x0<br />

x9 x8 x7 x6 x5 x4 x3 x2<br />

y9 y8 y7 y6 y5 y4 y3 y2<br />

x1 x0<br />

y1 y0<br />

A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 93/144<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

0<br />

1<br />

2<br />

3<br />

4<br />

Quelques additionneurs à préfixe parallèle<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

série<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

Sklansky<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

0<br />

1<br />

2<br />

3<br />

4<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

Brent−Kung<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

Kogge−Stone<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

Han−Carlson<br />

A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 95/144<br />

Addition par préfixe parallèle<br />

Étape 1 : Calcul <strong>de</strong>s générations et propagations <strong>de</strong>s entrées :<br />

gi = aibi et pi = ai ⊕ bi ∀i = 0, 1, . . . , n − 1<br />

Étape 2 : Calcul <strong>de</strong>s retenues ci par préfixe parallèle à m niveaux :<br />

(G 0<br />

i:i, P 0 i:i) = (gi, pi)<br />

(G l<br />

i:k , Pl i:k ) =<br />

l−1<br />

(Gi:j , P l−1 l−1<br />

i:j ) (G , Pl−1)<br />

k ≤ j ≤ i et l = 1, . . . , m<br />

= (G l−1<br />

i:j<br />

j:k<br />

l−1<br />

+ Pl−1<br />

i:j Gj:k , Pl−1<br />

j:k<br />

i:j Pl−1<br />

j:k )<br />

ci+1 = G m<br />

i:0 + P m i:0c0 ∀i = 0, 1, . . . , n − 1<br />

Étape 3 : Calcul <strong>de</strong>s sommes :<br />

si = pi ⊕ ci<br />

∀i = 0, 1, . . . , n − 1<br />

A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 94/144<br />

Addition en notation scientifique<br />

Format : base 10, 4 chiffres <strong>de</strong> mantisse, arrondi au plus proche.<br />

Opération :<br />

1.601 × 10 −5 + 9.927 × 10 −4 =?<br />

0.0009927000 . . . poids 10 −4<br />

+ 0.0000160100 . . . poids 10 −5<br />

——————————–<br />

0.0010087100 . . . poids 10 −3<br />

= 1.0087100 . . . × 10 −3<br />

= 1.009 × 10 −3<br />

A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 96/144

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

Saved successfully!

Ooh no, something went wrong!