Forum: Mikrocontroller und Digitale Elektronik Cortex-M4 double Berechnungen


von lion (Gast)


Lesenswert?

Hi Zusammen,

ein Cortex-M4 mit FPU kann leider nur 32-Bit floating points in mit 
seiner FPU beschleunigt verarbeiten.

Die signifikanten Stellen, die mir so ein float bietet sind mir leider 
definitiv zu wenig. Was auf einem aktuellen PC kein Problem darstellt 
(double anstatt float verwenden), macht mir ad-hoc etwas Sorgen auf 
einem µC.

Um besser abzuschätzen wie ich meine Algorithmen ausgestalten muss fehlt 
mir leider noch ein wenig das Gefühl dafür, wie die Performance von 
double Berechnungen ist. Kennt ihr  Abschätzungen, wie viele Taktzyklen 
für eine double Berechnung zweier Operanden durchschnittlich und im 
worst case verbraten werden? (hauptsächlich für +, -, *, /)?

Vielen Dank!

von Rainer (Gast)


Lesenswert?

Cortex-M7 statt M4 nehmen. Damit habe ich zwar noch nicht gearbeitet, 
aber der sollte auch 64Bit-Float können - zumindest nach Wikipedia:
"Gleitkommaeinheit mit der Bezeichnung FPv5-SP, IEEE-754 kompatibel und 
mit Instruktionen für einfache und doppelte Genauigkeit (32x32 oder 
16x64 bit)."

Gruß
Rainer

von Dr. Sommer (Gast)


Lesenswert?

Rainer schrieb:
> aber der sollte auch 64Bit-Float können
Das ist aber optional. Die STM32F7 z.B. können es nicht.

von O. H. (ohagendorf)


Lesenswert?

Dr. Sommer schrieb:
> Rainer schrieb:
>> aber der sollte auch 64Bit-Float können
> Das ist aber optional. Die STM32F7 z.B. können es nicht.

Das stimmt nicht ganz. Es gibt inzwischen auch STM32F7, die 64-Bit Float 
mit ihrer HW FPU rechnen können, z.B STM32F767. Die zuerst vorgestellten 
F7 konnten es aber noch nicht.

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

http://www.st.com/en/microcontrollers/stm32f7-series.html?querycriteria=productId=SS1858

Auf deine Frage habe ich keine richtige anwort. Du könntest 
disassemblen.

von Karl (Gast)


Lesenswert?

Pi Mal Daumen Faktor 5 bis 10  langsamer in Software.

Evtl solltest du auch prüfen wo genau die Präzision eines Single nicht 
reicht und nur dort mit Double rechnen. Es gibt dieser Tage auch 
vermehrt Anwendungen die mit fp16 aka half Precision rechnen weil 
dadurch die Performance verdoppelt werden kann...

von m.n. (Gast)


Lesenswert?

Die Division dauert am längsten. Insgesamt bleiben die Grunrechenarten 
unter 1 µs: Beitrag "Re: Controller mit FPU"

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.