cache miss基础问题

lucyzhang9410 2017-10-12 02:07:33
本人电脑小白,这道题是电脑基础课的题目,请教各位

假设以下情况:一个矩阵M有n行n列,M[I,j]表示第i行的第j个元素,0<=i,j<n (index是从0开始)。每个元素是64-bit的整数。M以行优先次序(row-major order)被存储在主存储器(main memory)中,行0全部以n个连续字存储(all of row 0 is stored in n consecutive words),然后是行1,然后行2,等等。L1数据缓存(L1 data cache)总共大小是16KB,分成64B大小的块(block)。为了简单起见,没有L2或L3缓存。高速缓存未命中(cache miss)从主存储器中提取。假设M与块边界对齐,也就是M [0,0]是块中的第一个字。任务是计算矩阵的零个元素的数量,我们可以通过两种不同的访问模式来实现:row-first,首先按顺序读取所有行0,再读取所有行1等等;column-first,先按顺序读取所有列0(从行0到行n-1),再读取所有列1等等。
假设缓存最初为空,计算以下每种情况下的高速缓存未命中数(the number of cache misses)。
n=16, row-first
n=16, column-first
n=256, row-first
n=256, column-first
n=1024, row-first
n=1024, column-first
...全文
815 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧