Note

https://www.youtube.com/playlist?list=PLC7a8fNahjQ8IkiD5f7blIYrro9oeIfJU

John von Neumann vs harvard architecture vs super harvard architecture

https://www.youtube.com/watch?v=vgPFzblBh7w

IAS machine Moore's law SMT and Hyperthreading Programmer's model Memory access and hierarchy Caches and locality of reference Latency numbers

Matrix problem column major vs row major CPU architectures and Why are Mac M chips faster than intel chips

https://mitterandekole.medium.com/modern-cpu-architecture-1-921ce3ebb980

https://mitterandekole.medium.com/modern-cpu-architecture-2-microarchitecture-8bcd80ce52ae RISC vs CISC  https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/risccisc/ Single core, Core 2 Duo, and more Comparison with zero is way faster than any 2 number comparison because of some special registers Loop unrolling

Flynn Taxonomy: Simd Real Time Clock and crystals Privilege rings RAID, LVM

Von Newman vs Haaward architecture

cache line and stuffs

https://www.youtube.com/watch?v=jC_z1vL1OCI

https://www.techspot.com/article/1821-how-cpus-are-designed-and-built/

TLB and TLB shootdowns

https://stackoverflow.com/questions/34437371/is-the-tlb-shared-between-multiple-cores

Introduction

In order to get maximum performance out of your application you need to understand the hardware it is running on. When you write code that conforms with how the hardware works, you get higher performance. Martin Thompson calls this "Mechanical Sympathy".