/microarchitecture-cheatsheet

X86 CPU topics overview for low latency/performance developers , oriented towards performance

Microarchitecture cheat sheet is about X86 CPU topics for developers and mainly oriented towards performance :

It divides that huge subject into following realms :

  • Pipeline realm
  • Arithmetic realm
  • Branch prediction realm
  • Load store realm
  • Cache memory realm
  • System memory realm
  • Virtual memory realm
  • Multicore realm
  • MultiCPU realm
  • "About all realms" realm

Intel® 64 and IA-32 Architectures Software Developer’s Manual https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Intel® 64 and IA-32 Architectures Optimization Reference Manual https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

AMD64 Architecture Programmer’s Manual: Volumes 1-5 https://www.amd.com/system/files/TechDocs/40332_4.05.pdf

The microarchitecture of Intel, AMD, and VIA CPUs , by Agner Fog https://www.agner.org/optimize/microarchitecture.pdf

Instruction tables , by Agner Fog https://www.agner.org/optimize/instruction_tables.pdf

What every programmer should know about memory, by Ulrich Drepper https://akkadia.org/drepper/cpumemory.pdf

Wikichip https://en.wikichip.org/wiki/WikiChip

I don't claim that every information is exact. Some of them are topics that I had the chance to get my hands on during projects, but some other are not based on project experiences but researches out of curiosity. In case you find a problem, you can raise an issue publicly. If you somehow want to report it privately, you can find my mail address in the poster.