假设系统有一个 32 条目的 TLB,页面大小为 8KB。为了在几乎每次访问数组“数据”时实现 TLB 未命中,应该将 MAX 和 stride 设置为什么?
int value=0;
int data[MAX];
for (int j;j <1000; j++)
{
for (int i =0, i<MAX; i+=stride)
{
value=value+data[i];
}
}
这是一个练习期末考试,有答案,但我不明白。最终答案是:stride=2k MAX=33*stride
非常感谢任何能帮助我弄清楚如何在此类问题中找到 TLB 未命中数的完整答案。