标签: gem5

如何运行 gem5 单元测试?

Gem5 在源代码树中有几个测试,并且有一些文档位于:http : //www.gem5.org/Regression_Tests但这些文档不是很清楚。

有哪些测试以及如何运行它们?

gem5

2
推荐指数
1
解决办法
1002
查看次数

x86 中哪些 MOV 指令未使用或最少使用,可用于自定义 MOV 扩展

我正在 gem5 模拟器中的 X86 架构中对自定义 MOV 指令进行建模,为了在模拟器上测试其实现,我需要使用内联汇编来编译 C 代码以创建二进制文件。但由于它是一条自定义指令,尚未在 GCC 编译器中实现,因此编译器会抛出错误。我知道一种方法是扩展 GCC 编译器以接受我的自定义 X86 指令,但我不想这样做,因为它更耗时(但稍后会这样做)。

作为临时黑客(只是为了检查我的实现是否值得)。我想编辑已经存在的 MOV 指令,同时更改模拟器中的底层“微操作”,以便欺骗 GCC 接受我的“自定义”指令并进行编译。

因为 x86 架构中有多种类型的 MOV 指令。因为它们是86架构参考中的各种MOV指令。

因此,我的问题是,哪条 MOV 指令使用最少,我可以编辑其底层微操作。假设我的工作负载仅包括整数,即很可能不会使用 xmm 和 mmx 寄存器,并且我的指令反映了 MOV 指令的相同实现。

x86 gcc machine-code inline-assembly gem5

2
推荐指数
1
解决办法
1044
查看次数

如何在 gem5-20 中使用 m5 将其与我自己的 C++ 程序链接?

在 gem5-20 中,我可以使用以下命令构建 m5 实用程序。

\n
scons build/<arch>/out/m5\n
Run Code Online (Sandbox Code Playgroud)\n

但实际上我不知道如何将 M5 链接到我的 C++ 代码。

\n

本文档最后提到了一些必要的操作,但我希望得到更具体的指导。\n http://www.gem5.org/documentation/general_docs/m5ops/ \n有人做过吗,请帮助我。\ n谢谢!\n祝愿!

\n

gem5

1
推荐指数
1
解决办法
1530
查看次数

L1-Dcache是​​终极数据缓存吗,DSB也是gem5可以模拟的缓存吗?

  1. 我想知道 L1-Dcache 是不是数据来自的终极缓存。因为我知道 i-cache,所以有一个更接近 CPU 的 DSB,可以看作是 L0-icache。

  2. 另外,我对哪些硬件更改会影响 DSB 的性能感兴趣?我的意思是缓存,有诸如缓存大小、缓存关联性之类的东西。但是,DSB 是否也只是会受这些因素影响的缓存?

  3. 如果是,我可以使用 gem5.dll 模拟结果吗?我知道使用 gem5,我可以配置 L1 指令缓存并观察 L1 指令缓存性能。如何在 gem 上为 DSB 做同样的事情?

cpu intel cpu-architecture cpu-cache gem5

0
推荐指数
1
解决办法
95
查看次数