How much of ‘What Every Programmer Should Know About Memory’ is still valid?
cpu-architecture, cpu-cache, memory, optimization, x86
Solution
As far as I remember Drepper's content describes fundamental concepts about memory: how CPU cache works, what are physical and virtual memory and how Linux kernel deals that zoo. Probably there are outdated API references in some examples, but it doesn't matter; that won't affect the relevance of the fundamental concepts.
So, any book or article that describes something fundamental cannot be called outdated. "What every programmer should know about memory" is definitely worth to read, but, well, I don't think it's for "every programmer". It's more suitable for system/embedded/kernel guys.
Problem
I am wondering how much of Ulrich Drepper's What Every Programmer Should Know About Memory from 2007 is still valid. Also I could not find a newer version than 1.0 or an errata. (Also in PDF form on Ulrich Drepper's own site: https://www.akkadia.org/drepper/cpumemory.pdf)
Related problems
- Micro fusion and addressing modes
- Enhanced REP MOVSB for memcpy
- Can x86's MOV really be "free"? Why can't I reproduce this at all?
- How to solve the 32-byte-alignment issue for AVX load/store operations?
- Why is Skylake so much better than Broadwell-E for single-threaded memory throughput?
- Difference between PREFETCH and PREFETCHNTA instructions
- How to properly use prefetch instructions?
- Non-temporal loads and the hardware prefetcher, do they work together?