一种模拟多核处理器的方法及装置、电子设备和存储介质制造方法及图纸

技术编号:37492983 阅读:21 留言:0更新日期:2023-05-07 09:31
本公开涉及计算机技术领域,尤其涉及一种模拟多核处理器的方法及装置、电子设备和存储介质,所述方法包括:确定本虚拟核的待执行指令是否属于交互指令;所述交互指令为在被执行时,所述本虚拟核需与本虚拟核外部进行交互的指令;在所述待执行指令不属于交互指令的情况下,以并行执行模式,执行所述待执行指令;在所述待执行指令属于交互指令的情况下,确定本虚拟核的工作模式为串行执行模式;在本虚拟核的对外时间节点与总控时间节点一致的情况下,执行所述待执行指令,并在执行完成后,更新本虚拟核的对外时间节点,所述总控时间节点用于控制所述虚拟处理器的总体任务执行进度。本公开实施例可提高指令执行速度,提高多核处理器的模拟速度。模拟速度。模拟速度。

【技术实现步骤摘要】
一种模拟多核处理器的方法及装置、电子设备和存储介质


[0001]本公开涉及计算机
,尤其涉及一种模拟多核处理器的方法及装置、虚拟处理器、电子设备和存储介质。

技术介绍

[0002]在现代处理器的流片前验证(Pre

silicon)阶段,往往需要根据处理器架构进行建模,例如搭建能够模拟片上系统(System on Chip,Soc)的虚拟平台,以便让软件栈的开发工作可以更早地展开,验证芯片的功能、性能、功耗是否满足设计目标,为流片做准备。
[0003]目前业界常用的芯片建模语言为纯C++或者SystemC。模拟过程是通过软件模拟硬件的行为,而相关技术中的模拟速度较慢,如何提高软件模拟硬件的模拟速度是亟待解决的问题。

技术实现思路

[0004]本公开提出了一种模拟多核处理器的技术方案。
[0005]根据本公开的一方面,提供了一种模拟多核处理器的方法,应用于虚拟处理器中的任一虚拟核,包括:确定本虚拟核的待执行指令是否属于交互指令;所述交互指令为在被执行时,所述本虚拟核需与本虚拟核外部进行交互的指令;在所述待执行指令不属于交互指令的情况下,以并行执行模式,执行所述待执行指令;在所述待执行指令属于交互指令的情况下,确定本虚拟核的工作模式为串行执行模式;在本虚拟核的对外时间节点与总控时间节点一致的情况下,执行所述待执行指令,并在执行完成后,更新本虚拟核的对外时间节点,所述总控时间节点用于控制所述虚拟处理器的总体任务执行进度。
[0006]在一种可能的实现方式中,以并行执行模式,执行所述待执行指令,包括:在当前模式为串行执行模式的情况下,更新本虚拟核的内部时间,并进入并行执行模式,所述内部时间,用于记录本虚拟核执行指令后未更新到对外时间节点的时长。
[0007]在一种可能的实现方式中,在以并行执行模式,执行所述待执行指令后,所述方法还包括:将当前的内部时间与执行所述待执行指令所花费的执行时间相加,得到更新后的内部时间;在所述更新后的内部时间达到时间阈值的情况下,将所述更新后的内部时间与当前的对外时间节点相加,得到更新后的对外时间节点,并清零所述内部时间。
[0008]在一种可能的实现方式中,所述确定本虚拟核的工作模式为串行执行模式,包括:将本虚拟核的对外时间节点更新为本虚拟核当前执行进度的实际时间节点;暂停执行所述待执行指令,以等待本虚拟核的对外时间节点与总控时间节点一致。
[0009]在一种可能的实现方式中,所述方法还包括:在本虚拟核启动后,将计数值设定为第一数值,所述第一数值大于等于计数阈值;在确定所述待执行指令属于交互指令的情况下,将所述计数值归0,按照串行执行模式,执行所述待执行指令;在确定所述待执行指令不属于交互指令,且所述计数值小于计数阈值的情况下,在计数值上加1,按照串行执行模式,执行所述待执行指令;所述在所述待执行指令不属于交互指令的情况下,以并行执行模式,
执行所述待执行指令,包括:在确定所述待执行指令不属于交互指令,且所述计数值大于等于计数阈值的情况下,按照并行执行模式,执行所述待执行指令。
[0010]根据本公开的一方面,提供了一种模拟多核处理器的方法,应用于虚拟处理器中的控制核,包括:按照总控时间节点调度虚拟处理器中的虚拟核执行任务;确定各虚拟核的对外时间节点是否大于总控时间节点;在各虚拟核的对外时间节点大于总控时间节点的情况下,更新总控时间节点;在存在任一虚拟核的对外时间节点等于总控时间节点的情况下,暂停更新总控时间节点,以便对外时间节点等于总控时间节点的虚拟核,以串行执行模式执行属于交互指令的待执行指令,所述虚拟核在执行所述交互指令时会与本虚拟核外部进行交互,所述虚拟核在执行不属于交互指令的待执行指令时以并行执行模式执行。
[0011]在一种可能的实现方式中,所述方法还包括:在目标虚拟核被启动的情况下,创建所述目标虚拟核对应的计算机进程,并建立所述目标虚拟核与目标物理服务器核间的映射关系。
[0012]根据本公开的一方面,提供了一种虚拟处理器,包括控制核和多个虚拟核,其中:所述控制核,按照总控时间节点调度虚拟处理器中的虚拟核执行任务;确定各虚拟核的对外时间节点是否大于总控时间节点;在各虚拟核的对外时间节点大于总控时间节点的情况下,更新总控时间节点;在存在任一虚拟核的对外时间节点等于总控时间节点的情况下,暂停更新总控时间节点;所述多个虚拟核中的任一虚拟核,确定本虚拟核的待执行指令是否属于交互指令;所述交互指令为在被执行时,所述本虚拟核需与本虚拟核外部进行交互的指令;在所述待执行指令不属于交互指令的情况下,以并行执行模式,执行所述待执行指令;在所述待执行指令属于交互指令的情况下,确定本虚拟核的工作模式为串行执行模式;在本虚拟核的对外时间节点与总控时间节点一致的情况下,执行所述待执行指令,并在执行完成后,更新本虚拟核的对外时间节点,所述总控时间用于控制所述虚拟处理器的总体任务执行进度。
[0013]根据本公开的一方面,提供了一种模拟多核处理器的装置,应用于虚拟处理器中的任一虚拟核,包括:交互指令确定单元,用于确定本虚拟核的待执行指令是否属于交互指令;所述交互指令为在被执行时,所述本虚拟核需与本虚拟核外部进行交互的指令;并行执行单元,用于在所述待执行指令不属于交互指令的情况下,以并行执行模式,执行所述待执行指令;串行确定单元,用于在所述待执行指令属于交互指令的情况下,确定本虚拟核的工作模式为串行执行模式;串行执行单元,用于在本虚拟核的对外时间节点与总控时间节点一致的情况下,执行所述待执行指令,并在执行完成后,更新本虚拟核的对外时间节点,所述总控时间节点用于控制所述虚拟处理器的总体任务执行进度。
[0014]在一种可能的实现方式中,所述并行执行单元,用于在当前模式为串行执行模式的情况下,更新本虚拟核的内部时间,并进入并行执行模式,所述内部时间,用于记录本虚拟核执行指令后未更新到对外时间节点的时长。
[0015]在一种可能的实现方式中,所述装置还包括:内部时间更新单元,用于将当前的内部时间与执行所述待执行指令所花费的执行时间相加,得到更新后的内部时间;对外时间节点更新单元,用于在所述更新后的内部时间达到时间阈值的情况下,将所述更新后的内部时间与当前的对外时间节点相加,得到更新后的对外时间节点,并清零所述内部时间。
[0016]在一种可能的实现方式中,所述串行确定单元,用于将本虚拟核的对外时间节点
更新为本虚拟核当前执行进度的实际时间节点;暂停执行所述待执行指令,以等待本虚拟核的对外时间节点与总控时间节点一致。
[0017]在一种可能的实现方式中,所述装置还包括:初始计数单元,用于在本虚拟核启动后,将计数值设定为第一数值,所述第一数值大于等于计数阈值;归零单元,用于在确定所述待执行指令属于交互指令的情况下,将所述计数值归0,按照串行执行模式,执行所述待执行指令;指令执行单元,用于在确定所述待执行指令不属于交互指令,且所述计数值小于计数阈值的情况下,在计数值上加1,按照串行执行模式,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模拟多核处理器的方法,其特征在于,应用于虚拟处理器中的任一虚拟核,包括:确定本虚拟核的待执行指令是否属于交互指令;所述交互指令为在被执行时,所述本虚拟核需与本虚拟核外部进行交互的指令;在所述待执行指令不属于交互指令的情况下,以并行执行模式,执行所述待执行指令;在所述待执行指令属于交互指令的情况下,确定本虚拟核的工作模式为串行执行模式;在本虚拟核的对外时间节点与总控时间节点一致的情况下,执行所述待执行指令,并在执行完成后,更新本虚拟核的对外时间节点,所述总控时间节点用于控制所述虚拟处理器的总体任务执行进度。2.根据权利要求1所述的方法,其特征在于,以并行执行模式,执行所述待执行指令,包括:在当前模式为串行执行模式的情况下,更新本虚拟核的内部时间,并进入并行执行模式,所述内部时间,用于记录本虚拟核执行指令后未更新到对外时间节点的时长。3.根据权利要求2所述的方法,其特征在于,在以并行执行模式,执行所述待执行指令后,所述方法还包括:将当前的内部时间与执行所述待执行指令所花费的执行时间相加,得到更新后的内部时间;在所述更新后的内部时间达到时间阈值的情况下,将所述更新后的内部时间与当前的对外时间节点相加,得到更新后的对外时间节点,并清零所述内部时间。4.根据权利要求1所述的方法,其特征在于,所述确定本虚拟核的工作模式为串行执行模式,包括:将本虚拟核的对外时间节点更新为本虚拟核当前执行进度的实际时间节点;暂停执行所述待执行指令,以等待本虚拟核的对外时间节点与总控时间节点一致。5.根据权利要求1

4任一所述的方法,其特征在于,所述方法还包括:在本虚拟核启动后,将计数值设定为第一数值,所述第一数值大于等于计数阈值;在确定所述待执行指令属于交互指令的情况下,将所述计数值归0,按照串行执行模式,执行所述待执行指令;在确定所述待执行指令不属于交互指令,且所述计数值小于计数阈值的情况下,在计数值上加1,按照串行执行模式,执行所述待执行指令;所述在所述待执行指令不属于交互指令的情况下,以并行执行模式,执行所述待执行指令,包括:在确定所述待执行指令不属于交互指令,且所述计数值大于等于计数阈值的情况下,按照并行执行模式,执行所述待执行指令。6.一种模拟多核处理器的方法,其特征在于,应用于虚拟处理器中的控制核,包括:按照总控时间节点调度虚拟处理器中的虚拟核执行任务;确定各虚拟核的对外时间节点是否大于总控时间节点;在各虚拟核的对外时间节点大于总控时间节点的情况下,更新总控时间节点;在存在任一虚拟核的对外时间节点等于总控时间节点的情况下,暂停更新总控时间节点,以便对外时间节点等于总控时间节点的虚拟核,以串行执行模式执行属于交互指令的
待执行指令,所述虚拟核在执行所述交互指令时会与本虚拟核外部进行交互,所述虚拟核在执行不属于交互指令的待执行指令时以并行执行模式执行。7.根据权利要求6所述的方法,其...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1