存储模块cache

news2025/4/11 9:29:58

参考:存储模块 --- Cache_cache模块-CSDN博客

一级缓存(L1 Cache)二级缓存(L2 Cache) 都是处理器内的高速缓存,用来减少访问主内存的延迟,提高处理器的性能。它们在计算机体系结构中发挥着重要作用,但它们的大小、速度和位置有所不同。

1. 一级缓存(L1 Cache)

  • 位置:L1 缓存在每个处理器核心内,通常直接与核心集成,作为处理器核心的一部分。

  • 速度:L1 缓存是所有缓存中速度最快的,它靠近处理器核心,因此可以以非常高的速度访问。

  • 容量:L1 缓存相对较小,通常在 16KB 到 64KB 之间。

  • 作用:L1 缓存存储的是处理器最常访问的数据和指令(通常分为指令缓存和数据缓存)。由于其小巧和高速度,它能快速响应处理器对数据和指令的请求。

2. 二级缓存(L2 Cache)

  • 位置:L2 缓存通常位于处理器内部或处理器核心与外部缓存之间。它可能是每个核心有独立的 L2 缓存,也可能是多个核心共享一个 L2 缓存(取决于处理器的设计)。

  • 速度:L2 缓存的速度略低于 L1 缓存,但仍然比主内存快得多。

  • 容量:L2 缓存的容量比 L1 缓存大,通常在 128KB 到 2MB 之间。

  • 作用:L2 缓存用于存储那些 L1 缓存中没有的数据或指令。当处理器需要数据时,它首先检查 L1 缓存,如果 L1 缓存没有数据,则检查 L2 缓存。如果 L2 缓存也没有数据,处理器才会访问主内存。

3.三级缓存(L3 Cache):

  • 在某些高性能处理器中,还可能有三级缓存(L3 Cache)。L3 缓存通常比 L2 缓存更大,速度更慢,但仍然比主内存快。L3 缓存通常是多个处理器核心共享的。

在大多数现代计算机架构中,一级缓存(L1 Cache)二级缓存(L2 Cache) 之间的主要区别并不是是否使用静态 RAM(SRAM)或动态 RAM(DRAM)。相反,L1 缓存L2 缓存 都通常使用 静态 RAM (SRAM),而不是动态 RAM (DRAM),因为 SRAM 更适合用于高速缓存。

一级缓存(L1 Cache)和二级缓存(L2 Cache)通常使用的 RAM 类型:

  • L1 缓存:一级缓存通常采用 静态 RAM(SRAM)。SRAM 非常快,因此非常适合用于一级缓存,它可以在处理器核心内快速提供数据。由于其较小的容量和速度要求,SRAM 成为 L1 缓存的理想选择。

  • L2 缓存:二级缓存通常也采用 静态 RAM(SRAM)。虽然 L2 缓存的容量较大,但它仍然要求高速存取,因此也使用 SRAM。相比 L1 缓存,L2 缓存的访问速度略慢,但仍比主内存(DRAM)要快得多。

为什么 L1 和 L2 缓存都使用 SRAM

  1. 速度:SRAM 由于其电路结构(使用锁存器)比 DRAM 快得多,这使得它非常适合缓存应用。缓存的主要任务就是减少处理器与主内存之间的访问延迟,因此需要极快的存储访问速度。

  2. 简单性和低延迟:SRAM 不需要周期性的刷新操作,而 DRAM 则需要定期刷新(每隔几毫秒)。由于缓存通常需要频繁访问,SRAM 的低延迟和无需刷新特性,使它成为缓存的理想选择。

  3. 容量:尽管 SRAM 更昂贵且密度较低(意味着单位面积存储的数据少),但是 L1 和 L2 缓存的容量相对较小,通常在几百 KB 到几 MB 之间,因此可以接受 SRAM 较低的存储密度。

静态 RAM(SRAM)与动态 RAM(DRAM)的区别:

  • SRAM

    (Static RAM):

    • 存储数据的方式通过触发器(latch)保持数据,因此不需要像 DRAM 那样不断地刷新。

    • 更快,但制造成本较高,面积密度较低。

  • DRAM

    (Dynamic RAM):

    • 使用电容存储数据,电容会随时间泄漏,因此需要定期刷新。

    • 速度较慢,但密度高,存储容量大,成本较低,通常用于主内存。

总结

  • 一级缓存(L1 Cache)二级缓存(L2 Cache) 通常都使用 静态 RAM(SRAM),因为它们需要高速度和低延迟。

  • 动态 RAM(DRAM) 通常用于主内存,而不是用于缓存。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2329949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML零基础入门笔记:狂神版

前言 本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。 【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 第1-2章:Java零基础入门笔记:(1-2)入门(简介、基础知识)-CSDN博客 第3章&…

FreeRTOS移植笔记:让操作系统在你的硬件上跑起来

一、为什么需要移植? FreeRTOS就像一套"操作系统积木",但不同硬件平台(如STM32、ESP32、AVR等)的CPU架构和外设差异大,需要针对目标硬件做适配配置。移植工作就是让FreeRTOS能正确管理你的硬件资源。 二、…

c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第五式】动态内存管理

c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第五式】动态内存管理 【心法】 【第零章】c语言概述 【第一章】分支与循环语句 【第二章】函数 【第三章】数组 【第四章】操作符 【第五章】指针 【第六章】结构体 【第七章】const与c语言中一些错误代码 【禁忌秘术】 【第一式…

MySQL表的增删改查基础版

这一部分内容比较多,请大家结合目录查看👀 增删改查 这一部分内容比较多,请大家结合目录查看👀 一、新增1.插入2.指定列插入3.一次插入多行记录 二、查询1.全列查询2.指定列查询3.查询字段为表达式4.别名5.去重6.多列去重7.排序8.…

【备赛】蓝桥杯嵌入式实现led闪烁

原理 由于蓝桥杯的板子带有锁存器,并且与lcd屏幕有冲突,所以这个就成了考点。 主要就是用定时器来实现,同时也要兼顾lcd的冲突。 一、处理LCD函数 首先来解决与lcd屏幕冲突的问题,把我们所有用到的lcd函数改装一下。 以下是基…

【Python】贝叶斯,条件概率是怎么回事儿

【Python】贝叶斯,条件概率是怎么回事儿 一、原理简介1.1 贝叶斯定理1.2 朴素贝叶斯假设 二、算法实现过程2.1 数据准备与预处理2.2 模型训练与预测2.2.1 高斯朴素贝叶斯 - 对应连续型数据2.2.2 多项式朴素贝叶斯 - 离散型数据 2.3 模型评估 三、算法优缺点分析3.1 …

Flink介绍——实时计算核心论文之Storm论文详解

引入 我们通过以下两篇文章,深入探索了S4是如何抽象流式计算模型,如何设计架构和系统,存在那些局限: 论文详解论文总结 Yahoo推出的S4 并没有在历史舞台上站稳脚跟,在S4的论文发表的同一年,我们今天的主…

001 使用单片机实现的逻辑分析仪——吸收篇

本内容记录于韦东山老师的毕设级开源学习项目,含个人观点,请理性阅读。 个人笔记,没有套路,一步到位,欢迎交流! 00单片机的逻辑分析仪与商业版FPGA的逻辑分析仪异同 对比维度自制STM32逻辑分析仪商业版逻…

11-产品经理-创建产品

在“产品”-“仪表盘”内,可以查看系统中关于产品及相关需求的统计。 在“产品”-“产品列表”页面,可以按项目集、项目查看其关联产品。还可以添加产品、编辑产品线、或者导出产品列表。 产品看板,通过看板方式查看产品、产品计划和产品下的…

低代码开发平台:飞帆制作网页并集成到自己的网页中

应用场景: 有时,我们的网页使用了某个模版,或者自己写的 html、css、javascript 代码。只是网页中的一部分使用飞帆来制作。这样的混合网页如何实现呢? 其实很容易,来体验一下飞帆提供的功能! 还记得这个…

语法: result=log (x);

LOG( ) 语法: resultlog (x); 参数: x是一个浮点数; 返回值: result等于返回值,是一个浮点数; 功能: 该函数是用来计算浮点数x的自然对数(即ln x);如果x小于或等于0,或x太大,则行为没有定义; 注意:存在error挂起; 如果在编写程序里包含了errno.h头文件,则范围和等级…

Hibernate核心方法总结

Session中的核心方法梳理 1、save方法 这个方法表示将一个对象保存到数据库中,可以将一个不含OID的new出来的临时对象转换为一个处于Session缓存中具有OID的持久化对象。 需要注意的是:在save方法前设置OID是无效的但是也不会报错,在save方…

IntelliJ IDEA Maven 工具栏消失怎么办?

一、问题现象与背景 在使用 IntelliJ IDEA(简称 IDEA)开发 Maven 项目时,偶尔会遇到右侧或侧边栏的 Maven 工具栏(显示依赖、生命周期等信息的窗口)突然消失的情况。这可能影响开发者快速操作 Maven 构建、依赖管理等…

消息队列(kafka 与 rocketMQ)

为什么要使用消息队列?作用1: 削峰填谷(突发大请求量问题)作用2: 解耦(单一原则)作用3: 异步(减少处理时间) 如何选择消息队列(kafka&RocketMQ)成本功能性能选择 rocketMQ是参考kafka进行实现的为什么rocketMQ与kafka性能差距很大呢?kafka 的底层数据储存实现rocketMQ 的…

【STM32】Flash详解

【STM32】Flash详解 文章目录 【STM32】Flash详解1.Flash闪存概念1. 1核心区别:NOR Flash vs. NAND Flash1.2 为什么常说的“Flash”多指 NAND Flash?1.3技术细节对比(1) 存储单元结构(2) 应用场景(3) 可靠性要求 1.4总结 2.STM32内部的Flash2.1为什么是…

CV - 目标检测

物体检测 目标检测和图片分类的区别: 图像分类(Image Classification) 目的:图像分类的目的是识别出图像中主要物体的类别。它试图回答“图像是什么?”的问题。 输出:通常输出是一个标签或一组概率值&am…

node-modules-inspector 可视化node_modules

1、node_modules 每个vue的项目都有很多的依赖,有的是dev的,有的是生产的。 2、使用命令pnpx node-modules-inspector pnpx node-modules-inspector 3、node_modules可视化 4、在线体验 Node Modules Inspector 5、github地址 https://github.com/a…

远程服务器下载llama模型

适用于有防火墙不能直接从HF上下载的情况 然后,你可以克隆 Llama-3.1-8B-Instruct 模型: git clone https://你的用户名:你的访问令牌hf-mirror.com/meta-llama/Llama-3.1-8B-Instruct用户名,令牌来自huggingface官网 注意:要提…

2011-2019年各省地方财政金融监管支出数据

2011-2019年各省地方财政金融监管支出数据 1、时间:2007-2019年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区、年份、地方财政金融监管支出 4、范围:31省 5、指标说明:地方财政在金融监管方面的支出…

Java大厂面试题 -- JVM 优化进阶之路:从原理到实战的深度剖析(2)

最近佳作推荐: Java大厂面试题 – 深度揭秘 JVM 优化:六道面试题与行业巨头实战解析(1)(New) 开源架构与人工智能的融合:开启技术新纪元(New) 开源架构的自动化测试策略优…