0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

各级别CPU缓存的工作原理

旺材芯片 来源:旺材芯片 作者:旺材芯片 2020-10-30 15:25 次阅读

一、前言

在过去的几年中,计算机处理器取得了相当大的进步,晶体管的尺寸每年都在变小,而且这种进步达到了摩尔定律迅速变得多余的地步。

当涉及到处理器时,不仅晶体管和频率很重要,高速缓存也很重要。

在讨论CPU(Central Processing Units)时,您可能听说过高速缓存。但是,我们并没有过多地关注这些数字,它们也不是这些CPU广告的主要亮点。

那么,CPU缓存到底有多重要,它又是如何工作的?

二、什么是CPU缓存?

首先,缓存只是一种非常快速的内存类型。您可能知道,计算机内部有多种内存类型。有一个主存储(如硬盘或SSD),用于存储大量数据(操作系统和所有程序)。

接下来,我们有随机存取存储器,通常称为RAM。这比主存储要快得多。

最后,CPU自身具有更快的存储单元,我们称之为缓存。

计算机的内存具有基于速度的层次结构,而缓存位于该层次结构的顶部,是最快的。它也是最靠近中央处理的地方,它是CPU本身的一部分。

高速缓存是静态RAM(SRAM),而系统RAM是动态RAM(DRAM)。静态RAM是一种可以保存数据但是不要用一直刷新的存储器,与DRAM不同,SRAM更加适合用于高速缓存。

三、CPU缓存如何工作?

我们已经知道,程序被设计为一组指令,最终由CPU运行。

当我们运行程序的时候,这些指令必须从主存储器取指令到CPU。这是内存层次结构起作用的地方。

数据首先被加载到RAM中,然后被发送到CPU。因为CPU每秒都能够执行大量指令。为了充分利用其功能,CPU需要访问超高速内存,这是缓存的来源。

内存控制器执行从RAM中获取数据并将其发送到缓存的工作。根据系统中使用的CPU,此控制器可以位于主板的北桥芯片组上,也可以位于CPU本身内部。

然后,高速缓存在CPU内执行数据的来回传输。内存的层次结构也存在于缓存中。

四、缓存级别:L1,L2和L3

CPU缓存分为三个主要的**“级别”**,即L1,L2和L3。这里的层次结构是根据缓存速度来划分的。

L1(1级)高速缓存是计算机系统中存在的最快的内存。就访问优先级而言,L1缓存具有CPU在完成特定任务时最可能需要的数据。

就其大小而言,L1高速缓存通常最多可达256KB。但是,一些真正功能强大的CPU现在将其占用近1MB。现在,某些服务器芯片组(如Intel的高端Xeon CPU)具有1-2MB的一级缓存。

L1缓存通常也分为两种方式,分为指令缓存和数据缓存。指令高速缓存处理有关CPU必须执行的操作的信息,而数据高速缓存则保留要在其上执行操作的数据。

L2(2级)缓存比L1缓存慢,但大小更大。它的大小通常在256KB到8MB之间,尽管更新,功能强大的CPU往往会超过此大小。L2高速缓存保存下一步可能由CPU访问的数据。在大多数现代CPU中,L1和L2高速缓存位于CPU内核本身,每个内核都有自己的高速缓存。

L3(3级)高速缓存是最大的高速缓存存储单元,也是最慢的一个。它的范围从4MB到50MB以上。现代CPU在CPU裸片上具有用于L3高速缓存的专用空间,并且占用了很大一部分空间。

五、缓存命中或未命中以及延迟

数据会从RAM依次流到L3高速缓存,然后是L2,最后是L1。

当处理器正在寻找要执行操作的数据时,它首先尝试在L1高速缓存中找到它。如果CPU能够找到它,则该情况称为高速缓存命中。然后,它继续在L2和L3中找到它。

如果找不到数据,它将尝试从主内存访问数据。这称为高速缓存未命中。

现在,众所周知,高速缓存旨在加快主内存和CPU之间的数据传输。

从内存访问数据所需的时间称为延迟,L1具有最低的延迟,是最快的,并且最接近核心,而L3具有最高的延迟。缓存未命中时,延迟会增加很多。这是因为CPU必须从主存储器中获取数据。

随着计算机变得越来越快和越来越好,我们看到延迟减少了。现在,我们拥有低延迟的DDR4 RAM,以及具有低访问时间的超高速SSD作为主要存储,这两项都大大降低了整体延迟。

以前,缓存设计曾经使L2和L3缓存位于CPU外部,这对延迟产生了负面影响。

然而,CPU制造工艺的进步使得在比以前更小的空间中安装数十亿个晶体管。因此,为缓存留出了更多空间,这使缓存尽可能地靠近核心,从而大大减少了延迟。

六、缓存的未来

缓存设计一直在发展,尤其是随着内存变得更便宜,更快和更密集。英特尔AMD在缓存设计方面进行了相当多的试验,英特尔甚至还在试验L4缓存。CPU市场正在以前所未有的速度向前发展。

这样,我们必定会看到缓存设计跟上CPU不断增长的能力。

缓存设计方面进行了相当多的试验,英特尔甚至还在试验L4缓存。CPU市场正在以前所未有的速度向前发展。

这样,我们必定会看到缓存设计跟上CPU不断增长的能力。

此外,还有很多工作可以减少现代计算机的瓶颈。减少内存延迟可能是其中最大的一部分。业界正在为相同的解决方案而努力,并且未来看起来确实充满希望。

责任编辑:xj

原文标题:干货 | CPU缓存L1,L2,L3的工作原理

文章出处:【微信公众号:旺材芯片】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10409

    浏览量

    206463
  • 计算机
    +关注

    关注

    19

    文章

    6629

    浏览量

    84357
  • 缓存
    +关注

    关注

    1

    文章

    220

    浏览量

    26435

原文标题:干货 | CPU缓存L1,L2,L3的工作原理

文章出处:【微信号:wc_ysj,微信公众号:旺材芯片】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    dcdc转换器的工作原理和作用是什么

    多个不同电压级别的应用中。 工作原理 DC/DC转换器的工作原理基于能量转移和控制。它们通过储能组件(如电感、电容或两者的组合)临时存储能量,然后以不同的方式释放这些能量,从而实现电压的变换。根据设计,DC/DC转换器可以升高(
    的头像 发表于 02-04 10:06 769次阅读
    dcdc转换器的<b class='flag-5'>工作原理</b>和作用是什么

    一文了解CPU高速缓存

    CPU的核心功能包括数据运算和指令控制。CPU运算的数据和执行的指令全部存储在CPU的寄存器中,这些数据和指令又都来自于CPU高速缓存
    的头像 发表于 01-02 16:01 756次阅读
    一文了解<b class='flag-5'>CPU</b>高速<b class='flag-5'>缓存</b>

    Redis缓存预热+缓存雪崩+缓存击穿+缓存穿透要点简析

    缓存预热就是系统上线后,提前将相关的缓存数据直接加载到缓存系统。
    的头像 发表于 12-25 09:41 292次阅读
    Redis<b class='flag-5'>缓存</b>预热+<b class='flag-5'>缓存</b>雪崩+<b class='flag-5'>缓存</b>击穿+<b class='flag-5'>缓存</b>穿透要点简析

    晶振的工作原理

    晶振的工作原理
    的头像 发表于 12-08 17:32 560次阅读
    晶振的<b class='flag-5'>工作原理</b>

    CPU Cache是如何保证缓存一致性的?

    我们介绍`CPU Cache`的组织架构及其进行**读操作**时的寻址方式,但是缓存不仅仅只有读操作,还有 **写操作** ,这会带来一个新的问题
    的头像 发表于 12-04 15:05 527次阅读
    <b class='flag-5'>CPU</b> Cache是如何保证<b class='flag-5'>缓存</b>一致性的?

    三极管怎样通过各级电压判断工作状态呢?

    三极管怎样通过各级电压判断工作状态呢?  三极管是一种常见的电子元器件,通常用于放大电流、开关电路和各种电子设备的控制。三极管可以通过各级电压来判断它的工作状态,这是非常重要的,因为它
    的头像 发表于 09-15 17:49 2582次阅读

    CPU缓存那些事儿

    CPU Cache 在读取内存数据时,每次不会只读一个字或一个字节,而是一块块地读取,这每一小块数据也叫CPU 缓存行(CPU Cache Line)。这也是对局部性原理的运用,当一个
    的头像 发表于 09-10 10:57 375次阅读
    <b class='flag-5'>CPU</b><b class='flag-5'>缓存</b>那些事儿

    CPU缓存基础知识

    本篇文章主要聚焦CPU Cache,文章比较长,主要分成这么几个部分。
    的头像 发表于 08-28 14:36 533次阅读
    <b class='flag-5'>CPU</b><b class='flag-5'>缓存</b>基础知识

    cpu缓存的作用及原理是什么

    CPU高速缓存集成于CPU的内部,其是CPU可以高效运行的成分之一,本文围绕下面三个话题来讲解CPU缓存
    发表于 08-21 12:17 855次阅读
    <b class='flag-5'>cpu</b><b class='flag-5'>缓存</b>的作用及原理是什么

    CPU缓存知识科普

    好久没有写一些微观方面的文章了,今天写一篇关于CPU Cache相关的文章,这篇文章比较长,主要分成这么几个部分:基础知识、缓存的命中、缓存的一致性和延伸阅读。其中会讲述一些多核 CPU
    的头像 发表于 07-17 12:26 774次阅读
    <b class='flag-5'>CPU</b><b class='flag-5'>缓存</b>知识科普

    CPU缓存一致性协议解析

    CPU运行效率高不高,一定程度取决于缓存,这里就给大家分享一下CPU缓存相关的内容。
    的头像 发表于 07-12 10:07 457次阅读
    <b class='flag-5'>CPU</b><b class='flag-5'>缓存</b>一致性协议解析

    介绍下cpu缓存一致性(MESI协议)

    之前介绍了java并发包的cas原理和java内存模型,这篇我们介绍下cpu缓存一致性原理,可以帮助我们更好的理解cas的底层原理。
    的头像 发表于 06-09 16:01 2908次阅读
    介绍下<b class='flag-5'>cpu</b><b class='flag-5'>缓存</b>一致性(MESI协议)

    聊一聊在大型分布式系统中缓存应该怎么玩?

    对于一个百万、千万级别的接口调用,若是没有缓存的设计,直接打到数据持久层,那将是毁灭性的灾难。
    的头像 发表于 05-23 14:20 190次阅读
    聊一聊在大型分布式系统中<b class='flag-5'>缓存</b>应该怎么玩?

    CPU工作原理!#CPU #单片机#电子

    cpu
    学习电子知识
    发布于 :2023年05月22日 20:12:16

    Caffeine教程缓存介绍

    缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存,到客户端的页面缓存,处处都存在着缓存的身影。
    的头像 发表于 05-22 11:01 664次阅读
    Caffeine教程<b class='flag-5'>缓存</b>介绍