Forum: Compiler & IDEs (Aus-)Nutzen der FPU des STM32F407 für ganzzahlige Berechnungen


von Christopher S. (shalec)


Lesenswert?

Hallo allerseits,

diesmal habe ich eine Frage zur FPU. Zunächst würde ich gerne wissen, 
wie ich mir die Zusammenarbeit des Cortex M4 und seiner FPU vorstellen 
kann. Ist dieser FPU ein zusätzlicher Prozessor, der nur dezimale 
Operationen ausführen kann, d.h. automatisch angesteuert wird, sobald 
eine Zahl berechnet werden soll, die hinter dem Komma Zahlen stehen hat?

Bevor ich zu meiner eigentlichen Frage komme, würde ich diesen Punkt 
erst verstehen.

Meine Frage wäre dann (unter Umständen):
Lässt sich nicht eine Zahl, mit z.B. 1024 Bit in 1024-n Vorkomma und n 
Nachkommastellen aufspalten um so ein Geschwindigkeitsschub in der 
Berechnung zu erhalten? Die Nachkommaarithmetik ist ja so ziemlich 
identisch mit der Vorkommaarithmetik. Die resultierende Zahl ließe sich 
dann ja per 2n Bitshifts wieder in eine ganze Zahl wandeln.

Da diese Frage aber sicherlich von meinem Unverständnis zeugt, steht 
eine andere Frage vorweg. :)

von (prx) A. K. (prx)


Lesenswert?

Christopher S. schrieb:
> Ist dieser FPU ein zusätzlicher Prozessor, der nur dezimale
> Operationen ausführen kann,

Es ist eine Ausführungseinheit für binäre Fliesskommaarithmetik in 
einfacher Genauigkeit, kein Prozessor.

> d.h. automatisch angesteuert wird, sobald
> eine Zahl berechnet werden soll, die hinter dem Komma Zahlen stehen hat?

Der Compiler erzeugt ggf. Befehle, die damit ausgeführt werden.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Christopher S. schrieb:
> Lässt sich nicht eine Zahl, mit z.B. 1024 Bit in 1024-n Vorkomma und n
> Nachkommastellen aufspalten um so ein Geschwindigkeitsschub in der
> Berechnung zu erhalten?

Die FPU des Cortex M4 ist dabei keine Hilfe.

von Christopher S. (shalec)


Lesenswert?

Danke. :-)

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.