Forum: Mikrocontroller und Digitale Elektronik STM32H7 vs. i.MX RT


von René F. (Gast)


Lesenswert?

STMicro hat ein paar neue STM32H7 angekündigt mit einer Taktrate von 
550MHz und internem Flash. Beworben wird das ganze natürlich schön mit 
„the fastest core speed in the market among MCUs that integrate flash 
storage on-chip“. Habe ich hier etwas verpasst? Der bereits erhältliche 
i.MX RT1064 hat doch schon 600MHz und integriertes Flash...

von Jim M. (turboj)


Lesenswert?

Der i.MX hat den Flash on-package, aber nicht on-chip.

Habe den hier, der Flash ist per QSPI angebunden.

von Xerxes (Gast)


Lesenswert?

Hi.
Der RT1064 hat laut Internetseite von NXP das Flash intern.

Ist halt Marketing. Wann sagen die mal die Wahrheit ?

von Aha (Gast)


Lesenswert?

Xerxes schrieb:
> Der RT1064 hat laut Internetseite von NXP das Flash intern.

Ist ja auch intern - im Package :-P.
Im Datenblatt ist sogar etwas versteckt ein Link zum Winbond W25Q32JV 
QSPI Flash...

von Nop (Gast)


Lesenswert?

Die entscheidende Frage ist: bei welchem der Controller kann man den 
Code direkt aus dem Flash ausführen?

von Aha (Gast)


Lesenswert?

Das geht mit QSPI Flash mit allen MCUs die XIP können.

von René F. (Gast)


Lesenswert?

Jim M. schrieb:
> Der i.MX hat den Flash on-package, aber nicht on-chip.
>
> Habe den hier, der Flash ist per QSPI angebunden.

Das könnte tatsächlich die Antwort sein, stellt sich mir nur die Frage, 
ob dies mit irgend einem Nachteil verbunden ist, dass das Flash auf dem 
gleichen Die sitzt.

Für mich klingt das bisher sehr nach reinem Marketing-Geschwafel, ich 
muss aber auch zugeben, das mir hier die Erfahrung fehlt in dieser 
Mikrocontroller-Klasse, bisher habe ich nur mit PICs, AVRs und dem 
STM32F0 als MCU gearbeitet, alles was anspruchsvoller war, lief als 
Applikation auf Linux-SoCs. Für ein aktuelles Projekt, würde ein 
Mikrocontroller dieser Art ziemlich gut passen.

von Nop (Gast)


Lesenswert?

Aha schrieb:
> Das geht mit QSPI Flash mit allen MCUs die XIP können.

Wie ist die Performance dabei? Genauso wie direkte Flash-Ausführung?

von flash (Gast)


Lesenswert?

Flash im gleichen Silizium ist deutlich performanter.

Wenn man das Flash im gleichen Package hat, müssen die zwei Dies 
zusammen gebonded werden.
Die Geschwindigkeit ist hier stark limitiert. Das müssen die Prozessoren 
dann durch entsprechende Cache-Strukturen ausgleichen.
Zufällige Flash-Zugriffe können aber ganz schön Latenzen haben hier

von Jim M. (turboj)


Lesenswert?

Nop schrieb:
> Aha schrieb:
>> Das geht mit QSPI Flash mit allen MCUs die XIP können.
>
> Wie ist die Performance dabei? Genauso wie direkte Flash-Ausführung?

Kommt schwerstens auf den µC an. Die o.g. dicken µCs haben Cache für 
Code und Datenpfade - da kommt es auf ein paar Taktzyken für den 
externen Flash nicht an.

Und auch interner Flash braucht bei >25MHz Wartezyklen. Auf einem 
Cortex-M4 ohne viel Cache dürfte der Unterschied XIP/intern schon zu 
merken sein.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Jim M. schrieb:
> Und auch interner Flash braucht bei >25MHz Wartezyklen. Auf einem
> Cortex-M4 ohne viel Cache dürfte der Unterschied XIP/intern schon zu
> merken sein.

Deswegen verbauen die Hersteller meist Cache direkt am Flash.
Der Flash wird mit 128/256Bit und mehr ausgelesen und die Thumb 
Instruktions werden dann häppchenweise an den Bus gereicht wenn 
benötigt.

Ein Benchmark auf einem STM32H7 wäre da echt mal interessant.
Der hat ja son internes FlashCache Kunstwerk und kann QSPI per CPU Cache 
verstecken.

Die großen MCUs laden aber meist beim Startup was aus dem Flash in den 
DRAM und führen dann von dort den Coee aus.
Jetzt hat DRAM höhere Frequenzen und Bitbreiten, aber braucht auch ein 
ganz schönes "vorgeplänkel" bis man da mal an ein paar Bytes kommt für 
die Cacheline.

von Johannes S. (Gast)


Lesenswert?


von Gerd E. (robberknight)


Lesenswert?

Wenn der Flash auf dem Chip integriert ist, muss ich mich weniger darum 
kümmern oder damit befassen als wenn der extern ist, damit langsamer und 
gecached werden muss. Daher ist es für den Entwickler etwas einfacher 
von z.B. einem STM32 mit M3 oder M4 auf diesen neuen STM32H7 
umzusteigen.

Mit "kümmern" meine ich z.B. daß ich die Interrupts ins RAM kopieren 
muss um  bei einem seltener aufgerufenen Interrupt nicht die Latenz 
massiv zu steigern.

Aber längerfristiger skaliert das mit dem integrierten Flash natürlich 
lang nicht so gut wie der externe Flash. Die H7 kommen jetzt mit 1 MByte 
Flash, als externen QSPI gibt es momentan bis 256 MByte und da ist 
konzeptionell noch lange nicht Ende der Fahnenstange.

Daher dürfte der Punkt mit integriertem/externen Flash in der Praxis 
nicht soo entscheidend für den einen oder anderen Controller sein. Viel 
wichtiger dürfte sein, ob man bisher eher mit den Controllern von ST 
oder denen von NXP Erfahrung gesammelt hat, die Peripherie kennt etc.

von Carl D. (jcw2)


Lesenswert?

Gerd E. schrieb:
> Aber längerfristiger skaliert das mit dem integrierten Flash natürlich
> lang nicht so gut wie der externe Flash. Die H7 kommen jetzt mit 1 MByte
> Flash, als externen QSPI gibt es momentan bis 256 MByte und da ist
> konzeptionell noch lange nicht Ende der Fahnenstange.
>
> Daher dürfte der Punkt mit integriertem/externen Flash in der Praxis
> nicht soo entscheidend für den einen oder anderen Controller sein. Viel
> wichtiger dürfte sein, ob man bisher eher mit den Controllern von ST
> oder denen von NXP Erfahrung gesammelt hat, die Peripherie kennt etc.

Externer Flash hat den Vorteil (für den Hersteller), daß für die dann 2 
Dies mit dem jeweils idealen Fertigungsverfahren hergestellt werden 
können. Das Problem stellt sich auch bei größeren Rechnemaschinen, wo 
man die großen Caches manchmal als getrennte Dies ausführt.

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.