Hallo Ich verwende einen ATmega32 @ 8MHz Ich habe derzeit ein Problem, dass meine Fließkommaberechnungen enorm zeitaufwendig sind. Um sie zu optimieren suche ich nun eine Tabelle wo die erforderlichen Taktzyklen für Berechnungen aller Art aufgelistet sind. Ich dachte immer, das stünde im Datenblatt aber ich finde dort nirgends etwas.
@ Muli (Gast) >Ich habe derzeit ein Problem, dass meine Fließkommaberechnungen enorm >zeitaufwendig sind. Vielleicht kann man auf Festkommaarithmetik ausweichen. > Um sie zu optimieren suche ich nun eine Tabelle wo >die erforderlichen Taktzyklen für Berechnungen aller Art aufgelistet >sind. Gibt es nicht. > Ich dachte immer, das stünde im Datenblatt aber ich finde dort >nirgends etwas. Nöö, das ist eine Frage des Compilers. Einfacher Ansatz. Simulieren im AVR Studio. MFG Falk
bin zwar nicht mit AVR vertraut ... aber glaube, dass die alle 8 bittig sind und ohne FPU. Sprich wenn Compiler 3.0 + 3 sieht, ersetzt er es durch 'software' Anweisungen. Dann hätte AVR32 nix damit zu tun. Nur die GCC Version die du verwendest. Vielleicht kann man die disassembl'en und nachschauen.
Siehe http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=46648 Die Quellen sind auch in home.zip in Beitrag "float arithmetic"
Das Problem bei Gleitkommaarithmetik ist, dass alles (außer vielleicht Addition und Subtraktion) in der Berechnung extrem stark von den Operanden selbst abhängt. Selbst bei einer Addition sollte einfach einleuchten, dass bspw. 3.1416 + 9.22E22 viel weniger Zeit benötigt als 3.1416 + 2.71828.
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.