Forum: Compiler & IDEs Zeit für Fließkommaberechnungen


von Muli (Gast)


Lesenswert?

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.

von Muli (Gast)


Lesenswert?

Achso, ich verwende die aktuelle Version des AVR Studio mit GCC. ;-)

von Falk B. (falk)


Lesenswert?

@  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

von Martin (Gast)


Lesenswert?

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.

von Hans-jürgen H. (hjherbert) Benutzerseite


Lesenswert?


von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.