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