我正在阅读一些在线资料,试图了解如何分析各种算法的缓存未命中数。下图显示了使用“平铺乘法”技术时矩阵乘法的分析。
在上一张幻灯片中,他们说“ L是 每条缓存行的系数”。
有人可以帮助我了解他们提出这些数字的地方吗?具体来说,我想从这张幻灯片中了解的是:
1)当他们说“ L是每个高速缓存行的系数数”时,是否仅表示适合高速缓存行的条目数?
2)说“假设所有图块都是B阶的正方形,并且三个都适合缓存”,然后说“在缓存中加载三个块的成本为3B ^ 2 / L”。如果说“成本”,是操作数还是高速缓存未命中数?我假设这是因为它被L除以高速缓存未命中的次数,但是由于他们说“三个[tiles] in cache”,所以高速缓存未命中的次数不是3B ^ 2而是3B ^ 2 / L因为所有3B ^ 2条目都适合缓存行?
3)当他们说“ ... for 3B ^ 2 4)“ O(n ^ 3 /((sqrt(Z)* L)))”。他们从哪来的? 5)“如果B选择得当”:这是什么意思? 如果您能对这些问题中的任何一个给我一些见识,我将不胜感激。 谢谢!