1. 笔记
cache基本概念
1.cache:S、E、B
- S:sets
- E:the number of lines per set
- B:the number of bytes per block
2.地址格式:
- 一般:tag bits+set index+block offset
- 可选:set index + tag bits + block offset
3.直接映射:one line per set(E=1)
4.E-way Set Associative Cache
- find set
- 检查valid位
- 检查组内的tag
5.write(dirty bit)
- write through
- write back
- write allocate
- No-write-allocate
6.intel core i7 cache hierarchy
- core内部:L1 cache(区分Data和Instruction)和L2 unified cache
- core共享:L3 unified cache
- 参数:L1(32kB,8-way,4 cycles)、L2(256KB,8-way,10 cycles)、L3(8MB,16-way,40-75 cycles)
- block size:64B
1.2 利用cache提升程序性能
1.memory mountain test function
- 测试cache的性能
2.Rearranging loops to improve spatial locality
- 空间局部性:如果顺序不对的话性能差异有4倍
3.Using blocking to impro