首页 > 代码库 > 【2014-11-23】《The Hardware/Software Interface》– Section 7
【2014-11-23】《The Hardware/Software Interface》– Section 7
- Cache
- Definition: computer memory with short access time used for the storage of frequently or recently used instructions or data(i-cachhe and d-cache).
- more generally, used to optimize data transfers between system elements with different characteristics (network interface cache, I/O cache, etc.)
- Hit:
- Miss:
- Locality: programs tend to use data and instructions with addresses near or equal to those they have used recently
- Temporal locality:
- Recentlly referenced items are likely to be referenced again in the near future.
- Spatial locality:
- Items with nearby addresses tend to be referenced close together in time
- Cost of Cache Misses
- Huge difference between a hit and a miss
- could be 100x, if just L1 and main memory
- 99% hits is twice as good as 97%
- Cache Performance Metrics
- Miss Rate:
- Fraction of memory references not found in cache (misses/ accesses) = 1 – hit rate
- Typical numbers(in percentage)
- 3% – 10% for L1
- Hit Time
- Time to deliver a line in the cache to the processor
- Includes time to determine whether the line is in the cache
- Typical hit times: 1 –2 clock cycles for L1
- Miss Penalty
- Additional time required because of a miss
- Typically 50 – 200 cycles
- Memory Hierarchies
- Well-written programs tend to exhibit good locality
- These properties complement each other beautifully
- Fundamental idea of a memory hierarchy:
- Each level k serves as a cache for the larger, slower, level k+1 below
- Optimizations for the Memory Hierarchy
- Write code that has locality
- Spatial: access data contiguously
- Temporal: make sure access to the same data is not too far apart in time
- How to achieve
- Proper choice of algorithm
- Loop transformations
【2014-11-23】《The Hardware/Software Interface》– Section 7
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。