avr-gcc liczba taktów działań.

Dec 13, 2007 3 Replies

Witam wszystkich Czy jest gdzieś jakiś spis ile taktów potrzebuje mikrokontroler AVR na wykonanie pewnych działań matematycznych? Chodzi mi o kompilator avr-gcc i działania typu: liczba 32bit/8bit=? double/float=?



Dodawanie liczb 32bitowych łatwo można podejrzeć w skompilowanym pliku, ale dzielenie już takie przejrzyste nie jest. Mam dylemat, czy rzeźbić w liczbach typu long, czy prościej wykorzystać liczby zmienno przecinkowe.



Pozdrawiam


Użytkownik Michał napisał:

Takiej tabelki raczej nie znajdziesz, bo ta sama operacja może trwać trochę inny czas w zależności od wersji kompilatora. Dzielenie na liczbach float będzie z pewnością sporo wolniejsze od dzielenia całkowitego na longint. Jeśli chcesz się dowiedzieć ile czasu zajmuje dana operacja (procedura) to wrzuć program na symulator i sprawdź. Dokładne liczenie taktów zegara dla algorytmu dzielenia trochę mija się z celem, bo czas wykonania operacji będzie trochę zależał od wartości dzielnej i dzielnika.

Pozdrawiam Grzegorz

Potestuj dla ró¿nych liczb w symulatorze.

Przejrzyste moze nie jest, ale trzeba tyle obiegow petli ile bitow wykonac.

Dzielenie na floatach IMHO bedzie szybsze. Mniej bitow - matysa tylko 24 bity. Za to dodawanie i odejmowanie jest kosztowne.

Glowna sprawa to na ile jestes w stanie przewidziec zakres liczb - obliczenia na stalym przecinku to maly koszmar jesli chodzi o pilnowanie zakresow, czesto wygodniej zmienny przecinek uzyc i nie szacowac bledow.

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required