一种多核系统的异常处理方法及装置制造方法及图纸

技术编号:28034575 阅读:21 留言:0更新日期:2021-04-09 23:16
本申请提供了一种多核系统的异常处理方法及装置,该方法包括:将多核系统配置为监控子系统和若干个处理子系统,监控子系统包括一驻留CPU,每个处理子系统包括至少一个CPU,且其中之一为主CPU,其他的为从CPU;当一所述处理子系统的任意一个CPU捕获到异常时,由该任意一个CPU将捕获的异常报告给所述监控子系统的驻留CPU,并通过该处理子系统的主CPU输出异常现场数据。本申请通过设计一种多层次的异常处理方案,对多核系统进行功能配置,在发生异常时,最大程度的保存异常现场数据。

【技术实现步骤摘要】
一种多核系统的异常处理方法及装置
本申请涉及嵌入式系统
,特别涉及一种多核系统的异常处理方法及装置。
技术介绍
现有的嵌入式系统往往是多核系统,该多核系统通常包括多个CPU,有些CPU还包括大小核,不同的CPU用不同的工艺,工作于不同的电源域、电压域和主频,使用不同的功耗模型,跑不同的场景。业界往往使用大小核系统来降低系统功耗,提高能耗比。而随着嵌入式系统中核数的增多,系统外设越来越多,系统功能越来越复杂,软件代码量越来越大。加之嵌入式系统的运行环境往往较为复杂,特别是在无线通信应用场景中,信号环境多变且易受到干扰,系统容易产生异常。针对此问题,通用的异常处理方式是将系统发生异常时的运行环境信息保存留待以后恢复现场并查找异常原因加以解决。保存的系统异常现场数据包括,软硬件版本信息、CPU寄存器、堆栈信息、异常和调用栈信息、当前任务/线程信息、重要的内存区数据等等。然而,这种异常处理方式往往会存在如下问题:在许多场景下,系统异常后的CPU已不能正常工作,并不能完整地保存上述恢复异常现场所需的重要数据;在CPU进入死循环或者跑飞的情况下,CPU再也无法对系统异常做任何处理,进而没有获得任何异常现场数据;在缺少异常现场数据的情况下,不能对系统异常做出正确的分析和修改,只能寄希望于下一次发生异常时获取更多的数据;发生异常后,由于系统CPU挂起,无法进行必要的重启恢复动作,影响接下来的系统工作。
技术实现思路
有鉴于此,本申请的主要目的在于提供一种多核系统的异常处理方法及装置,通过设计一种多层次的异常处理方案,对多核系统进行功能配置,在发生异常时,最大程度的保存异常现场数据。第一方面,本申请提供了一种多核系统的异常处理方法,包括:将多核系统配置为监控子系统和若干个处理子系统,监控子系统包括一驻留CPU,每个处理子系统包括至少一个CPU,且其中之一为主CPU,其他的为从CPU;当一所述处理子系统的任意一个CPU捕获到异常时,由该任意一个CPU将捕获的异常报告给所述监控子系统的驻留CPU,并通过该处理子系统的主CPU输出异常现场数据。由上,本方法通过将多核系统进行功能配置,分别配置监控子系统和处理子系统,并在每个处理子系统中对应配置至少一个主CPU,具体的,每个处理子系统中包括一个CPU时,该一个CPU即为该处理子系统的主CPU,当包括多个CPU时,其中一个为主CPU,其他的为从CPU,且主CPU对从CPU进行管理。其中,监控子系统用于对各处理子系统的CPU的工作状态进行监控,实时获取各处理子系统的CPU上报的异常发生信息,当任意一个处理子系统中的CPU发生可捕获的异常时,由该CPU将捕获的异常报告给监控子系统的驻留CPU,并且通过该处理子系统中的主CPU输出异常现场数据。通过本方法,可在发生异常时,最大程度的保存异常现场数据。可选的,所述处理子系统按照设定标准划分有核心子系统和业务子系统。由上,根据多核系统中具体执行的功能任务,可将处理子系统进一步划分为执行核心任务的核心子系统和执行辅助任务的业务子系统,其中核心子系统的异常与否会影响整个多核系统的运行,当其发生异常时,需要对整个多核系统进行异常处理,而业务子系统的异常与否不会影响整个多核系统的运行,当其发生异常时,仅需要对该业务子系统进行异常处理即可,该多核系统的其他子系统可正常运行。可选的,还包括:所述捕获到异常的CPU所属的处理子系统为核心子系统时,通过该核心子系统的主CPU挂起所述多核系统的其他CPU;由监控子系统的驻留CPU执行所述多核系统的重启;所述捕获到异常的CPU所属的处理子系统为业务子系统时,通过该业务子系统的主CPU挂起该业务子系统的其他CPU;由监控子系统的驻留CPU执行该业务子系统的重启。由上,核心子系统用于执行多核系统中的核心任务,其异常与否会影响整个多核系统的运行,当其发生异常时,需要挂起整个多核系统的其他CPU,进一步的,还通过监控子系统的驻留CPU对整个多核系统进行重启。业务子系统用于执行多核系统中的辅助任务,其异常与否不会影响整个多核系统的运行,当其发生异常时,仅需要挂起该业务子系统的其他CPU即可,进一步的,还通过监控子系统的驻留CPU对该业务子系统进行重启。可选的,还包括:所述捕获到异常的CPU为从CPU时,通过该捕获到异常的从CPU发送异常现场数据给其所属处理子系统的主CPU,由该主CPU输出所述异常现场数据。由上,每个处理子系统中包括一个CPU时,该一个CPU即为该处理子系统的主CPU,当包括多个CPU时,其中一个为主CPU,其他的为从CPU,且主CPU对从CPU进行管理,当从CPU捕获到异常时,由该从CPU将捕获的异常报告给监控子系统的驻留CPU,并且该从CPU还将异常现场数据进行整理发送给其所属处理子系统的主CPU,由该主CPU输出所述异常现场数据。可选的,还包括:所述监控子系统的驻留CPU捕获到异常时,通过该监控子系统的驻留CPU挂起所述多核系统的其他CPU,并输出异常现场数据;通过该监控子系统的驻留CPU执行所述多核系统的重启。由上,监控子系统用于执行多核系统的重要监控任务,因此当监控子系统的驻留CPU发生可捕获的异常时,也需要通过该驻留CPU输出异常现场数据,然后通过该驻留CPU挂起整个多核系统的其他CPU,并根据配置的异常处理模式,重启整个多核系统。可选的,还包括:通过所述监控子系统的驻留CPU检测各处理子系统的各CPU的相邻两个周期的心跳数据,判断各CPU是否发生异常;当判断一CPU发生异常时:若该CPU所属的处理子系统为核心子系统,通过所述驻留CPU挂起所述多核系统的其他CPU,并执行所述多核系统的重启;若该CPU所属的处理子系统为业务子系统,通过所述驻留CPU挂起该业务子系统的其他CPU,并执行该业务子系统的重启。可选的,所述判断各CPU是否发生异常包括:检测各CPU的相邻两个周期的心跳数据一致时,判断为异常。由上,核心子系统和业务子系统中的各个CPU会周期性的更新其心跳数据,每个周期的心跳数据不同,并将其心跳数据分别存储到多核系统的一个共享内存区,所述监控子系统会以周期性(一个周期或两个周期)读取该共享内存区的各个CPU的心跳数据,并保存在本地,该监控子系统通过将其读取的心跳数据与本地数据进行对比,即检测各个CPU的相邻两个周期的心跳数据,若相邻两个周期的心跳数据一致,则认为发送该心跳数据的CPU发生了死循环或跑飞异常,此时根据发生异常的CPU属于核心子系统或业务子系统,来判断是挂起整个多核系统的其他CPU,还是挂起发生异常的该业务子系统的其他CPU,然后根据配置的重启任务,重启整个多核系统,或重启该发生异常的业务子系统。可选的,所述驻留CPU为所述多核系统中性能最低或功耗最小的CPU。由上,一般选用多核系统中的性能最低或功耗最小的CPU作为监控子系统的驻留本文档来自技高网...

【技术保护点】
1.一种多核系统的异常处理方法,其特征在于,包括:/n将多核系统配置为监控子系统和若干个处理子系统,监控子系统包括一驻留CPU,每个处理子系统包括至少一个CPU,且其中之一为主CPU,其他的为从CPU;/n当一所述处理子系统的任意一个CPU捕获到异常时,由该任意一个CPU将捕获的异常报告给所述监控子系统的驻留CPU,并通过该处理子系统的主CPU输出异常现场数据。/n

【技术特征摘要】
1.一种多核系统的异常处理方法,其特征在于,包括:
将多核系统配置为监控子系统和若干个处理子系统,监控子系统包括一驻留CPU,每个处理子系统包括至少一个CPU,且其中之一为主CPU,其他的为从CPU;
当一所述处理子系统的任意一个CPU捕获到异常时,由该任意一个CPU将捕获的异常报告给所述监控子系统的驻留CPU,并通过该处理子系统的主CPU输出异常现场数据。


2.根据权利要求1所述的方法,其特征在于,所述处理子系统按照设定标准划分有核心子系统和业务子系统。


3.根据权利要求2所述的方法,其特征在于,还包括:
所述捕获到异常的CPU所属的处理子系统为核心子系统时,通过该核心子系统的主CPU挂起所述多核系统的其他CPU;由监控子系统的驻留CPU执行所述多核系统的重启;
所述捕获到异常的CPU所属的处理子系统为业务子系统时,通过该业务子系统的主CPU挂起该业务子系统的其他CPU;由监控子系统的驻留CPU执行该业务子系统的重启。


4.根据权利要求1所述的方法,其特征在于,还包括:
所述捕获到异常的CPU为从CPU时,通过该捕获到异常的从CPU发送异常现场数据给其所属处理子系统的主CPU,由该主CPU输出所述异常现场数据。


5.根据权利要求1所述的方法,其特征在于,还包括:
所述监控子系统的驻留CPU捕获到异常时,通过该监控子系统的驻留CPU挂起所述多核系统的其他CPU,并输出异常现场数据;
通过该监控子系统的驻留CPU执行所述多核系统的重启。


6....

【专利技术属性】
技术研发人员:陈帅
申请(专利权)人:上海金卓科技有限公司
类型:发明
国别省市:上海;31

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

1