Loading…
Tuesday September 15, 2026 09:00 - 10:00 MDT
std::atomic and std::memory_order are utterly opaque abstractions. It feels like they were put in place to hide some monstrosity that is too complex for mortals to comprehend, and inevitably when trying to understand the underlying reality, the explanations end with 'the processor does weird things' and 'think about it as if...'.

Well, 'think about it as if' no more. In this talk we'll present the gory and wonderful mechanics of cache coherence protocols, store buffers, cache invalidation queues and the in-processor load-store-queue. We'll explain how modern hardware design makes different cores have different views of memory, and what fences and read-modify-write instructions do exactly - for both x86/64 and ARM/RISC-V (which are sometimes dramatically different).

This is an advanced low-level talk located at the borderline of software development and electrical engineering, discussing topics rarely - if ever - discussed at C++ conference talks.

Presenters
avatar for Ofek Shilon

Ofek Shilon

Senior Developer, Speedata
A Mathematics MA by training, but a 20Y C++ developer, writer and speaker in both the Linux and MS universes. Member of the maintainers team of Compiler-Explorer (==godbolt). Fascinated by compilers, debuggers and pretty much anything low level. Fiercely hated by his cat for no apparent... Read More →
Tuesday September 15, 2026 09:00 - 10:00 MDT
_2

Attendees (1)


Log in to save this to your schedule, view media, leave feedback and see who's attending!

Share Modal

Share this link via

Or copy link