2016 - 2024

感恩一路有你

取环 CPU的一二三级缓存有什么用处?

浏览量:1928 时间:2021-03-15 14:50:22 作者:admin

CPU的一二三级缓存有什么用处?

先看看为什么CPU会有L1、L2、L3这样的缓存设计,正如下图所示,现在的处理器太快了,而从内存中读取数据实在太慢(一个是因为内存本身速度不够,另一个是因为它离CPU太远了,总的来说需要让CPU等待几十甚至几百个时钟周期),这个时候为了保证CPU的速度,就需要延迟更小速度更快的内存提供帮助,而这就是缓存。

现在让我们看看多级缓存(L1,L2,L3)的好处,而不仅仅是单个缓存。

1、高速缓存越靠近ALU等核心单元,访问速度就越快,所以会有靠近核心的L1缓存,虽然它小,但它真的快啊;

2、高速缓存的容量越大,缓存命中(Cache hit)就越高,所以当L1没有命中时,需要一个容量更大的但速度也不慢的缓存来提供数据,这就是L2;

3、更大的缓存意味着更高的命中,同时也意味着更高的成本、更慢的速度、更多的晶体管,更大的面积,因此它不可能靠近所有核心单元,这就是L3;

这就是CPU缓存的层次结构,基于性能、成本、设计上的一个平衡,L1缓存可以最大化单个内核的位置和速度(甚至分离指令和数据)。L2高速缓存会更大些,命中更高,速度稍慢,一般还是位于每个核心内,而L3缓存通常在系统中的所有内核间共享,提供合理的速度和容量。比如英特尔Core i7-8700K它的L1大小只有64K,还分为32K数据和32K指令,L2大小为256K,L3达到12MB。

现代CPU的高速缓存体系结构是非常复杂的,其中包括硬件预取和数据转发,以便能提供最佳的高速缓存命中机会。有些CPU甚至还加入了L4缓存。

缓存什么意思?

在计算中,缓存是存储数据的硬件或软件组件,以便将来可以提供更快的数据请求;存储在高速缓存中的数据可能是早期计算的结果,也可能是存储在其他地方的数据的副本。当可以在缓存中找到请求的数据时,会发生缓存命中,而当无法找到时,则会发生缓存丢失。缓存命中是通过从缓存中读取数据来实现的,这比重新计算结果或从较慢的数据存储中读取数据要快;因此,缓存中提供的请求越多,系统执行得越快。

为了节省成本并能够有效利用数据,缓存必须相对较小。然而,缓存已经在许多计算领域得到证明,这是因为典型的计算机应用程序访问数据时具有高度的访问局部性。这种访问模式表现出时间局部性(请求最近已经请求的数据)以及空间局部性(请求物理上存储在已经请求的数据附近的数据)。

取环 环怎么取 曼月乐环

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。