Houjun Liu

caching

All caches, uses similar memory addressing scheme (i.e. each address can map to one of each device); each “line” of cache is usually 64 bytes. This means that each time you grab something from memory, the 64 bytes surrounding that area of memory will be cached. You are most likely to do this because of iterating through an array.

  • L1-D cache: on the CPU, used for staging for registers
  • L1-I cache: on the CPU, used for staging for assembly instructions
  • L2 cache: L1 staging
  • L3 cache: L2 staging
  • Main memory: memory

cache locality

temporal locality

“Things I have used recently, I’m likely to use again soon”

spacial locality

“Things next to what I got I’m likely going to use soon”