功能监控方法和装置、异构多核SOC、电子设备与流程

文档序号:23818183发布日期:2021-02-03 14:13阅读:47来源:国知局
功能监控方法和装置、异构多核SOC、电子设备与流程
功能监控方法和装置、异构多核soc、电子设备
技术领域
[0001]
本公开涉及计算机故障监控领域,具体地,涉及一种功能监控方法和装置、异构多核soc、电子设备。


背景技术:

[0002]
片上系统(system-on-a-chip,soc)就是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器、存储器、以及外围电路等。soc是与其它技术并行发展的,如绝缘硅,它可以提供增强的时钟频率,从而降低微芯片的功耗。
[0003]
soc技术通常应用于小型的、日益复杂的用户终端设备。例如,声音检测设备的soc是在单个芯片上为用户提供包括音频接收端、模数转换器、微处理器、必要的存储器以及输入输出逻辑控制等设备。由于空前的高效集成性能,soc是替代集成电路的主要解决方案。soc已经成为当前微电子芯片发展的必然趋势。
[0004]
单颗芯片内集成多个不同架构处理单元核心的soc,我们称之为异构多核soc。其中,不同架构处理单元核心可以包括应用核和控制核。目前的异构多核soc系统通常只保证其中控制核的功能安全,还没有对soc中应用核的功能安全进行监控的方案。应用核一般使用linux系统,该系统本身并没有定时保护机制,然而在应用核上运行的功能有时也会对其涉及安全上的要求。


技术实现要素:

[0005]
本公开的目的是提供一种可靠且实用的功能监控方法和装置、异构多核soc、电子设备。
[0006]
为了实现上述目的,本公开提供一种用于异构多核soc的功能监控方法,所述方法包括:
[0007]
在所述异构多核soc运行时,获取同一功能的多个任务在开始执行和执行结束时发送的预定数据,其中,所述多个任务来自所述异构多核soc中的至少两个核中;
[0008]
将所获取的数据按照预定的算法进行计算,得到所述功能的特征值;
[0009]
若所述功能的特征值和与所述功能对应的预定值不一致,则判定所述功能执行错误。
[0010]
可选地,所述异构多核soc中的多个任务向各自对应的数据存储区间发送各自的预定数据,其中,与一任务对应的数据存储区间根据该任务的定时周期来确定,
[0011]
在所述异构多核soc运行时,获取同一功能的多个任务在开始执行和执行结束时发送的预定数据,包括:在所述异构多核soc运行时,从同一数据存储区间中获取同一功能的多个任务在开始执行和执行结束时发送的预定数据。
[0012]
可选地,每个数据存储区间中的数据采用环形队列排列。
[0013]
可选地,将所获取的数据按照预定的算法进行计算,得到所述功能的特征值,包
括:将在每个监控周期中所获取的数据按照预定的算法进行计算,得到该监控周期中的功能的特征值,
[0014]
若所述功能的特征值和与所述功能对应的预定值不一致,则判定所述功能执行错误,包括:若一监控周期中的一功能的特征值和与该功能对应的预定值不一致,则判定该功能执行错误。
[0015]
可选地,所述监控周期的时长与待监控的功能的定时周期的最小值相同。
[0016]
可选地,所述方法还包括:
[0017]
若在连续预定次数的监控周期中均判定一功能执行错误之后,又在下一监控周期中判定该功能执行正常,则执行监控周期的同步操作,以使所述监控周期与待监控的功能的定时周期中时长最小的定时周期同步开始。
[0018]
可选地,所述预定数据包括一任务在开始执行时发送的第一预定数据和执行结束时发送的第二预定数据,
[0019]
将所获取的数据按照预定的算法进行计算,得到所述功能的特征值,包括:将所获取的数据按照以下算法进行计算,得到所述功能的特征值:
[0020][0021]
f(x)=x
29
+x
28
+x
23
+x
22
+x
18
+x
11
+x
10
+x
12
+x8+x7+x5+x3+x2+x+1
[0022]
其中,z为所述功能的特征值,n为所述功能所包括的任务的数目,x
1i
为所述功能的第i个任务发送的所述第一预定数据,x
2i
为所述功能的第i个任务发送的所述第二预定数据。
[0023]
本公开还提供一种用于异构多核soc的功能监控装置,所述装置包括:
[0024]
获取模块,用于在所述异构多核soc运行时,获取同一功能的多个任务在开始执行和执行结束时发送的预定数据,其中,所述多个任务来自所述异构多核soc中的至少两个核中;
[0025]
计算模块,用于将所获取的数据按照预定的算法进行计算,得到所述功能的特征值;
[0026]
判断模块,用于若所述功能的特征值和与所述功能对应的预定值不一致,则判定所述功能执行错误。
[0027]
可选地,所述异构多核soc中的多个任务向各自对应的数据存储区间发送各自的预定数据,其中,与一任务对应的数据存储区间根据该任务的定时周期来确定,
[0028]
所述获取模块包括:
[0029]
获取子模块,用于在所述异构多核soc运行时,从同一数据存储区间中获取同一功能的多个任务在开始执行和执行结束时发送的预定数据。
[0030]
可选地,每个数据存储区间中的数据采用环形队列排列。
[0031]
可选地,所述计算模块包括:
[0032]
第一计算子模块,用于将在每个监控周期中所获取的数据按照预定的算法进行计算,得到该监控周期中的功能的特征值,
[0033]
所述判断模块包括:
[0034]
判断子模块,用于若一监控周期中的一功能的特征值和与该功能对应的预定值不
一致,则判定该功能执行错误。
[0035]
可选地,所述监控周期的时长与待监控的功能的定时周期的最小值相同。
[0036]
可选地,所述装置还包括:
[0037]
同步模块,用于若在连续预定次数的监控周期中均判定一功能执行错误之后,又在下一监控周期中判定该功能执行正常,则执行监控周期的同步操作,以使所述监控周期与待监控的功能的定时周期中时长最小的定时周期同步开始。
[0038]
可选地,所述预定数据包括一任务在开始执行时发送的第一预定数据和执行结束时发送的第二预定数据,
[0039]
所述计算模块包括:
[0040]
第二计算子模块,用于将所获取的数据按照以下算法进行计算,得到所述功能的特征值:
[0041][0042]
f(x)=x
29
+x
28
+x
23
+x
22
+x
18
+x
11
+x
10
+x
12
+x8+x7+x5+x3+x2+x+1
[0043]
其中,z为所述功能的特征值,n为所述功能所包括的任务的数目,x
1i
为所述功能的第i个任务发送的所述第一预定数据,x
2i
为所述功能的第i个任务发送的所述第二预定数据。
[0044]
本公开还提供一种异构多核soc,包括处理器,所述处理器用于执行本公开提供的上述功能监控方法。
[0045]
本公开还提供一种电子设备,包括本公开提供的上述异构多核soc。
[0046]
通过上述技术方案,将来自于异构多核soc中的至少两个核中、执行同一功能的多个任务在开始执行和执行结束时发送的数据,按照预定算法进行计算,将计算得到的该功能的特征值和与该功能对应的预定值进行比对,根据比对结果来判断该功能是否执行正常,据此来对一功能所包含的任务的执行时间进行监控。本公开的方案能够实现对soc不同核中任务的定时监控,使得异构多核soc对其上运行的程序具备定时监控功能。
[0047]
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0048]
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
[0049]
图1是一示例性实施例提供的用于异构多核soc的功能监控方法的流程图;
[0050]
图2是一示例性实施例提供的任务给数据存储区间发送数据的示意图;
[0051]
图3是一示例性实施例提供的一数据存储区间中的环形队列的示意图;
[0052]
图4是一示例性实施例提供的一数据存储区间中各个周期所获取数据的示意图;
[0053]
图5是一示例性实施例提供的一监控周期的各个功能的数据计算结果的示意图;
[0054]
图6是一示例性实施例提供的用于异构多核soc的功能监控装置的框图。
具体实施方式
[0055]
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描
述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
[0056]
在异构多核soc中可以包括应用核和控制核。应用核为应用控制器(例如,arm(advanced risc machines)公司的a核),控制核为微控制器(例如,arm公司的m核)。另外,不同架构处理单元核心还可以包括实时控制器(例如,arm公司的r核)。
[0057]
如上所述,目前的异构多核soc系统通常只保证其中控制核的功能安全,还没有对soc中应用核的功能安全进行监控的方案。发明人想到,可以利用多个核中的任务发送的数据进行计算,并根据计算结果与预定值的比对结果来判断一功能是否正确执行。这样就实现了异构多核soc不同核中任务的定时监控功能。
[0058]
图1是一示例性实施例提供的用于异构多核soc的功能监控方法的流程图。如图1所示,该方法可以包括以下步骤。
[0059]
步骤s101,在异构多核soc运行时,获取同一功能的多个任务在开始执行和执行结束时发送的预定数据。其中,该多个任务来自异构多核soc中的至少两个核中。
[0060]
步骤s102,将所获取的数据按照预定的算法进行计算,得到该功能的特征值。
[0061]
步骤s103,若该功能的特征值和与功能对应的预定值不一致,则判定该功能执行错误。
[0062]
其中,异构多核soc中的至少两个核例如可以包括控制核和应用核。控制核中的任务和应用核中的任务可以共同执行一个功能。执行该功能时,各个任务需按照预定的顺序执行。在一个任务开始执行时向外发送一个预定数据,执行结束时再向外发送另一个预定数据。各个任务的预定数据优选为不相同。同一任务在开始执行和执行结束时发送的数据也优选为不相同。若接收到一任务发送的一个预定数据,则可以认为该任务已经开始执行,若接收到该任务发送的另一个预定数据,则可以认为该任务已经执行结束。一任务在开始执行和执行结束时发送的数据可以看作是该任务的定时信息。因此,本公开可以看作是对一功能所包含的任务的执行时间进行监控。
[0063]
可以将获取到的任务发送的数据(包括开始执行和执行结束时发送的数据)按照获取的先后顺序进行排列,并将其按照预定的算法计算,得到该功能的特征值。
[0064]
由于一个功能中的任务是预先确定的,每个任务在开始执行和执行结束时发送的数据也是预先确定的,算法也是预先确定的,因此,计算结果(特征值)应该是固定不变的,可以将功能正常执行情况下的计算结果预先储存,将根据实时获取的数据计算得到的特征值与该预先存储的结果进行比对。若一致,则能够确定该功能中的各个任务已全部正常执行,该功能已正常执行。若不一致,则能够确定该功能中至少有一个任务未正常执行,该功能未正常执行。
[0065]
通过上述技术方案,将来自于异构多核soc中的至少两个核中、执行同一功能的多个任务在开始执行和执行结束时发送的数据,按照预定算法进行计算,将计算得到的该功能的特征值和与该功能对应的预定值进行比对,根据比对结果来判断该功能是否执行正常,据此来对一功能所包含的任务的执行时间进行监控。本公开的方案能够实现对soc不同核中任务的定时监控,使得异构多核soc对其上运行的程序具备定时监控的功能。
[0066]
在监控过程中,可以仅对其中一个功能进行监控,此时可以通过定时任务守护进程直接接收任务发送的数据。在另一实施例中,还可以同时对多个功能进行监控。在该实施例中,各个任务可以将数据发送到一个分区的存储器中。例如,异构多核soc中的多个任务
向各自对应的数据存储区间发送各自的预定数据。其中,与一任务对应的数据存储区间可以根据该任务的定时周期来确定。
[0067]
其中,功能的定时周期是指该功能中每个任务连续执行两次之间所间隔的时长。例如,一功能中的每个任务均为每秒执行一次,则该功能的定时周期为一秒。可以预先在存储器中划分多个数据存储区间,每个数据存储区间用于存储定时周期处于特定范围的任务所发送的数据。
[0068]
图2是一示例性实施例提供的任务给数据存储区间发送数据的示意图。如图2所示,异构多核soc包括第一控制核、第二控制核、第三控制核、第一应用核、第二应用核和第三应用核。第一控制核中包括任务1、任务2和任务3,第二控制核中包括任务4、任务5和任务6,第三控制核中包括任务7、任务8和任务9。第一应用核中包括应用1、应用2和应用3,第二应用核中包括应用4、应用5和应用6,第三应用核中包括应用7、应用8和应用9。本公开中上文所述的任务包括控制核中的任务1-任务9、以及应用核中的应用1-应用9。
[0069]
如图2,存储器中划分为第一数据存储区间、第二数据存储区间和第三数据存储区间。第一数据存储区间用于存储定时周期为1s-5s之间的任务所发送的数据,第二数据存储区间用于存储定时周期为6s-10s之间的任务所发送的数据,第三数据存储区间用于存储定时周期为10s-20s之间的任务所发送的数据。
[0070]
其中,任务1和任务5为同一功能的两个任务,定时周期为1s,任务1和任务5将数据发送至第一数据存储区间;任务8、任务9、应用2和应用5为同一功能的四个任务,定时周期为7s,则任务8、任务9、应用2和应用5将数据发送至第二数据存储区间;应用6和应用8为同一功能的两个任务,定时周期为12s,则应用6和应用8将数据发送至第三数据存储区间。
[0071]
定时任务监控守护进程可以从第一数据存储区间、第二数据存储区间和第三数据存储区间获取到各个任务发送的数据。
[0072]
在该实施例中,在异构多核soc运行时,获取同一功能的多个任务在开始执行和执行结束时发送的预定数据(步骤s101)可以包括:在异构多核soc运行时,从同一数据存储区间中获取同一功能的多个任务在开始执行和执行结束时发送的预定数据。
[0073]
同一功能的任务其定时周期相等,发送的数据都存储在同一数据存储区域中,因此,可以从同一数据存储区域中获取到同一功能的多个任务在开始执行和执行结束时发送的数据。
[0074]
该实施例中,通过将任务发送的数据按照不同的定时周期存储在不同的数据存储区域中,使数据易于整理,不易出错,且易于获取同一功能的数据。
[0075]
其中,每个数据存储区间中的数据可以采用环形队列排列。环形队列是一个首尾相连的数据结构,采用数组的线性空间,数据组织简单,遵循先入先出的原则,即先存入队列的数据先取出,后存入的后取出。图3是一示例性实施例提供的一数据存储区间中的环形队列的示意图。如图3所示,队列长度为64。队列从0开始,沿顺时针方向排列到63。数据存储区间中存储的数据按照队列排列可以是a0、a1、
……
、a6、a7、a8、a9、
……
、a63。采用环形队列能够快速了解队列是否满为空,能以较快速度的来存取数据。
[0076]
在又一实施例中,还可以周期性地对功能的执行情况进行监控。在上述实施例的基础上,将所获取的数据按照预定的算法进行计算,得到功能的特征值(步骤s102)可以包括:将在每个监控周期中所获取的数据按照预定的算法进行计算,得到该监控周期中的功
能的特征值。
[0077]
该实施例中,若一功能的特征值和与该功能对应的预定值不一致,则判定该功能执行错误,包括:若一监控周期中的一功能的特征值和与该功能对应的预定值不一致,则判定该功能执行错误。
[0078]
其中,可以对功能进行连续的监控,监控周期为对功能监控一次的周期,即根据获取的数据计算并判断一次的周期。根据在一次监控周期中获取的数据进行计算,得到本次监控周期中功能的特征值,根据该特征值比对的结果仅说明本次监控周期中功能的执行情况。在下次监控周期中的执行情况由下次监控周期中获取的数据来计算和比对得出。
[0079]
由于不同的功能其定时周期可能不同,因此,监控周期的时长与一些功能的定时周期并不一致。例如,若监控周期的时长为2s,一功能的定时周期为3s,则在第一次监控周期中并不能接收到该功能的任务发送的数据;若监控周期的时长为2s,另一功能的定时周期为1s,则该功能每执行两次,才能对该功能进行一次判断。
[0080]
为了较全面地对多个功能进行监控,可以设置监控周期的时长与待监控的功能的定时周期的最小值相同。例如,三个功能的定时周期分别为1s、3s和5s,则设置监控周期的时长为1s。这样,对于定时周期为1s的功能,每个监控周期都判断一次;对于定时周期为3s的功能,每3个监控周期判断一次;对于定时周期为5s的功能,每5个监控周期判断一次。这样,并不是每个监控周期获取的数据都用于计算和判断。
[0081]
定时任务监控守护进程从数据存储区间获取到任务发送的数据后,可以将计算得到的特征值发送给异构多核soc上的监控芯片,由监控芯片来判断。在将每个监控周期的计算结果发送给监控芯片时,可以在计算结果的前面附加一个标志位,以表示该监控周期的计算结果是否为最新计算的特征值,是否能够用于判断。例如,三个功能的定时周期分别为1s、3s和5s,监控周期的时长为1s。则在2s时的第二个监控周期向监控芯片发送的、定时周期为3s的功能的数据的计算结果之前,可以加“1”的标志位,表示该计算结果不可以用于判断该定时周期为3s的功能的执行情况;在2s时的第二监控周期向监控芯片发送的、定时周期为1s的功能的数据的计算结果之前,可以加“0”的标志位,表示该特征值可以用于判断该定时周期为1s的功能的执行情况。
[0082]
图4是一示例性实施例提供的一数据存储区间中各个周期所获取数据的示意图。如图4所示,一数据存储区间中,在监控周期n获取的数据为0x23、0x98、
……
,在监控周期n+1获取的数据为0x67、0x89、
……
,在监控周期n+2获取的数据为0x34、0x12、
……
,在监控周期n+3获取的数据为0x58、0x62、
……
。其中,获取的数据均为十六进制数。
[0083]
根据预定的算法,将一功能的各个任务的数据进行计算,得到一个计算结果。若在一监控周期时,刚好一功能执行完毕,则其计算结果为特征值,该特征值前可以加“0”的标志位,该计算结果能够用于判断;若在一监控周期时,一功能未执行完毕,则其计算结果不是特征值,该计算结果前可以加“1”的标志位。
[0084]
图5是一示例性实施例提供的一监控周期的各个功能的数据计算结果的示意图。如图5所示,在一监控周期中,第一个功能的数据的计算结果为z1,z1前的标志位为“0”,第二个功能的数据的计算结果为z2,z2前的标志位为“1”,第三个功能的数据的计算结果为z3,z3前的标志位为“0”。其中,监控周期为1s,第一个功能的定时周期为1s,第二个功能的定时周期为2s,第二个功能的定时周期为3s。图5可以是第一个监控周期的计算结果。其中,
第一个功能已执行完毕,其计算结果z1为该功能的特征值,其标志位为“0”;第二、三个功能未执行完毕,其计算结果z2、z3并不是特征值,其标志位为“1”。
[0085]
上述一监控周期的各个功能的数据计算结果可以发送至监控芯片,由监控芯片选取其中标志位为“0”的计算结果,作为特征值与预定的数据比对,来做出判断。
[0086]
在又一实施例中,该方法还可以包括:
[0087]
若在连续预定次数的监控周期中均判定一功能执行错误之后,又在下一监控周期中判定该功能执行正常,则执行监控周期的同步操作,以使监控周期与待监控功能的定时周期中时长最小的定时周期同步开始。
[0088]
其中,若在连续预定次数的监控周期中均判定一功能执行错误之后,又在下一监控周期中判定该功能执行正常,则可以认为监控周期与定时周期并不同步,并且出现了比较大的偏差,需要将监控周期调整为与定时周期同步。其中,监控周期与定时周期同步可以理解为,监控周期与其中一个定时周期同步开始。若监控周期的时长与多个功能的定时周期的时长中的最小值相同,则可以将监控周期调整为与多个功能的定时周期中时长最小的定时周期同步开始。这样能够避免因监控周期与定时周期不同步开始而导致的判断准确性的下降。连续预定次数可以根据试验或经验得出。例如,两次。
[0089]
对于预定的算法,只要是能使计算结果极少地出现相同数据计算出不同结果,或者不同数据计算出相同结果的情况的算法都可以包括在内。在又一实施例中,任务发送的预定数据包括该任务在开始执行时发送的第一预定数据和执行结束时发送的第二预定数据。
[0090]
在该实施例中,将所获取的数据按照预定的算法进行计算,得到功能的特征值(步骤s102)可以包括:将所获取的数据按照以下算法进行计算,得到功能的特征值:
[0091][0092]
f(x)=x
29
+x
28
+x
23
+x
22
+x
18
+x
11
+x
10
+x
12
+x8+x7+x5+x3+x2+x+1
[0093]
其中,z为功能的特征值,n为功能所包括的任务的数目,x
1i
为功能的第i个任务发送的第一预定数据,x
2i
为功能的第i个任务发送的第二预定数据。
[0094]
通过上述公式计算的特征值,出错的概率极低,能够用于准确地判断。
[0095]
以下是一实施例中在异构多核soc上进行功能监控的步骤。
[0096]
在异构多核soc上设置有控制核、应用核和监控芯片。在其中一个应用核中设置有存储器和定时任务监控守护进程。存储器中划分为多个数据存储区间。
[0097]
步骤1:异构多核soc上电后对需要有定时保护任务的执行同步,例如,图2中的任务1、任务5、任务8、任务9、应用2、应用5、应用6、应用8在启动运行时执行同步。
[0098]
步骤2:设置定时任务监控守护进程和监控芯片的通信初始化操作,定时监控状态为未开启。
[0099]
步骤3:定时任务监控守护进程初始化数据存储区间中的数据。数据存储区间中的数据均为环形队列,队列长度为64。
[0100]
步骤4、建立定时任务监控守护进程和监控芯片的通信,监控状态开启,定时任务监控守护进程通知各任务开启定时任务监控。
[0101]
步骤5、各任务把预定的数据(第一预定数据和第二预定数据)发往对应的数据存
储区间,该预定的数据也是环形队列,例如,环形队列的值为十六进制数:0x34、0x89、
……
、0x66,队列长度为64。
[0102]
步骤6、在一个监控周期内,定时任务监控守护进程按照时间顺序收集各任务发送的数据,计算出第一功能、第二功能、第三功能在该监控周期中的计算结果z1、z2、z3。
[0103]
步骤7、在同一个监控周期内,定时任务监控守护进程把z1、z2、z3连同其标志位一起发送到监控芯片,特征值前的一位标志位代表本监控周期内数据是否有效,1表示无效,0表示有效。
[0104]
步骤8、在该循环周期,监控芯片判断特征值(标志位为0的计算结果)和预先存入的数据是否一致,如果一致则本监控周期通过,如果连续三次监控周期的特征值不匹配,则表示定时监控失败,需重新启动出问题的内核。
[0105]
本公开还提供一种用于异构多核soc的功能监控装置。图6是一示例性实施例提供的用于异构多核soc的功能监控装置的框图。如图6所示,用于异构多核soc的功能监控装置600可以包括获取模块601、计算模块602和判断模块603。
[0106]
获取模块601用于在所述异构多核soc运行时,获取同一功能的多个任务在开始执行和执行结束时发送的预定数据,其中,所述多个任务来自所述异构多核soc中的至少两个核中。
[0107]
计算模块602用于将所获取的数据按照预定的算法进行计算,得到功能的特征值。
[0108]
判断模块603用于若功能的特征值和与功能对应的预定值不一致,则判定功能执行错误。
[0109]
可选地,所述异构多核soc中的多个任务向各自对应的数据存储区间发送各自的预定数据,其中,与一任务对应的数据存储区间根据该任务的定时周期来确定。
[0110]
该实施例中,获取模块601可以包括获取子模块。
[0111]
获取子模块用于在异构多核soc运行时,从同一数据存储区间中获取同一功能的多个任务在开始执行和执行结束时发送的预定数据。
[0112]
可选地,每个数据存储区间中的数据采用环形队列排列。
[0113]
可选地,计算模块602可以包括第一计算子模块。
[0114]
第一计算子模块用于将在每个监控周期中所获取的数据按照预定的算法进行计算,得到该监控周期中的功能的特征值。
[0115]
并且,判断模块603可以包括判断子模块。
[0116]
判断子模块用于若一监控周期中的一功能的特征值和与该功能对应的预定值不一致,则判定该功能执行错误。
[0117]
可选地,监控周期的时长与待监控的功能的定时周期的最小值相同。
[0118]
可选地,装置600还可以包括同步模块。
[0119]
同步模块,用于若在连续预定次数的监控周期中均判定一功能执行错误之后,又在下一监控周期中判定该功能执行正常,则执行监控周期的同步操作,以使监控周期与待监控的功能的定时周期中时长最小的定时周期同步开始。
[0120]
可选地,所述预定数据包括一任务在开始执行时发送的第一预定数据和执行结束时发送的第二预定数据。
[0121]
计算模块603可以包括第二计算子模块。
[0122]
第二计算子模块用于将所获取的数据按照以下算法进行计算,得到功能的特征值:
[0123][0124]
f(x)=x
29
+x
28
+x
23
+x
22
+x
18
+x
11
+x
10
+x
12
+x8+x7+x5+x3+x2+x+1
[0125]
其中,z为功能的特征值,n为功能所包括的任务的数目,x
1i
为功能的第i个任务发送的第一预定数据,x
2i
为功能的第i个任务发送的第二预定数据。
[0126]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0127]
通过上述技术方案,将来自于异构多核soc中的至少两个核中、执行同一功能的多个任务在开始执行和执行结束时发送的数据,按照预定算法进行计算,将计算得到的该功能的特征值和与该功能对应的预定值进行比对,根据比对结果来判断该功能是否执行正常,据此来对一功能所包含的任务的执行时间进行监控。本公开的方案能够实现对soc不同核中任务的定时监控,使得异构多核soc对其上运行的程序具备定时监控功能。
[0128]
本公开还提供一种异构多核soc,包括处理器,该处理器用于执行本公开提供的上述用于异构多核soc的功能监控方法。
[0129]
本公开还提供一种电子设备,包括本公开提供的上述异构多核soc。
[0130]
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0131]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0132]
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1