一种异构系统核间时间的同步方法、异构系统和移动终端与流程

未命名 07-14 阅读:140 评论:0


1.本发明涉及异构系统技术领域,特别是涉及一种异构系统核间时间的同步方法、异构系统、移动终端、计算机存储介质和计算机设备。


背景技术:

2.传统的中央处理器(cpu)作为通用处理器并不适合图形计算和神经网络计算等专用任务,所以以硬件加速为目的的处理器和中央处理器一起构成了异构系统,并越来越受到互联网企业服务端的青睐。然而,不同处理器的计时速率会有差异,会造成异构系统内部不同的处理器之间时间基准不统一。


技术实现要素:

3.为了解决上述问题至少之一,本发明第一个实施例提供一种异构系统核间时间的同步方法,包括:
4.s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;
5.s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;
6.s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。
7.本实施例通过主处理器向从处理器发送同步测试指令集并接收返回的多个读取数据,从而获取主处理器的主处理时间和从处理器的从处理时间,根据主处理时间获取主时间时隙、根据从处理时间获取从时间时隙、以及根据主时间间隙和从时间间隙计算时隙差值,并根据时隙差值判断主处理器和从处理器是否同步,若主处理器和从处理器不同步则计算同步补偿值并输出主处理器的展示时间和从处理器的展示时间;即本实施例通过对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,从而有效提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能,具有实际应用价值。
8.在一个可选的实施例中,所述s1进一步包括:
9.所述s1进一步包括:
10.s101:在第一主处理时间向从处理器发送第一读指令,使得所述从处理器接收所述第一读指令后,返回第一读数据,所述第一读数据包括第一从时间;
11.s102:响应于接收所述从处理器返回的第一读数据,发送第二读指令,使得所述从处理器接收所述第二读指令后,返回第二读数据,所述第二读数据包括第二从时间;
12.s103:在第三主处理时间接收所述从处理器返回的第二读数据;
13.所述s2进一步包括:
14.s201:根据所述第一主处理时间和第三主处理时间获取所述主时间时隙;
15.s202:根据所述第一从时间和第二从时间获取所述从时间时隙;
16.s203:根据所述主时间时隙和从时间时隙计算时隙差值。
17.本实施例通过主处理器连续两次向从处理器发送读指令并获取读取数据,从而获得主处理器侧的三个主处理时间和从处理器侧的两个从处理时间,计算主处理器的主时间时隙和从处理器的从时间时隙,并获取主处理器和从处理器的时隙差以便于后续时间同步运算。本实施例根据指令作为计时基准,有效提高计时准确度。
18.在一个可选的实施例中,所述s1之前还包括:
19.s01:初始化存储队列和测试计数器;
20.所述s2进一步包括:
21.s221:获取多个所述主时间时隙,并按数值大小的顺序存储在所述存储队列中,以及每次获取所述主时间时隙时,将所述测试计数器的计数值加1;
22.s222:响应于所述测试计数器的计数值小于预设置的测试计数阈值,根据预设置的收敛判断公式判断当前主时间时隙是否收敛,若所述当前主时间时隙不收敛,则向从处理器发送读指令以再次获取所述主时间时隙;若所述主时间时隙收敛,则跳转至s223;
23.s223:根据所述当前主时间时隙和从时间时隙计算时隙差值。
24.本实施例通过主处理器向从处理器发送多组同步测试指令,每组同步测试指令包括主处理器向从处理器连续两次发送读指令并获取读取数据,从而获得主处理器侧的三个主处理时间和从处理器侧的两个从处理时间,以主处理器侧的主处理时间计算指令周期的主时间时隙是否收敛判断是否获得精确的主处理器侧的主时间时隙,在获取精确的主时间时隙的基础上获取从处理器侧的从时间时隙,并获取主处理器和从处理器的时隙差以便于后续时间同步运算。即本实施例利用k次最优方法能够精确采集主处理器读取从处理器的指令时间,即获取精确的主时间时隙以提高计时准确度。
25.在一个可选的实施例中,所述主处理器根据所述第一主处理时间和第三主处理时间获取所述主时间时隙进一步包括:
[0026][0027][0028][0029]
所述主处理器根据所述第一从时间和第二从时间获取所述从时间时隙进一步包括:
[0030][0031]
其中,δt1为第一主时间时隙,δt2为第二主时间时隙,δtm为主时间时隙,t
m1
为第一主处理时间,t
m2
为第二主处理时间,t
m3
为第三主处理时间,δtm为主时间时隙,δts为从
时间时隙,t
s1
为第一从时间,t
s2
为第二从时间。
[0032]
本实施例在获取精确的主处理时间和从处理时间的基础上,使用均值计算方法获取主时间时隙和从时间时隙,进一步提高计时准确度。
[0033]
在一个可选的实施例中,
[0034]
所述第一同步补偿值为:t
cpu
=δt
m-δts;
[0035]
校正后的所述第一展示时间为:t
v1
=t
m1
+t
cpu

[0036]
所述第二展示时间为:t
v2
=t
m1
+t
soc

[0037]
其中,t
cpu
为第一同步补偿值,t
soc
为第二同步补偿值,δtm为主时间时隙,δts为从时间时隙,t
v1
为第一展示时间,t
v2
为第二展示时间,t
m1
为第一主处理时间。
[0038]
本实施例使用主时间时隙和从时间时隙的时隙差作为主处理器侧的同步补偿值,即使用对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,换句话说,以从处理器的从时间时隙同步并校正主处理器的时间;同时,以主处理器侧的发送第一读指令时间作为计时起点,结合主处理器的同步补偿值校正主处理器的展示时间,并输出主处理器的展示时间和从处理器的展示时间,从而有效提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能,具有实际应用价值。
[0039]
在一个可选的实施例中,所述s3进一步包括:
[0040]
若所述时隙差值小于所述时隙阈值则输出所述第一展示时间和所述第二展示时间,其中
[0041]
所述第一展示时间为:t
v1
=t
m1

[0042]
所述第二展示时间为:t
v2
=t
m1
+δts;
[0043]
其中,t
v1
为第一展示时间,t
v2
为第二展示时间,t
m1
为第一主处理时间,δts为从时间时隙。
[0044]
本实施例在时隙差值小于时隙阈值的情况下,即主处理器与从处理器时间同步的情况下,以主处理器侧的发送第一读指令时间作为计时起点,一方面输出主处理器的展示时间、另一方面结合从处理器的从时间时隙输出从处理器的展示时间,从而便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0045]
在一个可选的实施例中,所述读指令包括:
[0046]
读取所述从处理器的存储周期计数器的计数值的计数寄存器的第一指令;以及
[0047]
读取所述从处理器的频率寄存器的第二指令。
[0048]
本实施例在主处理器读取从处理器的时间值的基础上,进一步读取从处理器的频率值,以适用于从处理器的频率改变的情况,即通过读取从处理器的频率值进一步提高从处理器的从时间时隙的时间精度,从而提高使用从处理器的时隙同步并校正主处理器的同步补偿值,以提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0049]
在一个可选的实施例中,所述同步方法还包括:
[0050]
连续读取所述从处理器的计数寄存器的计数值;
[0051]
根据多个所述计数值,使用预设置的统计验证法验证所述从处理器是否正常运行,若所述从处理器不是正常运行则发送报警信息并中止所述从处理器。
[0052]
本实施例通过主处理器连续读取从处理器的计数寄存器的计数值,并根据读取的计数值使用统计验证法验证从处理器是否正常运行,从而进一步提高从处理器的计时准确度,以提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0053]
在一个可选的实施例中,所述时隙阈值小于等于所述从时间时隙的20%。
[0054]
本实施例以从时间时隙作为计时基准,根据从时间时隙设置时隙阈值,从而进一步提高主处理器和从处理器是否同步的判断准确性,以提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0055]
本发明第二个实施例提供一种应用第一个实施例所述的同步方法的异构系统,所述异构系统包括主处理器和至少一个从处理器,所述主处理器配置为:
[0056]
s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;
[0057]
s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;
[0058]
s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。
[0059]
本实施例的异构系统,通过主处理器向从处理器发送同步测试指令集并接收返回的多个读取数据,从而获取主处理器的主处理时间和从处理器的从处理时间,根据主处理时间获取主时间时隙、根据从处理时间获取从时间时隙、以及根据主时间间隙和从时间间隙计算时隙差值,并根据时隙差值判断主处理器和从处理器是否同步,若主处理器和从处理器不同步则计算同步补偿值并输出主处理器的展示时间和从处理器的展示时间;即本实施例通过对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,从而有效提高异构系统中主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能,具有实际应用价值。
[0060]
在一个可选的实施例中,所述异构系统的主处理器进一步配置为:
[0061]
所述s1进一步包括:
[0062]
s101:在第一主处理时间向从处理器发送第一读指令,使得所述从处理器接收所述第一读指令后,返回第一读数据,所述第一读数据包括第一从时间;
[0063]
s102:响应于接收所述从处理器返回的第一读数据,发送第二读指令,使得所述从处理器接收所述第二读指令后,返回第二读数据,所述第二读数据包括第二从时间;
[0064]
s103:在第三主处理时间接收所述从处理器返回的第二读数据;所述s2进一步包括:
[0065]
s201:根据所述第一主处理时间和第三主处理时间获取所述主时间时隙;
[0066]
s202:根据所述第一从时间和第二从时间获取所述从时间时隙;
[0067]
s203:根据所述主时间时隙和从时间时隙计算时隙差值。
[0068]
本实施例通过主处理器连续两次向从处理器发送读指令并获取读取数据,从而获得主处理器侧的三个主处理时间和从处理器侧的两个从处理时间,有效提高计时准确度。
[0069]
在一个可选的实施例中,所述同步测试指令集包括多组同步测试指令,每组同步测试指令包括两个读指令,所述异构系统的主处理器进一步配置为:
[0070]
所述s1之前还包括:
[0071]
s01:初始化存储队列和测试计数器;
[0072]
所述s2进一步包括:
[0073]
s221:获取多个所述主时间时隙,并按数值大小的顺序存储在所述存储队列中,以及每次获取所述主时间时隙时,将所述测试计数器的计数值加1;
[0074]
s222:响应于所述测试计数器的计数值小于预设置的测试计数阈值,根据预设置的收敛判断公式判断当前主时间时隙是否收敛,若所述当前主时间时隙不收敛,则向从处理器发送读指令以再次获取所述主时间时隙;若所述主时间时隙收敛,则跳转至s223;
[0075]
s223:根据所述当前主时间时隙和从时间时隙计算时隙差值。
[0076]
本实施例通过主处理器向从处理器发送多组同步测试指令,有效获取精确的主时间时隙,即本实施例利用k次最优方法能够精确采集主处理器读取从处理器的指令时间,换句话说,通过获取精确的主时间时隙以提高计时准确度。
[0077]
本发明第三个实施例提供一种应用第一个实施例所述的同步方法的移动终端,包括主处理器和至少一个传感器,每个传感器包括从处理器,所述主处理器配置为:
[0078]
s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;
[0079]
s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;
[0080]
s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。
[0081]
本实施例的移动终端,通过主处理器向传感器从处理器发送同步测试指令集并接收返回的多个读取数据,从而获取主处理器的主处理时间和从处理器的从处理时间,根据主处理时间获取主时间时隙、根据从处理时间获取从时间时隙、以及根据主时间间隙和从时间间隙计算时隙差值,并根据时隙差值判断主处理器和从处理器是否同步,若主处理器和从处理器不同步则计算同步补偿值并输出主处理器的展示时间和从处理器的展示时间;即本实施例通过对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,从而有效提高移动终端中主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能,具有实际应用价值。
[0082]
本发明第四个实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一个实施例所述的方法。
[0083]
本发明第五个实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一个实施例所述的方法。
附图说明
[0084]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0085]
图1示出本发明的一个实施例所述同步方法的流程图;
[0086]
图2示出本发明的一个实施例所述异构系统的结构示意图;
[0087]
图3示出本发明的一个实施例所述同步方法的部分泳道图;
[0088]
图4示出本发明的一个实施例所述k次最优方法的流程图;
[0089]
图5示出本发明的另一个实施例所述同步方法的部分泳道图;
[0090]
图6示出本发明的另一个实施例所述的一种计算机设备的结构示意图。
具体实施方式
[0091]
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
[0092]
在现有技术中,不同处理器包括不同的架构和指令集,通常封装成系统级芯片soc(system on chip)的形式以提高效率,节省成本。同样出于成本和复杂度的考虑,soc上往往没有专用的计时设备而是用一个周期计数器来替代。
[0093]
实际运行过程中,soc处理器通过pcie总线或其他高速总线和服务器连接,由于服务器和异构多核soc处理器上面有各自的计时系统。在各自的处理器上的时间信息无法按照统一的时间体系进行汇总和处理,从而使得对异构系统的运行时性能分析无法进行。
[0094]
针对上述情况,发明人经过经大量研究和试验提出,异构系统无法分析运行性能的原因在于,主处理器cpu有时钟,可计时准确的时间点,例如某年某月某时某分某秒某毫秒某微秒某纳秒等精确到纳秒的时间点;而soc处理器只能通过周期计数器计时某一时间段,并且不同soc处理器的计时速率会有差异,导致主处理器cpu和soc处理器因存在时间基准不统一的问题无法输出针对主处理器cpu的展示时间和针对soc处理器的展示时间,因此无法将二者的时间统一到一个时间轴上,继而无法进行具体的运行性能分析。
[0095]
特别的,由于目前主处理器cpu和soc处理器的频率均能够达到1ghz以上,如果利用soc处理器自带的周期计数器来计时,那么计时精度可以达到纳秒级别,因此进一步提高了对主处理器cpu和soc处理器的时间同步的精度要求和实时性要求。
[0096]
根据上述问题和导致该问题的原因,如图1所示,本发明的一个实施例提供了一种异构系统核间时间的同步方法。
[0097]
在本实施例中,首先,通过主处理器向从处理器发送多个读指令并接收返回的多个读数据,例如主处理器向从处理器发送读指令并接收从处理器返回的读数据,然后主处理器再向从处理器发送读指令并接收从处理器返回的读数据,在主处理器和从处理器的多次交互中,能够获取主处理器的多个主处理时间、以及从读数据中获取从处理器的多个从处理时间,其中,主处理时间包括主处理器发送读指令的时间和接收读数据的时间,从处理时间为从处理器接收主处理器的读指令后响应所述读指令的时间,即从处理器接收到读指
令的时间,该时间记录在读数据中返回至主处理器。
[0098]
在本实施例中,对于每个读指令,假设读指令的传输和读数据的传输所需的时间相同,即读指令从主处理器到达从处理器的时间与读数据从从处理器到达主处理器的时间相同,例如将主处理器发送读指令的时间记为t1,将主处理器接收读数据的时间记为t2,如此将t2和t1的时间差除以2即为主时间时隙;同理,根据多个从处理时间能够获取从时间时隙,具体的:例如将从处理器接收第一个读指令的时间记为t3,由于主处理器连续向从处理器发送读指令,因此将主处理器接收到第一读指令返回的读数据的时间和发送第二个读指令定义为相同的时间节点,则从处理器接收第二个读指令的时间记为t4,如此将t4和t3的时间差除以2即为从时间时隙。
[0099]
在一个可选的实施例中,所述主处理器向从处理器发送读指令,是为了读取所述从处理器的周期计数器对应的计数寄存器的值,即主处理器发送的读指令为读寄存器的指令;所述主处理器接收从处理器返回的读数据为从所述从处理器的寄存器的取数据的指令,也为寄存器指令;从而避免在读取过程中经过存储器进行中转影响时间精度。换句话说,本实施例通过主处理器和从处理器的寄存器操作,指令周期短、响应时间快、有效提高计时精度和计时效率。
[0100]
值得说明的是,本实施例中,主处理时间为主处理器的时钟记录的具体时间,主时间时隙为使用两个具体时间的差值计算获得的;从处理时间为从处理器的周期计数器的计数值,从时间时隙为使用两个计数值的差值计算获得的。
[0101]
考虑到主处理器的具体时间易受到进程间切换影响了时间精度,而从处理器仅用于执行特定功能,计时精度高,以从处理器的从时间间隙为基准进行主处理器和从处理器的同步和校正。
[0102]
在本实施例中,根据主处理时间获取主时间时隙、根据从处理时间获取从时间时隙、以及根据主时间间隙和从时间间隙计算时隙差值。
[0103]
其次,主处理器根据时隙差值判断主处理器和从处理器是否同步,例如通过预设置的时隙阈值判断所述时隙差值是否满足同步需求。具体的,当所述时隙差值大于所述时隙阈值时认为所述主处理器和从处理器不同步,需要对主处理器的主处理时间进行同步和校正;反之,当所述时隙差值小于等于所述时隙阈值时认为所述主处理器和从处理器同步,无需进行同步和校正操作。
[0104]
在本实施例中,当判断所述主处理器和从处理器不同步时,通过对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,即以从处理器的从时间间隙为基准进行主处理器和从处理器的同步和校正,从而解决各处理器之间应技术速率的差异导致的处理器间的时间存在不同步的问题,有效提高主处理器和从处理器的时间同步精度。
[0105]
具体的,根据主时间时隙和从时间时隙计算主处理器的补偿值,用于补偿主处理器的时间,同时根据主处理器的具体时间为起始时间节点计算从处理器的补偿值。
[0106]
最后,主处理器校正所述主处理器的第一展示时间,并输出所述主处理器的校正后的第一展示时间和所述从处理器的第二展示时间。
[0107]
在本实施例中,在获取主处理器和从处理器的补偿值的基础上,以主处理器的一个具体时间为起始节点获取主处理器的展示时间和从处理器的展示时间,即通过将主处理器的展示时间和从处理器的展示时间统一到一个时间轴上,从而便于根据主处理器和从处
理器的展示时间分析异构系统的运行性能,具有实际应用价值。
[0108]
需要说明的是,本技术对主处理器向从处理器发送的读指令的个数不作具体限定,可以为两个,也可以为多个,本领域技术人员应当根据实际应用需求选择读指令的个数,以能够获得主处理器的主时间时隙和从处理器的从时间时隙为设计准则,在此不再赘述。
[0109]
还需要说明的是,本技术对主处理器何时向从处理器发起读指令不作具体限定,可以设置为按照固定的时间进行同步判断和校正,也可以设置为根据主处理器调用从处理器的时间进行同步判断和校正,本领域技术人员应当根据实际应用需求进行设置,以提高主处理器和从处理器的同步精度为设计准则,在此不再赘述。
[0110]
在一个具体的示例中,如图2所示为本技术的异构系统,所述异构系统包括一个主处理器和若干个从处理器,本技术对从处理器的数量不作具体限定,可以为一个从处理器,也可以为多个从处理器,在此不再赘述。
[0111]
如图3所示,以主处理器和一个从处理器的时间同步过程进行详细说明:
[0112]
s1,向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;
[0113]
具体的,如图3所示,
[0114]
第一步,所述主处理器在第一主处理时间tm1向一个从处理器发送第一读指令,使得所述从处理器接收所述第一读指令后,返回第一读数据,所述第一读数据包括第一从时间t
s1

[0115]
第二步,响应于接收所述从处理器返回的第一读数据,发送第二读指令,使得所述从处理器接收所述第二读指令后,返回第二读数据,所述第二读数据包括第二从时间t
s2
。在该步骤中,主处理器在第二主处理时间tm2接收到第一读数据后,立即向从处理器发送第二读指令,即接收第一读数据的时间为第二主处理时间的话,发送第二读指令的时间也为第二主处理时间。
[0116]
第三步,所述主处理器在第三主处理时间tm3接收所述从处理器返回的第二读数据。
[0117]
在本实施例中,所述主处理器通过连续两次向从处理器发送读指令并接收读取数据,所述主处理器获得三个主处理器的时间节点,分别为具体时间的第一主处理时间tm1、第二主处理时间tm2和第三主处理时间tm3;同时,所述主处理器根据读取数据获得两个从处理器的时间节点,分别为从处理器的周期计数器的计数值:第一从时间t
s1
和第二从时间t
s2

[0118]
s2,根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值。
[0119]
具体的,如图3所示,
[0120]
第四步,所述主处理器根据所述第一主处理时间和第三主处理时间获取所述主时间时隙。
[0121]
第五步,所述主处理器根据所述第一从时间和第二从时间获取所述从时间时隙。
[0122]
第六步,所述主处理器根据所述主时间时隙和从时间时隙计算时隙差值。
[0123]
在本实施例中,以主处理器发送第一读指令为一个时隙δt,以接收一个读取数据为一个时隙δt,因此,得到第一主时间时隙:
[0124][0125]
同时,以主处理器接收第一读数据和发送第二读指令为同一时间节点,则主处理器发送第二读指令为一个时隙δt,以接收一个读取数据为一个时隙δt,因此,得到第二主时间时隙:
[0126][0127]
使用均值计算方法获取主时间时隙:
[0128][0129]
即所述主处理器通过连续两次向从处理器发送读指令并接收读取数据获得主处理器的主时间时隙δtm。
[0130]
同理,以从处理器接收第一读指令并发送第一读数据为一个时隙δt,以从处理器接收第二读指令并发送第二读数据为一个时隙δt,因此,得到从时间时隙:
[0131][0132]
其中,t
s1
为第一从时间,t
s2
为第二从时间。
[0133]
基于获得的主时间时隙δtm和从时间时隙δts计算时隙差值δt
m-δts,值得说明的是,所述时隙差值可以为正值也可以为负值,仅用于表征主处理器和从处理器之间的时间差。
[0134]
值得说明的是,本领域技术人员应当理解,通过第一主处理时间和第三主处理时间即可获取所述主时间时隙,例如通过获取。
[0135]
s3,响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。在该步骤中,判断所述时隙差值是否大于预设置的时隙阈值,若所述时隙差值大于所述时隙阈值则获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,并输出校正后的第一展示时间和所述从处理器的第二展示时间。
[0136]
具体的,以预设置的时隙阈值判断时隙差值是否满足同步条件,当所述时隙差值大于所述时隙阈值时认为主处理器和从处理器不同步,需要对主处理器的主处理时间进行同步和校正。本实施例通过对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,即以从处理器的从时间间隙为基准进行主处理器和从处理器的同步和校正。
[0137]
在本实施例中,以主时间时隙δtm和从时间时隙δts计算时隙差值δt
m-δts作为主处理器的第一同步补偿值:
[0138]
t
cpu
=δt
m-δts;
[0139]
进一步的,为提高提高主处理器和从处理器的时间同步精度,在一个可选的实施例中,所述时隙阈值小于等于所述从时间时隙的20%。
[0140]
本实施例以从时间时隙作为计时基准,根据从时间时隙设置时隙阈值,从而进一步提高主处理器和从处理器是否同步的判断准确性,以提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0141]
基于主处理器的第一同步补偿值,以主处理器向从处理器发送第一读指令的具体时间为起始节点获取主处理器的展示时间和从处理器的展示时间,
[0142]
所述主处理器的第一展示时间为:t
v1
=t
m1
+t
cpu

[0143]
所述从处理器的第二展示时间为:t
v2
=t
m1
+δts;
[0144]
至此,完成了主处理器和一个从处理器的时间同步过程。
[0145]
本实施例通过主处理器连续两次向从处理器发送读指令并获取读取数据,从而获得主处理器侧的三个主处理时间和从处理器侧的两个从处理时间,以运行的指令周期作为计时基准计算主处理器侧的主时间时隙和从处理器侧的从时间时隙,获取主处理器和从处理器的时隙差,并使用预设的时隙阈值判断时隙差以确定主处理器和从处理器是否同步;当主处理器和从处理器不同步时,利用从时间时隙为基准计算主处理器和从处理器的补偿值,再通过主处理器向从处理器发送第一读指令的具体时间为起始节点,以主处理器的第一同步补偿值作为校正值获取主处理器的第一展示时间,有效提高计时准确度;同时将主处理器的第一展示时间和从处理器的第二展示时间统一到一个时间轴上,从而便于根据主处理器和从处理器的展示时间分析异构系统的运行性能,具有实际应用价值。
[0146]
同时,由于同步和校正的是主处理器输出的表征主处理器时间的第一展示时间、以及表征从处理器时间的第二展示时间,因此,在应用于具有多个处理器的多核异构系统中,主处理器能够分别与多个从处理器进行时间同步和校正;并且,针对某个从处理器,主处理器能够反复与该从处理器进行时间同步和校正。具体的,例如主处理器在运行过程中,在调用不同的从处理器以执行不同功能之前,使用上述同步方法进行同步校正以输出计时准确的主处理器的展示时间和从处理器的展示时间。
[0147]
考虑到进一步提高主处理器的主时间时隙的精度,使用k次最优方法获取主时间时隙,在一个可选的实施例中,如图4所示,主处理器可向从处理器发送多组同步测试指令,其中,每组同步测试指令为两个读指令;以主处理器连续两次向从处理器发送读指令并获取读取数据为一次数据采集,每次数据采集过程中,可获取三个主处理时间,可根据主处理器的三个主处理时间获取主时间时隙,并按数值大小的顺序存储在存储队列中,以便于利用收敛判断公式判断所述主时间时隙是否收敛,当主时间时隙满足收敛判断公式时计算从时间时隙并获取时隙差值,以进一步提高计时准确度。
[0148]
在一个具体的示例中,如图4所示进行具体说明:
[0149]
s1之前还包括:s01:所述主处理器初始化存储队列和测试计数器。
[0150]
本实施例在主处理器向从处理器发送读指令之前对存储队列和测试计数器进行初始化,例如清空存储队列以存储多个主时间时隙、对测试计数器清零,设置测试计数阈值,例如设置测试计数阈值为10。
[0151]
s1为一次数据采集的过程,s1进一步可包括:s121:在第一主处理时间向从处理器发送第一读指令,使得所述从处理器接收所述第一读指令后,返回第一读数据,所述第一读
数据包括第一从时间;s122:响应于接收所述从处理器返回的第一读数据,发送第二读指令,使得所述从处理器接收所述第二读指令后,返回第二读数据,所述第二读数据包括第二从时间;s123:在第三主处理时间接收所述从处理器返回的第二读数据。
[0152]
如图5所示,本实施例以主处理器连续两次向从处理器发送读指令并获取读取数据为一次数据采集,获取主处理器的三个主时间,例如在第一组数据采集中,获取主处理器的三个主时间tm1、tm2和tm3,在第n次数据采集中,获取主处理器的三个主时间tm1’、tm2’和tm3’。
[0153]
s2进一步包括:s221:获取多个所述主时间时隙,并按数值大小的顺序存储在所述存储队列中,以及每次获取所述主时间时隙时,将所述测试计数器的计数值加1;s222:响应于所述测试计数器的计数值小于预设置的测试计数阈值,根据预设置的收敛判断公式判断所述主时间时隙是否收敛,若所述主时间时隙不收敛,则向从处理器发送读指令以再次获取所述主时间时隙;若所述主时间时隙收敛,则跳转至s223;s223:根据所述当前主时间时隙和从时间时隙计算时隙差值。
[0154]
s2进一步还包括:响应于所述测试计数器的计数值不小于预设置的测试计数阈值,则跳转至s01,即退出本次程序,再次初始化存储队列和测试计数器后重新开始采集数据。
[0155]
本实施例在每次数据采集中,根据三个主时间获取主时间时隙,并按数值大小的顺序存储在存储队列中,例如在第一次数据采集时,将主处理器的三个主时间tm1、tm2和tm3获取的主时间时隙δtm存储在存储队列q[0]中,在第n次采集时将主处理器的三个主时间tm1’、tm2’和tm3’获取的主时间时隙δt
m’与存储队列中的各主时间时隙δtm进行数值对比,并将最小的δtm存储在存储队列q[0]中,以便于后续判断是否收敛。
[0156]
在一具体实施例中,假设测试计数阈值为10,则:
[0157]
首先,判断测试计数器的计数值是否大于等于测试计数阈值10,若测试计数器的计数值大于等于测试计数阈值10则认为数据采集存在异常情况,主处理器退出本次程序并重新向从处理器发送读指令,若测试计数器的计数值小于测试计数阈值10则继续进行数据采集。
[0158]
其次,判断主时间时隙是否满足收敛判断公式,例如是否满足(1+∈)*q[0]》=q[k-1],其中,q[n]为存储队列,k为测试计数阈值,q[k-1]为当前获取到的第k个主时间时隙,q[0]为队列中最小的主时间时隙,∈为收敛参数,当主时间时隙满足收敛判断公式时表明采集到准确的主时间时隙,同时根据本次数据采集的两个从时间获取从时间时隙,并计算时隙差值。
[0159]
本实施例利用精确度较高的主时间时隙获取精确度较高的时隙差值,以便于进一步判断时隙差值是否大于时隙阈值,并在时隙差值大于时隙阈值的情况下进一步获取主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间;从而进一步提高了计时精度和计时准确度。
[0160]
考虑到从处理器存在改变运行频率的情况,在一个可选的实施例中,所述读指令包括:读取所述从处理器的存储周期计数器的计数值的计数寄存器的第一指令;以及读取所述从处理器的频率寄存器的第二指令。
[0161]
在本实施例中,当从处理器改变运行频率,周期计数器的计数值表征的时间值发
生变化,为了进一步确保主处理器和从处理器的时间同步校正,设置主处理器向从处理器发送读指令时,不仅仅读取从处理器中存储计数值的计数寄存器,还读取所述从处理器的频率寄存器以获得从处理器的频率值,从而准确地获取从处理器的从时间间隙。即通过读取从处理器的频率值进一步提高从处理器的从时间时隙的时间精度,从而提高使用从处理器的从时间时隙同步并校正主处理器的同步补偿值,以提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0162]
考虑到从处理器存在运行异常的情况,在一个可选的实施例中,所述主处理器连续读取所述从处理器的计数寄存器的计数值;所述主处理器根据多个所述计数值,使用预设置的统计验证法验证所述从处理器是否正常运行,若所述从处理器不是正常运行则发送报警信息并中止所述从处理器。
[0163]
在本实施例中,通过主处理器连续读取从处理器的计数寄存器的计数值,根据统计验证法验证从处理器是否正常运行,例如使用p值校验法对获取的计数值进行校验,根据计算获取的p值与对应的统计量进行比较,从而判断从处理器存在异常的可能性,当p值不满足对应的统计量变化时认为从处理器处于非正常运行状态,此时主处理器中止从处理器的运行,并且主处理器发送报警信息以便于提示用户及时进行故障排查,特别的可以设置主处理器停止运行,以避免发生更严重的故障。
[0164]
值得说明的是,本实施例对连续读取所述从处理器的计数寄存器的计数值的时间不作具体限定,可以为任意时间节点,本领域技术人员应当理解,当连续读取所述从处理器的计数寄存器的计数值的时间以判断从处理器是否存在故障的时间节点与采集主处理器和从处理器时间计算时隙差值的时间节点不同时,或者从处理器的验证过程不同于主从处理器的同步校正过程时,能够避免从处理器验证对同步校正的影响,即进一步提高同步校正的时间精度。
[0165]
本实施例通过主处理器连续读取从处理器的计数寄存器的计数值,并根据读取的计数值使用统计验证法验证从处理器是否正常运行,从而进一步提高从处理器的计时准确度,以提高主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0166]
考虑到主处理器的主时间时隙与从处理器的从时间时隙的时隙差值小于等于所述时隙阈值的情况,在一个可选的实施例中,若所述时隙差值小于所述时隙阈值则输出所述第一展示时间和所述第二展示时间,此时不需要对主处理器的时间进行校正,此时输出的所述第一展示时间为:t
v1
=t
m1
;所述第二展示时间为:t
v2
=t
m1
+δts;其中,t
v1
为第一展示时间,t
v2
为第二展示时间,t
m1
为第一主处理时间,δts为从时间时隙。
[0167]
本实施例在时隙差值小于时隙阈值的情况下,即主处理器与从处理器时间同步的情况下,以主处理器侧的发送第一读指令时间作为计时起点,一方面输出主处理器的展示时间、另一方面结合从处理器的从时间时隙输出从处理器的展示时间,即通过将主处理器的展示时间和从处理器的展示时间统一到一个时间轴上,从而便于根据主处理器和从处理器的展示时间分析异构系统的运行性能。
[0168]
与上述实施例提供的同步方法相对应,本技术的一个实施例还提供一种应用上述同步方法的异构系统,由于本技术实施例提供的异构系统与上述几种实施例提供的同步方法相对应,因此在前实施方式也适用于本实施例提供的异构系统,在本实施例中不再详细
描述。
[0169]
如图2所示,本技术的一个实施例还提供一种应用上述同步方法的异构系统,所述异构系统包括主处理器和至少一个从处理器,所述主处理器配置为:
[0170]
s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;
[0171]
s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;
[0172]
s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。
[0173]
本实施例的异构系统,通过主处理器向从处理器发送同步测试指令集并接收返回的多个读取数据,从而获取主处理器的主处理时间和从处理器的从处理时间,根据主处理时间获取主时间时隙、根据从处理时间获取从时间时隙、以及根据主时间间隙和从时间间隙计算时隙差值,并根据时隙差值判断主处理器和从处理器是否同步,若主处理器和从处理器不同步则计算同步补偿值并输出主处理器的展示时间和从处理器的展示时间;即本实施例通过对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,从而有效提高异构系统中主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能,具有实际应用价值。本实施例的具体实施方向参见前述实施例,在此不再赘述。
[0174]
在一个可选的实施例中,所述异构系统的主处理器进一步配置为:
[0175]
所述s1进一步包括:
[0176]
s101:在第一主处理时间向从处理器发送第一读指令,使得所述从处理器接收所述第一读指令后,返回第一读数据,所述第一读数据包括第一从时间;
[0177]
s102:响应于接收所述从处理器返回的第一读数据,发送第二读指令,使得所述从处理器接收所述第二读指令后,返回第二读数据,所述第二读数据包括第二从时间;
[0178]
s103:在第三主处理时间接收所述从处理器返回的第二读数据;
[0179]
所述s2进一步包括:
[0180]
s201:根据所述第一主处理时间和第三主处理时间获取所述主时间时隙;
[0181]
s202:根据所述第一从时间和第二从时间获取所述从时间时隙;
[0182]
s203:根据所述主时间时隙和从时间时隙计算时隙差值。
[0183]
本实施例通过主处理器连续两次向从处理器发送读指令并获取读取数据,从而获得主处理器侧的三个主处理时间和从处理器侧的两个从处理时间,有效提高计时准确度。本实施例的具体实施方向参见前述实施例,在此不再赘述。
[0184]
在一个可选的实施例中,所述s1之前还包括:
[0185]
s01:初始化存储队列和测试计数器;
[0186]
所述s2进一步包括:
[0187]
s221:获取多个所述主时间时隙,并按数值大小的顺序存储在所述存储队列中,以及每次获取所述主时间时隙时,将所述测试计数器的计数值加1;
[0188]
s222:响应于所述测试计数器的计数值小于预设置的测试计数阈值,根据预设置的收敛判断公式判断当前主时间时隙是否收敛,若所述当前主时间时隙不收敛,则向从处理器发送读指令以再次获取所述主时间时隙;若所述主时间时隙收敛,则跳转至s223;
[0189]
s223:根据所述当前主时间时隙和从时间时隙计算时隙差值。
[0190]
在一可选的实施例中,每次获取主时间时隙以及从时间时隙的过程包括::
[0191]
s121:在第一主处理时间向从处理器发送第一读指令,使得所述从处理器接收所述第一读指令后,返回第一读数据,所述第一读数据包括第一从时间;
[0192]
s122:响应于接收所述从处理器返回的第一读数据,发送第二读指令,使得所述从处理器接收所述第二读指令后,返回第二读数据,所述第二读数据包括第二从时间;
[0193]
s123:在第三主处理时间接收所述从处理器返回的第二读数据。
[0194]
本实施例通过主处理器向从处理器发送多组同步测试指令,有效获取精确的主时间时隙,即本实施例利用k次最优方法能够精确采集主处理器读取从处理器的指令时间,换句话说,通过获取精确的主时间时隙以提高计时准确度。本实施例的具体实施方向参见前述实施例,在此不再赘述。
[0195]
基于上述实施例的同步方法,本技术的一个实施例还提供一种应用第一个实施例所述的同步方法的移动终端,包括主处理器和至少一个传感器,每个传感器包括从处理器,所述主处理器配置为:
[0196]
s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;
[0197]
s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;
[0198]
s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。
[0199]
在本实施例中,移动终端为智能手机或平板电脑,包括主处理器和多个传感器,所述传感器包括光学传感器、重力传感器、红外传感器、磁力传感器、温度传感器、陀螺仪、加速度传感器、惯性传感器等,各传感器包括从处理器,智能手机可以通过主处理器与各从处理器之间进行同步输出展示时间以便于分析异构系统间的运行性能。
[0200]
具体的,所述移动终端通过主处理器向传感器从处理器发送同步测试指令集并接收返回的多个读取数据,从而获取主处理器的主处理时间和从处理器的从处理时间,根据主处理时间获取主时间时隙、根据从处理时间获取从时间时隙、以及根据主时间间隙和从时间间隙计算时隙差值,并根据时隙差值判断主处理器和从处理器是否同步,若主处理器和从处理器不同步则计算同步补偿值并输出主处理器的展示时间和从处理器的展示时间;即本实施例通过对时间段计时更准确的从处理器的时间同步并校正主处理器的时间,从而有效提高移动终端中主处理器和从处理器的时间同步精度,便于根据主处理器和从处理器的展示时间分析异构系统的运行性能,具有实际应用价值。本实施例的具体实施方向参见前述实施例,在此不再赘述。
[0201]
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程
序,该程序被处理器执行时实现:s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。
[0202]
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0203]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0204]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0205]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0206]
如图6所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图6显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0207]
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0208]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举
例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0209]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0210]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0211]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0212]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0213]
处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种异构系统核间时间的同步方法。
[0214]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

技术特征:
1.一种异构系统核间时间的同步方法,其特征在于,适用于主处理器,包括:s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。2.根据权利要求1所述的同步方法,其特征在于,所述s1进一步包括:s101:在第一主处理时间向从处理器发送第一读指令,使得所述从处理器接收所述第一读指令后,返回第一读数据,所述第一读数据包括第一从时间;s102:响应于接收所述从处理器返回的第一读数据,发送第二读指令,使得所述从处理器接收所述第二读指令后,返回第二读数据,所述第二读数据包括第二从时间;s103:在第三主处理时间接收所述从处理器返回的第二读数据;所述s2进一步包括:s201:根据所述第一主处理时间和第三主处理时间获取所述主时间时隙;s202:根据所述第一从时间和第二从时间获取所述从时间时隙;s203:根据所述主时间时隙和从时间时隙计算时隙差值。3.根据权利要求1所述的同步方法,其特征在于,所述s1之前还包括:s01:初始化存储队列和测试计数器;所述s2进一步包括:s221:获取多个所述主时间时隙,并按数值大小的顺序存储在所述存储队列中,以及每次获取所述主时间时隙时,将所述测试计数器的计数值加1;s222:响应于所述测试计数器的计数值小于预设置的测试计数阈值,根据预设置的收敛判断公式判断当前主时间时隙是否收敛,若所述当前主时间时隙不收敛,则向从处理器发送读指令以再次获取所述主时间时隙;若所述主时间时隙收敛,则跳转至s223;s223:根据所述当前主时间时隙和从时间时隙计算时隙差值。4.根据权利要求2-3中任一项所述的同步方法,其特征在于,所述第一同步补偿值为:t
cpu
=δt
m-δt
s
;校正后的第一展示时间为:t
v1
=t
m1
+t
cpu
;所述第二展示时间为:t
v2
=t
m1
+δt
s
;其中,t
cpu
为第一同步补偿值,t
soc
为第二同步补偿值,δt
m
为主时间时隙,δt
s
为从时间时隙,t
v1
为第一展示时间,t
v2
为第二展示时间,t
m1
为第一主处理时间。5.根据权利要求2-4中任一项所述的同步方法,其特征在于,所述s3进一步包括:响应于所述时隙差值小于所述时隙阈值,输出所述第一展示时间和所述第二展示时间,其中
所述第一展示时间为:t
v1
=t
m1
;所述第二展示时间为:t
v2
=t
m1
+δt
s
;其中,t
v1
为第一展示时间,t
v2
为第二展示时间,t
m1
为第一主处理时间,δt
s
为从时间时隙。6.根据权利要求1-5中任一项所述的同步方法,其特征在于,所述读指令包括:读取所述从处理器的存储周期计数器的计数值的计数寄存器的第一指令;以及读取所述从处理器的频率寄存器的第二指令。7.根据权利要求1-6中任一项所述的同步方法,其特征在于,所述同步方法还包括:连续读取所述从处理器的计数寄存器的计数值;根据多个所述计数值,使用预设置的统计验证法验证所述从处理器是否正常运行,若所述从处理器不是正常运行则发送报警信息并中止所述从处理器。8.根据权利要求1-7中任一项所述的同步方法,其特征在于,所述时隙阈值小于等于所述从时间时隙的20%。9.一种应用如权利要求1-8中任一项所述的同步方法的异构系统,其特征在于,所述异构系统包括主处理器和至少一个从处理器,所述主处理器配置为:s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。10.一种应用如权利要求1-8中任一项所述的同步方法的移动终端,其特征在于,包括主处理器和至少一个传感器,每个传感器包括从处理器,所述主处理器配置为:s1:向从处理器发送至少两个读指令,以及接收所述从处理器返回的多个读数据,并获取发送所述读指令时、接收读数据的主处理时间,所述读数据包括所述从处理器响应所述读指令的从处理时间;s2:根据多个所述主处理时间获取主时间时隙,以及根据多个所述从处理时间获取从时间时隙,并计算所述主时间时隙和所述从时间时隙的时隙差值;s3:响应于所述时隙差值大于时隙阈值,获取所述主处理器的第一同步补偿值,并根据所述第一同步补偿值校正所述主处理器的第一展示时间,输出所述校正后的第一展示时间和所述从处理器的第二展示时间。

技术总结
本发明公开了一种异构系统核间时间的同步方法、异构系统和移动终端,应用于主处理器的同步方法包括:向从处理器发送至少两个读指令,以及接收从处理器返回的多个读数据,并获取发送读指令时、接收读数据的主处理时间,读数据包括从处理器响应读指令的从处理时间;根据多个主处理时间获取主时间时隙,以及根据多个从处理时间获取从时间时隙,并计算二者的时隙差值;响应于时隙差值大于时隙阈值,获取主处理器的第一同步补偿值,并根据第一同步补偿值校正主处理器的第一展示时间,输出校正后的第一展示时间和从处理器的第二展示时间。本实施例通过使用对时间段计时准确的从处理器同步并校正主处理器,有效提高主从处理器的时间同步精度。同步精度。同步精度。


技术研发人员:于士超
受保护的技术使用者:北京希姆计算科技有限公司
技术研发日:2021.12.31
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐