Sumatory CSA

Transkrypt

Sumatory CSA
Sumatory CSA
Prawa ł czno ci i przemienno ci dodawania
a + b+ c + d+ e + f + g + h+ i + … = { [ ( a+ b ) + ( c + d) ]+ [ ( e + f ) + ( g + h) ]} + {[ ( i + …
a+b+c+d+e+f+g+h+i+…=[(a+b+c)+(d+e+f)+(g+h+i)]+[(…
prawo ł czno ci dodawania w systemie pozycyjnym
A + B + C + ... =
k −1
∑ ai β
+
i
i=−m
k −1
∑ bi β
i
+
i =− m
k −1
∑ ci β
i
k −1
∑ (ai + bi + ci + ...) β i
+ ... =
i =− m
i =− m
dodawanie wieloargumentowe jednopozycyjne – suma w systemie pozycyjnym
(ai + bi + ci + ...) β i = (ui( 0 ) + β 1ui(1) + β 2ui( 2 ) + ... + + β mui( m ) ) β i
• suma jest wielocyfrowa (co najmniej dwucyfrowa)
ł czno
X
i przemienno
(1)
+X
( 2)
+ ... + X
dodawania w systemie pozycyjnym
k
(k )
=∑
n −1
∑x
ź
p =1 i = − q
( p)
i
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
β =
i
n −1
k
∑β ∑x
i =− q
i
p =1
( p)
i
=
n −1
m
∑ β (∑ ui(−rr) β r )
i =− q
i
r =0
CSA–1
Sumatory CSA
Dodawanie wieloargumentowe jednopozycyjne w systemach naturalnych
( xi(1) + xi( 2 ) + xi(3) + ...)β i = (ui( 0 ) + β 1ui(1) + β 2ui( 2 ) + ... + β mui( m ) ) β i
przy tym xi( j ) , ui( j ) ∈ {0,1,..., β − 1}
suma k składników mo e by m-cyfrowa
0≤ x
( j)
i
k
≤ β −1 ⇒ ∑ x
j =1
( j)
i
k
≤ ∑ ( β − 1) = k ( β − 1) ≤ β m − 1
j =1
m = log β [k ( β − 1) + 1]
k ≤ ( β m − 1) /( β − 1) = β m −1 + β m−2 + ...β + 1 = 11...11β
→ je li liczba składników jest ≤ β +1, suma jest dwucyfrowa i wynosi
ź
{vi +1 , ui } = {r , xi(1) + xi( 2 ) + ... + xi( β +1) − rβ } gdy 0 ≤ xi(1) + xi( 2 ) + ... + xi( β +1) − rβ < β
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–2
Sumatory CSA
Dodawanie wieloargumentowe w systemach naturalnych (1)
dodawanie mo na wykona dwuetapowo:
• obliczy wielopozycyjne sumy przej ciowe na ka dej pozycji
(w dowolnej kolejno ci – s niezale ne)
• doda liczby wielocyfrowe skomponowane z sum przej ciowych
→ je li liczba argumentów k ≤β +1 (11β ) sumy przej ciowe s dwucyfrowe
+
(0)
(0)
…
(0)
(0)
vk
sk
xk–1
yk–1
…
zk–1
uk–1
vk–1
sk–1
xk–2
yk–2
…
zk–2
uk–2
vk–2
sk–2
…
…
…
…
x–m+3
y–m+3
…
z–m+3
u–m+3
v–m+3
s–m+3
x–m+2
y–m+2
…
z–m+2
u–m+2
v–m+2
s–m+2
x–m+1
y–m+1
…
z–m+1
u–m+1
v–m+1
s–m+1
x–m
y–m
…
z–m
u–m
s–m
ź
→ je li liczba argumentów k >β +1 (11β )
dodawanie mo na wykona rekurencyjnie
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–3
Sumatory CSA
Dodawanie wieloargumentowe w systemach naturalnych (2)
+
+
…
…
…
(0)
(0)
(0)
(0)
…
(0)
…
…
(0)
(0)
(2)
xk–1
…
(0)
uk+1
(1)
uk
sk
ak–2
…
(0)
ak–1
(0)
bk–1
bk–2
…
(0)
ck–1
ck–2
…
(0)
dk–1
dk–2
…
…
…
…
…
(0)
pk–1
pk–2
…
…
…
…
…
…
…
…
…
(0)
(0)
xk–2 …
(0)
xk–1
(1)
(1)
(1)
xk–2 …
xk–1
x–m+3
(2)
(2)
(2)
x–m+3 x–m+2
xk–2 …
…
…
…
…
(0)
(0)
uk
uk–1 (0)uk–2 …
(1)
(1)
u–m+3
uk–1 (1)uk–2 …
sk
sk–1
sk–2
ź
2 arg
≤β +1 arg.
>β +1 argumentów
→ je li liczba argumentów k >β +1, to dodawanie mo na wykona etapami
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
a–m+3
b–m+3
c–m+3
d–m+3
…
p–m+3
…
…
(0)
x–m+3
(1)
x–m+2
(2)
x–m+1
…
(0)
u–m+3
(1)
u–m+2
s–m+3
a–m+2
b–m+2
c–m+2
d–m+2
…
p–m+2
…
…
(0)
x–m+2
(1)
x–m+1
(2)
x–m
…
(0)
u–m+2
(1)
u–m+1
s–m+2
a–m+1
b–m+1
c–m+1
d–m+1
…
p–m+1
…
…
(0)
x–m+1
(1)
x–m
(0)
…
(0)
u–m+1
a–m
b–m
c–m
d–m
…
p–m
…
…
(0)
x–m
(0)
(0)
…
(0)
x–m
(0)
(0)
u–m+1
x–m
CSA–4
Sumatory CSA
Sumatory przechowuj ce przeniesienie (CSA)
sumator (k,m) – układ obliczaj cy m-pozycyjn sum k liczb jednocyfrowych
m = log β [k ( β − 1) + 1]
xi(1) xi( 2 )
...
xi( k ) xi( k +1) .. xi( 2 k − m )
xi(−11) xi(−21)
xi(−k1) xi(−k1+1) .. xi(−21k − m ) xi(−1)2 xi(−22)
...
(k,m)
(k,m)
u i( m −1) .. u i(1) u i( 0 )
u i(−m1−1) .. u i(−11) u i(−01)
ui(−mm−+1)2
ui(−m2−1)
ui(−mm−+11)
(k,m)
ui(−mm−1)
(k,m)
Struktura sumatora CSA zbudowanego z sumatorów (k,m)
X
(1)
+X
( 2)
+ ... + X
k
(k )
=∑
n −1
∑x
ź
p =1 i = − q
( p)
i
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
β =
i
n −1
k
∑β ∑x
i =− q
i
p =1
( p)
i
=
n −1
m
∑ β (∑ ui(−rr) β r )
i =− q
i
r =0
CSA–5
Sumatory CSA
Struktura dwójkowych sumatorów CSA
xi(1) xi( 2 ) xi(3) xi( 4 ) xi(5) xi( 6)
xi(+11) xi(+21) xi(+31) xi(+41) xi(+51) xi(+61)
(3,2)
(3,2)
(3,2)
(3,2)
(3,2)
(3,2)
(3,2)
(3,2)
xi(−11) xi(−21) xi(−31) xi(−41) xi(−51) xi(−61)
(3,2)
(3,2)
(3,2)
(3,2)
ź
Skala redukcji operandów w wielopoziomowym drzewie CSA
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–6
Sumatory CSA
Sumatory (k, m) w systemach dwójkowych
β = 2 ⇒ k ≤ 2 m − 1, m = log 2 (k + 1) 
• elementarny sumator (3,2) – sumator 1-bitowy
• licznik (k,m) – binarny sumator (k,m)
o – koduje liczb jedynek z k wej na m wyj ciach
o – drzewo (3,2) lub projekt indywidualny, np. licznik (4,3)
u ( 0) = ( x ⊕ y ) ⊕ ( z ⊕ v)
u (1) = ( x ⊕ y )( z + v ) + ( y ⊕ z )( x + v ) + ( z ⊕ v)( x + y )
u ( 2) = xyzv
• reduktor (k,2) – koduje liczb jedynek z k wej na 2 wyj ciach sumy
i pewnej liczbie wyj przeniesie (kumulacja przeniesie )
ź
k > 3 operandów wej ciowych ⇒ redukcja w układzie wielopoziomowym
• kolumny reduktorów (k,2) o wagach 2i– kumulacja przeniesie
• drzewo – gał zie liczników (3,2) o wagach 2i i redukcja przeniesie
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–7
Sumatory CSA
Liczniki jedynek (k, m) i reduktory (k, 2)
xi(1) xi( 2 ) xi( 3) xi( 4 ) xi( 5) xi( 6) xi( 7 )
(3,2)
xi(1) xi( 2 ) xi( 3) xi( 4 ) xi( 5) xi( 6) xi( 7 )
(3,2)
(3,2)
(3,2)
(3,2)
(4,3)
ci+2,i
ci+1,i
(3,2)
ci,i–2
ci,i–1
(3,2)
(3,2)
ci+2,i
ci+1,i
si+2 si+1 si
(3,2)
ci,i–2
ci,i–1
(3,2)
si+1 si
si+1 si
Reduktor (7,2)
ź
Licznik (7,3)
xi(1) xi( 2 ) xi( 3) xi( 4)
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
Reduktor (4,2)
CSA–8
Sumatory CSA
Sumowanie k operandów n-pozycyjnych (CSA)
Pojedynczy układ (3,2) redukuje dokładnie jeden operand 1-bitowy
→ do redukcji k operandów n-bitowych potrzeba n(k–2) układów (3,2)
→ kL operandów na poziomie L ⇒ k L+1 ≤ k L + k L / 2 na poziomie L+1
• jeden poziom CSA redukuje 3 operandy do 2 – skala redukcji 3/2
• dwa poziomy CSA redukuj 4 operandy do 2 – skala redukcji 2
• trzy poziomy CSA redukuj 6 operandów do 2 – skala redukcji 3 3
2( 2 ) L ≤ k L ≤ 2( 32 ) L
2(3 3) L ≤ k L ≤ 2( 32 ) L
(lepsza ocena)
(L ≥ 3)
ź
Redukcja liczby operandów w wielopoziomowej strukturze CSA
liczba poziomów L
1 2 3 4 5 6 7 8 9
2 (3 / 2 ) L
3 4 6 10 15 22 34 51 76
maksymalna liczba operandów 3 4 6 9 13 19 28 42 63
2 ⋅ (3 3 ) L ≅ 2 ⋅1,44224957 L
3 5 6 9 13 18 26 38 54
2 ⋅ ( 2 ) L ≅ 2 ⋅1,41421356 L
3 4 6 8 12 16 23 32 46
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
10
115
94
78
65
CSA–9
Sumatory CSA
Konstrukcja wielopoziomowego sumatora CSA (1)
Wytworzenie poprawnej sumy k argumentów n-bitowych (wyrównaj krótsze!)
wymaga k-krotnego rozszerzenia zakresu (log k dodatkowych bitów):
0 ≤ X 1 , X 2 ,..., X k ≤ 2 n − 1 ⇒ 0 ≤ X 1 + X 2 + ... + X k ≤ k (2 n − 1) < 2 n+log k − 1
• oszacowanie szeroko ci – w = n + log k 
• liczba elementów sumatora CSA – n ( k–2)
log k − 1
3(log k − 1)
• oszacowanie gł boko ci –
≤L≤
log 3 − 1
log 3
• czas dodawania – T ≥ 4 L + 2 log n
ź
Konstrukcja sumatora jest rekurencyjna:
1. przył cz po 3 sygnały wej ciowe o tej samej wadze do wej modułu (3,2)
2. sygnały nieprzył czone przeka na ni szy poziom CSA
3. wytwórz wyj cia wszystkich modułów (3,2) (lub (2,2)) – maj ró ne wagi!
4. zbierz sygnały o tych samych wagach
5. powtarzaj 1–4 dopóki liczba sygnałów o jakiej wadze przekracza 2.
6. doł cz szybki sumator ko cowy (CLA, PPA, COSA,...)
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–10
ź
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
3
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
3
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
4
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
4
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
3
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
4
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
4
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
4
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
4
i
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
2
2
2
1
2
2
3
0
2
4
Sumatory CSA
Konstrukcja wielopoziomowego sumatora CSA (2)
przykład – 7 argumentów 4-bitowych (w=3+3, L=4)
CSA–11
ź
a
y
w
c
i
ś
j
–
y
r
a
m
u
m
z
o
s
o
o
p
t
1
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
1
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
2
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
2
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
3
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
3
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
4
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
4
i
–
y
r
a
m
u
m
z
o
s
o
o
p
t
2
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
2
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
3
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
3
i
a
y
w
c
j
i
ś
–
y
r
a
m
u
m
z
o
s
o
o
p
t
4
i
–
a
w
m
z
c
e
o
o
p
i
ś
j
4
i
Sumatory CSA
Konstrukcja wielopoziomowego sumatora CSA (3)
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–12
Sumatory CSA
Konstrukcja wielopoziomowego sumatora CSA
od góry (top-down)
liczba operandów
od dołu (bottom-up) – drzewo Wallace’a
N = N0
(N0/3)∗(3,2)
(N0/3)∗2+|N0|3=N1 (N1/3)∗(3,2)
… …
… …
(6/3)∗2+0=4
1+1∗(3,2)
(4/3)∗2+1=3
1∗(3,2)
redukcja od poziomu L,
łatwiejsza konstrukcja drzewa
operandy
21
7∗2=14
4∗2+2=10
3∗2+1=7
2∗2+1=5
1∗2+2=4
1∗2+1=3
struktura
7∗(3,2)
2+4∗(3,2)
1+3∗(3,2)
1+2∗(3,2)
2+1∗(3,2)
1+1∗(3,2)
1∗(3,2)
L
L−1
…
2
1
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
struktura
kL−1 < N < kL
(N−kL−1)∗(3,2)+
kL−2 + kL−2 /2 = kL−1 kL−1/3 ∗(3,2)+|kL−1|3
… …
… …
3 + 3/2 = 4 = k2
3/2 ∗(3,2)+1
2 + 3/2 = 3 = k1
2/2 ∗(3,2)
kumulacja operandów od poziomu 1
k L +1 = k L + k L / 2 , k0= 2
operandy struktura
27 9∗(3,2)
9∗2=18 6∗(3,2)
6∗2=12 4∗(3,2)
4∗2=8 2+2∗(3,2)
2∗2+2=6 2∗(3,2)
2∗2=4 1+1∗(3,2)
1∗2+1=3 1∗(3,2)
ź
L
7
6
5
4
3
2
1
liczba operandów
struktura
operandy
struktura
20…27 1…8∗(3,2)+…
8∗2+3=19
6∗(3,2)+1
6∗2+1=13
4∗(3,2)+1
4∗2+1=9
3∗(3,2)
2∗3=6
2∗(3,2)
2∗2=4
1∗(3,2)+1
1∗2+1=3
1∗(3,2)
CSA–13
Sumatory CSA
Dwójkowe sumatory wieloargumentowe (CSA)
s5
FA
FA
s4
s3
(3,2)
(3,2)
(3,2)
(3,2)
v0 x0 y0 z0
(3,2)
(3,2)
(3,2)
FA
v1 x1 y1 z1
v2 x2 y2 z2
v3 x3 y3 z3
(2,2)
FA
s2
s1
s0
ź
Czteropozycyjny sumator czterooperandowy CSA
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–14
Sumatory CSA
Dwójkowe sumatory wieloargumentowe (CSA)
(2,2)
(2,2)
(2,2)
(2,2)
(2,2)
(3,2)
(3,2)
(3,2)
(3,2)
v0 x0 y0 z0
(3,2)
(3,2)
(3,2)
(2,2)
v1 x1 y1 z1
v2 x2 y2 z2
v3 x3 y3 z3
(2,2)
(2,2)
(2,2)
(2,2)
(2,2)
ń
sumator
ko cowy
s5
s4
s3
s2
s1
s0
ź
Czteropozycyjny sumator czterooperandowy CSA
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–15
Sumatory CSA
Dwójkowe sumatory wieloargumentowe U2 (CSA)
Wytworzenie poprawnej sumy k argumentów n-bitowych (wyrównaj krótsze!)
wymaga k-krotnego rozszerzenia zakresu (log k dodatkowych bitów):
− 2 n −1 ≤ X 1 , X 2 ,..., X k ≤ 2 n −1 − 1 ⇒ −2 n + log k −1 ≤ X 1 + X 2 + ... + X k < 2 n +log k −1
Rozszerzenie zakresu o m = log2k pozycji
• doł czenie m bitów rozszerzenia lewostronnego
o wada: wiele argumentów stałych (bity rozszerzenia)
o drzewo CSA (k+m)-bitowe
• zamiana argumentów na dodatnie z korekcj , zgodnie z zale no ci
− xk −1 2
k −1
k −2
+ ∑ xi 2 = −2
i
i =0
k −1
+ (1 − xk −1 )2
k −1
k −2
+ ∑ xi 2i
i =0
ź
→ zakodowanie stałej − n 2k−1 (na m+k bitach {rk+m−1, … , rk−1, 0, 0,…, 0})
√ znaczna redukcja liczby stałych bitów
√ prostsze drzewo CSA
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–16
Sumatory CSA
Zliczanie jedynek w słowie n-bitowym
(prawie) trzykrotna redukcja na I poziomie sumatora
• je li n=3k, to na II poziomie jest k operandów 2-bitowych
• je li n≠3k, to na II poziomie jest n/3 operandów 2-bitowych
ź
Parametry układu (bez 2-bitowego sumatora wyj ciowego)
• liczba modułów CSA – n–2
• liczba poziomów CSA – 1+ liczba poziomów redukcji n/3 operandów,
log n / 3 − 1
3(log n / 3 − 1)
czyli
+1 ≤ L ≤
+1
log 3 − 1
log 3
• liczba bitów wyniku – log2n
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–17
Sumatory CSA
Liczniki wielokolumnowe (k s −1 ,..., k1 , k 0 , m)
Dodawanie operandów o rosn cych wagach (ki o wadze β i, i = 0,1,…,s)
suma na m pozycjach – wektor o l składowych:
– jednooperandowa s-pozycyjna suma o wadze 2 0 ,
– wielooperandowe przeniesienie wektorowe o wagach operandów (2s)i
Warunek zakodowania wyniku na m pozycjach
s −1
β − 1 ≥ ∑ ki ( β − 1) β i
m
i =0
s −1
w systemie dwójkowym 2 − 1 ≥ ∑ k i 2 i
m
i =0
warunek realizowalno ci licznika (k, k, ..., k, m)
2 m − 1 ≥ k (2 s − 1)
m ≤ 2s ⇒ suma k operandów s-pozycyjnych jest najwy ej 2-operandowa
ź
2 2 s − 1 ≥ 2 m − 1 ≥ k (2 s − 1) ⇒ k ≤ 2 s + 1
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–18
Sumatory CSA
Parametry optymalnych liczników s-kolumnowych
s
m=2s
k
c2 i +4
2
2 i +4
c2 i +3
2
2 i +3
c2i +2
2 i +2
2
2
4
5
2 i +1
3
6
9
4 5 6 7
8 10 12 14
17 33 65 129
2i
t 2i +1
2
t 2i
u 2i +1
u 2i
v 2i +1
v 2i
w2i +1
2
a)
1
2
3
2
b)
3 i +2
2
3 i +1
3i
2
t 3i
u 3i
v3 i
t 3 i +2
u3 i +2
v3 i +2
t 3 i +1
u 3 i +1
v3 i +1
w3 i +2
w3 i +1
x 2i +1
w2 i
x 2i
x 3 i +2
x 3 i +1
w3 i
x 3i
y 2i +1
y 2i
y3 i +2
y3 i +1
y3 i
z 2i +1
z 2i
z 3 i +2
z 3 i +1
z 3i
s2i +1
s 2i
2 i +1
2
2
2i
c3i +4
2
3 i +4
c3 i +3
2
3 i +3
s3 i +2
2
s3i +1
3 i +2
2
s3 i
3 i +1
2
3i
ź
Schemat dodawania w układach: a) (7,7,5), b) (7,7,7,5)
© Janusz Biernat, 09-06-Sumatory CSA.doc, 2 pa dziernika 2006
CSA–19

Podobne dokumenty