Coherence is related to the memory ordering of the same address.
Consistency is related to the memory ordering of different addresses.
Coherence is taken care of by the memory subsystem (mostly the cache).
Consistency is either the task of the programmer using fences or it is part of the CPU design to ensure a certain level of consistency (e.g. on X86 stores can't be reordered).
Coherence and consistency have distinct meanings.
Coherence is related to the memory ordering of the same address.
Consistency is related to the memory ordering of different addresses.
Coherence is taken care of by the memory subsystem (mostly the cache).
Consistency is either the task of the programmer using fences or it is part of the CPU design to ensure a certain level of consistency (e.g. on X86 stores can't be reordered).