Benchmark procesorów w aplikacjach cyfrowego przetwarzania

Transkrypt

Benchmark procesorów w aplikacjach cyfrowego przetwarzania
Benchmark procesorów w aplikacjach
cyfrowego przetwarzania sygnałów
Autor: Marcin Figiel
Promotor: dr inż. Małgorzata Michalczyk
Plan prezentacji
●
Ostateczna lista procesorów
●
Problem – pomiar na ARM7
●
Wyniki: FIR
●
Wyniki: IIR
●
Wyniki: maksimum w wektorze
Lista procesorów
Atmel ARM7
● TI TMS320C31
● TI TMS320C6416
● TI TMS320C6713
● AD Blackfin BF561
● Renesas SH4
●
Problem
Pomiar ilości cykli na procesorze ARM7 za
pomocą układu timer-counter posiadającego 16bitowy licznik.
Początkowe taktowanie zbyt szybkim zegarem
spowodowało otrzymanie zupełnie błędnych
wyników.
Wyniki: FIR
Kod algorytmu w czystym C, bez żadnych
optymalizacji.
Arytmetyka zmiennoprzecinkowa pojedynczej
precyzji (zmienne typu float).
Wykorzystanie tylko jednego jądra procesora
Blackfin.
Filtr dolnoprzepustowy stopnia 127, sygnał losowy
o długości 128 próbek.
Wyniki: FIR
FIR 128x128 (float)
2959654
2775962
ARM7
TI C6416
TI C6713
Blackfin
846495
3149254
0
1000000
2000000
cykle CPU
3000000
4000000
Wyniki: IIR
Kod algorytmu w czystym C, bez żadnych
optymalizacji.
Arytmetyka zmiennoprzecinkowa pojedynczej
precyzji (zmienne typu float).
Wykorzystanie tylko jednego jądra procesora
Blackfin.
Filtr dolnoprzepustowy, dA=dB=19, sygnał losowy
o długości 128 próbek.
Wyniki: IIR
IIR 20x20x128 (float)
883814
902403
ARM7
TI C6416
TI C6713
Blackfin
244458
1295746
0
500000
cykle CPU
1000000
1500000
Wyniki: maks. w wektorze
Kod algorytmu w czystym C, bez żadnych
optymalizacji.
Arytmetyka zmiennoprzecinkowa pojedynczej
precyzji (zmienne typu float).
Wykorzystanie tylko jednego jądra procesora
Blackfin.
Wektor składający się ze 128 losowych wartości.
Wyniki: maks. w wektorze
VectMax 128 (float)
7897
6433
ARM7
TI C6416
TI C6713
Blackfin
389
7235
0
1000
2000
3000
4000
5000
cykle CPU
6000
7000
8000