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
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".