我必须编写缓存的模拟
我的要求是
例如
ld r1,r2加载Reg的值。 r2进入r1
添加r3,r1,#4将r1的内容添加到4
mov r10,r3用r10移动r3的内容
mul r7,r3,r8乘以r3和r8的内容并将结果存储在r7中
shl r9离开了寄存器r9的内容
bnez r5,如果r5不等于零,则循环分支循环
像上面的指令一样测试缓存的体系结构。应选择说明以突出缓存架构的功能。与实现各种优化相比,结果应该包括在没有缓存的情况下运行指令的执行速度。
实现缓存优化,例如设置关联缓存和多级缓存。
我想在C ++或Matlab中这样做
有人可以告诉我如何开始吗?我该如何计划呢?感谢
答案 0 :(得分:0)
你看起来像这样。,
http://www.ecs.umass.edu/ece/koren/architecture/
这个网站有各种各样的刺激。只需浏览完全链接..,
http://www.ecs.umass.edu/ece/koren/architecture/Cache/default.htm
答案 1 :(得分:0)
我建议你有两种类型的内存模拟器类:RAM
和Cache
。每个都应该有一个read
函数。 read
函数在返回值之前应该有不同的延迟。
例如,在返回值之前使RAM::read()
函数延迟2秒。
同样,Cache::read()
读取函数会在返回值之前延迟1秒。
对于使用Cache的模拟体系结构,请在缓存中搜索数据。如果Cache中不存在数据,请从RAM中读取。
要获得更准确的时间比率,请在Web上搜索“1级缓存访问时间”和“SRAM访问时间”。