您的位置:首页 > 其它

缓存的理解

2016-08-14 00:04 211 查看
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只能映射到部分有序的物理内存

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

     其实不一定

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

     缓存为了缓存热点数据

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

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: