缓存的理解

CPU体系结构中有L1,L2,L3缓存

L1是CPU相关的,L2,L3则是所有CPU共享的

L1分指令和数据的Cache,Cache line是缓存的最小单位


想象CPU在执行指令的时候,引用的大部分的数据都是L1,L2,L3中,只有部分是使用内存中的数据

由于CPU在执行指令的时候,前有预加载的机制,后有局部性原理,CPU需要的访问的数据也有一定的连续性

在应用开发的时候,尽量减少上下文切换,也就是Cache Miss的问题,可以极大地提高应用程序的性能

可以想象这里存在一个L1,L2,L3与内存数据同步的问题,类似内存与磁盘的同步

这个时候Cache与内存就存在映射关系了,书上提到的:全关联,多路关联,直接映射3种i


Cache关联的含义是指Cache line可以访问的内存的范围,例如:

     全关联是指Cache可以映射到任意物理内存

     多路关联指Cache只能映射到部分有序的物理内存


使用缓存的目的仅仅是因为有热点吗?

     其实不一定

     缓存为了降低延时,提高访问速度

     缓存为了缓存热点数据

     缓存为了降低并发对后端的击穿压力

    



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值