ICS cache lab总结

ICS cache lab总结


这个lab分为两部分:
  part A模拟实现一个cache,替换策略为LRU,大概200-300行左右,支持命令行输入。
  part B实现三个矩阵转置,对miss数目由要求。满分要求为

M N miss
32 32 300
64 64 1300
67 61 2000

part A

个人觉得有几个注意点:
1.题目没有规定cache的大小,所以要用指针动态分配内存C语言没有new和delete,所以要自己malloc和free分配释放内存。
2.注意要实现最近使用策略,我是使用一个全局变量记录“时间”来实现的。
3.注意地址可能超过int范围,要开long long记录地址!

part B

直接映射缓存,经计算发现容量为32 blocks,block size=8 elements。
大致思路是看看数据在cacha分布,减少冲突地分块,再用8个临时变量利用cache特性减少miss地批量读。

32×32

cache存下8行,所以分割为8*8的矩阵块。那么8 *8矩阵块在cache里面恰好没有冲突。miss最小。

64×64

首先本题没有32 *32那么显然,

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值