让星星⭐月亮告诉你,当我们在说CPU一级缓存二级缓存三级缓存的时候,我们到底在说什么?

简介: 本文介绍了CPU缓存的基本概念和作用,以及不同级别的缓存(L1、L2、L3)的特点和工作原理。CPU缓存是CPU内部的存储器,用于存储RAM中的数据和指令副本,以提高数据访问速度,减少CPU与RAM之间的速度差异。L1缓存位于处理器内部,速度最快;L2缓存容量更大,但速度稍慢;L3缓存容量最大,由所有CPU内核共享。文章还对比了DRAM和SRAM两种内存类型,解释了它们在计算机系统中的应用。

一、⭐⭐⭐要弄清cpu cache,先搞懂内存🌙🌙🌙**

现在,计算机具有两种不同类型的内存:
⭐一种类型是在RAM模块中使用的类型,它是DRAM或动态RAM,DRAM是一种使用电容器存储数据的存储器,这些电容器必须经常用电,不断地动态更新,以存储数据。
⭐但是,计算机使用的另外一种类型的内存,不必经常刷新。这种存储器被称为SRAM或静态RAM,SRAM是cpu缓存中使用的。而且由于不必不断刷新SRAM,因此它比DRAM快很多,而且价格也很昂贵。
image.png

二、⭐⭐⭐cpu缓存的作用到底是什么🌙🌙🌙**

⭐cpu缓存是cpu的内部存储器。它的工作是存储:等待cpu使用的RAM中数据和指令的副本。因此,基本上,cpu缓存的作用在于,它保存着认为自己将要反复访问的通用数据,因为,当cpu需要访问某些数据时,它总是先检查较快的缓存,以查看是否有数据在它那里。如果不是,则cpu必须返回到较慢的内存或RAM才能获取所需的数据。这就是为什么高速缓冲存储器如此重要的原因,因为如果cpu可以在更快的高速缓存中访问所需的内容,那么计算机将以更快的速度运行。
⭐因此,从根本上说,缓存背后的全部目的是使计算机以较低的价格运行得更快。现在,一台计算机可以在没有cpu缓存的情况下运行,但是速度会慢很多,因为即使RAM变得越来越快,它仍然无法以足够快的速度将数据馈送到cpu,因为cpu变得如此之快,以至于很多次cpu都在等待更多的数据时无所事事,这会造成瓶颈。这就是,开发cpu缓存的原因。因为,它可以充当cpu和RAM之间的中间人,以协助cpu更快地获取所需数据,从而减少了瓶颈。
image.png

三、⭐⭐⭐cpu一、二、三级缓存🌙🌙🌙**

cpu缓存分为三个不同的级别:
⭐一级缓存,也被称为主缓存,一级缓存位于处理器本身上。因此,它的运行速度与处理器相同,非常快,是计算机上最快的缓存。
image.png

⭐还有二级缓存,也被称为外部缓存,二级缓存用来捕获来自处理器的,未被一级缓存捕获的最近数据访问。因此,简而言之,如果cpu在一级缓存中找不到所需的数据,则它将在二级缓存中搜索该数据。
image.png

⭐而且,如果cpu在二级缓存中找不到数据,则它将搜索最后一级的三级缓存。三级缓存用于捕获二级缓存未捕获的最近数据访问。最后,如果第三级缓存没有数据,那么cpu必须回到较慢的RAM才能找到所需的数据。
image.png

⭐在较早的计算机中,二级缓存位于主板上的单独芯片上。
image.png

现代计算机,二级缓存位于处理器中。
image.png

二级缓存容量大于一级缓存,但不如一级缓存快。三级缓存也位于处理器上,三级缓存大于二级缓存,但不如二级缓存快。三级缓存通常被称为共享缓存,因为它的内存,在cpu上的所有内核之间共享,而一级缓存和二级缓存专用于它们自己的cpu内核。
image.png

⭐注:多核处理器,指的是一个处理器(也就是一个cpu),有多个核心core。

四、总结

以下是文章中提到的CPU缓存(一级、二级、三级)的核心概念和结构,转换成横向的思维导图:

CPU缓存概念和结构

1. CPU缓存概述

  • 定义: CPU内部存储器,用于存储RAM中数据和指令的副本。
  • 目的: 提高计算机运行速度,减少CPU与RAM之间的速度差异。

2. CPU缓存的作用

  • 数据访问: CPU首先在缓存中查找所需数据。
  • 速度差异: 缓存比RAM快,减少CPU等待时间。

3. CPU缓存的级别

  • 一级缓存(L1 Cache)
    • 位置: 处理器本身。
    • 速度: 最快。
    • 类型: 主缓存。
  • 二级缓存(L2 Cache)
    • 位置: 处理器内部或主板上(早期计算机)。
    • 容量: 大于一级缓存。
    • 速度: 慢于一级缓存。
    • 类型: 外部缓存。
  • 三级缓存(L3 Cache)
    • 位置: 处理器内部。
    • 容量: 大于二级缓存。
    • 速度: 慢于二级缓存。
    • 共享: 所有CPU内核共享。

4. CPU缓存的工作流程

  • 数据访问: CPU → L1 Cache → L2 Cache → L3 Cache → RAM。
  • 数据存储: 缓存保存常用数据,以备快速访问。

5. DRAM与SRAM

  • DRAM
    • 类型: 动态RAM。
    • 特点: 使用电容器存储数据,需要定期刷新。
  • SRAM
    • 类型: 静态RAM。
    • 特点: 不需要刷新,速度快,成本高。
目录
相关文章
|
6月前
|
SQL 缓存 Java
如何判断mybatis 开启二级缓存 和二级缓存详细讲解
如何判断mybatis 开启二级缓存 和二级缓存详细讲解
179 0
|
2月前
|
缓存 Java 数据库连接
mybatis复习05,mybatis的缓存机制(一级缓存和二级缓存及第三方缓存)
文章介绍了MyBatis的缓存机制,包括一级缓存和二级缓存的配置和使用,以及如何整合第三方缓存EHCache。详细解释了一级缓存的生命周期、二级缓存的开启条件和配置属性,以及如何通过ehcache.xml配置文件和logback.xml日志配置文件来实现EHCache的整合。
mybatis复习05,mybatis的缓存机制(一级缓存和二级缓存及第三方缓存)
|
5月前
|
存储 缓存 算法
数据结构和算法学习记录——总结顺序表和链表(双向带头循环链表)的优缺点、CPU高速缓存命中率
数据结构和算法学习记录——总结顺序表和链表(双向带头循环链表)的优缺点、CPU高速缓存命中率
48 0
|
3月前
|
存储 缓存 Java
|
5月前
|
缓存 索引
cpu缓存一致性问题---cache写策略
cpu缓存一致性问题---cache写策略
45 1
|
6月前
|
XML 缓存 Java
MyBatis二级缓存解密:深入探究缓存机制与应用场景
MyBatis二级缓存解密:深入探究缓存机制与应用场景
459 2
MyBatis二级缓存解密:深入探究缓存机制与应用场景
|
6月前
|
存储 缓存
CPU缓存简介
CPU缓存简介
92 1
|
6月前
|
缓存 Java 数据库连接
MyBatis三级缓存实战:高级缓存策略的实现与应用
MyBatis三级缓存实战:高级缓存策略的实现与应用
131 0
MyBatis三级缓存实战:高级缓存策略的实现与应用
|
6月前
|
缓存 Java 数据库连接
【Mybatis】说一下 mybatis 的一级缓存和二级缓存
【Mybatis】说一下 mybatis 的一级缓存和二级缓存
|
6月前
|
存储 缓存 Linux
CPU高速缓存架构
CPU高速缓存架构