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