springboot多级缓存 CPU的一二三级缓存有什么用处?
CPU的一二三级缓存有什么用处?
首先,让我们看看为什么CPU有L1、L2和L3缓存设计。如下图所示,当前处理器速度太快,从内存读取数据太慢(一是内存本身速度不够快,二是距离CPU太远)。一般来说,它需要让CPU等待几十个甚至几百个时钟周期),你需要更少的延迟和更快的内存来帮助,这就是缓存。
现在让我们看看多级缓存(L1、L2、L3)的好处,而不仅仅是单个缓存。
1. 缓存越靠近ALU和其他核心单元,访问速度就越快。因此,核心附近会有一级缓存。虽然它很小,但它真的很快。缓存容量越大,缓存命中率越高,命中率越高,所以当L1不能命中时,它需要一个更大但不慢的缓存来提供数据,即L2;
3。更大的缓存意味着更高的命中率,这也意味着更高的成本、更低的速度、更多的晶体管和更大的面积,因此它不能接近所有的核心单元,即L3;
这是基于性能、成本和设计的CPU平衡,一级缓存可以最大化单个内核的位置和速度(甚至是单独的指令和数据)。二级缓存将更大,命中率更高,速度更慢。它通常位于每个核心,而L3缓存通常在系统的所有核心之间共享,以提供合理的速度和容量。例如,Intel Core i7-8700k的L1大小为64K,也分为32K数据和32K指令。L2大小为256K,L3大小为12MB。
现代CPU缓存体系结构非常复杂,包括硬件预取和数据转发,以提供最佳缓存命中率。一些cpu甚至添加了L4缓存。
springboot多级缓存 springboot接口二级缓存 缓存cache存在哪里
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。