This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Question about definition in armv8 memory model

Hi exports:

In ARMv8 spec(K_a), it says:

A Memory Read effect E2 Reads-from-memory a Memory Write effect E1, if and only if E1 and E2 are to the same location and E2 takes its data from E1.

A Memory Read effect E2 of a Location is the Local read successor of a Memory Write effect E1 to the same Location if E1 appears in program order before E2 and there is no Memory Write effect E3 to the same Location appearing in program order between E1 and E2.

what the difference  between them 

An example would be better, thanks very much.

    

Parents
  • Looking at the Arm ARM definition:

    A Read Memory effect R2 of a Location is the Local read successor of a Write Memory effect W1 from the same Observer to the same Location if W1 appears in program order before R2 and there is not a Write Memory effect W3 from the same Observer to the same Location appearing in program order between W1 and R2

    (my emphasis)

    So the difference is that "Local read successor" requires the Memory Read effect and Memory Write effect to be from the same observer.  While for "Reads-from-memory" the read and write effects could be from different observers (e.g. two different cores).

Reply
  • Looking at the Arm ARM definition:

    A Read Memory effect R2 of a Location is the Local read successor of a Write Memory effect W1 from the same Observer to the same Location if W1 appears in program order before R2 and there is not a Write Memory effect W3 from the same Observer to the same Location appearing in program order between W1 and R2

    (my emphasis)

    So the difference is that "Local read successor" requires the Memory Read effect and Memory Write effect to be from the same observer.  While for "Reads-from-memory" the read and write effects could be from different observers (e.g. two different cores).

Children