让星星⭐月亮告诉你,当我们在说CPU一级缓存二级缓存三级缓存的时候,我们到底在说什么?
到底什么是cpu缓存(cache)?1、要弄清cpu cache,要先搞懂内存,内存的分类现在,计算机具有两种不同类型的内存:⭐一种类型是在RAM模块中使用的类型,它是DRAM或动态RAM,DRAM是一种使用电容器存储数据的存储器,这些电容器必须经常用电,不断地动态更新,以存储数据。⭐但是,计算机使用的另外一种类型的内存,不必经常刷新。这种存储器被称为SRAM或静态RAM,SRAM是cpu缓存中使
一、⭐⭐⭐要弄清cpu cache,先搞懂内存🌙🌙🌙**
现在,计算机具有两种不同类型的内存:
⭐一种类型是在RAM模块中使用的类型,它是DRAM或动态RAM,DRAM是一种使用电容器存储数据的存储器,这些电容器必须经常用电,不断地动态更新,以存储数据。
⭐但是,计算机使用的另外一种类型的内存,不必经常刷新。这种存储器被称为SRAM或静态RAM,SRAM是cpu缓存中使用的。而且由于不必不断刷新SRAM,因此它比DRAM快很多,而且价格也很昂贵。
二、⭐⭐⭐cpu缓存的作用到底是什么🌙🌙🌙**
⭐cpu缓存是cpu的内部存储器。它的工作是存储:等待cpu使用的RAM中数据和指令的副本。因此,基本上,cpu缓存的作用在于,它保存着认为自己将要反复访问的通用数据,因为,当cpu需要访问某些数据时,它总是先检查较快的缓存,以查看是否有数据在它那里。如果不是,则cpu必须返回到较慢的内存或RAM才能获取所需的数据。这就是为什么高速缓冲存储器如此重要的原因,因为如果cpu可以在更快的高速缓存中访问所需的内容,那么计算机将以更快的速度运行。
⭐因此,从根本上说,缓存背后的全部目的是使计算机以较低的价格运行得更快。现在,一台计算机可以在没有cpu缓存的情况下运行,但是速度会慢很多,因为即使RAM变得越来越快,它仍然无法以足够快的速度将数据馈送到cpu,因为cpu变得如此之快,以至于很多次cpu都在等待更多的数据时无所事事,这会造成瓶颈。这就是,开发cpu缓存的原因。因为,它可以充当cpu和RAM之间的中间人,以协助cpu更快地获取所需数据,从而减少了瓶颈。
三、⭐⭐⭐cpu一、二、三级缓存🌙🌙🌙**
cpu缓存分为三个不同的级别:
⭐一级缓存,也被称为主缓存,一级缓存位于处理器本身上。因此,它的运行速度与处理器相同,非常快,是计算机上最快的缓存。
⭐还有二级缓存,也被称为外部缓存,二级缓存用来捕获来自处理器的,未被一级缓存捕获的最近数据访问。因此,简而言之,如果cpu在一级缓存中找不到所需的数据,则它将在二级缓存中搜索该数据。
⭐而且,如果cpu在二级缓存中找不到数据,则它将搜索最后一级的三级缓存。三级缓存用于捕获二级缓存未捕获的最近数据访问。最后,如果第三级缓存没有数据,那么cpu必须回到较慢的RAM才能找到所需的数据。
⭐在较早的计算机中,二级缓存位于主板上的单独芯片上。
现代计算机,二级缓存位于处理器中。
二级缓存容量大于一级缓存,但不如一级缓存快。三级缓存也位于处理器上,三级缓存大于二级缓存,但不如二级缓存快。三级缓存通常被称为共享缓存,因为它的内存,在cpu上的所有内核之间共享,而一级缓存和二级缓存专用于它们自己的cpu内核。
⭐注:多核处理器,指的是一个处理器(也就是一个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。
- 特点: 不需要刷新,速度快,成本高。
以下是使用 Mermaid 语法绘制的横向思维导图代码:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)