如何使用qemu为CPU建模?

Met*_*est 6 c multicore x86-64 qemu

我需要在multicoe x86-64处理器上添加一些硬件,并使用仿真对其进行测试,因此我考虑使用QEMU。但是我想知道在qemu中对CPU建模的一般想法。关于此的任何好的文档都将是很棒的。如果做起来太困难,我可能会考虑只使用PIN工具进行简单的模拟。

另外,是否可以使用QEMU对非常规硬件进行建模,例如处理器不同内核之间的某些共享寄存器?当前实现的模型是否正确模拟了诸如缓存访问之类的事情?qemu模拟器是否精确地测量了经过时间以进行模拟?

sts*_*uad 3

这里有很多问题。当您说“添加一些硬件”时,您的意思是什么?协处理器或一些额外的外设?

QEMU 是一个通用翻译器,其前端可将各种体系结构转换为其通用的 TCG 操作格式,然后为各种主机体系结构生成代码。它被设计为快速且语义准确(即指令的行为应与真实硬件上的行为相同)。然而,它并不是为了模拟微架构而设计的,因此缓存建模之类的事情超出了它的范围。虽然 -icount 模式在转换期间提供了确定性时间,但它与真实处理器执行指令所花费的时间没有任何关系。

如果您想对小型功能内核进行建模和实验,那么 PIN 可能是一个更好的工具。