这段时间在学习ARM fast model,参考五分钟打造ARM 64位最小系统 把系统搭建工作完成,整个系统编译正常。我申请的Fast Model证书是评估版本Cortex-A15 (ARM v7架构),目前想知道怎么在Fast Model上运行Android系统跑真实的应用场景,从而获取到CPU和CCI-400的相关性能数据。在论坛搜索了一番,没有看到相关的教程,软件文档中也没有搭建系统的说明,希望技术大虾可以指导一番,不甚感激!!!
另外我看到 Virtual Open System论坛上有这样的内容:KVM guide to boot Android host and guest on ARM FastModels ,我使用Fast Model是想获取到系统运行时硬件层面寄存器级别的数据,不知此技术是否合适?
Hi Codeboy,
Fast Models的设计初衷为软件开发而生,它确保功能性上的正确性,而没有详细的时间信息。所以对于你所要的性能数据,FastModels应该不是你所需要的模型,Cycle Models也许更适用。但通过MTI以及和SystemC环境的继承,Fast Models也确实能够做一定的性能评估,因为其趋势还是正确的。所以现在需要明确的知道你要什么样的数据?如果你已经申请了试用版,可以直接向support-esl@arm.com发邮件,那是我们专职的技术支持邮件,能够给你更详尽更迅捷的回复。
BR,
George
georgewang
Hi George,
非常感谢,我想做总线流量模型方面的研究。希望获取真实安卓应用场景(比如游戏、视频)下CCI-400上的transaction信息,从而进行流量建模。我的疑问主要在两方面:
1.软件model中我看到有CCI-400的结构,但是不清楚FastModel中CCI-400的结构和运行原理与真实的硬件板子差别在哪里?即我的这种研究是否具有意义。
2.通过trace-list可以获取到的CCI-400的哪些filed信息?
From Yang
Hi Yang,
CCI-400里是有trace的,使用ListTraceSource plugin可以列出有哪些field
根据Fast Model的文档
http://infocenter.arm.com/help/topic/com.arm.doc.dui0834i/Chunk1507895212.html
CCI-400是有局限性的
ACE limitation
AXI Coherency Extensions (ACE) are extensions to AXI4 that support system-level cache-coherency between multiple clusters. The ACE cache models in the Cortex®-A15 and the Cortex-A7, and the ACE support in the CCI-400 have a limitation: these functional models process only one transaction at a time. Normally, the simulation processes each transaction to completion before allowing any master to generate another transaction. However, there is a situation in which the simulation might fail. Suppose a SystemC bus slave calls wait() while it is processing a transaction. This call might allow another master to issue another transaction that passes through the CCI-400 or the Cortex-A15/Cortex-A7 caches. This situation could happen if a SystemC bus master running in another thread is connected to one of the ACE-lite ports on the CCI-400.
从流量来说,相对趋势应该还是正确的,绝对趋势是不准确的。所以根据你想要的最终研究结果,FastModels CCI模型可以作为你研究的一个依据。