87
Akceleracja obliczeń metodami sprzętowymi Kazimierz Wiatr Akademickie Centrum Komputerowe CYFRONET AGH email: [email protected]

Akceleracja obliczeń metodami sprzętowymi

  • Upload
    ivie

  • View
    36

  • Download
    4

Embed Size (px)

DESCRIPTION

Kazimierz Wiatr Akademickie Centrum Komputerowe CYFRONET AGH email: [email protected]. Akceleracja obliczeń metodami sprzętowymi. Dzisiejsze wymagania wobec komputerów. szybkość !!!! cena wielkość niezawodność. Szybkość komputerów. wczoraj dziś jutro. - PowerPoint PPT Presentation

Citation preview

Page 1: Akceleracja obliczeń metodami sprzętowymi

Akceleracja obliczeń metodami sprzętowymi

Kazimierz Wiatr

Akademickie Centrum Komputerowe

CYFRONET AGH

email: [email protected]

Page 2: Akceleracja obliczeń metodami sprzętowymi

Dzisiejsze wymagania wobec komputerów

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

Page 3: Akceleracja obliczeń metodami sprzętowymi

Szybkość komputerów

wczoraj dziś jutro

Page 4: Akceleracja obliczeń metodami sprzętowymi

Metody zwiększania szybkości pracy komputerów

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

Page 5: Akceleracja obliczeń metodami sprzętowymi

Rodzaje komputerów

komputery osobiste superkomuptery architektury specjalizowane

Page 6: Akceleracja obliczeń metodami sprzętowymi

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

Page 7: Akceleracja obliczeń metodami sprzętowymi

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

Page 8: Akceleracja obliczeń metodami sprzętowymi

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

Page 9: Akceleracja obliczeń metodami sprzętowymi

Akceleracja obliczeń w systemie wieloprocesorowym

Page 10: Akceleracja obliczeń metodami sprzętowymi

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.

Page 11: Akceleracja obliczeń metodami sprzętowymi

Sprzętowa akceleracja obliczeń

wielkie ilości przetwarzanych danych bardzo szybkie systemy obliczeniowe

• algorytmy zdominowane przez dane• algorytmy zdominowane przez instrukcje

Page 12: Akceleracja obliczeń metodami sprzętowymi

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

Page 13: Akceleracja obliczeń metodami sprzętowymi

2. Systemy wizyjne czasu rzeczywistego

a. bardzo szybkie, b. bardzo dużo danych

N

Nvact

hact

N hor

N ver

N

Nvact

hact

N hor

N ver

A B

fK N

tMHzver

hor

14 75,

Page 14: Akceleracja obliczeń metodami sprzętowymi

Poziomy przetwarzania i analizy obrazów

w czasie rzeczywistym

I II III

parametry

sekwencje operacji

algorytmy

OUTsterowanie obiektem

Page 15: Akceleracja obliczeń metodami sprzętowymi

Operacje wstępnego przetwarzania obrazów

Operacje jednopunktowe: operacja LUT binaryzacja operacje punktowe na dwu obrazach obliczanie histogramu

Filtracje kontekstowe: filtracja medianowa filtracja logiczna operacja splotu (konwolucji)

Operacje morfologiczne: erozja i dylatacja otwarcie i zamknięcie inne operacje morfologiczne

Page 16: Akceleracja obliczeń metodami sprzętowymi

Ramię robota - obraz źródłowy

Page 17: Akceleracja obliczeń metodami sprzętowymi

Efekt działania operacji look-up-table

Page 18: Akceleracja obliczeń metodami sprzętowymi

Obraz po operacji binaryzacji

Page 19: Akceleracja obliczeń metodami sprzętowymi

Efekt detekcji krawędzi

Page 20: Akceleracja obliczeń metodami sprzętowymi

t t tI obl d tr d _ _

3. Architektura systemu a szybkość obliczeń

gdzie: tobl_d - czas związany z obliczeniami

ttr_d - czas związany z transmisją danych

Page 21: Akceleracja obliczeń metodami sprzętowymi

t t ti

M

j

a

k

b

i

M

j

a

l

c

ijk ijlI obl d tr d

1 1 1 1 1 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

Page 22: Akceleracja obliczeń metodami sprzętowymi

t t t t ti

M

j

a

k

b

i

M

j

a

l

c

i

M

j

a

m

d

i

M

j

a

n

e

ijk ijl ijm ijnI obl d tr d tr roz dek roz'

1 1 1 1 1 1 1 1 1 1 1 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

Page 23: Akceleracja obliczeń metodami sprzętowymi

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

OPERACJA 1 PIKSEL 1 OBRAZ 1 SEKUNDA

LUT 1 262 144 6 553 600 MEDIANA-5 5 1 510 720 37 768 000

KONWOLUCJA 3x3 9 4 718 592 117 964 800

Page 24: Akceleracja obliczeń metodami sprzętowymi

Liczba operacji w przetwarzaniu obrazów

(w czasie 1 s)

OPERACJA MNOŻENIA DODAWANIA PRZESŁANIA

PORÓWNANIA

LUT 0 6 553 600 13 107 200 MEDIANA-5 0 65 536 000 44 321 600 MEDIANA-9 0 294 912 000 124 518 400 KONWOLUCJA 3x3 117 964 800 4 718 592 124 518 400

Page 25: Akceleracja obliczeń metodami sprzętowymi

Architektura procesora specjalizowanego

pozbawiona przesyłania i dekodowania rozkazów

JS JPSR SD MP

FPGA

Page 26: Akceleracja obliczeń metodami sprzętowymi

Architektura systemu z procesorami specjalizowanymi

BUS

A/C JP

JS

JP

JS

SR SR

SD SD

FPGA FPGA

Pamięćvideo

SD SD

JP

JS

SR

SD

FPGA

Pamięćvideo wy

...

Page 27: Akceleracja obliczeń metodami sprzętowymi

Architektura MISD specjalizowanych procesorów sprzętowych

A/C JP

JS

JP JP

JS

BUS

SR SR

SD SD SD

FPGA FPGA

PAMIĘĆVIDEO

JS

SR

SD

FPGA

SD

...

Page 28: Akceleracja obliczeń metodami sprzętowymi

t t jj

a

I obl dMISD''''

_

1

Czas realizacji obliczeń

w architekturze MISD procesorów sprzętowych

gdzie: tobl_d - czas związany z obliczeniami a - liczba operacji wstępnego przetwarzania

Page 29: Akceleracja obliczeń metodami sprzętowymi

Schemat blokowy architektury potokowej DePiAr

Magistrala VME

P P P

Magistrala Adresowa [13 bitów]

Magistrala Danych [8 bitów]

Sygnały Sterujące

Dane Video

Sygnały Przerwan Procesor

WEJŚCIE WYJŚCIE

L

Page 30: Akceleracja obliczeń metodami sprzętowymi

Moduł z architekturą potokową DePiAr

Page 31: Akceleracja obliczeń metodami sprzętowymi

Architektura potokowa DePiAr Zalety:

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

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

dostęp do procesorów z zewnętrznej magistrali: 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

Page 32: Akceleracja obliczeń metodami sprzętowymi

4. Specjalizowane procesory sprzętowe

Schemat blokowy procesora logicznego

SAM 1

SAM 2

RAM

VME

Sterowanie

BUF 1

BUF 2

ALU

DEL 1 DEL 2 DEL 3

BUF 3

Dane Video WE

Dane Video WY

Sterowanie WYSterowanie WE

TPRAM

8

8

8

8

8

FPGA

Page 33: Akceleracja obliczeń metodami sprzętowymi

Procesor konwolucji

Dane Video WE

FIFO 512x8

FIFO 512x8

W11

W21

W31 W32

W12 W13

W22 W23

W33

SUMOWANIE & NORMALIZACJADane Video WY

8

8

8

8 8

FPGA8

Page 34: Akceleracja obliczeń metodami sprzętowymi

Procesor morfologiczny

DANE VIDEO WE

FIFO 512x1

FIFO 512x1

Rej.1x1

Rej.1x1

Rej.1x1 Rej.1x1

Rej.1x1 Rej.1x1

Rej.1x1 Rej.1x1

Rej.1x1

FPGA

AND

Rej.1x1Rej.1x1

Rej.1x1

Rej.1x1 Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1 Rej.1x1

Rej.1x1 Rej.1x1

Rej.1x1 Rej.1x1

Rej.1x1

Rej.1x1

Rej.1x1

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

Comp.

BUS

DANE VIDEO WY

STEROWANIE

R - I

C - I C - II

R - IIIR - II

Page 35: Akceleracja obliczeń metodami sprzętowymi

Procesor medianowy

DANE VIDEO WE

FIFO 512x8

FIFO 512x8

Rej.1x8

Rej.1x8

Rej.1x8 Rej.1x8

Rej.1x8 Rej.1x8

Rej.1x8 Rej.1x8

Rej.1x8

MUX

KOMPARATORY

DANE VIDEO WY

8

8

8

8

8 8

WY_MEM

FPGA

ROM / RAM

WE_MEM

Page 36: Akceleracja obliczeń metodami sprzętowymi

Opóźnienia w procesorze potokowym

Rejestr

Rejestr

we1

we2

Procesor

potokowy

Rejestr

wy

Dane_Video_WE

Dane_Video_FIFO

Dane_Video_WY

Sterowanie_WESterowanie_WY

Opóźnienie Opóźnienie Opóźnieniet1s t2s t3s

t2pt1p

t3p

t1p

Page 37: Akceleracja obliczeń metodami sprzętowymi

OPERACJA OPÓŹNIENIE LUT - ROM 66 ns LUT - RAM 132 ns HISTOGRAM 66 ns ODEJMOWANIE 132 ns MEDIANA 5-PUNKTÓW 68 µs MEDIANA 9-PUNKTÓW 68 µs KONWOLUCJA 3x3 102 µs DWUKIERUNKOWY

GRADIENT SOBELA 102 µs

Czasy realizacji operacji przetwarzania obrazów

przez procesory specjalizowane

Page 38: Akceleracja obliczeń metodami sprzętowymi

t t ns ns s s s ns sjj

I obl dMISD''''

_ ,

1

6

66 66 68 102 102 132 272 3

Czasy realizacji obliczeń przez system przetwarzania obrazów

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

Page 39: Akceleracja obliczeń metodami sprzętowymi

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

Zalety opracowanej architektury DePiAr

procesorów specjalizowanych

Page 40: Akceleracja obliczeń metodami sprzętowymi

Czasy realizacji operacji wizyjnych: DePiAr, DSP i GPP

System Histogram Odejmowanie Konwolucja 3 3 Mediana LUT

DePiAr – 15 MHz 66,0 ns 132,0 ns 102,0 s 68,0 s 66,0 ns

198,0 ns 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 – 3,0 ms

Akceleracja 60 000 20 000 34 000 54 000 45 000

Page 41: Akceleracja obliczeń metodami sprzętowymi

5. Implementacja w układach FPGA

Page 42: Akceleracja obliczeń metodami sprzętowymi

Struktura bloku CLB w układach XC4000

Page 43: Akceleracja obliczeń metodami sprzętowymi

Połączenia w układach FPGA

Page 44: Akceleracja obliczeń metodami sprzętowymi

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 256 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 12.800 576 232 576 ISP(EEPROM)

Page 45: Akceleracja obliczeń metodami sprzętowymi

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

Page 46: Akceleracja obliczeń metodami sprzętowymi

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

Page 47: Akceleracja obliczeń metodami sprzętowymi

DKCM LM + AND

wejście

RAMB

RAMA

4 4

8

12 12

Układ dodający

8

4 12

16

wyjście

Mux 2 :1 Mux 2 :1

4 4

4 4

Dane wy.

Adres Dane Pr.

WriteEnable

Adres Pr.

RAMProgram

mingUnit

(RPU)

Współczynnik

Programuj

Programowanie

4

256 16DP

125

7 1

16

17

256 16DP

2 16 1DP

7 3

216

21

Adder

24

14

7

17

7

2 1AND

1

2 1AND

11

MSBs

LSBs

Page 48: Akceleracja obliczeń metodami sprzętowymi

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:

Page 49: Akceleracja obliczeń metodami sprzętowymi

7. Rekonfigurowalne systemy obliczeniowe

Licznik -synchronizacja

Korekcja błędów

Układ transmisyjny

WeryfikacjaCRC

Filtr A

Przed rekonfiguracją

Po rekonfiguracji

Licznik -synchronizacja

Korekcja błędów

Układ transmisyjny

WeryfikacjaCRC

Filtr B

Page 50: Akceleracja obliczeń metodami sprzętowymi

Rekonfiguracja częściowa

Logika

Nowa częściowa konfiguracja

Pamięć konfiguracyjna przed

rekonfiguracją

Pamięć konfiguracyjna po

rekonfiguracji

Logika

Page 51: Akceleracja obliczeń metodami sprzętowymi

Konflikt przy rekonfiguracji

(rozwiązania przez relokację)

Przychodząca konfiguracja

Aktualna konfiguracja

RekonfiguracjaKonflikty

Page 52: Akceleracja obliczeń metodami sprzętowymi

Defragmentacja w rekonfiguracji układów FPGA

Konfiguracja 1

Konfiguracja 2

Konfiguracja 3

Konfiguracja 4

Konfiguracja 1

Konfiguracja 2

Konfiguracja 3

Konfiguracja 4

Przychodząca konfiguracja

Przed defragmentacj

ą

Po rekonfiguracji

Konfiguracja 1

Konfiguracja 2

Konfiguracja 3

Po defragmentacji

Page 53: Akceleracja obliczeń metodami sprzętowymi

System z wielokrotnym wykorzystaniem

do obliczeń jednego układu FPGA

Linia transmisyjna

Kamera

FPGA

AC

Przyjęcie danych

Kompresja

Wstępne przetworzenie

Modulacja

Pamięć konfiguracyjna

FPGA

CA

1

2

3

4

010110... 010110...

Page 54: Akceleracja obliczeń metodami sprzętowymi

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] –

XC3000 484 7,5 10 [ms] –

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] –

Virtex 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] –

Page 55: Akceleracja obliczeń metodami sprzętowymi

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).

Page 56: Akceleracja obliczeń metodami sprzętowymi

Efektywność stosowania systemów CTR i RTR

fE

E

CTR

RTR 1

max

O

R

T

Tf

Page 57: Akceleracja obliczeń metodami sprzętowymi

Struktura cztero-kontekstowego FPGA

Pamięć konfiguracyjna

Logika sprzętowa

1

Aktywna konfiguracja

2

3

4

Page 58: Akceleracja obliczeń metodami sprzętowymi

Struktura pamięci konfiguracyjnej w wielokontekstowym modelu FPGA

Biblioteka konfiguracji sprzętowych

I/O

Poziomypamięci konfiguracyjnej (konteksty)

Page 59: Akceleracja obliczeń metodami sprzętowymi

8. Dedykowane użytkownikowi platformy obliczeniowe CCM

Custom Computing Machines

ASIC

CISC

DSP

FPGA/CPLD

CCM

Specjalizowane moduły

RISC

Wydajność

Ela

sty

czno

ść

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

Page 60: Akceleracja obliczeń metodami sprzętowymi

Architektura karty procesorowej w systemie Splash2

M0 M1 M2 M3 M4 M5 M6 M7 M8

X1 X2 X3 X4 X5 X6 X7 X8

Matryca krzyżowa (crossbar switch)

X16 X15 X14 X13 X12 X11 X10 X9

M16 M15 M14 M13 M12 M11 M10 M9

X0

36

36

36

36

SIMD

Następna karta

Poprzednia karta

RBus

SBus

Page 61: Akceleracja obliczeń metodami sprzętowymi

Implementacja detekcji obiektów i etykietowania

Oznaczanie Scalanie ScalanieBuforowanie danych

PE-0 PE-1 PE-2 PE-3 PE-4

PE-16

PE-6 PE-7PE-5 PE-8

PE-11PE-12PE-15 PE-14 PE-10 PE-9PE-13Wyjście wideo

Wejście wideo

Układy niewykorzystywane

Formatowaniedanych wyjściowych

Page 62: Akceleracja obliczeń metodami sprzętowymi

Implementacja transformacji Hough’a

HoughP12

HoughP8

HoughP7

HoughP9

HoughP10

HoughP11

HoughP13

HoughP14

HoughP1

HoughP5

HoughP6

HoughP4

HoughP3

HoughP2

LUT i szeregowanie

PE-0 PE-1 PE-2 PE-3 PE-4

PE-16

PE-6 PE-7PE-5 PE-8

PE-11 PE-10PE-12PE-15 PE-14 PE-9PE-13Wyjście wideo

Wejście wideo

Buforwejścia

Page 63: Akceleracja obliczeń metodami sprzętowymi

Implementacja szybkiej transformaty Fouriera FFT

Bank 2 – prawyrenumeracja

Filtracja w dziedzinieczęstotliwości

Bank 1 – lewyrenumeracja

Algorytm ButterflyPodwójne buforowanie

PE-0 PE-1 PE-2 PE-3 PE-4

PE-16

PE-6 PE-7PE-5 PE-8

PE-11PE-12PE-15 PE-14 PE-10 PE-9PE-13Wyjście wideo

Wejście wideo

Page 64: Akceleracja obliczeń metodami sprzętowymi

9. Projektowanie metodą Hardware/Software CoDesign

Wczesne i późne rozdzielanie hardware’u i software’uw projektowaniu systemów

Design

Hardware Software

Hardware Software

Design

a) b)

Page 65: Akceleracja obliczeń metodami sprzętowymi

Hardware/Software CoDesign

Język programowania(C, Asembler)

Język opisu sprzętu(VHDL, Verilog)

Software(uP, uC, DSP)

Kod źródłowy( C )

Hardware(PLD, FPGA)

Podziałhardware/software

Page 66: Akceleracja obliczeń metodami sprzętowymi

Wzrost pojemności układów programowalnych PLD

RODZAJ FIRMA BRAMKI CLB I/O REJESTRY KONFIG.

Classic Altera 900 48 48 48 EEPROM

Max5000 Altera 3 800 192 64 192 EPROM

Flex8000 Altera 24 000 1 296 204 1 500 SRAM

APEX 20k Altera 526 000 8 320 376 SRAM

APEX II Altera 5 250 000 67 200 1 060 SRAM

ACT2 Actel 20 000 140 998 OTP

A500k Actel 473 000 26 880 446 26 880

AX2000 Actel 2 000 000 21 504 684 21 504

ATV5100 Atmel 5 000 60 128 EPROM

ATK40k Atmel 50 000 2 304 384 2 304 SRAM

XC4000 Xilinx 250 000 8 464 448 18 400 SRAM

XC9500 Xilinx 12 800 576 232 576 ISP(EEPROM)

SPARTAN Xilinx 200 000 1 176 284 4 704 SRAM

VIRTEX Xilinx 1 124 022 6 144 512 24 576 SRAM (2,5V)

VIRTEX II Xilinx 10 000 000 15 360 1 108 61 440 SRAM (2,5V)

VIRTEX Pro Xilinx 125 136 1 200 SRAM (1,5V)

Page 67: Akceleracja obliczeń metodami sprzętowymi

Struktura układu FPGA serii Virtex-II Pro

Pamięć blokowaBSRAM

Pamięć blokowaBSRAM

PowerPC

Logika stała

Logika rekonfigurowalna

Page 68: Akceleracja obliczeń metodami sprzętowymi

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

Układ Rocket Power LC Slice Distr. RAM Mnożarki BSR DCM I/O I/O PC kb 18x18 kb

XC2VP2 4 0 3 168 1 408 44 12 216 4 204

XC2VP4 4 1 6 768 3 008 94 28 504 4 348XC2VP7 8 1 11 088 4 928 154 44 792 4 396XC2VP20 8 2 20 880 9 280 290 88 1 584 8 564XC2VP30 8 2 30 816 13 696 428 136 2 448 8 692XC2VP40 12 2 43 632 19 392 606 192 3 456 8 804XC2VP50 16 2 53 136 23 616 738 232 4 176 8 852XC2VP70 20 2 74 448 33 088 1 034 328 5 904 8 996XC2VP100 20 2 99 216 44 096 1 378 444 7 992 12 1164XC2VP125 24 4 125 136 55 616 1 738 556 10 008 12 1200

Page 69: Akceleracja obliczeń metodami sprzętowymi

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

Page 70: Akceleracja obliczeń metodami sprzętowymi

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

Page 71: Akceleracja obliczeń metodami sprzętowymi

Blok łącz szeregowych Rocket I/O

o przepustowości 3,125 Gb/s

Page 72: Akceleracja obliczeń metodami sprzętowymi

Rekonfigurowalny moduł z układem Virtex-II Pro

Page 73: Akceleracja obliczeń metodami sprzętowymi

Połączenie elementów IP poprzez interfejs IPIF

z magistralą peryferyjną OPB i magistralą lokalną procesora PLB

Page 74: Akceleracja obliczeń metodami sprzętowymi

Przyłączenie jednego z procesorów PowerPC 405

do magistrali lokalnej procesora PLB oraz układów peryferyjnych

Page 75: Akceleracja obliczeń metodami sprzętowymi

Elementy IP - operacje przetwarzania obrazów

Funkcja Biblioteka Firma Układ Użyte zasoby f [MHz]

FFT/IFFT 1024 p-kty LogiCORE Xilinx XC2V500 62 % 100

FFT/IFFT 64 p-kty LogiCORE Xilinx XC2V500 38 % 100

FFT/IFFT 32 p-kty LogiCORE Xilinx XC2V500 29 % 110

FFT/IFFT 16 p-któw LogiCORE Xilinx XC2V500 37 % 130

2D DCT/IDCT AllianceCORE Barco-Silex XC2V250 77 % 133

2D FDCT AllianceCORE CAST XC2V500 42 % 83

2D DWT AllianceCORE CAST XC2V250 62 % 52

FIDCT AllianceCORE Telecom XCV200 77 % 78

MAC FIR LogiCORE Xilinx XCV250 16 %

Dekoder Huffmana AllianceCORE CAST XC2V1000 22 % 25

Dekoder

Reed Solomon AllianceCORE Telecom XC2V500 97 % 61

TMS32025

DSP core AllianceCORE CAST XC2V500 66 % 63

Page 76: Akceleracja obliczeń metodami sprzętowymi

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)

Page 77: Akceleracja obliczeń metodami sprzętowymi

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

Page 78: Akceleracja obliczeń metodami sprzętowymi

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

1994

1995

1996

1997

1998

1999

2000

AMD

PowerPC

Intel

FPGA

0

50

100

150

200

Lata

Page 79: Akceleracja obliczeń metodami sprzętowymi

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

Page 80: Akceleracja obliczeń metodami sprzętowymi

Moce obliczeniowe układów FPGA wielokrotnie przekraczają moce procesorów ogólnego przeznaczenia

Miliardy operacji MAC/s

8 MACs Proc. Virtex-E Virtex-II

2 GMAC32 GMAC

600 GMAC

Page 81: Akceleracja obliczeń metodami sprzętowymi

Mikroprocesor z rekonfigurowalnym koprocesorem

Główny procesor

Cache instrukcji

Cache danych

Interfejs jednostki

Koprocesor rekonfigurowalny

Globalna jednostka kontrolna

Rejestry danych

Matryca rekonfigurowalna

Page 82: Akceleracja obliczeń metodami sprzętowymi

Logika rekonfigurowana za pomocą internetu wykorzystywana do akceleracji obliczeń

Host

PAVE SIF

WindRiver

Target

PAVE API

WindRiver

PAVE PayloadUpgrade Portal

TCP / IPNetwork

PAVE C++ Application

PAVE API

VxWorks Board SupportPackage (BSP)

VxWorks RTOS

FPGA

Microprocessor

Page 83: Akceleracja obliczeń metodami sprzętowymi
Page 84: Akceleracja obliczeń metodami sprzętowymi

Dziękuję za uwagę

Page 85: Akceleracja obliczeń metodami sprzętowymi
Page 86: Akceleracja obliczeń metodami sprzętowymi
Page 87: Akceleracja obliczeń metodami sprzętowymi