土木在线论坛 \ 电气工程 \ 电气工程原创版块 \ 高速缓存存储器是如何工作的?

高速缓存存储器是如何工作的?

发布于:2022-12-16 14:04:16 来自:电气工程/电气工程原创版块 [复制转发]

知识点:缓存器

cpu 通过内存地址 A 来访问高速缓存,地址A可分为:[标记位 t] – [索引位 s] – [偏移位 b]。

因此,高速缓存由 S=2^s 个组组成,每个组包括 E  个高速缓存行,每一行又包含了:1个有效位,t个标记位,B=2^b 个字节的数据。

一般而言,高速缓存结构表示为(S, E, B, m)(m 是访问地址的位数)。缓存的大小则表示为 C=S*E*B。

那么,要如何命中缓存呢?

给定地址A,根据索引位,匹配到组,根据标记位,匹配到行,根据偏移位来确定字节。

假设,当前存储器空的,CPU 开始访问地址A,首先通过索引位匹配到组,然后通过标记位匹配到行,因为缓存还是空的,因此,缓存不命中,开始向下一级缓存读取数据。

将取回的数据和地址的标记位一起方式缓存行中,同时,有效位标记为1,缓存成功。

CPU 第二次用同样地址A访问,通过索引位匹配,标记位匹配,有效位检验,缓存命中,通过偏移位成都读取字节数据。

随着CPU的运行,高速缓存空间逐渐被占满,直到访问地址B,通过索引位匹配到组b,在通过标记位匹配,因为组b中有多个缓存行,且每行都有缓存过的标记位(被占满),但通过遍历标记位也没有与地址B中的标记位匹配上。

这时,只能通过一定的规则,比如随机,来删除之前的缓存行,来缓存下一级缓存返回的新数据。

缓存中数据随着程序的运行,被逐渐填满,然后通过一定的策略来更新数据。

这也再次说明,在缓存空间有限的情况下,局部性好的程序能得到更快的运行。

软硬件在局部性原理的指导下相互影响,相互强化。


相关推荐链接:

1、异步电机软运行机理探究

2、同步发电机运行技术与实践


全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

电气工程原创版块

返回版块

2.19 万条内容 · 555 人订阅

猜你喜欢

阅读下一篇

中间介质式气化器

知识点:气化器  随着国内外液化天然气 (LNG)产业 的快速发展 ,气化器是 LNG接收站的关键设备之一 ,目前全球 LNG接收站主要采用三种类型的气化器:开架式气化器(简称 ORV);浸没燃烧式气化器(简称 SCV);中间介质气化器 (简称 IFV)。小型LNG卫星型接收终端和气化站普遍使用空浴式气化器和水浴式气化器。   接收站气化器的选用要根据工艺要求和各种形式气化器的特点合理配置。按照区域稳定供气的要求,接收站气化设备既要保证常年正常供气,又要满足 调峰供气的要求。

回帖成功

经验值 +10