Auf einem ARM-Kortex m0+:
Wie viele Zyklen dauert es, um Floats mit einfacher Genauigkeit zu multiplizieren und in einem Float zu speichern? dh x = a*b; Wo x, a und b IEEE 754-Gleitkommazahlen mit einfacher Genauigkeit sind ... und was wäre, wenn sie beide doppelte Genauigkeit hätten?
Bonusfrage: Wie viele Zyklen dauert es, eine Ganzzahl um 16 Bit zu verschieben und in einer anderen Ganzzahl zu speichern. dh x = (y>>16); Wobei x und y 32-Bit-Ganzzahlen mit Vorzeichen sind.
BEARBEITEN:
Als Compiler verwende ich den ARM gcc Compiler
Der Grund, warum ich diese Frage stelle, ist, dass ich vorhabe, q31 zu verwenden, aber ich wollte sehen, was der Unterschied wirklich wäre
1 und 2: Es gibt keine Hardware-Gleitkommaeinheit auf dem M0, also hängt es allein von Ihrem Compiler ab. Erwarten Sie in der Größenordnung von zehn bis möglicherweise Hunderten von Zyklen für einfache Genauigkeit bei vollständiger IEEE-Kompatibilität. Was die doppelte Genauigkeit betrifft, sehen Sie wahrscheinlich hohe Hunderte, vielleicht sogar die Tausend-Zyklen-Grenze, wobei Sie wiederum volle IEEE-Kompatibilität annehmen.
3: Einzelzyklus.
C. TowneSpringer
sternenblau
hassan789
Superkatze