1

我们计划使用 gem5 模拟谷歌的张量处理单元(TPU)。我们不确定在 gem5 上从哪里开始。我们已按照学习文件夹中的所有教程进行操作。首先,我们要实现矩阵乘法器。我们怎么能做到这一点?

4

1 回答 1

1

如果我理解正确,您想在 gem5 中添加一个新设备,它可以进行矩阵乘法。

我还没有看到任何关于将设备添加到 gem5 的好的教程。等我学会了,我会写一个。

因此,最好的办法是查看现有的 gem5 源代码,在 下查看src/dev,并尝试找到与您的设备最相似的设备。

device / gem5 接口应该不会太难:你基本上只需要了解如何执行以下操作:

  • 寄存器
  • 中断
  • DMA

然后,我建议您使用以下方法测试这些内容:

  • 裸机程序。这是一个可能的设置。这些将允许您跳过启动,这是一个巨大的胜利。
  • 一个 Linux 内核模块,用于实际运行内容,当您感觉快要完成时

也许你可以从这个相关的 QEMU 答案中得到一些启发:How to add a new device in QEMU source code?

于 2018-10-29T07:56:30.957 回答