Forum: Mikrocontroller und Digitale Elektronik Cortex-M4 double Berechnungen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von lion (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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: HS Ulm) (reggie)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.