möchte für einen algorithmus die laufzeit berechnen. dafür brauche ich aber die anzahl flops die beispielsweise auf einem atmega8 zu erreichen ist. hat da jemand eine ahnung? bin auch froh um ein einfaches einführendes besipeil wie man so was macht.
lad dir das Programm in den Simulator, lass es laufen, dann siehst du exakt, wieviele Takte das ganze braucht. Und, wenn richtige Taktfrequenz angegeben, sogar schon umgerechnet in Zeit.
FLOPS wird mit einem Mega8 ein Problem. Der hat nämlich keine Floating Point Unit. Und damit ist die erreichbare FLOP Rate stark von der Implementierung der Floating Point Operationen in der Bibliothek abhängig. Abgesehen davon versucht man auf einem Mega8 (oder Konsorten) möglichst ohne Floating Point Operations auszukommen. Festkommaarithmetik ist in den meisten Fällen genau so gut. Man muss halt ein bischen stärker nachdenken was man da eigentlich macht, aber dann gehts wunderbar und zu einem Bruchteil dessen, was mit Floating Point möglich ist.
Floatingpoint auf einem Mega8 ? Waehrend die einfachen operationen noch machbar sind, fuerchte ich, dass bereits das printf groesser als die 8k sind. Menn man nun einen Compiler haette, der unbenutztes Zeug aus einer zugelinkten Library rauswirft, so deren Komponenten unabhaengig waeren...
Numbers in range from 0.00000000023283064365386962890625 ... 0.99999999976716935634613037109375 I call "not special", special contain as well numbers as NaN, +Inf -Inf +0.0 -0.0 and subnormal values. addsf3 from Library WinAVR 2006-01-26 requires in atmega32 (avr5) 408...1851 cycles, on not special numbers 705...845 cycles addsf3 from Library WinAVR 2007-01-22 requires in atmega32 (avr5) 333..1681 cycles, on not special numbers 587...731 cycles addsf3 from savannah CVS 2007-02-21 requires in atmega32 (avr5) 67...295 cycles, on not special numbers 85...143 cycles mulsf3 from Library WinAVR 2006-01-26 requires in atmega32 (avr5) 366...2628 cycles, on not special numbers 1832...2127 cycles mulsf3 from Library WinAVR 2007-01-22 requires in atmega32 (avr5) 290...2298 cycles, on not special numbers 1549...1829 cycles mulsf3 from savannah CVS 2007-02-21 requires in atmega32 (avr5) 71...414 cycles, on not special numbers 121...139 cycles divsf3 from Library WinAVR 2006-01-26 requires in atmega32 (avr5) 340...1939 cycles, on not special numbers 1261...1385 cycles divsf3 from Library WinAVR 2007-01-22 requires in atmega32 (avr5) 273...1806 cycles, on not special numbers 1162...1288 cycles divsf3 from savannah CVS 2007-02-21 requires in atmega32 (avr5) 78...2230 cycles, on not special numbers 448...493 cycles All that versions of addsf3, mulsf3, divsf3 deliver Intel Hardware kompatible results. The CVS version can be downloaded from http://savannah.nongnu.org/projects/avr-libc There download the source codes from CVS,
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.