Forum: Mikrocontroller und Digitale Elektronik Floating Point Unit -- ja / nein


von Hans W. (hans_wurst)


Lesenswert?

Hallo,

ich hätte mal eine Verständnisfrage zur FPU im Mikrocontroller.

Verwende ich eine uC ohne FPU, führe aber Berechnungen mit float-Werten 
durch, wandelt der compiler diese Rechnung in umfangreiche/aufwändige 
Befehle um. Das hätte zur Folge, dass der Code "größer" und die Laufzeit 
länger wird.

Verwende ich einen mit FPU, ist der Aufwand für code-size und runtime 
natürlich geringer.

Gibt es eigentlich noch andere Nachteile, wenn ich keine FPU verwende? 
In den meisten Fällen ist es doch eh so, dass der Speicher reicht und 
die Laufzeit noch ok ist.

von Cyblord -. (cyblord)


Lesenswert?

Hans Wurst schrieb:

> In den meisten Fällen ist es doch eh so, dass der Speicher reicht und
> die Laufzeit noch ok ist.

Nö, FP Berechnungen können den Code ganz schnell über die Maßen 
aufblähen.

von Vlad T. (vlad_tepesch)


Lesenswert?

die benötigte Rechenzeit natürlich ebendso.
je nach Prozessor und Implementierung liegt zwischen fixpoint-Rechnung 
und sw-FP-Rechnung ein Faktor 200-300

von Hans W. (hans_wurst)


Lesenswert?

Ok, danke euch für die Antworten.

von DNS (Gast)


Lesenswert?

Es kommt immer drauf an was man machen will.
Eine IMU kann man beispielsweise gerade noch auf einem XMEGA in FP 
realisieren.

von Mikel (Gast)


Lesenswert?

Sobald du nur eine FP Addition benutzt, wird die FP library mit 
eingebunden, die den Code gleich enorm aufbläht. Im Code selber sind 
dann Funktionsaufrufe in die library.

von (prx) A. K. (prx)


Lesenswert?

Dass Fliesskommacode den Code "enorm aufbläht" kann man so pauschal 
nicht sagen.

Bei einem kleinen Controller mit 8KB Flash fällt schon sehr deutlich ins 
Gewicht, ob man mit Fliesskommarechnung arbeitet, insbesondere wenn 
nicht nur die Rechenoperationen sondern auch printf mit voller 
Funktionalität verlangt wird.

Bei einem Controller mit 128KB Flash hingegen ist der Anteil der 
Fliesskommalib am gesamten Code jedoch recht überschaubar.

von (prx) A. K. (prx)


Lesenswert?

Vlad Tepesch schrieb:

> je nach Prozessor und Implementierung liegt zwischen fixpoint-Rechnung
> und sw-FP-Rechnung ein Faktor 200-300

Bleib auf dem Teppich. Auch hier ist eine Pauschalaussage problematisch.

Konkrete Zahlen zur Laufzeit von Fliesskommarechnung bei
8051: http://www.smxrtos.com/ussw/gofast/gofast_8051.htm
ARM7: http://www.smxrtos.com/ussw/gofast/gofast_arm_gnu.htm
PIC32: http://www.smxrtos.com/ussw/gofast/gofast_mips32_gnu.htm

von Vlad T. (vlad_tepesch)


Lesenswert?

A. K. schrieb:
> Auch hier ist eine Pauschalaussage

>> je nach Prozessor und Implementierung
nennst du das eine Pauschalaussage?

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.