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