~/talk

The foundation of C++20 atomics

Talkat Meeting C++ 2021 · 2021-11-10..11-12· [rust]
links:none on file
slides:none on file

Explains what C++20 atomics actually guarantee by mapping them to real hardware: x86 TSO behavior, why stores sit in a store queue and why loads may see younger stores via store-to-load forwarding, when fences become necessary, and how out-of-order execution and register renaming create the 100-cycle store-address vs 2-cycle load problem. Presents concrete microarchitecture mechanisms, examples with cycle counts, and which compiler/hardware cooperation is required for correct and efficient atomic code.

AI-written summary · about

  1. 0:00Introduction to atomics
  2. 2:55Tightly coupled processors
  3. 4:33Consistency vs coherence
  4. 5:32Memory ordering issues
  5. 7:18The critical section problem
  6. 9:37Causes of inconsistency
  7. 13:35Sequential consistency
  8. 15:10Total store ordering
  9. 20:47TSO vs sequential consistency
  10. 23:16Why hardware uses buffers
  11. 26:01Data dependencies
  12. 29:37Out-of-order execution
  13. 34:19Data flow machines
  14. 38:52Memory ambiguity
  15. 42:30Load scheduling challenges
  16. 47:07Store-load forwarding
  17. 51:01Content addressable memory
  18. 53:45Store buffer mechanics
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.