[ARM CortexA] Unterschied zwischen stark geordnetem und Gerätespeichertyp

Ich bin wirklich ein Neueinsteiger in Cortex A und mir ist bewusst, dass der ARM ein schwach geordnetes Speichermodell anwendet und es drei sich gegenseitig ausschließende Speichertypen gibt:

Stark geordnetGerätNormal

Ich verstehe ungefähr, wofür Normal ist und was Stark geordnet und Gerät bedeuten. Allerdings ist der Unterschied zwischen stark geordneten und Gerät für mich verwirrend.

Laut Programmierhandbuch der Cortex-A-Serie besteht der einzige Unterschied darin, dass:

Ein Schreibvorgang in einen stark geordneten Speicher kann nur abgeschlossen werden, wenn er das Peripheriegerät oder die Speicherkomponente erreicht, auf die der Schreibvorgang zugreift.

Ein Schreibvorgang in den Gerätespeicher kann abgeschlossen werden, bevor er das Peripheriegerät oder die Speicherkomponente erreicht, auf die der Schreibvorgang zugreift.

Ich bin mir nicht ganz sicher, was die wirkliche Implikation davon ist. Ich vermute, dass die Reihenfolge des Zugriffs auf den Speicher, der mit Stark geordnet oder Gerät eingegeben wurde, mit den Programmiercodes übereinstimmen sollte (kein Zugriff außerhalb der Reihenfolge). Die CPU führt jedoch möglicherweise den nächsten Befehl aus, während sie auf den Speicher zugreift, wenn sie Device eingibt, und wartet einfach, bis der Zugriff abgeschlossen ist, wenn sie Strongly-ordered eingibt.

Korrigieren Sie mich, wenn ich falsch liege, und sagen Sie mir, was das zu bedeuten hat.

Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage