模拟缓存

时间:2013-05-11 17:53:47

标签: c++ matlab caching simulation

我必须编写缓存的模拟

我的要求是

  1. 它应该显示通过缓存运行大约20条指令的结果。 (指令可以是任何通用的RISC格式)。
  2. 例如

    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不等于零,则循环分支循环

    像上面的指令一样测试缓存的体系结构。应选择说明以突出缓存架构的功能。

    1. 与实现各种优化相比,结果应该包括在没有缓存的情况下运行指令的执行速度。

    2. 实现缓存优化,例如设置关联缓存和多级缓存。

    3. 我想在C ++或Matlab中这样做

      有人可以告诉我如何开始吗?我该如何计划呢?感谢

2 个答案:

答案 0 :(得分:0)

你看起来像这样。,

http://www.ecs.umass.edu/ece/koren/architecture/

这个网站有各种各样的刺激。只需浏览完全链接..,

http://www.ecs.umass.edu/ece/koren/architecture/Cache/default.htm

答案 1 :(得分:0)

我建议你有两种类型的内存模拟器类:RAMCache。每个都应该有一个read函数。 read函数在返回值之前应该有不同的延迟。

例如,在返回值之前使RAM::read()函数延迟2秒。

同样,Cache::read()读取函数会在返回值之前延迟1秒。

对于使用Cache的模拟体系结构,请在缓存中搜索数据。如果Cache中不存在数据,请从RAM中读取。

要获得更准确的时间比率,请在Web上搜索“1级缓存访问时间”和“SRAM访问时间”。