Der STM32F030 kommt bei mir beim selben Whestone Benmard auf 2.15Mips während der STM32F103 auf 7.63 Mips kommt. Wie kann das sein, es haben doch beide einen M0 Core,
1.) F1 haben einen M3 Core, nicht M0. 2.) Die F0 können nur 48 MHz, die F1 bis zu 72 MHz.
2.) Die F0 können nur 48 MHz, die F1 bis zu 72 MHz. 72MHz/48MHz = 1,5 7,63/2,15 ~= 3,5 Die niedrigere Taktfrequenz würde nur den Faktor 1,7 erklären.
Da steckt ja mehr hinter, als nur die Taktfrequenz. Die beiden haben unterschiedliche Befehlssätze und die gleichartigen Befehle werden unterschiedlich schnell abgearbeitet. Nur mal so zum Vergleich: Mein aktueller Laptop ist mit 2 Kernen zu je 1,3GHz fast genau so schnell wie mein alter, der 2 Kerne zu je 2,2GHz hatte. Und der alte war auch noch 4 mal so teuer!
Ok STM32F030 => M0, 48Mhz STM32F103 => M3, 72Mhz Ihr haltet also den Faktor 3.5 in der Geschwindigkeit anstatt 1.5 für realistisch? Wodurch ist der M3 so viel schneller?
https://de.wikipedia.org/wiki/ARM_Cortex-M andere pipeline und anderer befehlssatz zumal der benchmark nur im RAM läuft? mit Flashzugriff reduziert sich der geschwindigkeitsvorteil wieder etwas aber gerade bei viel multiplikation im benchmark ist der M0 im nachteil. er hat zwar einen hardwaremultiplier ... aber oft mehrere taktzyklen der M3( oder > ) kann das in einem takt.
Ich meine in einem der Datenblätter gelesen zu haben, dass STM M0 Cortexe mit "single cycle muliplier" verwendet.
Markus schrieb: > Ich meine in einem der Datenblätter gelesen zu haben, dass STM M0 > Cortexe mit "single cycle muliplier" verwendet. Und was steht wirklich drin? Ich erinnere mich auch gern mal an falsche Sachen bzw. verwechsel gern was. Schau doch erstmal ins Datenblatt ;)
Details finden sich in den Programming Manuals: PM0215 F0 PM0068 F1 PM0214 F4 Bitte auch nicht vergessen, dass es sich um Benchmarks handelt, also künstliche Aufgabenstellungen. Im reellen Leben bestimmen noch ganz andere Faktoren die Eignung des Bausteins für einen bestimmten Zweck.
Der F1 ist ja auch oll. Vergleich mal mit dem F7 wenn du wirklich Rechenleistung brauchst...
Uwe B. schrieb: > Ausserdem erzeugt GCC schlechten Code für M0/M1/M23: > https://embdev.net/topic/426508 Jaja...
Cyblord -. schrieb: > 2.) Die F0 können nur 48 MHz, die F1 bis zu 72 MHz. Und dann ist da noch die Frage, welche Taktfrequenzen tatsächlich verwendet werden...
Mich interessiert ja nur ob die STM32F0 "value line" mit "schnarch langsam" gleichzusetzen ist.
M. K. schrieb: > Und was steht wirklich drin? Ich erinnere mich auch gern mal an falsche > Sachen bzw. verwechsel gern was. Schau doch erstmal ins Datenblatt ;) Hättest du auch machen können, statt das falsche zu behaupten. Die haben wirklich einen Single cycle multiplier. Der befehlssatz des m0 ist im Vergleich zum m3 stark eingeschränkt. Der m0 kann zum Beispiel nur eine 32x32->32bit Multiplikation. Auch der barrelshifter kann nicht so flexibel eingesetzt werden wie beim m3.
> Wodurch ist der M3 so viel schneller? Kannst du hier nachlesen: https://www.eecs.umich.edu/courses/eecs373/labs/refs/M3%20Guide.pdf
Markus schrieb: > Mich interessiert ja nur ob die STM32F0 "value line" mit "schnarch > langsam" gleichzusetzen ist. Blöde Frage, da fehlt der Anwendungszweck z.B. ob nur ein 8Mhz Signal geloggt werden muss oder nen MP3 codiert wird. Gegen einen AVR mit 8Mhz auf 3.3V ist es eine Rakete.. Gegen Anwendungen in denen man schon bei nem F4 zugreifen sollte viel zu klein. EDIT: ich bin von den Atmegas zum 103 und dann zum F030..
:
Bearbeitet durch User
Markus schrieb: > Mich interessiert ja nur ob die STM32F0 "value line" mit "schnarch > langsam" gleichzusetzen ist. Die Leistung eines µC in einem Benchmark ist für den Praxiseinsatz kein relevantes Kriterium. Da geht es nur darum, ob er schnell genug ist oder nicht. Und für viele Anwendungen ist ein STM32F0 schnell genug.
In sehr vielen Anwendungen ist die Geschwindigkeit fast völlig egal. Nur mal so als Beispiel: Bei so einer Uhr https://www.casio-europe.com/resource/images/watch/zoom/A168WA-1YES.jpg kann der µC kaum zu langsam sein. Da ist die Stromaufnahme und die Versorgungsspannung viel wichtiger. Und die Genauigkeit der Taktfrequenz ist viel spannender.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.