如何找到与数组的缓存的关联集大小?

已知变量为:每个大小为8KB,16KB,32KB和64KB的数组的未命中和步幅的平均数。我们能够通过PAPI获得这些值。通过查看每个数组的步幅和平均未命中率的图表,我们设法发现缓存大小为32KB,缓存块大小为64B。

迭代数组的C代码:

for(array_size=ARRAY_MIN; array_size < ARRAY_MAX; array_size=array_size*2)
    for(stride=1; stride <= array_size/2; stride=stride*2){
        limit = array_size - stride + 1;
        for(repeat=0; repeat<=200*stride; repeat++)
            for(index=0; index<limit; index+=stride)
                x[index] = x[index] + 1;
    }
chenelaine 回答:如何找到与数组的缓存的关联集大小?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3152486.html

大家都在问