Caching 为什么我们可以这样解释延迟与阵列大小的关系图?

Caching 为什么我们可以这样解释延迟与阵列大小的关系图?,caching,gpu,Caching,Gpu,我在谷歌上搜索,偶然发现了一个图形处理单元缓存中的各种数据。这篇论文有一个读取延迟与数组大小的关系图,看起来像一个阶跃函数 显然,从这个图中,我们可以看出缓存大小是2048B(步骤开始的位置),行大小是单个步骤的宽度,“路径大小”(不管是什么)是整个步骤部分的宽度(2560B-2048B) 这真的很简洁,可以方便地确定缓存的结构,我不相信通常是为GPU记录的。然而,我想知道这些解释从何而来。它们背后的理由/逻辑是什么?如果您将超过2048B的数据放入缓存并尝试检索数据,则会导致缓存未命中,这将

我在谷歌上搜索,偶然发现了一个图形处理单元缓存中的各种数据。这篇论文有一个读取延迟与数组大小的关系图,看起来像一个阶跃函数

显然,从这个图中,我们可以看出缓存大小是2048B(步骤开始的位置),行大小是单个步骤的宽度,“路径大小”(不管是什么)是整个步骤部分的宽度(2560B-2048B)


这真的很简洁,可以方便地确定缓存的结构,我不相信通常是为GPU记录的。然而,我想知道这些解释从何而来。它们背后的理由/逻辑是什么?

如果您将超过2048B的数据放入缓存并尝试检索数据,则会导致缓存未命中,这将增加延迟。进一步增加缓存未命中率,从而增加延迟。集合关联方案通过将缓存SRAM划分为称为缓存方式的相等部分(通常为2或4个部分)来工作。缓存页大小等于缓存路径的大小。每个缓存方式都被视为一个小的直接映射缓存。如果我们将超过缓存大小的内容放入缓存,那么为什么2048B以外的内容与缓存相关?例如,如果步长超出缓存的大小(因此不再与缓存相关),我们如何知道步长的宽度是缓存线的大小?好的,除非超出缓存的大小,否则根本不会得到步长,因为不会得到缓存未命中。