2009 7 szybkie sumatory

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

1

Algorytm dodawania i odejmowania

c

k−2

x

1

s

1

c

2

y

1

s

k−1

c

k−1

c

k

y

k−1

x

k−1

FA/FS

x

0

s

0

c

0

c

1

y

0

s

k−2

y

k−2

x

k−2

FA/FS

FA/FS

FA/FS

Schemat dodawania/odejmowania binarnego

dodawanie (X+Y)

odejmowanie (X–Y)

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

c

y

x

y

x

c

y

x

y

x

c

c

y

x

s

)

(

)

(

1

+

+

=

+

=

=

+

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

c

y

x

y

x

c

y

x

y

x

c

c

y

x

s

)

(

)

(

1

+

=

+

=

=

+

Propagacja przeniesienia

• obliczenie sumy/ró nicy na pozycji i wymaga przeniesienia z pozycji i−1
• czas wytworzenia sumy/ró nicy – stały od chwili ustalenia przeniesienia
• gwarantowany czas wykonania dodawania/odejmowania zale y od

najdłu szego czasu przesłania zmiany przeniesienia

z pozycji najni szej

• czas sekwencyjnego dodawania/odejmowania n-pozycyjnego – nT

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

2

Przyspieszanie dodawania dwuargumentowego

Skracanie czasu propagacji przeniesie

• antycypacja przeniesie (carry look-ahead adder, CLA)
• wytwarzanie przeniesie równoległych (parallel prefix adder, PPA)
• skracanie cie ki propagacji przeniesienia (carry skip adder, CSKA)

Składanie sum tymczasowych

• składanie sum warunkowych (conditional sum adder, COSA)

– tworzenie wariantowych sum dla bloków 2

i

kolejnych pozycji

• sumator z przeł czaniem sum cz ciowych (carry-select adder, CSLA)

– równoległe wytwarzanie alternatywnych sum cz ciowych

• składanie sum korygowanych (carry-increment adder, CIA)

– korekcja sum blokowych przeniesieniami

• obliczanie i korekcja sum tymczasowych (ELM)

Składanie sum redundantnych

• nadmiarowa reprezentacja argumentów (SD) → dodawanie dwuetapowe


Teoretycznie osi galny czas dodawania/odejmowania n-pozycyjnego: T log

2

n

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

3

Wytwarzanie i propagacja przeniesie w dodawaniu

Funkcja przeniesienia mo e mie jedn z równowa nych form

i

i

i

i

i

i

i

i

i

i

i

c

y

x

y

x

c

y

x

y

x

c

)

(

)

(

1

+

+

=

+

=

+

poniewa a+b=ab+ab (OR(a,b) = XOR(a,b) + ab). Składowymi wyra enia s :

• funkcja wytwarzania (generowania) przeniesienia, okre laj ca warunki

przy których przeniesienie wyj ciowe c

i

+1

=1 niezale nie od c

i

:

i

i

i

y

x

g =

,

• funkcja półsumy, która tak e okre la warunki przekazywania (propagacji)

przeniesienia (

i

i

y

x

i

i

c

c

=

+1

):

i

i

i

y

x

h

=

W wyra eniach na przeniesienie mo e j zast pi

• (nadmiarowa) funkcja przekazywania przeniesienia (

i

p

– f. wygaszania)

i

i

i

y

x

p

+

=

UWAGA:
W wyra eniach na przeniesienie funkcje p

#

i h

#

s wzajemnie zamienne.

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

4

Wytwarzanie i propagacja przeniesie w odejmowaniu

Funkcja po yczki (przeniesienia wstecznego) mo e mie jedn z form

i

i

i

i

i

i

i

i

i

i

i

c

y

x

y

x

c

y

x

y

x

c

)

(

)

(

1

+

+

=

+

=

+

poniewa a+b=ab+ab (OR(a,b)=XOR(a,b)+ab). Składowymi wyra enia s :

• funkcja wytwarzania (generowania) po yczki, okre laj ca warunki przy

których po yczka z wy szej pozycji c

i

+1

=1 niezale nie od c

i

:

i

i

i

y

x

g =

,

• funkcja półró nicy, która okre la te warunki przekazywania (wstecznej

propagacji

) po yczki (

i

i

y

x =

i

i

c

c

=

+1

):

i

i

i

y

x

h

=

W wyra eniach na po yczki mo e j zast pi

• (nadmiarowa) funkcja przekazywania po yczki (

i

p

– f. wygaszania)

i

i

i

y

x

p

+

=

UWAGA:
W wyra eniach na po yczki funkcje p

#

i h

#

s wzajemnie zamienne.

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

5

Propagacja i generowanie przeniesie – intuicje (1)

HL

c





c





c

out

=1 je li:

c

in

=1 jest przesyłane przez blok HL do wyj cia c

out

• wewn trz bloku HL jest wytwarzane c

out

=1, za c

in

jest dowolne

H

L

c





c



c

c

out

=1 je li:

c

in

=1 jest przesyłane przez blok L do c

m

a nast pnie przez blok H do c

out

• wewn trz bloku H jest wytwarzane c

out

=1, za c

m

jest dowolne

• wewn trz bloku L jest wytwarzane c

m

=1,

a nast pnie przez blok H jest przekazywane do c

out

Uwaga

: Analogiczne zale no ci mo na poda dla po yczek w odejmowaniu

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

6

Propagacja i generowanie przeniesie – intuicje (2)

G

HL

=1

G

H

=1

1

P

H

=1

G

L

=1

1

1

G

F

=1

P

HL

=1

P

H

=1

P

L

=1

1

1

P

HL

=1

P

H

=1

P

L

=1

1

1

P

F

=1

1

1

1

G

HLF

=1

P

HLF

=1

L

in

hl

HL

L

in

L

H

L

H

H

out

c

P

G

c

P

P

G

P

G

c

+

=

+

+

=

F

in

HLF

HLF

F

in

F

HL

F

HL

HL

out

c

P

G

c

P

P

G

P

G

c

+

=

+

+

=

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

7

Funkcje grupowej antycypacji przeniesie

Wyznaczanie funkcji przekazywania (propagacji) przeniesienia P

przez bloki sumatora (iloczyn) jest działaniem ł cznym (asocjacyjnym)

F

L

H

F

L

H

HLF

P

P

P

P

P

P

P

=

=

Wyznaczanie funkcji wytwarzania (generowania) przeniesienia G

w bloku sumatora jest tak e działaniem ł cznym (asocjacyjnym)

F

L

H

L

H

H

F

HL

HL

F

L

L

H

H

LF

H

H

HLF

G

P

P

G

P

G

G

P

G

G

P

G

P

G

G

P

G

G

+

+

=

+

=

=

+

+

=

+

=

Funkcje rekursywnie skojarzone

– takie, które opisuje operator asocjacyjny •

y

i

= x

i

y

i

–1

, y

0

= x

0

Wyznaczanie funkcji rekursywnie skojarzonej – problem prefiksowania

Funkcje G,P s rekursywnie skojarzone przez wektorowy operator asocjacyjny

L

H

L

H

H

L

L

H

H

HL

HL

P

P

G

P

G

P

G

P

G

P

G

+

=

=

F

F

L

L

H

H

HLF

HLF

P

G

P

G

P

G

P

G

=

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

8

Funkcje wytwarzania przeniesie i sum

Dla dowolnego bloku sumatora pomi dzy pozycjami i oraz k (k s i ):

i

i

k

i

k

k

c

P

G

c

:

:

1

+

=

+

przy tym

i

s

s

k

s

k

i

k

G

P

G

G

:

1

:

1

:

:

+

+

+

=

,

i

s

s

k

i

k

P

P

P

:

1

:

:

+

=

.

Poniewa

k

k

k

k

k

y

x

g

G

=

=

:

i

k

k

k

k

k

y

x

p

P

+

=

=

:

(lub

k

k

k

k

k

y

x

h

P

=

=

:

), wi c

i

k

i

j

j

k

k

k

i

k

g

p

g

p

g

G

+

=

+

+

+

=

1

1

:

...

,

=

=

k

i

j

j

i

k

p

P

:

,

– schemat wyznaczania funkcji G

i

:0

i P

i

:0

mo na optymalizowa

– wszystkie funkcje G

i

:0

i P

i

:0

mo na wyznaczy w sekwencji log

2

n

działa

Warto sumy s

i

zale y od h

i

, warto ci funkcji G

i

1:0

, P

i

1:0

oraz c

0

:

)

(

0

0

:

1

0

:

1

c

P

G

h

c

h

s

i

i

i

i

i

i

+

=

=

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

9

Sumator z antycypacj przeniesie (carry look-ahead adder, CLA)

Funkcje c

#

mo na rozwija wzgl dem kilku kolejnych pozycji

i

i

i

i

c

p

g

c

+

=

+1

i

i

i

i

i

i

i

c

p

p

g

p

g

c

1

1

1

2

+

+

+

+

+

+

=

i

i

i

i

i

i

i

i

i

i

i

c

p

p

p

g

p

p

g

p

g

c

1

2

1

2

1

2

2

3

+

+

+

+

+

+

+

+

+

+

+

=

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

c

p

p

p

p

g

p

p

p

g

p

p

g

p

g

c

1

2

3

1

2

3

1

2

3

2

3

3

4

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

=

• zło ono funkcji c

#

ro nie z kwadratem zasi gu s

• bariera technologiczna – ograniczona liczba wej bramki

)

(

...

...

...

)

(

1

1

2

1

1

1

1

1

1

i

i

i

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

s

i

c

p

g

p

p

p

g

p

p

g

p

g

c

p

g

p

g

c

p

g

c

+

+

+

+

+

=

=

+

+

=

+

=

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

)

,

,...,

,

(

)

,

,...,

,

(

)

,

,...,

,

(

)

,

,...,

,

(

1

i

i

s

i

s

i

i

i

i

s

i

s

i

i

i

s

i

s

i

i

i

i

s

i

s

i

s

i

h

g

h

g

P

c

h

g

h

g

G

p

g

p

g

P

c

p

g

p

g

G

c

+

+

+

+

+

+

+

+

+

+

+

=

=

+

=

Uwaga

: Analogiczne zale no ci mo na poda dla po yczek w odejmowaniu

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

10

Moduł sumatora z antycypacj przeniesie (CLA)

c

i

c

i

+4

c

i

+3

c

i

+2

c

i

+1

y

i

x

i

y

i

+3

x

i

+3

y

i

+2

x

i

+2

y

i

+1

x

i

+1

s

i

+3

s

i

+2

s

i

+1

s

i

CLA

g

i

p

i

g

i

+3

p

i

+3

g

i

+2

p

i

+2

g

i

+1

p

i

+1

P

i

+4:i

G

i

+4:i

Czterobitowy sumator CLA z sygnałami G,P dla bloku CLG

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

11

Wielomodułowy sumatorów z antycypacj przeniesie (CLA)

c

0

s

15:12

c

12

c

16

y

15:12

x

15:12

s

11:8

c

8

y

11:8

x

11:8

s

7:4

c

4

y

7:4

x

7:4

s

3:0

y

3:0

x

3:0

CLA

CLA

CLA

CLA

Sumator zbudowany z kaskady bloków CLA

GP

3:0

GP

7:4

GP

11:8

GP

15:12

c

0

s

15:12

c

12

c

16

y

15:12

x

15:12

s

11:8

c

8

y

11:8

x

11:8

s

7:4

c

4

y

7:4

x

7:4

s

3:0

y

3:0

x

3:0

CLA

CLA

CLA

CLA

CLG

Sumator CLA z blokiem wytwarzania przeniesie CLG

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

12

Sumatory prefiksowe (PPA)

sumator prefiksowy – parallel prefix adder, PPA

blok GP – wytwarzanie warto ci wszystkich przeniesie

0

0

:

1

0

:

1

c

P

G

c

i

i

i

+

=

)

(

0

0

:

1

0

:

1

c

P

G

h

c

h

s

i

i

i

i

i

i

+

=

=

x

k

–1

y

k

–1

s

k

–1

GP

x

i

y

i

x

i–

1

y

i

–1

x

0

y

0

s

i

s

i–

1

s

0

c

0

Je li c

0

=0, to c

i

=G

i

–1:0

i wtedy

0

:

1

=

=

i

i

i

i

i

G

h

c

h

s

, w przeciwnym razie

problem: silne rozgał zienie sygnału przeniesienia wej ciowego c

0

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

13

Sumator prefiksowy z redukcj rozgał zienia

Aby unikn

rozgał ziania sygnału c

0

w obliczaniu

0

0

:

1

0

:

1

c

P

G

c

i

i

i

+

=

mo na:

a) doł czy blok wej ciowy CSA, redukuj cy sygnał c

0

c

wy

c

we

=

c



y



x



y



x



y



x



y



x



y

k





x

k





y

k





x

k





y

k





x

k





sumator PPA













































b) potraktować c

0

jako funkcję generowania przeniesienia z pozycji „–1”:

g

–1

= c

0

, zaś c

–1

= 0. Wtedy w sumatorze obejmującym n+1 pozycji mamy:

)

(

1

:

0

1

:

1

1

:

1

1

:

1

+

=

=

=

G

P

G

h

G

h

c

h

s

i

i

i

i

i

i

i

i

co jest równoważne zastąpieniu sygnału g

0

przez

0

0

0

1

0

0

1

:

0

*

0

c

p

g

g

p

g

G

g

+

=

+

=

=

Tworzenie alternatywnego sygnału p

0

jest zbędne, bo c

–1

= 0, więc

*

0

1

g

c =

.

W obu wersjach opóźnienie T jest takie jak w realizacji funkcji G

i

–1:0

+P

i

–1:0

c

0

.

Podobne rozwiązania można zastosować w uniwersalnym sumatorze U2.

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

14

Zasady konstrukcji sieci prefiksowej GP

Węzeł sieci GP realizuje funkcje

)

,

(

)

,

(

)

,

(

)

,

(

L

H

L

H

H

L

L

H

H

HL

HL

P

P

G

P

G

P

G

P

G

P

G

+

=

=

Zasada konstrukcji struktury GP:

integracja funkcji G

H

i P

H

oraz G

L

i P

L

obejmujących sąsiadujące bloki H i L:

• bloki H i L

powinny być styczne

• bloki H i L

nie mogą być rozdzielone

• bloki H i L mogą mieć część wspólną – funkcje G

HL

i P

HL

są nadmiarowe

integracja nadmiarowa

integracja optymalna

integracja błędna

• regularne struktury dla n = 2

k

wejść (pozycji),

• w innych przypadkach przyjąć k = int (1+log

2

n

) i usunąć zbędne gałęzie

(sieć integrującą 2

k

–1

pozycji połączyć siecią integrującą pozostałe wejścia)

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

15

Przekształcenie prefiksowe Ladnera-Fischera (Sklansky’ego)*

minimalna liczba elementów


P

i

:i

= x

i

y

i

, G

i

:i

= x

i

y

i

(i = 0, 1, … , n−1)

G

0:0

Poziom 1 (i = 0, 1, … , 2

− 1

n

1)

G

1:0

(G

2i+1:2i

, P

2i+1:2i

) = ( G

2i+1:2i+1

, P

2i+1:2i+1

)l (G

2i:2i

, P

2i:2i

)

Poziom 2 (i = 0, 1, … , 2

− 2

n

1; s = 2, 3)

G

3:0

, G

2:0

(G

4i+s:4i

, P

4i+s:4i

) = ( G

4i+s:4i+2

, P

4i+s:4i+2

) l ( G

4i+1:4i

, P

4i+1:4i

)

Poziom 3 (i = 0, 1, … , 2

− 3

n

1; s = 4, 5, 6, 7)

G

7:0

, , G

4:0

(G

8i+s,8i

, P

8i+s,8i

) = ( G

8i+s,8i+4

, P

8i+s,8i+4

) l ( G

8i+3,8i

, P

8i+3,8i

)

Poziom 4 (i = 0, 1, … , 2

− 4

n

1; s = 8, 9, …, 15)

G

15:0

, , G

8:0

(G

16i+s,16i

, P

16i+s,16i

) = ( G

16i+s,16i+8

, P

16i+s,16i+8

) l ( G

16i+7,16i

, P

16i+7,16i

)

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

16

Przekształcenie prefiksowe Kogge-Stone’a*

minimalizacja rozgał zie

P

i

:i

= x

i

y

i

, G

i

:i

= x

i

y

i

(i = 0, 1, … , n−1)

G

0:0

Poziom 1 (i = 0, 1, … , 2

− 1

n

1)

G

1:0

(G

i

+1:i

, P

i

+1:i

) = ( G

i

+1:i+1

, P

i

+1:i+1

)l (G

i:i

, P

i:i

)

Poziom 2 (s = 0, 1; i = 0, 1, … , n−2

2

)

G

s

+2:0

= G

s

+2,s+1

+ P

s

+2,s+1

G

s

:0

( G

3:0

) , G

2:0

(G

i

+3:i

, P

i

+3:i

) = ( G

i

+3,i+2

, P

i

+3,i+2

)l (G

i,i

+1

, P

i,i

+1

)

G

3:0

Poziom 3 (s = 0, 1, …, 2

2

−1; i = 0, 1, … , n−2

3

)

G

s

+4:0

= G

s

+1,s+4

+ P

s

+1,s+4

G

s

:0

(G

7:0

) , G

6:0

, G

5:0

, G

4:0

(G

i

+7:i

, P

i

+7:i

) = ( G

i

+7,i+4

, P

i

+7,i+4

)l (G

i

+3:i

, P

i

+3:i

)

G

7:0

Poziom 4 (s = 0, 1, …, 2

3

−1; i = 0, 1, … , n−2

4

)

G

s

+8:0

= G

s

+8,s+1

+ P

s

+8,s+1

G

s

:0

(G

15:0

) , … , G

8:0

(G

i

+15:i

, P

i

+15:i

) = ( G

i

+15,i+8

, P

i

+15,i+8

)l (G

i

+7:i

, P

i

+7:i

)

G

15:0

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

17

Przekształcenie prefiksowe Brenta-Kunga*

optymalizacja struktury CMOS

P

i

:i

= x

i

y

i

, G

i

:i

= x

i

y

i

(i = 0, 1, … , n−1)

G

0:0

Poziom 1 (i = 0, 1, … , 2

− 1

n

1)

G

1:0

(G

2i+1:2i

, P

2i+1:2i

) = ( G

2i+1:2i+1

, P

2i+1:2i+1

)l (G

2i:2i

, P

2i:2i

)

Poziom 2 (i = 0, 1, … , 2

− 2

n

1)

G

3:0

(G

4i+3:4i

, P

4i+3:4i

) = ( G

4i+3:4i+2

, P

4i+3:4i+2

) l ( G

4i+1:4i

, P

4i+1:4i

)

Poziom 3 (i = 0, 1, … , 2

− 3

n

1)

G

7:0

(G

8i+7:8i

, P

8i+7:8i

) = ( G

8i+7:8i+4

, P

8i+7:8i+4

) l ( G

8i+3:8i

, P

8i+3:8i

)

Poziom m = log

2

n

(T = 2

m

2

)

(G

3T−1:0

, P

3T−1:0

) = ( G

3T −1:2T

, P

3T −1:2T

)l (G

2T −1:0

, P

2T −1:0

)

G

3T:0

(G

0,n−1:0

, P

n

1:0

) = ( G

n

1:2T

, P

n

1:2T

)l (G

2T −1:0

, P

2T −1:0

)

G

n

1:0


Poziom m+r (i = (0), 1, … , 2

2

−1, R = 2

m

2−s

), r = 1, … , m−2

(G

iR

1:0

, P

iR

1:0

) = ( G

iR

1: 2R

, P

iR

1: 2R

)l (G

2R −1:0

, P

2R −1:0

)

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

18

Przekształcenie prefiksowe Han’a-Carlsona*

najpierw integracja rozł cznych par

P

i

:i

= x

i

y

i

, G

i

:i

= x

i

y

i

(i = 0, 1, … , n−1)

G

0:0

Poziom 1 (i = 0, 1, … , 2

− 1

n

1)

G

1:0

(G

2i+1:2i

, P

2i+1:2i

) = ( G

2i+1:2i+1

, P

2i+1:2i+1

)l (G

2i:2i

, P

2i:2i

)

Poziom 2 (i = 0, 1, … , 2

− 2

n

1)

G

3:0

(G

2i+3:2i

, P

2i+3:2i

) = ( G

2i+3:2i+2

, P

2i+3:2i+2

) l ( G

2i+1:2i

, P

2i+1:2i

)

Poziom 3 (i = 0, 1, … , 2

− 3

n

1, s = 0, 1)

(G

2i+7:2i

, P

2i+7:2i

) = ( G

2i+7:2i+4

, P

2i+7:2i+4

) l ( G

2i+3:2i

, P

2i+3:2i

)

G

2s+5:0

= G

2s+5,2s+1

+ P

2s+5,2s+1

G

2s:0

G

7:0

, G

5:0

Poziom 4 (s = 0, 1, …, 2

2

−1; i = 0, 1, … , 2

− 3

n

1)

(G

2i+15:2i

, P

2i+15:2i

) = ( G

2i+15:2i+8

, P

2i+15:2i+8

) l ( G

2i+7:2i

, P

2i+7:2i

)

G

2s+9:0

= G

2s+9,2s+1

+ P

2s+9,2s+1

G

2s:0

G

15:0

, G

13:0

, G

11:0

, G

9:0

...
Poziom log

2

n

+1 (i = 0, 1, … , 2

− 1

n

1)

G

2i:0

= G

2i:2i

+ P

2i:2i

G

2i−1:0

G

2i:0

, … , G

4:0

, G

2:0

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

19

Prefiksowe schematy generowania i propagacji przeniesienia (PPA)

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

4

3

2

1

0

Graf prefixowy (Sklansky / Ladner-Fischer)

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

4

3

2

1

0

Graf prefixowy (Kogge & Stone)

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

4

3

2

1

0

5

6

Graf prefixowy (Brent–Kung)

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

4

3

2

1

0

5

Graf prefixowy – (Han & Carlson)

¤

– wytwarzanie funkcji G

i

:i

= g

i

oraz P

i

:i

= p

i

¡

– przekazywanie G oraz P

l

– operator prefiksowy (G

BA

,P

BA

) = (G

B

,P

B

)

l

(G

A

,P

A

)

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

20

Charakterystyki grafów prefiksowych

Ladner-Fischer

– log

2

n

poziomów logicznych, minimum elementów GP

nierównomierne obciążenia (Sklansky)

Kogge & Stone

– log

2

n

poziomów logicznych, więcej elementów GP,

rozłożona obciążalność wyjść

Brent-Kung

– >log

2

n

poziomów logicznych, mniej elementów GP,

stała obciążalność wyjść

Han & Carlson

– >log

2

n

poziomów logicznych, najmniej elementów GP,

najmniejsza obciążalność wyjść

Parametry sieci GP jako elementy PPA

Typ struktury

liczba ogniw GP liczba poziomów obciążenie

przełączenia

RCA

2

/

3

n

n

– 1

2

n /

2

Ladner-Fischer

½ n log

2

n

log

2

n

n /

2

¼ n log

2

n

Brent-Kung

2n n log

2

n

–2

2 log

2

n

– 2

log

2

n

+ 1 ~

3

/

8

n log

2

n

Kogge & Stone

n

log

2

n

n + 1

log

2

n

2

½ n log

2

n

Han & Carlson

½ n log

2

n

log

2

n

+ 1

2

¼ n log

2

n

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

21

Sumator ELM – koncepcja*

Obliczona wartość początkowa sumy h

i

= s

i:i

na może ulec zmianie, jeśli c

i

=1.

Niech s

i:r

oznacza tymczasow sumę na pozycji i z uwzględnieniem wszystkich

wcześniejszych wejść x

#

, y

#

, począwszy od wejścia x

r

, y

r

. Mamy:

)

(

,

0

0

:

1

0

:

1

0

:

:

1

:

c

H

G

h

s

G

h

s

i

i

i

i

r

i

i

r

i

+

=

=

Z rekurencyjnego powiązania funkcji G

i:j

wynika dalej, że (i>r>j):

,

))

(

(

)

(

:

1

:

1

:

1

:

:

1

:

1

:

1

:

1

:

:

1

:

1

:

1

:

1

:

1

:

1

:

j

r

r

i

r

i

r

i

j

r

r

i

r

i

r

i

r

i

j

r

r

i

r

i

r

i

r

i

i

j

i

i

j

i

G

H

G

s

G

H

G

G

s

G

H

G

G

G

h

G

h

s

=

+

=

=

+

=

=

Metodą indukcji można pokazać, że

j

i

j

i

j

i

i

j

i

j

i

H

H

G

h

H

G

:

:

1

:

1

:

:

=

=

, skąd mamy:

.

,

:

1

:

1

:

:

:

1

:

j

r

r

i

r

i

j

i

r

i

i

r

i

G

H

s

s

G

h

s

=

=

przy tym bitami końcowej sumy są s

i

=s

i

:0

.


Ponieważ powyższe funkcje są niezależne, więc możliwe jest wytworzenie
sumy końcowej w strukturze zawierającej log

2

n

poziomów.

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

22

Sumator ELM – korekcja sum tymczasowych*

Z podanych zależności wynika zasada konstrukcji sumatora, podobna jak PPA

s

6

s

5

s

4

s

3

s

2

s

1

s

0

s

7

s

k

+1:i

x

7

y

7

g

7

h

7

GP

k

:j+1

GP

j

:i

3

2

1

GP

k

:i

s

k

+1:j

GH

j

–1:i

x

6

y

6

g

6

h

6

x

5

y

5

g

5

h

5

x

4

y

4

g

4

h

4

x

3

y

3

g

3

h

3

x

2

y

2

g

2

h

2

x

1

y

1

g

1

h

1

x

0

y

0

g

0

h

0

c

8

Schemat sumatora ELM (strukturze Ladnera-Fischera)


Powiązania sum można także zrealizować w strukturze Kogge’a-Stone’a.

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

23

Sumy warunkowe – koncepcja (Sklansky)

L

i

i

y

x +

1+0 0+0 1+1 1+0 0+1 1+1 1+0 0+1

0

0

1

+

i

c

0

0

1

0

0

1

0

0

0

:i

i

s

1

0

0

1

1

0

1

1

1

1

+

i

c

1

0

1

1

1

1

1

1

:i

i

s

0

1

1

0

0

1

0

1

0

2

2

+

i

c

0

1

1

0

0

2

:

1

2

i

i

s

+

1

0

0

1

0

0

1

1

1

2

2 +

i

c

0

1

1

1

2

:

1

2

i

i

s

+

1

1

1

0

0

1

2

0

4

4 +

i

c

0

1

0

4

:

3

4

i

i

s

+

1

1

0

1

0

0

1

1

1

4

4 +

i

c

0

1

4

:

3

4

i

i

s

+

1

1

1

0

3

0

:

7

s

1

1

1

0

0

0

1

1

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

24

Sumator sum warunkowych (conditional sum adder, COSA)*

Tworzenie alternatywnych sum jedno-, dwu-, cztero-, ośmio-, ...-bitowych

Poziom 0 – sumy i przeniesienia warunkowe dla osobnych bitów (i = 0,1,...)

0

:

0

:

2

0

i

i

i

i

i

i

s

c

y

x

+

=

+

+

oraz

1

:

1

:

2

1

i

i

i

i

i

i

s

c

y

x

+

=

+

+

}

,

{

}

,

{

1

:

0

:

:

i

i

i

i

i

i

i

i

i

i

y

x

y

x

s

s

=

=

s

}

,

{

}

,

{

1

1

0

1

1

i

i

i

i

i

i

i

y

x

y

x

c

c

+

=

=

+

+

+

c

Poziom p (|| – złożenie wektorów)

– warunkowe sumy

α

ri

r

ri

2

,

1

2

2

+

s

i przeniesienia

α

)

1

(

2

+

i

r

c

grup r = 2

p

bitów,

– dla i = 0,1,...,2

p

 − 1

α

α

α

α

ri

r

ri

r

ri

r

ri

r

ri

r

ri

r

ri

r

ri

ri

r

ri

c

c

2

,

1

2

1

2

,

1

2

2

2

1

2

,

1

2

2

2

2

,

1

2

2

||

]

)

1

(

[

+

+

+

+

+

+

+

+

+

=

s

s

s

s

,

0

2

2

2

1

2

2

2

)

1

(

2

)

1

(

r

ri

r

ri

r

ri

r

ri

i

r

c

c

c

c

c

+

+

+

+

+

+

=

α

α

α

Końcowy wynik sumowania powstaje na poziomie k = log

2

n

(r = 2

k

).

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

25

Schemat sumatora sum warunkowych

s

0

s

1

s

2

s

3

c

7

L 0

x

1

y

1

Σ

Σ

Σ

Σ

0/1

s

0

s

1

c

0

c

1

x

y

1 0

1 0

x

2

y

2

x

0

y

0

Σ

Σ

Σ

Σ

0/1

x

3

y

3

Σ

Σ

Σ

Σ

0/1

Σ

Σ

Σ

Σ

0/1

1 0

1 0

x

4

y

4

x

5

y

5

Σ

Σ

Σ

Σ

0/1

Σ

Σ

Σ

Σ

0/1

1 0

1 0

x

6

y

6

x

7

y

7

Σ

Σ

Σ

Σ

0/1

Σ

Σ

Σ

Σ

0/1

1 0

1 0

1 0

1 0

1 0

1 0

1 0

1 0

1 0

1 0

1 0

1 0

1 0

L 1

L 2

L 3

s

4

s

5

s

6

s

7

Σ

Σ

Σ

Σ

0/1

1

0

0

0

1

1

Ośmiobitowy sumator sum warunkowych

T

= 2 log

2

2 n , A = ½ (n log

2

n

+ 2n log

2

n

)= 3n log

2

n

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

26

Sumator sterowany przeniesieniem (CSLA)

Sumator multipleksowany sterowany przeniesieniem

(carry-select adder)

wybór

i

k

-pozycyjnych sum warunkowych zależnie od przeniesienia

x

m,l

y

m,l

x

l,k

y

l,k

x

k,i

y

k,i

x

i,

y

i,

0

0

x

m,l

y

m,l

x

l,k

y

l,k

x

k,i

y

k,i

s

m,l

s

l,k

s

k,i

s

i,

0

0

0

0

CPA

CPA

CPA

MPX

CPA

CPA

MPX

CPA

CPA

MPX

0

1

0

s

m,l

1

s

l,k

1

s

k,i

1

s

m,l

s

l,k

s

k,i

c

m +1

Schemat logiczny sumatora multipleksowanego sterowanego przeniesieniem


Sumy blokowe obliczane jednocześnie ⇒ wyższe bity→większe bloki
Opóźnienie – > 2

n

2 (optymalna liczba bloków – około

n

2 )

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

27

Sumator z przeskokiem przeniesień (CSKA)*

Suma w bloku s-bitowym zależy od przeniesienia wej ciowego (carry-in).

propagacja przeniesienia przez cały blok → „przeskok” przeniesienia

x

n,m

y

n,m

s

P

n,m

c

n

n,m

+1

CPA

x

m,l

y

m,l

s

P

m,l

c

m

m,l

+1

CPA

x

l,k

y

l,k

s

P

l,k

c

l

l,k

+1

CPA

x

j,i

y

j,i

s

P

j,i

c

j

j,i

+1

CPA

x

i,

y

i,

s

c

i

i,

+1

CPA

0

0

0

c

0

...

c

k

+1

P

i,

0

Schemat sumatora z przeskokiem przeniesień CSKA (carry-skip adder)


Opóźnienie wnoszone przez sumator CSKA zależy od
– czasu wytworzenia przeniesienia w bloku, w którym zaczyna się propagacja,
– czasu wytworzenia sumy w bloku, w którym kończy się propagacja,
– czasu przeskoku przeniesienia przez bloki wewnętrzne.
l

jednakowych bloków k-bitowych (n = kl) opóźnienie wyniesie

δ

δ

δ

]

2

2

[

2

]

4

2

[

)]

1

(

2

)

1

[(

1

0

+

=

+

+

=

n

k

n

k

k

l

k

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

28

Analiza szybkości sumatora z przeskokiem przeniesień*

Czas dodawania:

• czas wytworzenia przeniesienia na wyjściu u–go bloku wejściowego
• czas przeskoku przeniesienia przez [v−(u+1)] bloków
• czas wytworzenia sumy od ustalenia przeniesienia na wejściu bloku v

δ

)]

1

(

)

1

(

)

1

[(

)

,

(

+

+

=

v

u

g

v

u

g

v

u

struktura

ś

cieżka

opóźnienie

max

6 bloków

4-4-4-4-4-4

(4−1)+4+(4−1) = 10

10

3-4-5-5-4-3

5-5

(5−1)+0+(5−1) = 8

8

2-5-6-5-4-2

5-6-5-4

(5−1)+2+(4−1) = 9

9

6-5-4

(6−1)+1+(4−1) = 9

9

8 bloków

1-2-3-6-6-3-2-1

3-6-6-3

(3−1)+2+(3−1) = 6

6-6

(6−1)+0+(6−1) = 10

10

1-2-4-5-5-4-2-1

4-5-5-4

(4−1)+2+(4−1) = 8

8

1-2-3-4-5-4-3-2

4-5-4

(4−1)+1+(4−1) = 7

7

9 bloków

1-2-3-4-4-4-3-2-1

2-3-4-4-4-3-2

(2−1)+5+(2−1) = 7

7

3-4-4-4-3

(3−1)+3+(3−1) = 7

7

3-4-4-4

(3−1)+2+(4−1) = 7

7

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

29

Optymalizacja sumatora z przeskokiem przeniesień*

Zało enie: standardowe opó nienia prostych funkcji

Heureza

• łańcuchy optymalne:

jeśli rozmiar k bloków wytwarzających mniej znaczące pozycje sumy
jest typu

,...,k

,

i=

g

g

i

u

i

u

2

1

,

1

=

1

+

+

+

, to maksymalne opóźnienie

g

u+k

δ

= (g

u

+ i − 1)

δ

+(k i)

δ

= (g

u

+ k − 1)

δ

;

jeśli rozmiar s bloków wytwarzających bardziej znaczące pozycje sumy
jest typu

1

2

1

0

,

1

=

1

,...,s-

,

,

i=

g

g

i

v

i

v

+

+

, to maksymalne opóźnienie

g

v+s

δ

= (g

v

+ i − 1)

δ

+(s i)

δ

= (g

v

+ s − 1)

δ

;

• łańcuchy nieoptymalne:

jeśli skrajne bloki łańcucha nie są skrajnymi blokami łańcuchów
optymalnych, to tworzą cie k krytyczn propagacji przeniesienia.


Wnioski

• optymalna struktura sumatora powinna być typu 1-2-3-...-3-2-1.
• optymalną strukturą sumatora jest także „1-2-3-...-3-2-1”\”1-2-…-s”.

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

30

Optymalizacja sumatora z przeskokiem przeniesień – przykład*

n-bitowy łańcuch optymalny 1-2-3-...-3-2-1 zawiera

1

2

n

bloków

• sumator n-bitowy powinien mieć najwyżej 

1

2

n

 bloków

• (p–1)

2

n p

2

s

2

⇒ sumator n-bitowy powinien mieć ≤ 2(ps) bloków


Przykład. Sumator 32-bitowy powinien mieć ≤ 8 bloków (32=6

2

–2

2

)

liczba grup struktura sumatora

maksymalne opóźnienie

9

2-3-4-5-4-5-4-3-2

(5−1)+1+(5−1) = 9

8

3-4-5-4-4-5-4-3

(5−1)+2+(5−1) = 10

8

2-3-4-6-6-5-4-2

(6−1)+2+(4−1) = 10

8

2-3-4-5-6-5-4-3

(6−1)+0+(5−1) = 9


Przykład. Sumator 24-bitowy powinien mieć ≤ 8 bloków (24=5

2

–1

2

)

liczba grup struktura sumatora

maksymalne opóźnienie

8

2-3-4-5-4-3-2-1

(5−1)+0+(4−1) = 7

8

1-2-3-4-5-4-3-2

(5−1)+0+(4−1) = 7

7

2-3-4-6-4-3-2

(6−1)+0+(4−1) = 8

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

31

Inkrementer i dekrementer

wykonuje działanie X ±

1

→ wystarczy łańcuch półsumatorów (HA) lub półsubtraktorów (HS)


półsumator

(half adder, HA) – realizuje funkcje

i

i

i

c

x

s

=

,

i

i

i

c

x

c

=

+1

półsubtraktor

(half subtracter, HS) – realizuje funkcje

i

i

i

c

x

s

=

,

i

i

i

c

x

c

=

+1

c

k−2

x

1

s

1

c

2

s

k−1

c

k−1

c

k

x

k−1

HA/HS

x

0

s

0

1

c

1

s

k−2

x

k−2

HA/HS

HA/HS

HA/HS


sumator z inkrementacj wskutek przeniesienia (carry-increment adder, CIA

układ zliczaj cy

inkrementer/dekrementer ze sprz eniem

)

(

)

1

(

t

i

t

i

s

x

=

+

i zapami tywaniem stanu

)

(

0

)

(

1

)

(

2

)

(

1

,

,...,

,

{

)

(

t

t

t

k

t

k

s

s

s

s

t

S

=

background image

Szybkie sumatory

© Janusz Biernat

, AK1-7-09 Szybkie sumatory.doc, 4 listopada 2009

FAST–

32

Szybkość działania i złożoność sumatorów

Charakterystyki AT

• sumator pełny 1-bitowy FA – A = 7, T = 2 + 2 → A T = 28

– 2×XOR, 1×OR, 2×AND → opóźnienie przeniesienia 2 , sumy 2 + 2

• sumator RCA – A = 7n, T = 2n A T = 14n

2

n×FA → opóźnienie przeniesienia n ⋅ 2

• sumator kaskadowy CLA – A

7n, T

4 log n A T

56 n log n

n×FA → log n bloków, opóźnienie przeniesienia 2 ⋅ 2 log n

• sumator PPA – A

5n+3n log n , T

3 + 2 log n A T

3n log

2

n

+14n log n

– log n poziomów GP, opóźnienie przeniesienia 2 log n

• sumator COSA – A = 3n log n, T = 2 + 2 log n A T

6 n log

2

n

2×RCA, log n poziomów MPX, opóźnienie przeniesienia 2 ⋅ log n

• sumator CSKA – A

8n, T

2 ⋅

n

2

A T

32 n n

n×FA+2 n ×MPX, 2 n bloków → opóźnienie przeniesienia 2 ⋅

n

2

• sumator CSLA – A

2 ⋅ 7n, T

n

2

2

A T

39 n n

2×RCA,

n

2 bloków, opóźnienie przeniesienia 2 ⋅

n

2


Wyszukiwarka

Podobne podstrony:
2006 szybkie sumatory
2009 8 sumatory csa i multyplikatory
Wykład 6 2009 Użytkowanie obiektu
Przygotowanie PRODUKCJI 2009 w1
Wielkanoc 2009
przepisy zeglarz 2009
Kształtowanie świadomości fonologicznej prezentacja 2009
zapotrzebowanie ustroju na skladniki odzywcze 12 01 2009 kurs dla pielegniarek (2)
perswazja wykład11 2009 Propaganda
Wzorniki cz 3 typy serii 2008 2009
2009 2010 Autorytet
Cw 1 Zdrowie i choroba 2009
download Prawo PrawoAW Prawo A W sem I rok akadem 2008 2009 Prezentacja prawo europejskie, A W ppt

więcej podobnych podstron