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)等。置换逻辑电路就是执行这个功能的。另外,当执行写主存储器操作时,为保持主存储器和高速存储器内容的一致性,对命中和失效分别进行处理。

审核编辑:符乾江

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

    关注

    5033

    文章

    18710

    浏览量

    296715
  • 高速缓存
    +关注

    关注

    0

    文章

    29

    浏览量

    11032
  • 体系结构
    +关注

    关注

    0

    文章

    28

    浏览量

    9589
收藏 人收藏

    评论

    相关推荐

    半导体存储器的基本结构和特点

    半导体 存储器,又称为半导体内存,是一种基于半导体技术制造的电子器件,用于读取和 存储数字信息。这种 存储器在现代计算机和其他电子设备中扮演着至关重要的角色,是数据 存储和处理的核心部件之一。
    的头像 发表于08-10 16:40 591次阅读

    如何为T2G的CM7高速缓存启用ECC?

    如何为 T2G 的 CM7 高速缓存启用 ECC。
    发表于07-02 07:57

    使用.cmm闪存初始SW借助Trace32 SW脚本,数据无法从高速缓存内存读取特定扇区的数据,为什么?

    。 对于某个扇区,我们无法从 高速缓存地址读取数据。 但通过非 缓存地址,我们可以从同一地址读取数据,而且在复位(任何复位)后,我们可以同时从两个地址( 缓存地址和非 缓存地址)读取数据。 例
    发表于06-03 08:20

    存储器的工作原理及基本结构

    在计算机 系统中, 存储器是不可或缺的组成部分,负责 存储程序和数据以供处理器使用。随着计算机技术的不断发展, 存储器的种类和性能也在不断提升。本文将详细探讨
    的头像 发表于05-12 17:05 990次阅读

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

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

    浅谈存储器层次结构

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

    简述存储器层次结构及其分层原因

    存储器层次 结构是计算机 系统存储器层次化组织,分为多个
    发表于02-05 09:46 1415次阅读

    一文了解CPU高速缓存

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

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

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

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

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

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

    德赢Vwin官网 网站提供《利用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在运行时使用高速缓存维护操作处理高速缓存一致性问题

    德赢Vwin官网 网站提供《使用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 4612次阅读
    <b class='flag-5'>存储器</b>的分类有哪些 常用的<b class='flag-5'>存储器</b>有哪些

    存储器的工作原理、分类及结构

    存储器是计算机中的重要组成部分,用于 存储程序、数据和控制信息等。根据 存储信息的介质和访问方式的不同, 存储器可以分为随机 存储器(RAM)、只读
    发表于09-09 16:18 4341次阅读

    高速缓存Cache介绍

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