如何使用qemu对CPU进行建模?

问题描述 投票:6回答:1

我需要给一个多核x86-64处理器添加一些硬件,并使用仿真测试,所以我想使用qemu。但我想知道在qemu中对CPU建模的一般思路。如果有什么好的这方面的文档就太好了。如果太难做,我可能会考虑只用PIN工具进行简单化的仿真。

另外,是否可以用qemu来模拟非常规的硬件,比如处理器的不同内核之间的一些共享寄存器?而目前实现的模型是否能正确模拟缓存访问等情况?qemu模拟器是否能精确测量仿真的经过时间?

c x86-64 multicore qemu
1个回答
2
投票

这里有很多问题。当你说 "添加一些硬件 "是什么意思?一个协处理器还是一些额外的外设?

qemu是一个通用的翻译器,它的前端可以将各种架构翻译成它的通用TCG op格式,然后可以生成各种主机架构的代码。它的设计是快速和语义准确的(即指令的行为应该和真实硬件上的一样)。然而,它并不是为了模拟微架构而设计的,所以像缓存建模这样的事情不在它的范围之内。虽然-icount模式提供了翻译过程中的确定性时间,但它与真实处理器执行一条指令所需的时间没有任何关系。

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

© www.soinside.com 2019 - 2024. All rights reserved.