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.

Cellules <strong>de</strong> base pour l’addition<br />

En plus <strong>de</strong>s portes logiques <strong>de</strong> base, nous allons utiliser <strong>de</strong>s portes<br />

présentant une propriété arithmétique bien utile : le comptage <strong>de</strong> 1.<br />

Un compteur (m, k) est une cellule, élémentaire ou non, qui compte le<br />

nombre <strong>de</strong> 1 présents sur ses m entrées et donne le résultat en<br />

numération simple <strong>de</strong> position sur k bits en sortie.<br />

m−1 <br />

i=0<br />

k−1<br />

ai =<br />

j=0<br />

sj2 j<br />

am−1 am−2 ...<br />

a1 a0 (m,k)<br />

...<br />

s s<br />

k−1 0<br />

La cellule <strong>de</strong>mi-additionneur (half-ad<strong>de</strong>r ou HA) est un compteur (2,2)<br />

tandis que la cellule d’addition complète (full-ad<strong>de</strong>r ou FA) est un<br />

compteur (3,2). Ces <strong>de</strong>ux portes sont largement utilisées dans les<br />

opérateurs arithmétiques.<br />

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

Nombre d’articles<br />

3<br />

2<br />

1<br />

a<br />

r<br />

FA<br />

b c<br />

s<br />

La cellule FA<br />

a b c r s<br />

0 0 0 0 0<br />

0 0 1 0 1<br />

0 1 0 0 1<br />

0 1 1 1 0<br />

1 0 0 0 1<br />

1 0 1 1 0<br />

1 1 0 1 0<br />

1 1 1 1 1<br />

Articles sur les FA dans les journaux IEEE<br />

0<br />

1990 1992 1994 1996<br />

Année<br />

1998 2000 2002<br />

Équation arithmétique :<br />

2r + s = a + b + c<br />

Équations logiques :<br />

s = a ⊕ b ⊕ c<br />

r = ab + ac + bc<br />

Il existe <strong>de</strong> nombreuses<br />

réalisations pratiques <strong>de</strong> la<br />

cellule FA.<br />

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

a b<br />

HA<br />

r s<br />

Réalisation pratique du HA :<br />

La cellule HA<br />

a b r s<br />

0 0 0 0<br />

0 1 0 1<br />

1 0 0 1<br />

1 1 1 0<br />

a b<br />

r s<br />

Équation arithmétique :<br />

2r + s = a + b<br />

Équations logiques :<br />

s = a ⊕ b<br />

r = ab<br />

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

Additionneur séquentiel<br />

C’est l’additionneur le plus simple. Il est composé <strong>de</strong> n cellules FA<br />

connectées en série.<br />

s 6<br />

a5<br />

b5<br />

a4<br />

b4<br />

a3<br />

b3<br />

a2<br />

b2<br />

a1<br />

b1<br />

a0<br />

b0<br />

FA<br />

r5<br />

r4<br />

r3<br />

r2<br />

r1<br />

FA FA FA FA<br />

s5 s4 s3 s2 s1 s0<br />

Dans la littérature, on le trouve sous le nom <strong>de</strong> Ripple-Carry Ad<strong>de</strong>r<br />

(RCA) ou parfois <strong>de</strong> Carry-Propagate Ad<strong>de</strong>r (CPA) 4 .<br />

complexité<br />

délai O(n)<br />

surface O(n)<br />

4 Attention : CPA peut aussi désigner un additionneur non redondant (propage mais<br />

ne conserve pas).<br />

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

FA<br />

r0

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

Saved successfully!

Ooh no, something went wrong!