System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于软件lockstep的处理器协同工作方法及系统技术方案_技高网

一种基于软件lockstep的处理器协同工作方法及系统技术方案

技术编号:41280112 阅读:4 留言:0更新日期:2024-05-11 09:31
本申请公开了一种基于软件lockstep的处理器协同工作方法及系统,该方法包括:对双处理器系统进行上电同步,将处理器的时钟作为对应计数器的时钟源进行同步增加;为周期任务分配时间窗口;其中,周期任务包括时间同步与lockstep任务;启动第一时间周期的时间同步窗口进行时间同步;其中,时间同步包括基于路径延时检测的结果进行时间修正;启动第二时间周期的lockstep任务窗口,每隔第二时间周期,获取对应时刻的处理器寄存器快照,并执行lockstep任务。解决了现有的lockstep技术没有考虑数据传输路径中的实时性问题。进而实现了对处理器任务进行同步,并周期性地进行时间同步,能够保证两个处理器执行任务的一致性。

【技术实现步骤摘要】

本申请涉及计算机及其可靠性,尤其涉及一种基于软件lockstep的处理器协同工作方法及系统


技术介绍

1、lockstep(锁步核)技术是一项基于空间冗余的容错技术,其主要是通过多份与主处理器系统相同的硬件单元来实现两个处理器的相互监控,不间断地检查其操作功能的正确性,从而确保处理器的功能正确并可以检测错误,隔离错误,并在一定程度上进行错误恢复。

2、lockstep通过使用多个相同的处理器或核心在同一时间内处理相同的指令,能够保证计算结果的一致性和正确性,还能够发现系统错误,即使是短暂的错误,从而防止故障蔓延,保证系统可靠运行。进而实现信息处理的高完整性和高可靠性。

3、现有的lockstep技术,一般采用一个专用于实现lockstep逻辑的逻辑处理单元以及两个冗余的处理器或者三模冗余的处理器实现。无论是采用两个冗余的处理器还是三模冗余的处理器均没有考虑数据传输路径中的实时性问题。此外,这两种方式的硬件成本较高。


技术实现思路

1、本申请实施例通过提供一种基于软件lockstep的处理器协同工作方法及系统,解决了现有的lockstep技术没有考虑数据传输路径中的实时性问题。

2、第一方面,本申请实施例提供了一种基于软件lockstep的处理器协同工作方法,其特征在于,包括:对双处理器系统进行上电同步,将处理器的时钟作为对应计数器的时钟源进行同步增加;为周期任务分配时间窗口;其中,所述周期任务包括时间同步与lockstep任务;启动第一时间周期的时间同步窗口进行所述时间同步;其中,所述时间同步包括基于路径延时检测的结果进行时间修正;启动第二时间周期的lockstep任务窗口,每隔所述第二时间周期,获取对应时刻的处理器寄存器快照,并执行所述lockstep任务。

3、结合第一方面,在一种可能的实现方式中,所述将处理器的时钟作为对应计数器的时钟源进行同步增加,还包括:获取计数器的时间戳,并判断所述时间戳是否有效;若所述时间戳无效,则重新获取计数器的时间戳,直至所述时间戳有效。

4、结合第一方面,在一种可能的实现方式中,所述路径延时检测,包括:设置第一处理器的定时器,执行路径检测步骤;所述路径检测步骤,包括:由所述第一处理器向第二处理器发送路径检测报文,并记录发送时间戳;所述第二处理器接收到所述路径检测报文后将其返回所述第一处理器;若所述第一处理器接收到所述第二处理器返回的所述路径检测报文等待未超时,记录接收时间戳;根据所述发送时间戳与所述接收时间戳得到测试路径延时;执行预设次数的所述路径检测步骤,并将得到的所述预设次数个所述测试路径延时的均值作为第一路径延时;将所述第一处理器与所述第二处理器对调,并执行所述预设次数的所述路径检测步骤,将得到的所述预设次数的所述测试路径延时的均值作为第二路径延时。

5、结合第一方面,在一种可能的实现方式中,所述基于路径延时检测的结果进行时间修正,包括:迭代执行时间修正步骤直至第一时间戳与第二时间戳相等;所述时间修正步骤,包括:所述第一处理器获取第一定时器时间戳,并结合所述第一路径延时生成第一时间戳;将所述第一时间戳生成时间修正报文发送至所述第二处理器;所述第二处理器接收所述时间修正报文后,结合所述第二路径延时更新所述第一时间戳得到更新后的第一时间戳,并将其发送至所述第一处理器;所述第二处理器接收所述时间修正报文后,获取第二定时器时间戳,并结合所述第二路径延时生成第二时间戳,并将其发送至所述第一处理器;所述第一处理器根据所述第二时间戳与所述更新后的第一时间戳修正所述第一处理器的时间;将所述第一处理器与所述第二处理器对调,并执行所述时间修正步骤。

6、结合第一方面,在一种可能的实现方式中,所述第一处理器根据所述第二时间戳与所述更新后的第一时间戳修正所述第一处理器的时间,包括:所述第一处理器对所述第二时间戳与所述更新后的第一时间戳取均值得到延时均值;所述第一处理器基于所述延时均值修正所述第一处理器的时间。

7、结合第一方面,在一种可能的实现方式中,所述为周期任务分配时间窗口后,还包括:启动第三时间周期的关键任务窗口,在所述关键任务窗口内运行关键任务,并执行基于累加数的lockstep;和/或在所述关键任务完成后,执行基于调度器的lockstep。

8、结合第一方面,在一种可能的实现方式中,所述执行基于累加数的lockstep,包括:第一处理器定义全局变量,当所述第一处理器在所述关键任务窗口内进行lockstep时,所述全局变量加一;所述第一处理器将所述全局变量传递至第二处理器进行对比;若所述第一处理器与所述第二处理器的全局变量的累加值相等,则处理器的lockstep状态正常;否则,处理器的lockstep状态异常。

9、结合第一方面,在一种可能的实现方式中,所述执行基于调度器的lockstep,包括:通过处理器寄存器快照获取所述关键任务的上下文,得到寄存器上下文;通过所述寄存器上下文的程序计数器得到两个处理器的指令运行状态,并判断是否一致,得到运行状态判断结果;通过所述寄存器上下文的通用寄存器得到两个处理器的运行环境,并判断是否一致,得到运行环境判断结果;根据所述运行状态判断结果与所述运行环境判断结果确定执行所述关键任务时的处理器状态,若两个处理器状态一致,则处理器的lockstep状态正常;否则,处理器的lockstep状态异常。

10、结合第一方面,在一种可能的实现方式中,还包括:在所述lockstep任务过程中,在对端处理器发送数据后的预设接收时间内接收该数据,若所述预设接收时间内未收到的对端处理器发送的数据,则lockstep异常计数加一,当所述lockstep异常计数达到预设阈值时,判断为处理器的lockstep状态异常。

11、第二方面,本申请实施例提供了一种基于软件lockstep的处理器协同工作系统,其特征在于,包括时间同步模块、数据发送模块、数据接收模块、传输路径实时性检测模块、lockstep数据位对比模块、lockstep结果判定模块、处理器寄存器快照模块与累加数产生模块;

12、所述时间同步模块,被配置为:根据从所述数据接收模块所接收的对端处理器的时间戳修正本端处理器的计数器,以实现本端处理器与对端处理器的时间同步,并将本端处理器的时间戳传递至所述数据发送模块;

13、所述数据发送模块,被配置为:与所述数据接收模块构成数据传输通道,并为数据总线上发送的数据添加校验位;

14、所述数据接收模块,被配置为:与所述数据发送模块构成数据传输通道,并为数据总线上接收的数据添加校验位;

15、所述传输路径实时性检测模块,被配置为:在数据发送过程中启动数据接收检测计数器,并根据所述数据接收检测计数器所接收的数据检测lockstep异常;

16、所述处理器寄存器快照模块,被配置为:在lockstep任务与调度器调度点获取处理器的处理器寄存器快照,并将所述处理器寄存器快照传递至所本文档来自技高网...

【技术保护点】

1.一种基于软件lockstep的处理器协同工作方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将处理器的时钟作为对应计数器的时钟源进行同步增加,还包括:

3.根据权利要求1所述的方法,其特征在于,所述路径延时检测,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于路径延时检测的结果进行时间修正,包括:

5.根据权利要求4所述的方法,其特征在于,所述第一处理器根据所述第二时间戳与所述更新后的第一时间戳修正所述第一处理器的时间,包括:

6. 根据权利要求1所述的方法,其特征在于,所述为周期任务分配时间窗口后,还包括:

7.根据权利要求6所述的方法,其特征在于,所述执行基于累加数的lockstep,包括:

8.根据权利要求6所述的方法,其特征在于,所述执行基于调度器的lockstep,包括:

9.根据权利要求1所述的方法,其特征在于,还包括:

10.一种基于软件lockstep的处理器协同工作系统,其特征在于,包括时间同步模块、数据发送模块、数据接收模块、传输路径实时性检测模块、lockstep数据位对比模块、lockstep结果判定模块、处理器寄存器快照模块与累加数产生模块;

...

【技术特征摘要】

1.一种基于软件lockstep的处理器协同工作方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将处理器的时钟作为对应计数器的时钟源进行同步增加,还包括:

3.根据权利要求1所述的方法,其特征在于,所述路径延时检测,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于路径延时检测的结果进行时间修正,包括:

5.根据权利要求4所述的方法,其特征在于,所述第一处理器根据所述第二时间戳与所述更新后的第一时间戳修正所述第一处理器的时间,包括:

6. 根据权利要求1所述的方法,其...

【专利技术属性】
技术研发人员:罗腾利王旭锴廖新涛沈洋
申请(专利权)人:西安羚控电子科技有限公司
类型:发明
国别省市:

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

1