0

We known that X86_64 is a strongly ordered architecture. On the contrary, ARM64 or PowerPC or ... Alpha are poorly ordered ones.

What's the difference between them? Does this infulence the process schedule? Will it make executable program more unpredictable if architecture is poorly ordered?

CL.
  • 173,858
  • 17
  • 217
  • 259
Jack Wang
  • 19
  • 3
  • What use would an unpredictable program be? – weston Mar 22 '17 at 02:59
  • Not unpredictable program, the unpredictable is out-of-order. – Jack Wang Mar 22 '17 at 03:06
  • 1
    No, this refers to the memory ordering model adopted by a processor architecture. With some Google-fu one lands here: https://en.wikipedia.org/wiki/Memory_ordering – Iwillnotexist Idonotexist Mar 22 '17 at 07:40
  • 1
    We prefer the term weakly-ordered :) I'll be lazy enough to link to an old answer of mine with a fair amount of overlap with what you're asking: http://stackoverflow.com/questions/15491751/real-life-use-cases-of-barriers-dsb-dmb-isb-in-arm/15493922#15493922 – unixsmurf Mar 22 '17 at 10:34
  • 1
    Oh, and on-topic, the documentation in the Linux kernel is also a quite good primer: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/memory-barriers.txt – unixsmurf Mar 22 '17 at 10:39
  • @unixsmurf thanks for your reply:) – Jack Wang Mar 22 '17 at 11:53

0 Answers0