缓存性能的优化方法

基于 《计算机体系结构:量化研究方法》2.2 缓存性能的10种高级优化方法

因为CPU和主存的性能差距越来越大,所以在CPU和主存之间增加了多级高速缓存,如L1 cache、L2 cache,来提升性能。

缓存设计时需要考虑以下度量

  • 命中时间:在缓存中找到指定的数据的时间。
  • 缺失率:当缓存中未找到指定数据的概率。
  • 缺失代价:当缓存未命中恢复到缓存命中的代价
  • 功耗
  • 缓存带宽

可以通过一些方法来针对这些度量进行优化,将这10种方法分为5类

  • 缩短命中时间:小而简单的第一级缓存和路预测。这两种技术通常还能降低功耗。
  • 增加缓存带宽:流水化缓存、多组缓存和无阻塞缓存。这些方法对功耗有不确定影响
  • 降低缺失代价:关键字优化,合写缓冲区。这两种优化方法对功耗影响很小
  • 降低缺失率:编译器优化。该方法可以降低功耗
  • 通过并行降低缺失代价或缺失率:硬件预取和编译器预取。这些方法会增加功耗,主要是因为提前取出了未用到的数据。

小而简单的第一级缓存

大容量的L1 cache会影响时钟频率,因此L1 cache的容量涨幅很小,甚至根本没有增长。L1 cache大小有限,就无法和主存地址一一映射,因此必然需要一个地址映射方式,即将主存地址转换为cache的地址,而映射方式的选择会影响命中时间。

了解到以下几种映射方式

  • 全相联:主存的任一地址能映射到任意cache地
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值