Advanced Computer Architecture & Organization
Q90 / 100

What is the purpose of "memory barriers" (fences) in multi-core/multi-threaded programming on modern architectures with relaxed memory models?

Correct! Well done.

Incorrect.

The correct answer is A) They enforce ordering constraints on memory operations (loads/stores), preventing the CPU or compiler from reordering certain accesses across the barrier, necessary for correct synchronization on architectures that allow reordering for performance

A

Correct Answer

They enforce ordering constraints on memory operations (loads/stores), preventing the CPU or compiler from reordering certain accesses across the barrier, necessary for correct synchronization on architectures that allow reordering for performance

Explanation

Architectures with relaxed memory models (allowing reordering of loads/stores for performance) require explicit memory barriers/fences at points where ordering matters (e.g., implementing locks), ensuring all cores observe a consistent, expected ordering of operations.

Progress
90/100