Sprzętowa akceleracja obliczeń

Download Report

Transcript Sprzętowa akceleracja obliczeń

Slide 1

Akceleracja obliczeń metodami sprzętowymi

Kazimierz Wiatr
Akademickie Centrum Komputerowe
CYFRONET AGH
email: [email protected]


Slide 2

Dzisiejsze wymagania wobec komputerów





szybkość !!!!
cena
wielkość
niezawodność


Slide 3

Szybkość komputerów






wczoraj
dziś
jutro


Slide 4

Metody zwiększania szybkości pracy komputerów







szybszy zegar
optymalizacja kodu
wiele procesorów
architektura wewnętrzna
sprawne otoczenie procesora


Slide 5

Rodzaje komputerów






komputery osobiste
superkomuptery
architektury specjalizowane


Slide 6

Sprzętowe metody akceleracji obliczeń



Akceleracja obliczeń



Systemy wizyjne



Wpływ architektury systemu na szybkość obliczeń



Specjalizowane procesory sprzętowe



Implementacja w układach FPGA



Parametryzacja implementacji



Rekonfigurowalne systemy obliczeniowe



Dedykowane użytkownikowi platformy CCM



Projektowanie Hardware/Software CoDesign



Wzrost potrzeb obliczeniowych


Slide 7

1. Akceleracja obliczeń







zbyt długie czasy obliczeń w procesorach GPP i DSP
poszukiwanie przyspieszenia-akceleracji obliczeń
ograniczenie rodzaju obliczeń i ich aplikacji
poszukiwanie nowych jakościowo metod
szybkiej realizacji algorytmów

S = tsys_klasycznego / tsys_specjalizowanego


Slide 8

Akceleracja obliczeń w systemach wieloprocesorowych

Dla systemów wieloprocesorowych (Prawo Amdahl’a)

S = (s + p) / (s + p/n)
gdzie:
s - czas algorytmu w części szeregowej programu
p - czas algorytmu w części równolegległej


Slide 9

Akceleracja obliczeń w systemie wieloprocesorowym

S (n)
16

s = 0%

14
12
10
s = 5%

8

s = 10%
6
s = 15%
4
2
liczb a pro ceso ró w (n)

0
0

4

8

12

16


Slide 10

Potrzeby obliczeniowe (2004)







systemy on-line
systemy off-line

np. obliczenia symulacyjne DNA (Itanium2):
 20 atomów - 3 godziny
 200 atomów - 34 lata
np. medycyna z interakcją itp.


Slide 11

Sprzętowa akceleracja obliczeń




wielkie ilości przetwarzanych danych
bardzo szybkie systemy obliczeniowe



algorytmy zdominowane przez dane
algorytmy zdominowane przez instrukcje


Slide 12

Kierunki badawcze


poszukiwanie przyspieszenia obliczeń



ograniczenie rodzaju obliczeń i ich aplikacji



poszukiwanie nowych jakościowo metod szybkiej realizacji
algorytmów



poszukiwania w 2 kierunkach:
 specjalizowane elementy obliczeniowe - procesory
 dedykowane połączenia tych elementów - architektura



prace badawcze oprzeć na realnych możliwościach
implementacji w dostępnych technologiach


Slide 13

2. Systemy wizyjne czasu rzeczywistego
a. bardzo szybkie, b. bardzo dużo danych
A

N

B

hor

N hact

N

ver

N

hor

N hact

N vact

N

f 

K  N ver
t hor

ver

N vact

 14 , 75 MHz


Slide 14

Poziomy przetwarzania i analizy obrazów
w czasie rzeczywistym

parametry

II

I

III

algorytmy

sekwencje operacji

OUT

sterowanie obiektem


Slide 15

Operacje wstępnego przetwarzania obrazów


Operacje jednopunktowe:








Filtracje kontekstowe:






operacja LUT
binaryzacja
operacje punktowe na dwu obrazach
obliczanie histogramu

filtracja medianowa
filtracja logiczna
operacja splotu (konwolucji)

Operacje morfologiczne:




erozja i dylatacja
otwarcie i zamknięcie
inne operacje morfologiczne


Slide 16

Ramię robota - obraz źródłowy


Slide 17

Efekt działania operacji look-up-table


Slide 18

Obraz po operacji binaryzacji


Slide 19

Efekt detekcji krawędzi


Slide 20

3. Architektura systemu a szybkość obliczeń

tI

 t obl _ d  t tr_ d

gdzie:



tobl_d - czas związany z obliczeniami
ttr_d - czas związany z transmisją danych


Slide 21

M

tI 

a

b

  t
i 1

j 1

k 1

M

obl _ d ijk



a

c

  t
i 1

j 1

tr _ d ijl

l 1

gdzie:
• M - liczba pikseli (np. 512x512)
• a - liczba operacji wstępnego przetwarzania
• b - liczba operacji arytmetycznych związanych z
obliczaniem nowej wartości piksela dla danej operacji
• c - liczba transmisji danych (argumentów i wyniku)
związanych z daną operacją dla jednego piksela


Slide 22

M

t I '

a

b

  t
i 1

j 1

M

obl _ d ijk

k 1



i 1

a

c

 t
j 1

l 1

M

tr _ d ijl



i 1

a

d

 t
j 1

m 1

M

tr _ roz ijm



i 1

a

e

 t
j 1

dek _ roz ijn

n 1

gdzie:
• d - liczba transmisji (pobieranie kodów rozkazów i argumentów
nie będących danymi wizyjnymi (np. adresy skoków) dla danej
operacji
• e - liczba rozkazów podlegających dekodowaniu dla danej
operacji wstępnego przetwarzania


Slide 23

Liczba przesłań operandów
w operacjach przetwarzania obrazów

OPERACJA

1 PIKSEL

1 OBRAZ

1 SEKUNDA



LUT
MEDIANA-5

1
5

262 144
1 510 720

6 553 600
37 768 000



KONWOLUCJA 3x3

9

4 718 592

117 964 800




Slide 24

Liczba operacji w przetwarzaniu obrazów
(w czasie 1 s)
OPERACJA






LUT
MEDIANA-5
MEDIANA-9
KONWOLUCJA 3x3

MNOŻENIA

0
0
0
117 964 800

DODAWANIA
PORÓWNANIA
6 553 600
65 536 000
294 912 000
4 718 592

PRZESŁANIA

13 107 200
44 321 600
124 518 400
124 518 400


Slide 25

Architektura procesora specjalizowanego
pozbawiona przesyłania i dekodowania rozkazów

FPGA
JS

SR

JP

SD

MP


Slide 26

Architektura systemu z procesorami specjalizowanymi

FPGA

FPGA

JS

JS

Pamięć
video

SD

JS

SR

SR

A/C

FPGA

JP

JP
SD

SD
BUS

SR

...

JP
SD

Pamięć
video wy

SD


Slide 27

Architektura MISD specjalizowanych procesorów sprzętowych
FPGA

FPGA

JS

JS

SD

...

SR

SR

A/C

FPGA

SD
JP

JP

JS
SR

SD

JP

SD

PAMIĘĆ
VIDEO
SD

BUS


Slide 28

Czas realizacji obliczeń
w architekturze MISD procesorów sprzętowych

a

t I MISD ''''

t

obl _ d j

j 1

gdzie:

tobl_d - czas związany z obliczeniami

a - liczba operacji wstępnego przetwarzania


Slide 29

Schemat blokowy architektury potokowej DePiAr

L
Sygnały Przerwan

Procesor

Dane Video

WEJŚCIE

P

P

P

Sygnały Sterujące

Magistrala Danych [8 bitów]
Magistrala Adresowa [13 bitów]

Magistrala VME

WYJŚCIE


Slide 30

Moduł z architekturą potokową DePiAr


Slide 31

Architektura potokowa DePiAr


Zalety:





minimalizacja czasu transmisji
minimalizacja czasu obliczeń przez dedykowane procesory sprzętowe
procesory są autonomiczne:






dostęp do procesorów z zewnętrznej magistrali:





elastyczna zmiana kolejności operacji
niezależne projektowanie procesorów
implementacja w dowolnym otoczeniu sprzętowym
dynamiczna zmiana parametrów przetwarzania
dynamiczna rekonfiguracja kolejności operacji

Wymagania:




kolejnoliniowy sygnał wizyjny
szybka transmisja na wyjściu potoku
konieczność zachowania wymogów czasowych:



jednakowe opóźnienia dla danych i sygnałów sterujących
opóźnienie wielokrotnością czasu trwania piksela


Slide 32

4. Specjalizowane procesory sprzętowe
Schemat blokowy procesora logicznego
FPGA

TPRAM

SAM 1
Sterowanie
VME
RAM

SAM 2

BUF 1
8

8
ALU

BUF 3
8

Dane Video WE

BUF 2

8

8

DEL 1
Sterowanie WE

Dane Video WY

DEL 2

DEL 3
Sterowanie WY


Slide 33

Procesor konwolucji
Dane Video WE
W11

FIFO 512x8

W21

8

FIFO 512x8
8

W12

8

8

W31

W22

W32

W13

8

W23

W33

Dane Video WY

SUMOWANIE & NORMALIZACJA

FPGA

8


Slide 34

Procesor morfologiczny
DANE VIDEO WE
Rej.1x1

FIFO 512x1

Rej.1x1

R-I

Rej.1x1

Rej.1x1

Rej.1x1

FPGA

Rej.1x1

STEROWANIE
FIFO 512x1

Rej.1x1

Rej.1x1

Rej.1x1

C-I

C - II

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.
Comp.

Comp.

Comp.

DANE VIDEO WY

AND

Comp.

Comp.

Comp.
Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

R - II

BUS

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

R - III


Slide 35

Procesor medianowy
DANE VIDEO WE
Rej.1x8
8

FIFO 512x8

Rej.1x8

8

FIFO 512x8
8

Rej.1x8

Rej.1x8

8

Rej.1x8

Rej.1x8

Rej.1x8

Rej.1x8

DANE VIDEO WY
MUX
8

KOMPARATORY
WE_MEM

ROM / RAM
WY_MEM
FPGA

Rej.1x8

8


Slide 36

Opóźnienia w procesorze potokowym

Dane_Video_WE
Rejestr
we1
Dane_Video_WY
t1p

Dane_Video_FIFO

Procesor

Rejestr

potokowy

wy
t3p

Rejestr
we2
t1p

Opóźnienie
Sterowanie_WE

t1s

t2p

Opóźnienie
t2s

Opóźnienie
t3s
Sterowanie_WY


Slide 37

Czasy realizacji operacji przetwarzania obrazów
przez procesory specjalizowane

OPERACJA

LUT - ROM

LUT - RAM

HISTOGRAM

ODEJMOWANIE

MEDIANA 5-PUNKTÓW

MEDIANA 9-PUNKTÓW

KONWOLUCJA 3x3

DWUKIERUNKOWY
GRADIENT SOBELA

OPÓŹNIENIE
66 ns
132 ns
66 ns
132 ns
68 µs
68 µs
102 µs
102 µs


Slide 38

Czasy realizacji obliczeń
przez system przetwarzania obrazów
6

t I MISD '''' 

t

obl _ d j

 66 ns  66 ns  68  s  102  s  102  s  132 ns  2 7 2 , 3  s

j 1

Przykład:
algorytm wstępnego przetwarzania danych wizyjnych
wymaga zastosowania procesorów potokowych:


look-up-table



liczenia histogramu



medianowego



procesora konwolucji



dwukierunkowego gradientu Sobela



odejmowania dwu obrazów


Slide 39

Zalety opracowanej architektury DePiAr
procesorów specjalizowanych






Znacznie przyspiesza obliczenia wstępnego przetwarzania
danych wizyjnych (akceleracja rzędu od 103 do 106)


LUT, histogram - czas 66 ns zamiast 180-300 ms



konwolucja 3x3 - czas 102 µs zamiast 51-2200 ms

Pozwala na realizację sprzężeń z innymi etapami
przetwarzania obrazów i zmianę parametrów przetwarzania
Umożliwia zmianę kolejności realizowanych operacji
implementowanych w uniwersalnym
procesorze rekonfigurowalnym


Slide 40

Czasy realizacji operacji wizyjnych: DePiAr, DSP i GPP
System

Histogram Odejmowanie Konwolucja 3  3

Mediana

LUT
66,0 ns



DePiAr – 15 MHz

66,0 ns

132,0 ns

102,0 s
198,0 ns

68,0 s
198,0 ns



TMS320C80

4,3 ms

5,4 ms

19,4 ms

10,7 ms

Dedykowany moduł
Pentium II – 466 MHz

4,0 ms

2,7 ms

6,8 ms

Akceleracja

60 000

20 000

34 000







54 000



3,0 ms

45 000


Slide 41

5. Implementacja w układach FPGA


Slide 42

Struktura bloku CLB w układach XC4000


Slide 43

Połączenia w układach FPGA
3

4

5

2

8

1


Slide 44

Układy programowalne PLD

RODZAJ

FIRMA

BRAMKI

CLB

I/O REJESTRY

KONFIG.



Max5000

Altera

3.800

192

64

192

EPROM



Max7000

Altera

5.000

256

160

256

EEPROM



Flex8000

Altera

24.000

1296 204

1500

SRAM



ACT2

Actel

20.000

140

998

OTP



Mach400

AMD

10.000

146

384

ISP(EEPROM)



ATV5100

Atmel

5.000

60

128

EPROM



ATV6010

Atmel

10.000

6400

204

6400

EEPROM



XC4000

Xilinx

62.000

2304

384

5376

SRAM



XC8100

Xilinx

45.000

6144

320

3072

OTP



XC7300

Xilinx

144

156

276

EPROM



XC9500

Xilinx

576

232

576

ISP(EEPROM)

12.800

256


Slide 45

6. Parametryzacja implementacji w układach FPGA







parametryzacja szybkości pracy
parametryzacja użytych zasobów układu FPGA

automatyczna generacja kodu VHDL
optymalizacja implementacji
struktur obliczeniowych DA


Slide 46

Dobór struktury elementów obliczeniowych








układy mnożące bezmnożne MM
układy mnożące LM z pamięcią LUT
układy ze stałym współczynnikiem KCM
układy ze zmiennym współczynnikiem VCM
układy z dynamiczną rekonfiguracją DKCM


Slide 47

DKCM

LM + AND

w ejście
A dres P r.

8

4
5

W spółcz ynnik
4

4

4

4

M ux 2 :1

M ux 2 :1

4
A dres

4

RAM
B

RAM
A

D ane w y.
12

D ane P r.
W rite
E nable

16
w yjście

7
P rogram uj

7

1

256  16
DP

21
AND

16

1

P rogram ow anie

7
256  16
DP

2  16  1
DP

2

21

12

L SB s

14

M SB s

8

3

16

17

7

A dder

U kład dodając y
12

RAM
P rogram
m ing
U nit
(R P U )

12

4
17
24

1
21
AND

1


Slide 48

ns

b)
18
16
14
12
10
8
6
4
2
0
MM

MM Pipe

LM

LM Pipe

CoreGen

CoreGen
Pipe

Okres zegara dla MM, LM i Core Generator (Pipe – wersja z potokowością)
wynik implementacji dla układu XC4000E-1, 8-bitowej danej bez znaku oraz losowo
wybranych współczynników mnożenia: 41, 108, 132, 190, 225:


Slide 49

7. Rekonfigurowalne systemy obliczeniowe

Licznik synchronizacja

Korekcja
błędów

Układ transmisyjny

Filtr A

Weryfikacja
CRC

Przed
rekonfiguracją

Licznik synchronizacja

Korekcja
błędów

Układ transmisyjny

Filtr B

Weryfikacja
CRC

Po
rekonfiguracji


Slide 50

Rekonfiguracja częściowa

Logika

Logika

Nowa częściowa
konfiguracja
Pamięć
konfiguracyjna przed
rekonfiguracją

Pamięć
konfiguracyjna po
rekonfiguracji


Slide 51

Konflikt przy rekonfiguracji
(rozwiązania przez relokację)

Aktualna
konfiguracja

Przychodząca
konfiguracja

Konflikty

Rekonfiguracja


Slide 52

Defragmentacja w rekonfiguracji układów FPGA

Konfiguracja 1

Przychodząca
konfiguracja

Konfiguracja 1

Konfiguracja 1

Konfiguracja 2

Konfiguracja 2

Konfiguracja 3

Konfiguracja 3

Konfiguracja 2

Konfiguracja 4

Konfiguracja 3

Przed
defragmentacją

Konfiguracja 4

Po
defragmentacji

Po
rekonfiguracji


Slide 53

System z wielokrotnym wykorzystaniem
do obliczeń jednego układu FPGA

FPGA

Linia
transmisyjna

FPGA

010110...

010110...

AC

CA
Przyjęcie danych

1
2

Kompresja
Wstępne przetworzenie
Modulacja
Kamera

Pamięć
konfiguracyjna

3

4


Slide 54

Parametry rekonfiguracji układów FPGA
Seria układu

Komórki CLB

Bramki [1000] Czas rekonfig.

Rekonfig. częściowa

Flex6000

1 960

24

100 [ms]



Flex8000

1 296

16

100 [ms]



Flex10000

12 160

250

320 [ms]



10 [ms]



XC3000

484

XC4000

7 448

85

240 [ms]



XC4000EX/XL

7 448

180

50 [ms]



XC6200

16 384

100

0,2 [ms]

Y

Spartan

1 862

40

32 [ms]



27 648

1 124

0,1 [ms]



Virtex II

122 880

10 000

1 [ms]

Y

AT6000

6 400

30

8 [ms]

Y

AT40K

2 304

50

5 [ms]

Y

QL4000

1 584

90

40 [ms]



DY8000

6 272

105

200 [ms]



Virtex

7,5


Slide 55

Systemy RTR i CTR


systemy rekonfigurowane przed wykonaniem całości
obliczeń CTR (ang. Compile Time Reconfigurable),



systemy rekonfigurowane w trakcie obliczeń w celu
wielokrotnego wykorzystania tego samego sprzętu dla
realizacji różnych fragmentów realizowanego algorytmu
RTR (ang. Run Time Reconfigurable).


Slide 56

Efektywność stosowania systemów CTR i RTR

f 

TR
TO

E RTR

max

E CTR

1  f


Slide 57

Struktura cztero-kontekstowego FPGA

1

Pamięć
konfiguracyjna

2
3
4

Aktywna
konfiguracja

Logika sprzętowa


Slide 58

Struktura pamięci konfiguracyjnej
w wielokontekstowym modelu FPGA

I/O

Poziomy
pamięci
konfiguracyjnej
(konteksty)
Biblioteka
konfiguracji
sprzętowych


Slide 59

8. Dedykowane użytkownikowi platformy obliczeniowe CCM
Custom Computing Machines
Elasty
czność CISC

RISC
DSP
CCM

Specjalizowane
moduły
FPGA/CPLD

ASIC
Wydajność

Wydajność a elastyczność
układów obliczeniowych


Slide 60

Architektura karty procesorowej w systemie Splash2

SBus
M0
Poprzednia
karta

M1

M2

M3

M4

M5

M6

M7

M8

X1

X2

X3

X4

X5

X6

X7

X8

36

36

RBus
Następna
karta

Matryca krzyżowa (crossbar switch)

X0

SIMD
36

X16

X15

X14

X13

X12

X11

X10

X9

M16

M15

M14

M13

M12

M11

M10

M9

36


Slide 61

Implementacja detekcji obiektów i etykietowania

B ufo ro w a nie d an yc h

P E -0

P E -1

O znaczan ie

P E -2

P E -3

S calanie

P E -4

P E -5

S calanie

P E -6

P E -7

P E -8

P E -1 1

P E -1 0

P E -9

W ejście w id eo

U kład y nie w yko rz ysty w a ne
W yjście w id eo
P E -1 6

P E -1 5

F o rm ato w anie
d an yc h w yjścio w ych

P E -1 4

P E -1 3

P E -1 2


Slide 62

Implementacja transformacji Hough’a

W ejście w id eo

P E -0

L U T i szerego w a nie

H o ug h
P1

H o ug h
P2

H o ug h
P3

H o ug h
P4

H o ug h
P5

H o ug h
P6

P E -1

P E -2

P E -3

P E -4

P E -5

P E -6

P E -7

P E -8

P E -1 6

P E -1 5

P E -1 4

P E -1 3

P E -1 2

P E -1 1

P E -1 0

P E -9

H o ug h
P14

H o ug h
P13

H o ug h
P12

H o ug h
P11

H o ug h
P10

H o ug h
P9

H o ug h
P8

H o ug h
P7

B ufo r
w ejścia

W yjście w id eo


Slide 63

Implementacja szybkiej transformaty Fouriera FFT

B ank 1 – le w y
renu m eracja

P o d w ó jne b ufo ro w anie

P E -0

A lgo rytm B utterfly

P E -1

P E -2

P E -3

P E -4

P E -5

P E -6

P E -7

P E -8

P E -1 6

P E -1 5

P E -1 4

P E -1 3

P E -1 2

P E -1 1

P E -1 0

P E -9

W ejście w id eo

W yjście w id eo

F iltracja w d zied zinie
często tliw o ści

B ank 2 – p raw y
renu m eracja


Slide 64

9. Projektowanie metodą Hardware/Software CoDesign
Wczesne i późne rozdzielanie hardware’u i software’u
w projektowaniu systemów

a)

b)
D esig n

H a rd w a re

D esig n

S o ftw a re

H a rd w a re

S o ftw a re


Slide 65

Hardware/Software CoDesign
K o d źród ło w y
(C )

P o d ział
hard w are/so ftw are

H ard w are
(P L D , F P G A )

S o ftw are
(uP , uC , D S P )

Język o p isu sp rzętu
(V H D L , V erilo g)

Język p ro gra m o w an ia
(C , A se m b ler)


Slide 66

Wzrost pojemności układów programowalnych PLD
RODZAJ

FIRMA

Classic
Max5000
Flex8000
APEX 20k
APEX II
ACT2
A500k
AX2000
ATV5100
ATK40k
XC4000
XC9500
SPARTAN
VIRTEX
VIRTEX II

Altera
Altera
Altera
Altera
Altera
Actel
Actel
Actel
Atmel
Atmel
Xilinx
Xilinx
Xilinx
Xilinx
Xilinx

VIRTEX Pro

Xilinx

BRAMKI

900
3 800
24 000
526 000
5 250 000
20 000
473 000
2 000 000
5 000
50 000
250 000
12 800
200 000
1 124 022
10 000 000

CLB

I/O

48
48
192
64
1 296
204
8 320
376
67 200 1 060
140
26 880
446
21 504
684
60
2 304
384
8 464
448
576
232
1 176
284
6 144
512
15 360 1 108
125 136 1 200

REJESTRY

48
192
1 500

998
26 880
21 504
128
2 304
18 400
576
4 704
24 576
61 440

KONFIG.

EEPROM
EPROM
SRAM
SRAM
SRAM
OTP

EPROM
SRAM
SRAM
ISP(EEPROM)
SRAM
SRAM (2,5V)
SRAM (2,5V)
SRAM (1,5V)


Slide 67

Struktura układu FPGA serii Virtex-II Pro

Pamięć
blokowa
BSRAM
PowerPC

Pamięć
blokowa
BSRAM
Logika stała
Logika rekonfigurowalna


Slide 68

Zasoby układów FPGA serii Virtex-II Pro

Układ

Rocket
I/O

Power
PC

LC

Slice

Distr. RAM
kb

Mnożarki
18x18

BSR DCM I/O
kb

XC2VP2

4

0

3 168

1 408

44

12

216

4

204

XC2VP4

4

1

6 768

3 008

94

28

504

4

348

XC2VP7

8

1

11 088

4 928

154

44

792

4

396

XC2VP20

8

2

20 880

9 280

290

88

1 584

8

564

XC2VP30

8

2

30 816

13 696

428

136

2 448

8

692

XC2VP40

12

2

43 632

19 392

606

192

3 456

8

804

XC2VP50

16

2

53 136

23 616

738

232

4 176

8

852

XC2VP70

20

2

74 448

33 088

1 034

328

5 904

8

996

XC2VP100

20

2

99 216

44 096

1 378

444

7 992

12 1164

XC2VP125

24

4

125 136

55 616

1 738

556

10 008

12 1200


Slide 69

Lokalizacja zasobów w układzie Virtex-II Pro


Slide 70

Przyłączenie wbudowanego procesora PowerPC
do zasobów układu Virtex-II Pro


Slide 71

Blok łącz szeregowych Rocket I/O
o przepustowości 3,125 Gb/s


Slide 72

Rekonfigurowalny moduł z układem Virtex-II Pro


Slide 73

Połączenie elementów IP poprzez interfejs IPIF
z magistralą peryferyjną OPB i magistralą lokalną procesora PLB


Slide 74

Przyłączenie jednego z procesorów PowerPC 405
do magistrali lokalnej procesora PLB oraz układów peryferyjnych


Slide 75

Elementy IP - operacje przetwarzania obrazów

Funkcja

Biblioteka

Firma

Układ

Użyte zasoby f [MHz]

FFT/IFFT 1024 p-kty
FFT/IFFT 64 p-kty
FFT/IFFT 32 p-kty
FFT/IFFT 16 p-któw
2D DCT/IDCT
2D FDCT
2D DWT
FIDCT
MAC FIR
Dekoder Huffmana
Dekoder
Reed Solomon
TMS32025
DSP core

LogiCORE
LogiCORE
LogiCORE
LogiCORE
AllianceCORE
AllianceCORE
AllianceCORE
AllianceCORE
LogiCORE
AllianceCORE

Xilinx
Xilinx
Xilinx
Xilinx
Barco-Silex
CAST
CAST
Telecom
Xilinx
CAST

XC2V500
XC2V500
XC2V500
XC2V500
XC2V250
XC2V500
XC2V250
XCV200
XCV250
XC2V1000

62 %
38 %
29 %
37 %
77 %
42 %
62 %
77 %
16 %
22 %

100
100
110
130
133
83
52
78

AllianceCORE Telecom

XC2V500

97 %

61

AllianceCORE CAST

XC2V500

66 %

63

25


Slide 76

10. Potrzeby obliczeniowe systemów nieustannie rosną







szybkość akwizycji 1000 do 5000 obrazów na sekundę
rozdzielczość 128x128 i 256x256

napływ pikseli do 327,68 MHz (3,1 ns)
standardowo 14,75 MHz (67,8 ns)


Slide 77




1280 x 1024 x 628 = 823 MHz (823 132 160 Hz)
10 bitów/piksel


Slide 78

Wzrost liczby tranzystorów w układach różnego typu

200

150

100
50
0

94
19

95
19

96
19
Lata

97
19

Inte

98
19

99
19

AM

00
20

FPG
A

l
Po w
erPC
D


Slide 79

Pojemności i szybkość układów FPGA
wzrastają bardzo szybko


Slide 80

Moce obliczeniowe układów FPGA wielokrotnie przekraczają
moce procesorów ogólnego przeznaczenia
M iliard y o p eracji M A C /s
6 00 G M A C

32 G M A C
2 GMAC
8 M A C s P ro c. V irtex -E

V irtex -II


Slide 81

Mikroprocesor z rekonfigurowalnym koprocesorem
Główny procesor

Rejestry danych
Cache
instrukcji

Cache
danych

Globalna
jednostka
kontrolna

Matryca
rekonfigurowalna

Koprocesor rekonfigurowalny

Interfejs jednostki


Slide 82

Logika rekonfigurowana za pomocą internetu
wykorzystywana do akceleracji obliczeń

H o st

T arget

P A V E C + + A p p licatio n
PAVE API

P A V E S IF

PAVE API

W in d R iv er

W in d R iv er

V xW o rks R T O S
V xW o rks B o ard S up p o rt
P ackage (B S P )
M icro p ro cesso r
FPG A

P A V E P a ylo ad
U p grad e P o rtal

T C P / IP
N etw o rk


Slide 83


Slide 84



Dziękuję za uwagę


Slide 85


Slide 86


Slide 87