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

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

3天内不再提示

系统存储器层次结构——高速缓存详解

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-06-18 20:47 次阅读
pYYBAGKtx-yAGbVQAADtL6XOuYI650.png

存储系统的层次化结构可以分为5级:寄存器组、高速缓存Cache、主存、虚拟存储器和外部存储器。其中,寄存器组总是在CPU内部,程序员可通过寄存器名访问,无总线操作,访问速度最快;其余4级均在CPU外部,Cache和主存构成内存储系统,程序员通过总线寻址访问存储单元,访问速度较寄存器差;虚拟存储器对程序员而言是透明的 ;外部存储系统容量大,需通过I/O接口与CPU交换数据,访问速度最慢。

高速缓冲存储器
高速缓冲存储器(Cache)的原始意义是指存取速度比一般随机存取存储器(RAM)更快的一种RAM,一般而言,它不像系统主存那样使用动态随机存储器(DRAM)技术,而是使用昂贵但较快速的静态随机存储器(SRAM)技术。
高速缓冲存储器是介于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量较小但速度比主存快得多,其最重要的指标是它的命中率。高速缓冲存储器与主存储器之间信息的调度和传送是由硬件自动进行的。
组成结构
高速缓冲存储器主要由以下三大部分组成:
Cache存储体:存放由主存调入的指令与数据。
地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
置换部件:在缓存已满时按一定策略进行数据替换,并修改地址转换部件中的目录表。
工作原理
高速缓冲存储器通常由高速存储器、联想存储器、置换逻辑电路和相应的控制线路组成。在有高速缓冲存储器的计算机系统中,处理器存取主存储器的地址划分为行号、列号和组内地址三个字段。于是,主存储器就在逻辑上划分为若干行:每行划分为若干的存储单元组;每组包含几个或几十个字。高速存储器也相应地划分为行和列的存储单元组。二者的列数相同,组的大小也相同,但高速存储器的行数却比主存储器的行数少得多。
联想存储器用于地址联想,有与高速存储器相同行数和列数的存储单元。当主存储器某一列某一行存储单元组调入高速存储器同一列某一空着的存储单元组时,与联想存储器对应位置的存储单元就记录调入的存储单元组在主存储器中的行号。
当处理器存取主存储器时,硬件首先自动对存取地址的列号字段进行译码,以便将联想存储器该列的全部行号与存取主存储器地址的行号字段进行比较。若有相同的,表明要存取的主存储器单元已在高速存储器中,称为命中,硬件就将存取主存储器的地址映射为高速存储器的地址并执行存取操作;若都不相同,则表明该单元不在高速存储器中,称为失效,硬件将执行存取主存储器操作并自动将该单元所在的那一主存储器单元组调入高速存储器相同列中空着的存储单元组中,同时将该组在主存储器中的行号存入联想存储器对应位置的单元内。
当出现失效而高速存储器对应列中没有空的位置时,便淘汰该列中的某一组以腾出位置存放新调入的组,这称为置换。确定替换的规则称为置换算法,常用的置换算法有最近最久未使用算法(LRU)、先进先出法(FIFO)和随机法(RAND)等。置换逻辑电路就是执行这个功能的。另外,当执行写主存储器操作时,为保持主存储器和高速存储器内容的一致性,对命中和失效分别进行处理。

审核编辑:符乾江

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

    关注

    4977

    文章

    18255

    浏览量

    287968
  • 高速缓存
    +关注

    关注

    0

    文章

    29

    浏览量

    10974
  • 体系结构
    +关注

    关注

    0

    文章

    28

    浏览量

    9565
收藏 人收藏

    评论

    相关推荐

    存储器层次结构如何解释?

    存储器层次结构可以从图片中清晰的看出来,图片中共分为六级,越向上的层次存储器速度越快,容量更小,造价越高。
    的头像 发表于 02-19 14:03 485次阅读
    <b class='flag-5'>存储器层次</b><b class='flag-5'>结构</b>如何解释?

    浅谈存储器层次结构

    通过多级存储器的设计,存储器层次结构能够在存储容量和访问速度之间找到一个平衡点。高速缓存存储器
    发表于 02-19 13:54 191次阅读
    浅谈<b class='flag-5'>存储器层次</b><b class='flag-5'>结构</b>

    一文了解CPU高速缓存

    CPU的核心功能包括数据运算和指令控制。CPU运算的数据和执行的指令全部存储在CPU的寄存器中,这些数据和指令又都来自于CPU高速缓存
    的头像 发表于 01-02 16:01 759次阅读
    一文了解CPU<b class='flag-5'>高速缓存</b>

    全面解析存储器层次结构原理

    靠近 CPU 的小、快速的高速缓存存储器(cache memory)做为一部分存储在相对慢速的主存储器(main memory)中数据和指令的缓冲区域。
    发表于 12-25 09:21 311次阅读
    全面解析<b class='flag-5'>存储器层次</b><b class='flag-5'>结构</b>原理

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

    电子发烧友网站提供《管理基于Cortex-M7的MCU的高速缓存一致性.pdf》资料免费下载
    发表于 09-25 10:11 0次下载
    管理基于Cortex-M7的MCU的<b class='flag-5'>高速缓存</b>一致性

    利用MPLAB Harmony v3在Cortex-M7(SAM S70/E70/V70/V71)MCU上创建不可高速缓存存储

    电子发烧友网站提供《利用MPLAB Harmony v3在Cortex-M7(SAM S70/E70/V70/V71)MCU上创建不可高速缓存存储区.pdf》资料免费下载
    发表于 09-20 11:50 0次下载
    利用MPLAB Harmony v3在Cortex-M7(SAM S70/E70/V70/V71)MCU上创建不可<b class='flag-5'>高速缓存</b>的<b class='flag-5'>存储</b>区

    利用MPLAB Harmony v3在Cortex-M7 MCU上在运行时使用高速缓存维护操作处理高速缓存一致性问题

    电子发烧友网站提供《利用MPLAB Harmony v3在Cortex-M7 MCU上在运行时使用高速缓存维护操作处理高速缓存一致性问题.pdf》资料免费下载
    发表于 09-20 11:40 0次下载
    利用MPLAB Harmony v3在Cortex-M7 MCU上在运行时使用<b class='flag-5'>高速缓存</b>维护操作处理<b class='flag-5'>高速缓存</b>一致性问题

    使用MPLAB Harmony v3基于PIC32MZ MCU在运行时使用高速缓存维护操作处理高速缓存一致性问题

    电子发烧友网站提供《使用MPLAB Harmony v3基于PIC32MZ MCU在运行时使用高速缓存维护操作处理高速缓存一致性问题.pdf》资料免费下载
    发表于 09-19 16:28 0次下载
    使用MPLAB Harmony v3基于PIC32MZ MCU在运行时使用<b class='flag-5'>高速缓存</b>维护操作处理<b class='flag-5'>高速缓存</b>一致性问题

    存储器的分类有哪些 常用的存储器有哪些

    典型的SoC存储体系包括处理器内部的寄存器、高速缓存(Cache)、片内ROM、片外主存。其中,内部寄存器通常由十几个到几十个构成,用于缓存程序运行时频繁使用的数据(局部变量、函数参数等)。
    发表于 09-19 09:30 1829次阅读
    <b class='flag-5'>存储器</b>的分类有哪些 常用的<b class='flag-5'>存储器</b>有哪些

    高速缓存Cache介绍

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

    ARM946E-S (Rev1)系统单片DSP增强处理产品概述

    ARM946E-S™ 是一个可合成的宏小区,结合了ARM9E-S™ 加工机具有指令和数据缓存、紧密耦合的指令和数据SRAM的核心带有保护单元、写缓冲区和AMBA的存储器™ (高级微处理总线体系
    发表于 08-08 07:33

    ARM946E-S (Rev0) 片上系统DSP增强处理产品概述

    ARM946E-S™ 是一个可合成的宏小区,结合了ARM9E-S™ 带指令和数据高速缓存的处理核心、带保护单元的紧密耦合指令和数据SRAM存储器、写缓冲区和AMBA™ (高级微处理
    发表于 08-02 17:50

    L220高速缓存控制技术参考手册

    : •用于增强操作系统安全性的TrustZone架构•专为高性能系统设计的主、从和外围AXI/AMBA接口•智能能源管理(IEM)支持。 高速缓存控制
    发表于 08-02 15:09

    ARM 720T处理技术参考手册

    ARM720T是一款通用的32位微处理,具有8KB的高速缓存、扩大的写入缓冲区和内存管理单元(MMU),组合在一个芯片中。ARM720T中的CPU是ARM7TDMI。ARM720T是与ARM处理
    发表于 08-02 11:36

    STM32F7技术--高速缓存

    电子发烧友网站提供《STM32F7技术--高速缓存.pdf》资料免费下载
    发表于 08-01 15:18 0次下载
    STM32F7技术--<b class='flag-5'>高速缓存</b>