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

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

3天内不再提示

一文了解CPU高速缓存

路科验证 来源:数字随行 2024-01-02 16:01 次阅读

CPU的核心功能包括数据运算和指令控制。CPU运算的数据和执行的指令全部存储在CPU的寄存器中,这些数据和指令又都来自于CPU高速缓存。

最早的计算机系统存储由主存储和外部存储两部分组成,主存储即是插在主板上的内存,外部存储是内存以外的所有存储设备。早期的计算机“系统”内置在主板的ROM(一种断电后数据不会丢失的内存)中,而不是存储在硬盘里,数据处理的方式也是将数据都加载到主存中进行处理。所以硬盘驱动器与软盘驱动器、光盘驱动器等一样都是外部存储设备。主存是CPU和外部存储之间的一个缓冲区,为高效的运算处理提供了保障。‍‍‍

随着CPU性能的提升,CPU的处理速度与内存的传输速度逐渐拉开了差距。于是CPU中开始内置更高速的内存,缓解二者之间的性能差距,CPU中的内存被称作CPU缓存。

CPU缓存分为L1(一级缓存)、L2(二级缓存)、L3(三级缓存),也是随着CPU的演进逐渐发展出来。‍‍‍‍‍‍‍

L1缓存是针对CPU内核中寄存器存储的数据进行缓存。L1d缓存指令数据,例如变量和数组;L1i缓存二进制的指令。两个L1缓存可同时被CPU访问,避免了资源冲突,而且封装在CPU内部有很高的执行效率。‍‍‍

L2缓存是CPU单个核心中的“通用”缓存,存储的数据与内存中的数据一致,主要功能就是为内存提速。早期L2缓存集成在CPU的电路板或主板之上,现在与每个CPU核心独立集成在一起。L2缓存速度比内存要快很多,是提升性能的重要部件。

L3缓存是为了解决L2级别缓存容量问题而扩充的缓存。L3缓存的集成方式也是从CPU外部逐渐转移到CPU内部。到了多核CPU时代,L3缓存主要作用是实现多个核心之间的数据交换,但对CPU性能提升的帮助不大。

d5fe089a-a944-11ee-8b88-92fbcf53809c.png

CPU中缓存示意图

随着技术的发展,存储器的性能越来越高,通用型的存储都逐渐统一为内存型存储设备。软盘基本已经消声灭迹(日本银行的老旧系统仍然在使用),光盘通常出现在播放器和游戏机中,个人计算机和服务器也逐渐采用固态硬盘,磁盘介质的硬盘驱动器只能应用在低成本大数据量的存储场景和备份场景。但是,速度又快、容量又大的存储永远都要付出高昂的成本。我们只能在整个系统中增加少量的高速缓存,缓解这个矛盾。






审核编辑:刘清

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

    关注

    51

    文章

    7310

    浏览量

    142972
  • 寄存器
    +关注

    关注

    30

    文章

    5032

    浏览量

    117741
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162000
  • 二进制
    +关注

    关注

    2

    文章

    707

    浏览量

    41250

原文标题:一文了解CPU缓存

文章出处:【微信号:Rocker-IC,微信公众号:路科验证】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    linux的高速缓存DNS怎么设置

    linux 高速缓存DNS
    发表于 08-12 12:06

    MRAM高速缓存的组成

    ,通常由个伪MRAM单元提供,其面积可以忽略。 图1MRAM单元的等效电路结构(1T1J) 因此个大型MRAM阵列被划分成若干个小型阵列。小型阵列可采用传统高速缓存结构,由H-tree连接起来,其行列数目和尺寸可以使用C
    发表于 11-06 14:17

    高速缓存/海量缓存的设计实现

    子系统的性能要求和设计方案的基础上,提出了高速缓存和海量缓存方案,并将该方案成功地应用于DSP多通道超声信号采集与处理系统中。  对高速多通道采样数据存储的性能要求:
    发表于 12-04 15:59

    怎么利用异步FIFO和PLL结构来实现高速缓存?

    结合高速嵌入式数据采集系统,提出种基于CvcloneⅢ FPGA实现的异步FIFO和锁相环(PLL)结构来实现高速缓存,该结构可成倍提高数据流通速率,增加数据采集系统的实时性。采用FPGA设计
    发表于 04-30 06:19

    怎样去实现种基于DSP和ADC技术高速缓存和海量缓存

    构成高速缓存的方案有哪几种?如何去实现种海量缓存的设计?怎样去实现种基于DSP和ADC技术高速缓存和海量
    发表于 06-26 07:50

    高速缓存(cache)的工作原理是什么?高速缓存可分为哪几类

    存储器系统的层次架构是如何构成的?高速缓存(cache)的工作原理是什么?高速缓存可分为哪几类?
    发表于 12-23 06:18

    高速缓存Cache介绍

    什么是高速缓存?• 高速存储器块,包含地址信息(通常称作TAG)和相关联的数据。• 目的是提高对存储器的平均访问速度• 高速缓存的应用基于下面两个程序的局部性 :• 空间局部性:如果
    发表于 09-07 08:22

    磁盘阵列的高速缓存

    磁盘阵列的高速缓存         
    发表于 01-09 09:59 2583次阅读

    高速缓存(Cache),高速缓存(Cache)原理是什么?

    高速缓存(Cache),高速缓存(Cache)原理是什么? 高速缓存Cache是位于CPU和主存储器之间规模较小、存取速度快捷的静态存储器。Cache一般由
    发表于 03-26 10:49 6729次阅读

    AN1600 - 在PIC32MZ器件上使用L1高速缓存

    本文档提供了PIC32MZ器件系列中一级(Level 1,L1) CPU高速缓存实现的相关信息,并介绍了高速缓存系统的相关风险。此外还提供了解决这些风险的方法。对于高级用户,还针对MP
    发表于 03-26 10:39 2次下载

    PIC32MZ器件系列中使用L1CPU高速缓存实现的风险和解决方法

    本文档提供了PIC32MZ 器件系列中一级(Level 1, L1)CPU高速缓存实现的相关信息,并介绍了高速缓存系统的相关风险。此外还提供了解决这些风险的方法。
    发表于 06-15 11:26 9次下载
    PIC32MZ器件系列中使用L1<b class='flag-5'>CPU</b><b class='flag-5'>高速缓存</b>实现的风险和解决方法

    谈一谈CPU缓存缓存一致性

    左图为最简单的高速缓存的配置,数据的读取和存储都经过高速缓存CPU核心与高速缓存有一条特殊的快速通道;主存与高速缓存都连在系统总线上(BU
    的头像 发表于 05-03 17:51 1967次阅读
    谈一谈<b class='flag-5'>CPU</b><b class='flag-5'>缓存</b>和<b class='flag-5'>缓存</b>一致性

    管理基于Cortex®-M7的MCU的高速缓存一致性

    本文档概述了不同场景下的高速缓存一致性问题,并就如何管理或避免高速缓存一致性问题提供了一些方法建议。
    发表于 04-01 10:12 5次下载
    管理基于Cortex®-M7的MCU的<b class='flag-5'>高速缓存</b>一致性

    在PIC32MZ器件上使用L1高速缓存

    本文档提供了PIC32MZ 器件系列中一级(Level 1, L1)CPU高速缓存实现的相关信息,并介绍了高速缓存系统的相关风险。此外还提供了解决这些风险的方法。
    发表于 04-02 09:14 6次下载
    在PIC32MZ器件上使用L1<b class='flag-5'>高速缓存</b>

    使用STM32高速缓存优化性能和能效

    使用STM32高速缓存优化性能和能效
    发表于 11-21 17:07 0次下载
    使用STM32<b class='flag-5'>高速缓存</b>优化性能和能效