CN110147343A - 一种全比较的Lockstep处理器架构 - Google Patents

一种全比较的Lockstep处理器架构 Download PDF

Info

Publication number
CN110147343A
CN110147343A CN201910385026.5A CN201910385026A CN110147343A CN 110147343 A CN110147343 A CN 110147343A CN 201910385026 A CN201910385026 A CN 201910385026A CN 110147343 A CN110147343 A CN 110147343A
Authority
CN
China
Prior art keywords
processor
bus
local bus
interface
lockstep
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.)
Granted
Application number
CN201910385026.5A
Other languages
English (en)
Other versions
CN110147343B (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201910385026.5A priority Critical patent/CN110147343B/zh
Publication of CN110147343A publication Critical patent/CN110147343A/zh
Application granted granted Critical
Publication of CN110147343B publication Critical patent/CN110147343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开一种全比较的Lockstep处理器架构。该架构包括:总线级别同步的双处理器、处理器总线、挂载有存储器接口、外设接口的局部总线和局部总线接口;局部总线接口通过时序转换实现处理器总线转换为局部总线,以便于局部总线访问内存或者其余外设;其中,同步耦合的内存通过存储器接口访问,耦合的其余外设通过外设接口访问,局部总线由FPGA实现。本发明保证计算机实时的高概率故障检测和隔离,实现高完整性计算,同时能在主要处理器总线以及内存接口等进行简单的错误恢复,实现该架构下的高可用性计算。

Description

一种全比较的Lockstep处理器架构
技术领域
本发明属于计算机技术,涉及一种全比较的Lockstep处理器架构。
背景技术
计算机的高完整性计算以及高故障检测率对于其在安全关键领域的应用具有非常重要的意义,利用高完整性计算能够在实现相同安全性的情况下有效的降低系统的余度。Lockstep技术是一种实现高完整性计算的方法,能够实现总线级别的实时检测故障,防止故障蔓延,保证系统的高完整性。本专利提出的Lockstep架构计算机通过设计双处理器各自独立的内总线的架构,可以实现处理器总线以及设备接口的同步比较监控等,实现无单点计算,并达到高故障检测率。
发明内容
发明目的:提供一种全比较的Lockstep处理器架构,保证计算机实时的高概率故障检测和隔离,实现高完整性计算,同时能在主要处理器总线以及内存接口等进行简单的错误恢复,实现该架构下的高可用性计算。
第一方面,提供一种全比较的Lockstep处理器架构,其特征在于,包括:总线级别同步的双处理器、处理器总线、挂载有存储器接口、外设接口的局部总线和局部总线接口;局部总线接口通过时序转换实现处理器总线转换为局部总线,以便于局部总线访问内存或者其余外设;其中,同步耦合的内存通过存储器接口访问,耦合的其余外设通过外设接口访问,局部总线由FPGA实现;
当处理器总线上出现不同步时,处理器总线的控制信号等待以达到同步,实现双处理器的同步运行;当处理器总线上传输地址或者数据不一致时,确定处理器运算或者外设发生错误,触发中断信号,同时向外发送故障指示信号,隔离故障。
进一步的,局部总线接口实现处理器总线到局部总线的数据交互,并进行同步比较;
双处理器在Lockstep架构下处理器总线相互同步,并转换为各自处理器的局部总线,对局部总线上的控制、地址、数据等信号进行同步比较;
其中,当同步比较结果表示比较一致时,双处理器的局部总线进行同步传输,当同步比较结果表示双处理器的局部总线比较不一致时,对外发送中断、错误指示与故障隔离信号,并进行故障处理。
进一步的,局部总线接口根据处理器总线本身的奇偶检验位以及同步比较结果进行简单的错误恢复,实现局部总线高完整性的同步比较访问。
进一步的,局部总线将处理器总线的数据地址进行传输,并转换为各种外设接口时序,以便于进行外设接口扩展,增加外设设备。
进一步的,内存为DDR2器件。
进一步的,内存接口实现双处理器各自的局部总线同步访问各自的DDR2,保证处理器以及其余设备通过局部总线同步访问DDR2,并可根据ECC校验DDR2的数据。
进一步的,如果仍存在ECC无法纠正的错误,内存接口根据双处理器的同步对比结果对访问数据进行简单的错误恢复,内存接口保证局部总线对DDR2的读写数据一致,并在发生简单错误时将将正确的数据写入DDR2或者读出,如果存在不可恢复的错误,内存接口能够发送中断、错误指示与故障隔离信号。
进一步的,处理器是Lockstep处理器,处理器总线是Lockstep处理器总线。
有益效果:本架构采用同步双处理器的总线,并对总线周期事物进行同步比较,在访问的地址数据等一致时对处理器各自的外设进行同步访问,如果访问的地址数据不一致时可以根据总线额外信息进行简单的错误恢复,如果错误不可恢复则认为发生故障,能实时高概率的检测和隔离处理器故障,保证了计算机数据处理的高完整性;本设计将总线信号同步比较之后通过各自的局部总线进行访问外设,并可简单的错误恢复,可以实现在该架构下无单点故障,极大的实现的高完整计算的要求,同时,该架构扩展简单、局限性小,可广泛应用在抗恶劣环境等需要高完整性计算的场景。
附图说明
图1为本发明提供的Lockstep处理器架构框图;
图2为本发明提供的Lockstep处理器内总线接口功能框图;
图3为本发明提供的Lockstep处理器局部总线功能框图;
图4为本发明提供的Lockstep模块内存接口功能框图。
具体实施方式
方案的核心部分是设计处理器总线的同步比较以及局部总线同步比较之后访问内存接口等资源,其余部分可采用通用器件、电路实现。本设计的Lockstep架构通过相同FPGA逻辑对两个节点处理器所有总线周期操作事务以及内存操作进行同步、实时比较与故障检测。
实施例一
本Lockstep计算机架构组成如附图1所示,核心部分的Lockstep架构,其余主要包括以下部分:
(1)处理器
具有处理器总线接口的处理器。如:PowerPC603e、PowerPC74xx等系列处理器。
(2)处理器内总线接口
实现处理器总线-局部总线时序转换,以及在处理器总线上进行同步,在局部总线上实现同步比较功能,并可根据处理器总线的奇偶校验位实现简单的错误恢复。该接口能够保证两个处理器总线上的地址数据保证同步、一致,实现处理器正常的访问外设,并保证访问的正确性。
(3)局部总线
由FPGA逻辑实现,可自定义在系统上访问外设的数据、地址、使能、读写等信号,本架构中双处理器可同步访问各自独立的局部总线结构,同时可以在局部总线上增加各种外围设备,以扩展系统的资源。
(4)DDR2 SDRAM存储器接口
通过FPGA中的内存接口实现局部总线对同步DDR2的访问,并可以根据访问的ECC以及双处理器同步比较的结果进行简单的错误恢复。保证双DDR2中对读写数据一致。
实施例二
1 Lockstep计算机硬件结构
本专利设计的总体框图如图1所示,Lockstep处理器架构主要通过同步比较处理器总线,并在局部总线上访问其余外设。其优点在于扩展方便,外设访问简单。双处理器通过处理器总线接口同步访问各自的局部总线,并同步比较本节点与另一个节点的总线周期事物,在各自的局部总线上保证两个处理器同步运行,并且其数据一致。在局部总线上通过内存接口能够同步访问独立的DDR2内存,保证两个DDR2同步传输数据,且读写数据的一致。并可根据访问DDR2的ECC以及同步比较结果进行简单的错误恢复,实现简单的高可用性。
2 Lockstep处理器内总线接口
Lockstep处理器内总线接口功能框图如附图2所示,实现两个处理器总线周期操作事务同步、实时比较、故障指示功能,并将处理器总线通过内总线接口转换为局部总线,保证处理器能够正常访问外设资源,其功能框图如图2所示。
以CPU0为本节点,CPU1为另一个节点为例,CPU0的本节点处理器总线与CPU1的另一节点处理器总线在FPGA0中进行同步,保证两条处理器总线上的时序完全一致,同时发送地址、数据、控制等信号。同时保存处理器地址总线以及数据总线的奇偶校验位。之后Lockstep内总线接口将处理器总线地址数据控制信号转换为局部总线的时序,并比较本节点与另一个节点的局部总线上需要访问的地址、数据、控制信号是否一致。如果均一致将其地址、数据、控制信号发送给局部总线,并继续进行访问外设的操作。如果比较结果不一致,将进一步根据保存的处理器总线上奇偶校验位结果进行一次错误恢复,采用本节点或者另一节点的局部总线进行数据传输,如果确实无法判别错误源,将检测到的错误通过故障检测向外同步的发送中断,进行故障隔离。其进行错误恢复的判别如下表1所示:
表1
与之对应,另一节点的操作与此相同,可以实现双处理器总线的高完整性传输,不存在单点故障。
Lockstep局部总线接口
如图3所示,Lockstep处理器总线通过内总线接口的同步之后,将处理器总线时序转换为局部总线时序,采用通用的并行总线时序,包括片选、读写信号、地址、数据等。该局部总线结构可以将同步比较之后写操作的地址、数据进行传输,并转换为各种外设接口时序进行外设的访问。同时,可以将从本节点外设访问的读数据发送到另一个节点,并进行比较,如果比较一致将该读数据发送到内总线接口,传输给处理器。如果比较不一致则发送同步中断,进行故障隔离。同时,在局部总线上能够而能够进行任意扩展,增加外设接口,而不用修改其余的总线结构,实现系统的高完整性扩展。
Lockstep内存接口
如图4所示,Lockstep内存接口在双处理器各自的局部总线上同步的对各自的DDR2器件进行访问,保证处理器以及其余设备能通过局部总线同步访问DDR2,并可根据ECC校验“纠一检二”之后,如果仍有ECC无法纠正的错误,可以根据双处理器的对比结果对访问数据进行简单的错误恢复,该内存接口能够保证局部总线对DDR2的读写数据一致,并在发生简单错误时将将正确的数据写入DDR2或者读出,如果发生不可恢复的错误,该接口能够发送中断、错误指示与故障隔离信号,如表2所示。
表2
本发明针对双处理器运行时的处理器总线进行同步,并在处理器总线转为局部总线时进行同步比较,保证双处理器在总线级别同步运行。同时,本发明对双处理器的总线操作,例如地址、数据、控制等进行同步比较,在总线一致时正常运行,总线不一致时可以进行简单的故障恢复,保证处理器正常运行,在无法进行恢复时能够立刻通过中断等方式进行故障处理,进行故障隔离,从而保证系统的高完整性。本发明可以保证整个系统不存在单点故障,从而极大的提高了系统的高完整性,可应用于广大需要高完整性计算的场合。

Claims (8)

1.一种全比较的Lockstep处理器架构,其特征在于,包括:总线级别同步的双处理器、处理器总线、挂载有存储器接口、外设接口的局部总线和局部总线接口;局部总线接口通过时序转换实现处理器总线转换为局部总线,以便于局部总线访问内存或者其余外设;其中,同步耦合的内存通过存储器接口访问,耦合的其余外设通过外设接口访问,局部总线由FPGA实现;
当处理器总线上出现不同步时,处理器总线的控制信号等待以达到同步,实现双处理器的同步运行;当处理器总线上传输地址或者数据不一致时,确定处理器运算或者外设发生错误,触发中断信号,同时向外发送故障指示信号,隔离故障。
2.根据权利要求1所述的Lockstep处理器架构,其特征在于,局部总线接口实现处理器总线到局部总线的数据交互,并进行同步比较;
双处理器在Lockstep架构下处理器总线相互同步,并转换为各自处理器的局部总线,对局部总线上的控制、地址、数据等信号进行同步比较;
其中,当同步比较结果表示比较一致时,双处理器的局部总线进行同步传输,当同步比较结果表示双处理器的局部总线比较不一致时,对外发送中断、错误指示与故障隔离信号,并进行故障处理。
3.根据权利要求2所述的Lockstep处理器架构,其特征在于,局部总线接口根据处理器总线本身的奇偶检验位以及同步比较结果进行简单的错误恢复,实现局部总线高完整性的同步比较访问。
4.根据权利要求1所述的Lockstep处理器架构,其特征在于,局部总线将处理器总线的数据地址进行传输,并转换为各种外设接口时序,以便于进行外设接口扩展,增加外设设备。
5.根据权利要求1所述的Lockstep处理器架构,其特征在于,内存为DDR2器件。
6.根据权利要求5所述的Lockstep处理器架构,其特征在于,内存接口实现双处理器各自的局部总线同步访问各自的DDR2,保证处理器以及其余设备通过局部总线同步访问DDR2,并可根据ECC校验DDR2的数据。
7.根据权利要求6所述的Lockstep处理器架构,其特征在于,如果仍存在ECC无法纠正的错误,内存接口根据双处理器的同步对比结果对访问数据进行简单的错误恢复,内存接口保证局部总线对DDR2的读写数据一致,并在发生简单错误时将将正确的数据写入DDR2或者读出,如果存在不可恢复的错误,内存接口能够发送中断、错误指示与故障隔离信号。
8.根据权利要求1-7任一项所述的Lockstep处理器架构,其特征在于,处理器是Lockstep处理器,处理器总线是Lockstep处理器总线。
CN201910385026.5A 2019-05-09 2019-05-09 一种全比较的Lockstep处理器架构 Active CN110147343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910385026.5A CN110147343B (zh) 2019-05-09 2019-05-09 一种全比较的Lockstep处理器架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910385026.5A CN110147343B (zh) 2019-05-09 2019-05-09 一种全比较的Lockstep处理器架构

Publications (2)

Publication Number Publication Date
CN110147343A true CN110147343A (zh) 2019-08-20
CN110147343B CN110147343B (zh) 2023-08-04

Family

ID=67595137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910385026.5A Active CN110147343B (zh) 2019-05-09 2019-05-09 一种全比较的Lockstep处理器架构

Country Status (1)

Country Link
CN (1) CN110147343B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581003A (zh) * 2020-04-29 2020-08-25 浙江大学 一种全硬件双核锁步处理器容错系统
CN112506701A (zh) * 2020-12-02 2021-03-16 广东电网有限责任公司佛山供电局 一种基于三模lockstep的多处理器芯片错误恢复方法
CN115348128A (zh) * 2022-06-27 2022-11-15 航天科工空间工程发展有限公司 一种基于fpga的双can总线处理管理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210162A1 (en) * 2011-02-15 2012-08-16 International Business Machines Corporation State recovery and lockstep execution restart in a system with multiprocessor pairing
CN103544087A (zh) * 2013-10-30 2014-01-29 中国航空工业集团公司第六三一研究所 一种锁步的处理器总线监控方法与计算机
WO2014032610A1 (zh) * 2012-09-03 2014-03-06 东南大学 一种面向cpu流水线的错误恢复电路
CN104484299A (zh) * 2014-12-05 2015-04-01 中国航空工业集团公司第六三一研究所 一种松耦合的Lockstep处理器系统
CN104699550A (zh) * 2014-12-05 2015-06-10 中国航空工业集团公司第六三一研究所 一种基于lockstep架构的错误恢复方法
US20160283314A1 (en) * 2015-03-24 2016-09-29 Freescale Semiconductor, Inc. Multi-Channel Network-on-a-Chip
CN108228391A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种LockStep处理机及管理方法
US20180336157A1 (en) * 2017-05-19 2018-11-22 Ge Aviation Systems Llc Methods for managing communications involving a lockstep processing system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210162A1 (en) * 2011-02-15 2012-08-16 International Business Machines Corporation State recovery and lockstep execution restart in a system with multiprocessor pairing
WO2014032610A1 (zh) * 2012-09-03 2014-03-06 东南大学 一种面向cpu流水线的错误恢复电路
CN103544087A (zh) * 2013-10-30 2014-01-29 中国航空工业集团公司第六三一研究所 一种锁步的处理器总线监控方法与计算机
CN104484299A (zh) * 2014-12-05 2015-04-01 中国航空工业集团公司第六三一研究所 一种松耦合的Lockstep处理器系统
CN104699550A (zh) * 2014-12-05 2015-06-10 中国航空工业集团公司第六三一研究所 一种基于lockstep架构的错误恢复方法
US20160283314A1 (en) * 2015-03-24 2016-09-29 Freescale Semiconductor, Inc. Multi-Channel Network-on-a-Chip
CN108228391A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种LockStep处理机及管理方法
US20180336157A1 (en) * 2017-05-19 2018-11-22 Ge Aviation Systems Llc Methods for managing communications involving a lockstep processing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李联,杨淏天: "基于GSPN的锁步处理器系统可靠性建模与分析", 计算机工程, vol. 45, no. 07 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581003A (zh) * 2020-04-29 2020-08-25 浙江大学 一种全硬件双核锁步处理器容错系统
CN111581003B (zh) * 2020-04-29 2021-12-28 浙江大学 一种全硬件双核锁步处理器容错系统
CN112506701A (zh) * 2020-12-02 2021-03-16 广东电网有限责任公司佛山供电局 一种基于三模lockstep的多处理器芯片错误恢复方法
CN112506701B (zh) * 2020-12-02 2022-01-21 广东电网有限责任公司佛山供电局 一种基于三模lockstep的多处理器芯片错误恢复方法
CN115348128A (zh) * 2022-06-27 2022-11-15 航天科工空间工程发展有限公司 一种基于fpga的双can总线处理管理方法
CN115348128B (zh) * 2022-06-27 2023-12-05 航天科工空间工程发展有限公司 一种基于fpga的双can总线处理管理方法

Also Published As

Publication number Publication date
CN110147343B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
CA2009550C (en) Data processing system with total system resource management for itself and for an associated alien processor
CA2009765C (en) Fault tolerant data processing system
US5701502A (en) Isolating a central processing unit from the operating system controlling said unit and its associated hardware for interaction of the unit with data handling apparatus alien to the operating system
US5369749A (en) Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
US11675659B2 (en) DDR memory error recovery
CA2009548C (en) Single physical main storage shared by two or more processors executing respective operating systems
US5283868A (en) Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5369767A (en) Servicing interrupt requests in a data processing system without using the services of an operating system
JP3175757B2 (ja) デバッグシステム
CN110147343A (zh) 一种全比较的Lockstep处理器架构
JPH02118872A (ja) I/oの読み取りに対するエラーチェック機能を有したデュアルレールプロセッサ
JPH01154240A (ja) 単一レールインターフェイスにエラーチェック機能を有する二重レールプロセッサ
KR940002340B1 (ko) 다중 운영 체제 컴퓨터 장치
CN103198050A (zh) 提供高完整性处理的方法
CN106656437A (zh) 冗余热备平台
CN104484299B (zh) 一种松耦合的Lockstep处理器系统
RU2474868C1 (ru) Модульная вычислительная система
US11860745B2 (en) Redundant edge hardware
JPS61267860A (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