缓存仿真

Simulation of cache

本文关键字:仿真 缓存      更新时间:2023-10-16

我必须编写模拟缓存的代码

我的要求是

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

ld r1,r2加载Reg的值。R2 into r1

add r3,r1,#4

用r10 移动r3的内容

mulr7,r3,r8,r3和r8的内容相乘,并将结果存储在r7

shl r9左移寄存器r9

bnez r5,如果r5不等于零,循环分支循环

像上面的指令一样,

测试缓存的体系结构。应该选择指令来突出缓存架构的特性。

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

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

我正在考虑在c++或Matlab中做这个

谁能告诉我怎么开始?我该怎么计划呢?由于

你看起来像这样吗,

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

该部位有多种刺激。请完全浏览链接。

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

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

RAM::read()函数延迟2秒返回值为例。

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

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

对于更准确的时间比率,在网上搜索"一级缓存访问时间"answers"SRAM访问时间"。