0

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

我的要求是

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

例如

ld r1,r2 加载 Reg 的值。r2 到 r1

add r3,r1,#4 将 r1 的内容与 4 相加

mov r10,r3 用 r10 移动 r3 的内容

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

shl r9 将寄存器 r9 的内容左移

bnez r5,loop 如果 r5 不等于 0,则跳转到循环

像上面的指令测试缓存的架构。应选择指令以突出缓存体系结构的特征。

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

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

我正在考虑在 C++ 或 Matlab 中执行此操作

有人可以告诉我如何开始吗?我应该怎么做?谢谢

4

2 回答 2

0

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

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

同样,Cache::read()read 函数会延迟 1 秒后返回一个值。

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

如需更准确的时间比率,请在网上搜索“一级缓存访问时间”和“SRAM 访问时间”。

于 2013-05-11T18:45:06.613 回答
0

你看起来像这样吗?,

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

本站有各种刺激..只要完整浏览链接..,

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

于 2013-05-11T18:03:51.677 回答