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

    文章

    11218

    浏览量

    222968
  • 计算机
    +关注

    关注

    19

    文章

    7764

    浏览量

    92689
  • 缓存
    +关注

    关注

    1

    文章

    248

    浏览量

    27645

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无线充电器的工作原理核心

    无线充电器的工作原理核心
    的头像 发表于 12-06 10:19 33次阅读
    无线充电器的<b class='flag-5'>工作原理</b>核心

    探索CPU架构的奥秘,揭秘高性能计算的隐形引擎

    本文转自:绿算技术CPU的内部工作原理:指令周期的精密舞蹈CPU,这颗无形的“心脏”,默默地驱动着每一台智能设备的脉动。它不仅是数据的处理中心,更是智慧与效率的源泉。今天与大家一同潜入CPU
    的头像 发表于 08-13 11:58 527次阅读
    探索<b class='flag-5'>CPU</b>架构的奥秘,揭秘高性能计算的隐形引擎

    高性能缓存设计:如何解决缓存伪共享问题

    在多核高并发场景下, 缓存伪共享(False Sharing) 是导致性能骤降的“隐形杀手”。当不同线程频繁修改同一缓存行(Cache Line)中的独立变量时,CPU缓存一致性协议会
    的头像 发表于 07-01 15:01 503次阅读
    高性能<b class='flag-5'>缓存</b>设计:如何解决<b class='flag-5'>缓存</b>伪共享问题

    GPIO配置的工作原理是什么?

    我使用 EZ-USB 配置实用程序,我想知道是否有人知道 GPIO 配置的工作原理。 例如,GPIO0 可以用作传感器复位,我知道这个 GPIO0 用于重置传感器,但我不明白的是选项用户 GPIO 例如GPIO 1可以是User GPIO0,这是什么意思呢?
    发表于 05-19 06:56

    CPU Socket的基本结构和工作原理

    CPU Socket是连接中央处理单元(CPU)与计算机主板之间的关键部件,它充当着传递电信号、电源和散热等多重功能的枢纽。在整个计算机系统中,CPU Socket的作用至关重要,尤其在高性能计算
    的头像 发表于 05-08 17:14 1891次阅读

    MCU缓存设计

    从Flash或外部存储器读取的指令,减少CPU因等待指令加载而停滞,适用于实时性要求高的场景(如中断服务程序)。 D-Cache‌:缓存从Flash、SRAM或外部存储器读取的数据,加速变量与堆栈的读写操作。 TCM(紧耦合内存)‌:部分MCU(如STM32H743)设置
    的头像 发表于 05-07 15:29 836次阅读

    Nginx缓存配置详解

    Nginx 是一个功能强大的 Web 服务器和反向代理服务器,它可以用于实现静态内容的缓存缓存可以分为客户端缓存和服务端缓存
    的头像 发表于 05-07 14:03 1043次阅读
    Nginx<b class='flag-5'>缓存</b>配置详解

    微动开关的工作原理

    微动开关的工作原理
    的头像 发表于 04-17 09:00 2730次阅读

    nginx中强缓存和协商缓存介绍

    缓存直接告诉浏览器:在缓存过期前,无需与服务器通信,直接使用本地缓存
    的头像 发表于 04-01 16:01 734次阅读

    MPC5777C如何在禁用其余数据缓存的同时继续保持堆栈工作

    我按照 AN5191指南启动MPC5777C自定义板,它的一些内置测试要求我禁用缓存以执行某些作,然后重新启用它们以进行正常作。考虑到我把一半的数据缓存作为我的堆栈(使用基于 dcbz 和 dcbtls 指令的 AN5191代码),我应该如何在禁用其余数据
    发表于 03-27 06:01

    ADS4129后级接缓存器,缓存器出现过热的原因?

    使用25M的采样频率对1M的信号进行采样,ADS4129以12位cmos电平输出,出来后的数据接缓存器SN74AVC16244,缓存工作电压是3.3V,在工作过程中
    发表于 02-07 08:42

    缓存与不带缓存的固态硬盘有什么区别

    延迟、高可靠性和低噪音等优点,逐渐取代了传统的机械硬盘,成为市场的主流选择。而固态硬盘中的缓存技术,更是提升其性能的关键因素之一。本文将深入探讨固态硬盘的定义、结构、工作原理,以及带缓存与不带
    的头像 发表于 02-06 16:35 4287次阅读

    移动电源的工作原理_移动电源结构

    移动电源的工作原理是将电能存储在内置电池中,然后通过适当的电压和电流输出,为电子设备提供所需的电能。以下是关于移动电源工作原理的详细解释:
    的头像 发表于 01-27 16:11 3291次阅读

    超级电容电池的工作原理

    超级电容电池是一种介于传统电容器与电池之间的新型储能装置。其工作原理主要基于电荷分离和电场存储,以下是关于超级电容电池工作原理的详细解释:
    的头像 发表于 01-27 11:17 2002次阅读

    HTTP缓存头的使用 本地缓存与远程缓存的区别

    HTTP缓存头是一组HTTP响应头,它们控制浏览器和中间代理服务器如何缓存网页内容。合理使用HTTP缓存头可以显著提高网站的加载速度和性能,减少服务器的负载。 1. HTTP缓存头概述
    的头像 发表于 12-18 09:41 817次阅读