缓存仿真
Simulation of cache
我必须编写模拟缓存的代码
我的要求是
- 它应该显示通过缓存运行大约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不等于零,循环分支循环
像上面的指令一样,测试缓存的体系结构。应该选择指令来突出缓存架构的特性。
结果应该包括与实现各种优化相比,在没有缓存的情况下运行指令的执行速度。
实现缓存优化,如设置关联缓存和多级缓存
我正在考虑在c++或Matlab中做这个
谁能告诉我怎么开始?我该怎么计划呢?由于
你看起来像这样吗,
http://www.ecs.umass.edu/ece/koren/architecture/该部位有多种刺激。请完全浏览链接。
http://www.ecs.umass.edu/ece/koren/architecture/Cache/default.htm我建议您有两种类型的内存模拟器类:RAM
和Cache
。每个都应该有一个read
函数。read
函数在返回值之前应该有不同的延迟。
以RAM::read()
函数延迟2秒返回值为例。
同样,Cache::read()
read函数在返回值之前会延迟1秒。
对于使用Cache的模拟架构,在Cache中搜索数据。如果数据不存在于缓存中,则从RAM中读取。
对于更准确的时间比率,在网上搜索"一级缓存访问时间"answers"SRAM访问时间"。
相关文章:
- cmake更新缓存的变量
- 试图对缓存进行跨步测试,但程序并没有结束
- 缓存std::数组的选定元素,并在c++中自动保持其一致性
- 通过ccmake在cmake中缓存依赖选项
- 有没有办法实现 fmu 导出到基于 c++ 的仿真软件以使用 fmi?
- 使用宏扩展的泛型:为什么指令缓存使用不当?
- 如何使缓存线程安全
- 存储指令是否会阻止缓存未命中的后续指令?
- 缓存局部性与函数调用
- Qt 网页程序集缓存
- 多线程减慢程序速度:无错误共享,无互斥锁,无缓存未命中,无小工作量
- std::shared_ptr vs std::make_shared:意外的缓存未命中和分支预测
- 多个 rocksdb 实例:使用单个共享缓存还是多个独立缓存?
- 无法链接 LRU 缓存C++
- 空函数的参数是否加载到缓存中?
- 是否可以检查变量是否位于 L1/L2/L3 缓存中
- dynamic_cast每次调用是否比具有空检查的缓存变量更昂贵?
- C++:如何在从给定缓存中排除数字的同时生成随机数
- 如何对0,1,..中的k个随机数进行采样..,n-1,而不缓存到数组
- 缓存仿真