论文部分内容阅读
随着SoC设计的日益复杂,传统的虚拟平台的性能已经无法满足开发者的需求。业界都在寻找提高虚拟平台的性能的有效办法。随着虚拟化技术的发展,以QEMU为代表的高性能模拟器被开发出来,给提高虚拟平台性能提供了新的途径。但是模拟器相对传统虚拟平台有一定缺陷:模拟器难以精确描述模块的时序关系。为了在保证传统虚拟平台的优势情况下并提高性能,本文提出了一种将传统虚拟平台仿真核心和模拟器仿真核心集成的方法,设计了新的仿真核心并以此搭建了全系统虚拟平台HVP(Hybrid Virtual Platform)。本文以成熟的QEMU模拟器和SoCRocket虚拟平台为基础,进行了二者仿真核心的集成,从而搭建了新的HVP选系统虚拟平台。在设计过程中,首先确定了QEMU嵌入SystemC仿真核心的总体架构。根据总体架构将需要完成的工作划分为三个主要模块和四个必要的运行机制。并且利用P线程技术完成了QEMU和SystemC仿真核心多个线程的划分。其次为了QEMU和SystemC两个仿真核心可以正常的同步和通信,HVP平台使用了基于量子的时间同步策略,以时间量子为单位进行时间同步。根据TLM2.0 Sokcet原理,为QEMU和SystemC两个仿真核心设计了用来传输事务的Socket和传输函数。并设计了一个线程安全的事件,保证了事务传输的线程安全。在完成仿真核心集成后,通过DMI接口和QEMU内存建模方法重新设计了指令执行机制,并根据SystemC仿真核心的启动阶段设计了新的启动机制,保证了QEMU和SystemC两个仿真核心可以协同启动并运行。最后对HVP平台进行了相关的测试和验证,包括基准测试程序验证、性能测试、IO访问测试和IO中断测试等。展示了新的仿真核心性能上的优越性。并证明了HVP平台的IO访问和IO中断可以正确有效的执行。