Ich muss mit vielen Multithread-Programmierung bei der Arbeit beschäftigen. Insbesondere möchte ich wissen, wie sich das ARM-Speichermodell von IA64 unterscheidet. Beide sind sehr schwache Modelle, aber gibt es irgendwelche spezifischen Unterschiede, über die ich Bescheid wissen sollte? Ich bin vertraut mit ia64, nicht mit Arm.Wie unterscheidet sich das Armspeichermodell von ia64?
Antwort
ich die gleiche Frage habe, und während ich habe nicht ganz die Antwort gefunden, kann dieses Papier nützlich sein: Reasoning about the ARM weakly consistent memory model
Im weiteren Arbeitsabschnitt, scheint es, dass niemand zu implizieren (auch bei ARM, seit sie das Papier geschrieben haben) hat die Frage formell beantwortet:
... gibt es mehrere Vollständigkeit Fragen, die wir beantworten müssen. Wie passt das Axiomatic-Modell in den Betriebsmodus? ... und was ist die genaue Einbettung des ARM-Modells in Alpha, Intel, JMM?
Update: bei Memory Barriers: a Hardware View for Software Hackers von Paul McKenney aussehen auch. Es diskutiert die Arten der Speicherzugriffsumordnung, die verschiedene Prozessoren durchführen, und welche Anweisungen verfügbar sind, um die Zugriffe zu zäunen.
http://en.wikipedia.org/wiki/Memory_ordering könnte Ihre Frage beantworten. Aus der Tabelle, die es zeigt, scheint ARMv7 dasselbe wie IA64 zu haben.
- 1. Wie unterscheidet sich das traditionelle Gerätetreiberprogramm?
- 2. Warum unterscheidet sich {} + [] von ({} + [])?
- 3. Wie unterscheidet sich Hashtable
- 4. Wie unterscheidet sich das von der Definition eines Variablentyps?
- 5. Wie unterscheidet sich das Observer-Muster von einem ereignisgesteuerten Modell?
- 6. Wie unterscheidet sich das Erstellen von iOS-Geräten und Simulatoren?
- 7. Wie unterscheidet sich mpi_file_write von mpi_file_write_all?
- 8. Wie unterscheidet sich Gitlab von Github?
- 9. Wie unterscheidet sich << von +?
- 10. GCC: Wie unterscheidet sich März von Mtune?
- 11. Wie unterscheidet sich ArrayListMultimap von LinkedListMultimap?
- 12. Wie unterscheidet sich MegaStore von BigTable?
- 13. Wie unterscheidet sich Gurke von JUnit?
- 14. Farbe von NavBar unterscheidet sich von Hintergrundfarbe
- 15. Wie unterscheidet sich das Data-Mapper-Muster vom Repository-Muster?
- 16. Wie unterscheidet sich das ActiveRecord-Muster vom Domänenobjekt- oder Datenzuordnungsmuster?
- 17. Wie unterscheidet sich das const-Schlüsselwort zwischen iPhone und .NET?
- 18. ProgressDialog Nachrichtentext unterscheidet sich von AlertDialog
- 19. Identischer Code unterscheidet sich von verschiedenen Quellen
- 20. Perl Mantisse unterscheidet sich von anderen Doppel
- 21. Wie unterscheidet sich Dispatcher vom Hintergrund-Thread?
- 22. MediaStore.Audio.Albums._ID unterscheidet sich von Song
- 23. Warum unterscheidet sich std :: uint32_t von uint32_t?
- 24. Warum git AuthorDate unterscheidet sich von CommitDate?
- 25. Winforms ComboBox Höhe unterscheidet sich von ItemHeight
- 26. Subprozess pid unterscheidet sich von ps output
- 27. Tomcat JVM-Version unterscheidet sich von JAVA_HOME
- 28. Wie unterscheidet sich die Dichte von ggplot2 von der Dichtefunktion?
- 29. unterscheidet sich von Foo.class.barMethod() und Foo.barMethod()
- 30. php curl - Ergebnis unterscheidet sich von Browser