SylixOS嵌入式操作系统|论坛
标题: 硬件仿真器的多核加速 [打印本页]
作者: tianna1121 时间: 2023-1-8 15:38
标题: 硬件仿真器的多核加速
多核系统加速是指利用多核平台及并行计算来模拟目标平台的技术与方法,从而达到高效模拟目标平台的目的。多核系统加速模块通过对不同硬件单元的模拟进行拆分,每一个硬件单元都在一个单独的处理器上进行模拟,从而总体上形成一个高效的并行的仿真器。多核系统加速模块包含原子指令模拟模块、多核平台通信机制模拟模块、多核调度模块。
(1)原子指令模拟模块
原子指令模拟模块的作用是模拟原子指令的执行。由于原子指令在执行过程中,仅仅涉及一个存储单元状态的转换,因此需要使用轻量级的内存事务机制来完成原子指令的模拟。
原子指令模拟的根本思想在于将原子指令的内部操作看作一个事务,在原子指令尝试将计算结果写入内存时,将当期内存数值与事务开始时的原始数值进行比较如果相等则可以认为内存没有被修改过,事务可以成功提交,如果事务当前的数值和事务开始的数值不同则说明在事务执行的过程中内存中的数值被修改过,因此事务不能成功提交需要重新执行。原子指令模拟的流程图如所示。
file:///C:/Users/thinkpad/AppData/Local/Temp/ksohtml11576/wps1.png
图 原子指令模拟的流程图
(2)多核平台通信机制模拟模块
多核平台通信机制模拟模块的作用是模拟多核平台的异步通信机制,其中包括I/O中断通信和核间中断机制的模拟。多核平台通信机制模拟模块把I/O中断通信、核间中断机制统一封装,对外提供标准化接口。多核平台通信机制模拟模块的框架图如所示。
file:///C:/Users/thinkpad/AppData/Local/Temp/ksohtml11576/wps2.png
图 多核平台通信机制模拟模块的框架图
(3)多核调度模块
多核调度模块的作用是在宿主机调度的基础之上,再实现仿真器的调度机制。由于仿真器中的每一个虚拟处理器都是以一个线程的形式模拟运行。因此,当在模拟一个核数众多的多核平台时,大量的线程对物理资源的共享就需要一个高效的调度机制来保证整个仿真器高效正确的运行。
由于仿真器是普通的用户态程序,因此宿主操作系统的调度管理器会保证仿真器的各个线程有序的运行。但是,由于其不能准确的了解仿真器模拟的实时实时操作系统的全部语义,因此仅仅使用宿主电脑上的调度机制是不够的,需要更高效的调度机制。而多核调度模块满足了高效调度机制的需求。
欢迎光临 SylixOS嵌入式操作系统|论坛 (https://bbs.sylixos.com/) |
Powered by Discuz! X3.2 |