CN114020095B - 一种基于时钟对齐与同步的双处理器锁步*** - Google Patents

一种基于时钟对齐与同步的双处理器锁步*** Download PDF

Info

Publication number
CN114020095B
CN114020095B CN202111360089.9A CN202111360089A CN114020095B CN 114020095 B CN114020095 B CN 114020095B CN 202111360089 A CN202111360089 A CN 202111360089A CN 114020095 B CN114020095 B CN 114020095B
Authority
CN
China
Prior art keywords
cpu
clock
main control
control cpu
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111360089.9A
Other languages
English (en)
Other versions
CN114020095A (zh
Inventor
郭锦铠
朱启昌
曲国远
于乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Aeronautical Radio Electronics Research Institute
Original Assignee
China Aeronautical Radio Electronics Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Aeronautical Radio Electronics Research Institute filed Critical China Aeronautical Radio Electronics Research Institute
Priority to CN202111360089.9A priority Critical patent/CN114020095B/zh
Publication of CN114020095A publication Critical patent/CN114020095A/zh
Application granted granted Critical
Publication of CN114020095B publication Critical patent/CN114020095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于时钟对齐与同步的双处理器锁步***,主控CPU与监控CPU的配置如下:由同源时钟模块驱动主控CPU与监控CPU同时上电复位;分别在Module OS入口处、MajorFrame开始处、分区切换开始处设时钟对齐检测点,由监控CPU通过PCIe总线或以太网向主控CPU发送时间戳,由主控CPU进行比对,若发现主控CPU与监控CPU的时钟漂移累积为t,超过精度要求所设阈值,则在运行超前CPU的DEC定时器中断处理函数中增加步长t,使得下一次时钟中断时,主控CPU和监控CPU的***时间戳对齐同步。本发明取消了处理器***扩展的同步校对硬件,以较低的成本实现10‑9级的高完整性需求。

Description

一种基于时钟对齐与同步的双处理器锁步***
技术领域
本发明属于航空电子***领域,特别涉及一种基于时钟对齐与同步的双处理器锁步***,满足民用航空电子设备对高完整性和高可靠性的需求。
背景技术
基于民机安全性理论,核心设备的完整性须达到10-9,产品的完整性指标是由产品架构和数据处理的各个环节的完整性指标决定的。而单一环节的完整性指标是以产品基本可靠性为依据,通过在该环节增加数据校验的复杂度来提高该环节的完整性。基于当前元器件的可靠性和产品设计的复杂度,产品的基本可靠性一般在10-3到10-5的水平,单单通过增加校验算法(如CRC、ECC等)的复杂度来提高特定环节的完整性会造成设计复杂性大幅度提升,甚至在工程上是不可实现的。锁步(Lockstep)作为一项安全关键技术,是解决航空电子设备高完整性需求的有效手段。学术界早已有相关理论,如今随着技术进步,工业界经反复迭代创新,已形成产品,被应用于波音777、波音787等客机项目的IMA(综合模块化航空电子***)。该技术的应用对提升飞行的安全性和可靠性,对计算机余度管理技术的发展,都产生了重要影响。
参见图1所示的一典型处理器Lockstep框架,核心是由两个相同处理器组成的双余度***,通常设计一个Master CPU(主控CPU),另一个为Monitor CPU(监控CPU),监控CPU负责监视主控CPU的运行,在Lockstep状态下,两个处理器运行相同的计算任务。双处理器***扩展一个Check部件(如CPLD,FPGA等),周期地对两处理器计算结果作校对,一致则由主控CPU对外输出计算结果;如发现不一致,表明出现故障,***停止工作,防止错误蔓延到更上层***。国外早期多采用这种方式,设计简单,但这种Lockstep检测策略不完善,需要在处理器外额外扩展不同的硬件电路进行同步校对,效率较低,导致CPU处理能力下降。
随着CPU技术发展,也有厂商定制锁步功能的双核处理器,可以在双核间作指令级的同步校对,并能迅速定位故障,进行隔离。这种定制指令级的锁步颗粒度细,可以简化***设计,但是需要有自主处理器芯片设计和制造能力,设计验证复杂,成本高昂,这一领域市场规模小,没有厂商有意愿提供此类货架产品,因而目前在国内较难实现。
发明内容
本发明的目的在于提供一种基于时钟对齐与同步的双处理器锁步***,取消了处理器***扩展的同步校对硬件,设计成双处理器内部校对验证,显著降低因锁步带来的性能下降,处理器可采购商用货架产品,以较低的成本实现10-9级的高完整性需求。
本发明通过以下技术方案实现:
一种基于时钟对齐与同步的双处理器锁步***,包含同源时钟模块、主控CPU、监控CPU,主控CPU与监控CPU的配置如下:
a)、主控CPU与监控CPU的锁相环模块接同源时钟模块,使同源时钟模块驱动主控CPU与监控CPU同时上电复位;
b)、主控CPU与监控CPU上运行VxWorks 653操作***,在Module OS入口处设置第一次时钟对齐检测点,使主控CPU与监控CPU同时进Module OS;
c)、每个Major Frame周期开始处设置时钟对齐检测点,使主控CPU与监控CPU每次同时启动新一轮分区调度;其中,Major Frame是VxWorks 653调度的主时间框架,MajorFrame的第一个分区设计为空(Spare)分区;
d)、Major Frame周期内的分区切换开始处再次设置时钟对齐检测点,使主控CPU与监控CPU每次同时启动分区切换;
e)、在每个时钟对齐检测点,由监控CPU通过PCIe总线或以太网向主控CPU发送时间戳,由主控CPU进行比对,若发现主控CPU与监控CPU的时钟漂移累积为t,超过精度要求所设阈值,则在运行超前CPU的DEC定时器中断处理函数中增加步长t,使得下一次时钟中断时,主控CPU和监控CPU的***时间戳对齐同步。
优选地,同源时钟模块包含同源时钟晶振和时钟缓冲器,同源时钟晶振通过监控两路看门狗的复位输出和电源状态指示信号来保证主控CPU、监控CPU的同步复位,通过时钟缓冲器保证输出到两个CPU的时钟一致性。
本发明相比早前方案,有益效果在于:
a)由于采用同源时钟模块设计,可保证两侧处理器内核初始状态的一致性,同时为消除两侧内核时钟细微差异累积误差,该模块会周期的输出同步信号给处理器,利用VxWorks 653***时钟中断完成两路处理器运行误差的周期修正,进而保证两侧数据处理的“持续一致性”。
b)由于取消了***同步校对部件,在主控CPU侧进行数据校对验证,相对于外部FPGA部件,极大简化设计,减少性能损耗,同时可通过时钟对齐的阈值控制同步精度,可满足不同高完整性应用场景,提高***综合效率。
附图说明
图1为传统典型处理器的锁步框架。
图2为本实施例所示的一种基于时钟对齐与同步的双处理器锁步***的框架示意图。
图3为VxWorks 653软件框架。
图4为基于时钟对齐与同步的双处理器锁步***的应用示例。
图5为时钟对齐检测点时序示意图。
图6为时钟对齐示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。
如图2所示,本实施例所示的一种基于时钟对齐与同步的双处理器锁步***,包含同源时钟模块、主控CPU、监控CPU,同源时钟模块作为主控CPU与监控CPU的内核时钟源,为主控CPU、监控CPU提供内核时钟、同源复位和同步操作触发源。该同源时钟模块包含同源时钟晶振和时钟缓冲器,同源时钟晶振通过监控两路看门狗的复位输出和电源状态指示信号来保证主控CPU、监控CPU的同步复位。该同源时钟模块通过时钟缓冲器保证输出到主控CPU、监控CPU的时钟一致性。通过以上措施,保证两路CPU通道初始状态的一致性。
对比图1所示,本实施例采用同源时钟模块,与图1另一不同之处是取消了***同步校对部件。主控CPU、监控CPU之间可设计通过PCIe总线或以太网进行数据交换。结合同源输入时钟和基于分时分区操作***的时钟对齐设计,可以把双处理器计算结果的校对验证放在主控CPU端完成,能够极大降低硬件设计复杂度,降低处理器性能损耗。
双处理器锁步的核心在于两侧数据的校对验证,而校对验证的前提是要能保证两侧数据具有可比性,排除上一周期与下一周期数据不一致引起的虚警,关键就在于两侧内核时钟能保证对齐同步。同源时钟模块为主控CPU、监控CPU两路处理器通道提供内核输入时钟和初始状态的一致性。由于主控CPU、监控CPU的时钟路径和锁相环的差异可能造成工作时钟的细微差别,这种细微差异在CPU内核长时间运行后可能会累积超过一个或数个指令工作周期,这样主控CPU、监控CPU之间的数据校对就没有可比性。因此本发明的一个关键设计在于必须周期性检测主控CPU、监控CPU的内核时钟,如发现两者的时钟漂移超过一定阈值,则需要对超前运行的内核进行时钟校准,类似于“拨慢”时钟,使两CPU内核再一次对齐,实现时钟同步。要达到此目的,需要结合处理器内核时钟定时器和操作***的分时分区特性。
本实施例在处理器之上运行VxWorks 653分时分区操作***,主控CPU、监控CPU由同源时钟模块驱动同时启动,运行相同的任务应用。VxWorks 653是符合ARINC 653标准的分时分区操作***。ARINC 653是国际机载实时操作***领域的行业标准,无论是民用还是军用航空器都会选用符合ARINC 653标准的实时操作***。
如图3所示,运行VxWorks 653操作***的软件分为MOS(Module OS)、POS(Partition OS)、Partition Application三层。每个Application与一个POS联编组成一个分区应用,与其他分区在地址空间和运行时间上隔离。Module OS负责所有分区的运行调度。本发明拟采用三个层级的Check Point予以保证主控CPU、监控CPU的内核时钟对齐同步。首先是通过外部同步触发源与VxWorks 653操作***的时钟中断进行关联,保证操作***调度周期和相位的一致性;其次是设计一个空分区(Spare Partiton),排序在所有分区首部,每个调度周期开始时进行主控CPU、监控CPU的内核时钟对齐,空分区的存在能保证其余分区任务时间片不被占用;第三是在一个分区时间片结束开始下一个分区运行即分区切换(Partition Switch)时,再次进行时钟对齐,这样就能保证主控CPU、监控CPU上分区运行时序的一致性,进而能够保证两侧数据校对具备可比性。
要实现主控CPU、监控CPU两侧内核时钟的对齐同步,关键在研究如何应用VxWorks653操作***时钟中断与处理器的内核时钟定时器进行关联。现代处理器内核通常会有多个不同功能的时钟定时器,如TB(Time Base)、DEC(Decrementer)。TB定时器由锁相环模块驱动,为内核指令运行提供基准时钟周期(Tick),DEC定时器通常用作操作***时钟中断的减法计数器。本发明中,在Check Point时如检测发现主控CPU、监控CPU的时钟差异累积已超过阈值,可通过修改VxWorks 653***时钟中断的步长,使得运行快的一侧时钟慢下来等待另一侧,实现对齐,使得两侧时钟再次同步。
下面对一种基于时钟对齐与同步的双处理器锁步***的应用进行举例说明。
参见图4所示,主控CPU与监控CPU采用飞思卡尔公司的P2010 CPU,同源时钟模块由晶振和CPLD时钟Buffer组成,提供时钟输入源。主控CPU与监控CPU通过PCIe总线或者以太网通讯方式进行数据校对。与图2不同的是,本实施例根据项目实际需求,与外***设备数据交互采用航空专用以太网(AFDX,Avionics Full Duplex Switched Ehernet)。AFDX终端基于ARINC664标准,用FPGA设计实现。如图4所示,A664终端通过PCIe挂到P2010 CPU上,两侧A664终端也采用同步时钟保证相同输入频率,通过SPI总线进行终端间的数据校对。关键数据经两侧处理器同步处理后,先在主控CPU上进行校对,一致则发给A664终端,两A664终端在逻辑处理完后再次完成校对,一致则通过A664网络发送给其他设备;若校对不一致,此帧数据将被丢弃处理,防止故障蔓延。
参见图5表示本实施例中时钟对齐检测点Check Point的时序设计,主控CPU与监控CPU的配置如下:
1主控CPU与监控CPU的锁相环模块接同源时钟模块,使同源时钟模块驱动主控CPU与监控CPU同时上电复位。硬件设计时,两个处理器内核时钟、DDR控制器的参考时钟以及CPLD的工作时钟都是由同一个晶振激励产生,保证两CPU同时进入上电复位指令。
2主控CPU与监控CPU上运行VxWorks 653操作***,在Module OS入口处设置第一次时钟对齐检测点,使主控CPU与监控CPU同时进Module OS。
3在每个Major Frame周期开始处设置时钟对齐检测点,使主控CPU与监控CPU每次同时启动新一轮分区调度。Major Frame是VxWorks 653调度的主时间框架,Major Frame的第一个分区设计为空分区,如图6所示,在Spare分区开始处设时钟对齐检测点,保证两CPU同步进入Major Frame。
4在Major Frame内部分区切换开始处再次进行时钟对齐检测,如图6所示,使主控CPU与监控CPU每次同时启动分区切换。
5应用分区结束时作Data Check,一致则发给A664终端。
6A664终端在输出时再一次作Data Check,一致,则输出至外部。
在每个时钟对齐检测点,由监控CPU通过PCIe总线或以太网向主控CPU发送信号,由主控CPU进行检测。图6为在Check Point处作时钟对齐的示意。如在Major Framek开始处,检测发现主控CPU与监控CPU的时钟漂移累积为t,超过精度要求所设阈值,主控CPU当前运行超前,则在主控CPU的DEC定时器的中断处理函数中增加步长t,相当于拨慢内核时钟,到下次MajorFrame时,两CPU时钟漂移控制在精度要求范围内,实现时钟对齐同步目的。
本实施例提出的一种基于时钟对齐与同步的双处理器锁步***,实现例如综合模块化航空电子***。该设计方法极大的丰富了具有高完整性需求的锁步技术实现形式。该发明的应用独立于硬件平台,适用范围广,具有显著的市场前景和经济效益。
综上所述,仅为本发明的较佳实施例,并非用来限定本发明实施的范围,凡依本发明权利要求范围所述的形状、构造、特征及精神所为的均等变化与修饰,均应包括与本发明的权利要求范围内。

Claims (2)

1.一种基于时钟对齐与同步的双处理器锁步***,包含同源时钟模块、主控CPU、监控CPU,其特征在于:主控CPU与监控CPU的配置如下:
a)、主控CPU与监控CPU的锁相环模块接同源时钟模块,使同源时钟模块驱动主控CPU与监控CPU同时上电复位;
b)、主控CPU与监控CPU上运行VxWorks 653操作***,在Module OS入口处设置第一次时钟对齐检测点,使主控CPU与监控CPU同时进Module OS;
c)、每个Major Frame周期开始处设置时钟对齐检测点,使主控CPU与监控CPU每次同时启动新一轮分区调度;其中,Major Frame是VxWorks 653调度的主时间框架,Major Frame的第一个分区设计为空分区;
d)、Major Frame周期内的分区切换开始处再次设置时钟对齐检测点,使主控CPU与监控CPU每次同时启动分区切换;
e)、在每个时钟对齐检测点,由监控CPU通过PCIe总线或以太网向主控CPU发送时间戳,由主控CPU进行比对,若发现主控CPU与监控CPU的时钟漂移累积为t,超过精度要求所设阈值,则在运行超前CPU的DEC定时器中断处理函数中增加步长t,使得下一次时钟中断时,主控CPU和监控CPU的***时间戳对齐同步。
2.根据权利要求1所述的一种基于时钟对齐与同步的双处理器锁步***,同源时钟模块包含同源时钟晶振和时钟缓冲器,同源时钟晶振通过监控两路看门狗的复位输出和电源状态指示信号保证主控CPU、监控CPU的同步复位,通过时钟缓冲器保证输出到两个CPU的时钟一致性。
CN202111360089.9A 2021-11-17 2021-11-17 一种基于时钟对齐与同步的双处理器锁步*** Active CN114020095B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111360089.9A CN114020095B (zh) 2021-11-17 2021-11-17 一种基于时钟对齐与同步的双处理器锁步***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111360089.9A CN114020095B (zh) 2021-11-17 2021-11-17 一种基于时钟对齐与同步的双处理器锁步***

Publications (2)

Publication Number Publication Date
CN114020095A CN114020095A (zh) 2022-02-08
CN114020095B true CN114020095B (zh) 2024-06-18

Family

ID=80064727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111360089.9A Active CN114020095B (zh) 2021-11-17 2021-11-17 一种基于时钟对齐与同步的双处理器锁步***

Country Status (1)

Country Link
CN (1) CN114020095B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117992126B (zh) * 2024-04-07 2024-06-25 西安羚控电子科技有限公司 一种基于软件lockstep的处理器协同工作方法及***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102939591A (zh) * 2010-04-15 2013-02-20 吉林克斯公司 用于锁步同步的***和方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156371B2 (en) * 2009-06-16 2012-04-10 Honeywell International Inc. Clock and reset synchronization of high-integrity lockstep self-checking pairs
US10946866B2 (en) * 2018-03-31 2021-03-16 Intel Corporation Core tightly coupled lockstep for high functional safety
CN113253796B (zh) * 2021-07-01 2021-10-08 北京智芯微电子科技有限公司 异步输入信号的同步方法及装置、中央处理器、芯片

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102939591A (zh) * 2010-04-15 2013-02-20 吉林克斯公司 用于锁步同步的***和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Error Correlation Prediction in Lockstep Processors for Safety-Critical Systems";Emre Ozer等;《2018 51st Annual IEEE/ACM International Symposium on Microarchitecture》;20181213;全文 *

Also Published As

Publication number Publication date
CN114020095A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN111352338B (zh) 一种双余度飞控计算机及余度管理方法
KR100566339B1 (ko) 폴트 톨러런트 컴퓨터 시스템, 그 재동기화 방법, 및 그 재동기화 프로그램을 갖는 컴퓨터 판독가능 저장매체
EP2013733B1 (en) Error filtering in fault tolerant computing systems
US3932847A (en) Time-of-day clock synchronization among multiple processing units
US7774659B2 (en) Method of monitoring the correct operation of a computer
CN111538369B (zh) 一种三模冗余计算机时钟同步方法及其***
US8205201B2 (en) Process for maintaining execution synchronization between several asynchronous processors working in parallel and in a redundant manner
CN102402220B (zh) 基于负荷分担式的容错飞行控制***的故障检测方法
US20070220367A1 (en) Fault tolerant computing system
US20120210164A1 (en) Scheduler for multiprocessor system switch with selective pairing
US10162314B2 (en) Two-way architecture
RU2455681C1 (ru) Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации
CN114020095B (zh) 一种基于时钟对齐与同步的双处理器锁步***
CN103473156A (zh) 一种基于实时操作***的星载计算机三机热备份容错方法
CN113806290B (zh) 一种用于综合模块化航空电子***的高完整性片上***
US5613127A (en) Separately clocked processor synchronization improvement
JP5436422B2 (ja) 高インテグリティと高可用性のコンピュータ処理モジュール
US20040193735A1 (en) Method and circuit arrangement for synchronization of synchronously or asynchronously clocked processor units
CN117573609B (zh) 一种具有冗余功能的片上***及其控制方法
CN114355802A (zh) 一种多核并起的处理器同步调试方法
CN110879549B (zh) 一种基于交叉互比方法的余度测量架构及余度管理方法
CN110673690A (zh) 一种多余度飞机管理计算机的三通道cpu同步方法
CN116257342A (zh) 基于多核处理器的可配置容错星务软件任务调度***
JP7512529B2 (ja) データ処理のためのデータ処理ネットワーク
JPH086800A (ja) データ処理装置及びマイクロプロセッサ

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant