Hello!
I recently looked at memory consistency models with a particular focus on
hardware details and
found this book to be great, but I was left wondering about something regarding
Alpha's memory
model.
I tried to find previous discussions about this but didn't find anything, so
I'll go ahead:
Table 15.5: Summary of Memory Ordering states that Alpha is *NOT*
Other-Multicopy Atomic but
I couldn't find the explanation for this. Other sources contradict this
statement [1] [2].
[3] Documents ARM's adoption of other-multicopy atomicity, using POWER as an
example of
non-other-multicopy-atomicity but fails to mention Alpha.
Furthermore, [2] models non-other-multicopy-atomicity by having "Read from
external" (rfe) not
impose ordering. Alpha's reference manual [3] Section 5.6.1.5 states
If u is a write access Pi:W<m>(x,a) and v is an overlapping read access
Pj:R<n>(y,b), u is visible to v only if:
- u <- v, or
- u precedes v in processor issue sequence (possible only if Pi=Pj).
Which seems to confirm that Alpha was indeed other-multicopy atomic.
Best regards,
Ignacio
[1] https://arxiv.org/pdf/1707.05923 - First page
[2] http://www0.cs.ucl.ac.uk/staff/j.alglave/these.pdf - Section 4.2.3.1
[3] https://download.majix.org/dec/alpha_arch_ref.pdf