高速缓存是一种小型的快速内存,仅占内存总内容的一小部分。其数学模型由其大小,集合数,关联性,块大小,子块大小,获取策略和写入策略定义。高速缓存层次结构中的任何节点都可以包含一个公共高速缓存或两个用于指令和/或数据的独立高速缓存。
- 一级缓存:
这是最接近CPU的缓存,称为L1缓存。如果此数据和指令的高速缓存中存在拆分,则将其称为L1I(针对指令)和L1D(针对数据)。 - 二级缓存:
全局查看CPU和主内存之间的缓存位置时,这也称为辅助缓存。 - 主记忆体
这是最后的内存级别。这是CPU查找数据的最后一个位置。 - 内存层次结构:
当CPU和主内存之间只有一个高速缓存时,很难将其称为多层高速缓存层次结构。要调用它,通常在CPU和主内存之间应该有两个缓存。靠近CPU的缓存称为上游和/或先前的缓存,而靠近主内存的缓存称为下游和/或后续缓存。 - 堵塞 :
带有地址标签的数据单元称为块。也称为线。这个标签告诉程序主存储器的哪一部分正在占用高速缓存。 - 放 :
这是一组块的集合,对其标签进行并行检查。如果只有一组,则高速缓存是关联的。通常情况是,连续的一组地址位会选择可以驻留在其中的存储块。 - 关联性:
一组中的块数称为缓存结构的关联度。如果数字为1,则为直接映射缓存。 - 子区块:
它是与有效位相关联的数据单位。它的大小小于等于块大小。 - 提取尺寸:
可以从下一个内存级别获取的最大内存量称为获取大小。它是子块大小的倍数,可以小于或大于块大小。 - 读 :
对缓存的读取请求是在给定地址呈现预定义长度的连续单词集合的请求。 CPU生成指令读取和加载引用,这两个指令均被读取。 - 写 :
它包含一个地址和预定义数量的子块以及一个掩码。 - 读小姐:
这是对未完全包含在高速缓存中的数据的读取请求。当适当集合中的所有标签都不匹配请求的高位地址位时,或者当您在匹配中的一个或多个请求的子块中匹配时,您可以看到在Reas中错过了高位位请求,就会发生未命中阻止无效。 - 本地(读取)未成年人比率:
高速缓存中的读取未命中数除以对该高速缓存的读取请求总数。 - 全球(读)未命中率:
该高速缓存的读取未命中数除以CPU生成的读取请求数。 - 独奏(读)未命中率:
当内存层次结构中唯一的缓存时,它在内存层次结构中的未命中率。 - (本地)读取流量比率:
这是从层次结构中的下一个级别获取的字数除以从缓存中获取的字数。全局流量比率是相同的分子除以CPU提取的字数。 - (本地)写流量比:
这是缓存写入的字数与上一级写入的字数之比。 - 提取策略:
基本选择是直写和回写,但是它们必须伴随着写缓冲(宽度和深度)的选择以及处理写未命中的策略。 - 更换策略:
最常见的选择是“随机”和“最近最少使用”(LRU)。对于直接映射的缓存,每组只有一个块,因此别无选择。