CN100555233C - 用于在多处理器系统中进行同步的方法和设备 - Google Patents
用于在多处理器系统中进行同步的方法和设备 Download PDFInfo
- Publication number
- CN100555233C CN100555233C CN 200580036617 CN200580036617A CN100555233C CN 100555233 C CN100555233 C CN 100555233C CN 200580036617 CN200580036617 CN 200580036617 CN 200580036617 A CN200580036617 A CN 200580036617A CN 100555233 C CN100555233 C CN 100555233C
- Authority
- CN
- China
- Prior art keywords
- processor
- desynchronizes
- multicomputer system
- processors
- synchronously
- 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.)
- Expired - Fee Related
Links
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 66
- 230000008859 change Effects 0.000 claims abstract description 15
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 26
- 230000007704 transition Effects 0.000 description 24
- 230000005012 migration Effects 0.000 description 8
- 238000013508 migration Methods 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 4
- 230000009849 deactivation Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 2
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems in which the redundancy can be transformed in increased performance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Hardware Redundancy (AREA)
Abstract
用于在具有至少两个处理器的多处理器系统中进行同步的方法和设备,其中包含有转换装置,通过该转换装置能够在至少两种运行模式之间进行转换,其中所述设备如此被构造,使得通过停止信号来进行同步,该信号使超前的处理器停止,以便使该处理器与至少第二处理器同步。
Description
背景技术
在技术应用中,如尤其是在汽车中或者在工业物品领域(即例如机械领域)中和在自动化领域中,对于对安全性要求严格的应用,不断地采用越来越多的基于微处理器或者计算机的控制和调节系统。在此,双计算机系统或者双处理器系统(双核)目前是用于对安全性要求严格的应用的常用计算机系统,尤其是在汽车中诸如是用于防抱死系统、电子稳定程序(ESP)、如线控驱动(Drive-by-Wire)或者线控驾驶(Steer-by-Wire)以及线控刹车(Break-by-Wire)那样的线传控制(X-by-wire)系统等等的常用计算机系统,或者在其它联网系统中也是常用计算机系统。为了满足未来应用中的高的安全性要求,强大的错误识别机制和错误处理机制是必需的,尤其是以便对付例如在使计算机系统的半导体结构变小时形成的瞬时错误。在此,保护核本身、即处理器是相对困难的。如所提及的那样,对此的解决方案是应用双计算机系统或者双核系统来检测错误。
因此,这种具有至少两个集成执行单元的处理器单元被称为双核架构或者多核架构。按照目前的现有技术主要出于以下两个原因来建议这种双核架构或者多核架构:
因此,一方面,能够通过以下方式实现效率提高、即实现性能提高,即这两个执行单元或者核被视为和被当作一个半导体模块上的两个计算单元。在该配置中,这两个执行单元或者核执行不同程序或任务。由此能实现效率提高,因此该配置被称为性能模式或者性能模式。
实现双核或者多核架构的第二原因是安全性提高,其方式是这两个执行单元冗余地执行相同的程序。这两个执行单元或者CPU(即核)的结果被比较,并且在比较一致性时能识别出错误。以下将该配置称为安全模式(Safety-Mode)或者也称为错误识别模式。
因此,目前一方面存在为了识别硬件错误而冗余地工作的双处理器或者多处理器系统(参见双核或者主机-检验器(Master-Checker)系统),而另一方面存在在处理器上执行不同数据的双处理器或者多处理器系统。如果现在将这两种运行方式组合在双处理器或多处理器系统中(为简单起见现在还仅仅提及双处理器系统,但是下面的发明完全一样能被用于多处理器系统),则这两个处理器在性能模式下获得不同的数据并且在错误识别模式下获得相同的数据。
现在本发明的任务是介绍一种单元和一种方法,该单元根据模式给至少两个处理器或核冗余地或不同地提供指令/数据,并且尤其是在性能模式中分配存储器访问权,该存储器访问权能够实现在模式改变时两个处理器或核的同步和/或去同步。
这样一种单元直到目前还没有被公开。它能够实现双处理器系统的有效运行,使得可以在运行中转换为两种模式、即安全模式和性能模式。在此,此外还谈及处理器,但是这在概念上同样包含核或计算单元。
此外,本发明的任务是给出一种能够实现多处理器系统的同步的可能性。直到目前还没有公开这样的方法或实施方案。存在只能工作在两种模式之一下的多处理器系统,但不存在时钟同步地工作、能够转换以及能够时钟精确地比较数据的多处理器系统。通过所介绍的方法能够时钟精确地或时钟同步地进行同步,但也可能存在不需要这种精确同步的应用。于是该方法也可以被应用,以便实现“失(lose)”同步。这种“失”同步是这样的同步,在该同步的情况下两个处理器虽然执行相同的任务,但执行的时间间隔可以在由比较器预先给定的范围内波动。
本发明的实施例和优点的说明
根据本发明,提出了一种用于在具有至少两个处理器的多处理器系统中进行同步和/或去同步的方法,其中在多处理器系统中包含有转换装置,通过该转换装置所述至少两个处理器能够在至少两种运行模式之间进行转换,其中在所述至少两个处理器冗余地处理相同的程序的第一运行模式中,所述至少两个处理器同步,在第二运行模式中,所述至少两个处理器执行不同的任务并去同步,其中,通过停止信号来进行其同步,该停止信号使超前的第一处理器停止,直到至少另一处理器已经执行完任务并且然后同样达到了相同的程序位置为止,为了从同步的运行模式转换到去同步的运行模式,所述至少两个处理器根据在所述多处理器系统中对于每个处理器来说唯一的标识跳转到不同的程序位置,并且因此被去同步。
根据本发明,还提出了一种具有至少两个处理器的多处理器系统,该多处理器系统还具有用于对所述至少两个处理器进行同步和去同步的设备,其中该多处理器系统包含有转换装置,通过该转换装置所述至少两个处理器能够在至少两种运行模式之间进行转换,其中在所述至少两个处理器冗余地处理相同的程序的第一运行模式中,所述至少两个处理器同步,在第二运行模式中,所述至少两个处理器执行不同的任务并去同步,其中,所述用于进行同步和去同步的设备如此被构造,使得通过停止信号来进行其同步,该停止信号使超前的第一处理器停止,直到至少另一处理器已经执行完任务并且然后同样达到了相同的程序位置为止,为了从同步的运行模式转换到去同步的运行模式,所述至少两个处理器根据在所述多处理器系统中对于每个处理器来说唯一的标识跳转到不同的程序位置,并且因此被去同步。
优选地,所述同步通过同步愿望来触发,其中该同步愿望能够由一个或多个处理器产生,以及通过停止信号来进行同步,该停止信号使超前的第一处理器停止,以便使该第一处理器与至少第二处理器同步。
优选地,处理器的等待信号被用作停止信号。
优选地,中断信号作为停止信号被触发。
优选地,所述第一处理器为了同步通过忽略时钟周期而被停止。
优选地,所述第一处理器为了同步通过切断时钟信号而被停止。
优选地,所述转换通过转换愿望来表示,并且该转换愿望通过信号来触发。
优选地,所述转换通过转换愿望来表示,其中当两个或更多个处理器提出该转换愿望时,才进行所述转换。
优选地,所述转换通过转换愿望来触发,其中按照转换愿望来改变所述多处理器系统的运行模式,并且该转换愿望通过信号来表明。
优选地,现有的运行模式通过模式信号来表明。
优选地,所述模式信号作为编码信号存在。
优选地,所述模式信号通过两个状态自动机或通过双轨逻辑冗余地生成。
优选地,同步愿望被引导到中央单元,并且该中央单元将所述同步愿望转发到至少一个另外的处理器。
优选地,通过通知转换愿望来进行所述同步,并且所述第一处理器由此跳转到预先给定的程序地址。
优选地,所述第一处理器一直被停止,直到所述至少第二处理器已经执行完任务并且然后同样到达了相同的程序位置为止。
优选地,第一运行模式对应于安全模式,在该安全模式中所述至少两个处理器执行相同的程序,并且在所述多处理器系统中设置有比较装置,该比较装置比较在执行所述相同的程序时出现的状态的一致性。
优选地,所述用于进行同步和去同步的设备如此被构造,使得通过停止信号来进行同步,其中该停止信号使超前的第一处理器停止,以便使该第一处理器与至少第二处理器同步。
优选地,所述用于进行同步和去同步的设备如此被构造,使得处理器的等待信号被用作停止信号。
优选地,所述用于进行同步和去同步的设备如此被构造,使得中断信号作为停止信号被触发。
优选地,所述用于进行同步和去同步的设备如此被构造,使得所述第一处理器为了同步通过忽略时钟周期而被停止。
优选地,所述用于进行同步和去同步的设备如此被构造,使得所述第一处理器为了同步通过切断时钟信号而被停止。
优选地,所述用于进行同步和去同步的设备如此被构造,使得现有的运行模式通过模式信号来表明。
优选地,所述用于进行同步和去同步的设备如此被构造,使得所述模式信号作为编码信号存在。
优选地,所述用于进行同步和去同步的设备如此被构造,使得所述模式信号通过两个状态自动机或通过双轨逻辑冗余地生成。
优选地,所述多处理器系统设置有中央单元,并且所述用于进行同步和去同步的设备如此被构造,使得同步愿望被引导到中央单元,并且该中央单元把所述同步愿望转发到至少一个另外的处理器,所述同步通过同步愿望来触发。
优选地,所述用于进行同步和去同步的设备如此被构造,使得所述第一处理器一直被停止,直到至少第二处理器已经执行完任务并且然后同样到达了相同的程序位置为止。
优选地,所述多处理器系统设置有处理器寄存器,并且所述标识被存放在该处理器寄存器中。
优选地,所述标识被存放在所述至少两个处理器的外部。
优选地,通过状态自动机的加倍或者双轨逻辑的实现来容错地设计用于转换运行模式的转换装置。
在双计算机系统中存在两个处理器,这两个处理器可以执行相同的或不同的任务。双计算机系统的这两个处理器可以时钟同步地或时钟偏移地执行这些任务。
为了能够在时钟同步的系统中在两种模式之间进行转换,这两个处理器必须是能够同步的,其中在所述时钟同步的系统中输出数据应时钟同步地被比较。也就是说,如果处理器从性能模式(=模式,在该模式中它们执行不同的任务并且不对输出数据进行比较)转换为安全模式(=模式,在该模式中这两个处理器执行相同的任务并且在每个时钟都对其输出进行比较),那么这两个处理器必须能够在程序进程中被同步。
因此,本发明还示出了一种方法和一种设备,其中通过信号来触发转换愿望。这例如可以通过观察指令总线来产生(察看是否执行转换愿望),或者是解码器的控制信号(例如在另一处理器中中断的触发、写入寄存器、...),并且该处理器由此跳转到预先给定的程序地址。
此外,合宜地,这两个处理器可以根据在多处理器系统中对于每个处理器来说唯一的标识、也即ID而跳转到不同的程序位置,并且因此被去同步(重要的是:由处理器ID位所表示的处理器标识、条件跳转、从对于每个处理器来说单独的、但具有相同地址的存储区中读出处理器ID位、存放在内部处理器寄存器中的处理器ID位)。
本发明公开了用于在具有至少两个处理器的多处理器系统中进行同步的方法和设备,其中包含有转换装置,通过该转换装置能够在至少两种运行模式之间进行转换,其中该设备如此被构造,使得通过停止信号来进行同步,该停止信号使超前的处理器停止,以便使该处理器与至少第二处理器同步。
可以合宜地通过通知至少一个处理器的转换愿望来进行同步(例如在另一处理器中触发中断、写入寄存器、...)并且该处理器由此跳转到预先给定的程序地址。
本发明还示出用于在具有至少两个计算单元的系统中从至少一个数据源分配数据的单元,其中包含有转换装置(模式转换),通过该转换装置能够在该系统的至少两种运行模式之间进行转换,其中该单元如此来构造,使得数据分配和/或数据源(尤其是指令存储器、数据存储器、高速缓存)取决于运行模式。同样还示出了具有这种单元的系统。
在此,第一运行模式对应于安全模式,在该安全模式中这两个计算单元处理相同的程序和/或数据,并设置有比较装置,该比较装置比较在处理相同的程序时出现的状态的一致性。
根据本发明的单元以及根据本发明的方法能够在一个双处理器系统中实现两种模式。
如果这两个处理器在错误识别模式(F模式)下工作,那么这两个处理器获得相同的数据/指令,而如果它们在性能模式(P模式)下工作,那么每个处理器都可以访问存储器。于是所述单元管理对仅仅简单地存在的存储器或外围设备的访问。
在F模式中,该单元接收一个处理器(这里称为主机)的数据/地址,并将该数据/地址转发给诸如存储器、总线等的组件。第二处理器(这里从机)想进行相同的访问。该数据分配单元在第二端口上对此进行接收,但并不将该请求转发到其他组件。该数据分配单元向从机传送与主机相同的数据,并比较两个处理器的数据。如果这些数据不相同,那么该数据分配单元(这里为DVE)通过错误信号来表明这一点。因此仅主机在总线/存储器上工作,而从机获得相同的数据(工作方式如在双核系统中一样)。
在P模式中,这两个处理器执行不同的程序部分。因此存储器访问也是不同的。该DVE因此接受处理器的请求并把结果/所请求的数据返回到请求了该结果/数据的处理器。如果现在两个处理器同时想访问组件,那么一个处理器被置于等待状态,直到另一处理器被处理完为止。
两种模式之间并且因此数据分配单元的不同工作方式之间的转换通过控制信号来实现。该信号可以由两个处理器之一来产生,或者由外部产生。
如果该双处理器系统在F模式中以时钟偏移运行而在P模式中不以时钟偏移运行,那么该DVE单元相应地延迟从机的数据,或者一直存储主机的输出数据,直到该输出数据能够与从机的输出数据进行比较以进行错误识别为止。
借助图1更进一步阐述时钟偏移。
图1示出双计算机系统,其具有第一计算机100(尤其是主计算机)和第二计算机101(尤其是从计算机)。在此,整个系统以能预先给定的时钟或以能预先给定的时钟周期(clock cycle)CLK来运行。通过计算机100的时钟输入端CLK1以及通过计算机101的时钟输入端CLK2将时钟输送给该双计算机系统。除此以外,在该双计算机系统中还示例性地包含用于识别错误的特定特征,其中亦即第一计算机100以及第二计算机101以时间偏移、尤其是能预先给定的时间偏移或能预先给定的时钟偏移工作。在此,能预先给定时间偏移的每个任意时间,并且也能预先给定关于时钟周期的偏移的每个任意时钟。这可以是时钟周期(clock cycle)的整数偏移,但是也可以如在该例子中所示出的那样例如是1.5个时钟周期的偏移,其中在此第一计算机100正是在第二计算机101之前1.5个时钟周期工作或运行。通过该偏移能够避免,同相错误(即所谓的共模失效(common mode failure))以相同方式干扰计算机或者处理器(即双核系统的核)并且因此保持未被识别。也就是说,这种同相错误由于偏移而在程序流程中的不同时刻涉及计算机并且因此对两个计算机产生不同的效果,由此能识别出错误。由此避免,没有时钟偏移的同样的错误影响在比较中可能不能被识别出。为了在双计算机系统中实现在时间或者时钟方面的这种偏移(在此尤其是为1.5个时钟周期),实现偏移模块112至115。
为了识别出所述的同相错误,该系统正好例如被设计用于以预先给定的时间偏移或者时钟周期偏移工作,尤其是在此为1.5个时钟周期,即在该1.5个时钟周期期间,一个计算机、例如计算机100直接对组件、特别是外部组件103和104做出响应,第二计算机101以相对于计算机100正好1.5个时钟周期的延迟工作。为了在这种情况下产生所希望的一个半周期延迟(即1.5个时钟周期的延迟),在时钟输入端CLK2上为计算机101馈送反相的时钟。但是,由此也必须将计算机的上述端子、即其数据或指令通过总线延迟所述时钟周期,即在此尤其是延迟1.5个时钟周期,为此正如所述的那样设置有偏移或者延迟模块112至115。除了两个计算机或者处理器100和101之外,还设置有组件103和104,这些组件103和104通过由总线线路116A和116B及116C组成的总线116以及由总线线路117A和117B组成的总线117与这两个计算机100和101连接。在此,117是指令总线,在该指令总线中,用117A标识指令地址总线,而用117B标识部分指令(数据)总线。地址总线117A通过指令地址端子IA1(指令地址1)与计算机100相连接,并且通过指令地址端子IA2(指令地址2)与计算机101相连接。指令本身通过部分指令总线117B来传输,该部分指令总线117B通过指令端子II(指令1)与计算机100相连接并且通过指令端子I2(指令2)与计算机101相连接。在由117A和117B组成的指令总线117中,中间连接了组件103(例如指令存储器、尤其是可靠的指令存储器等)。尤其是作为指令存储器的该组件在该例子中也以时钟CLK来运行。此外,用116表示数据总线,该数据总线包含数据地址总线或者数据地址线116A和数据总线或者数据线116B。在此,116A(即数据地址线)通过数据地址端子DA1(数据地址1)与计算机100相连接,并且通过数据地址端子DA2(数据地址2)与计算机101相连接。同样,数据总线或者数据线116B通过数据端子DO1(数据输出1)与计算机100相连接并且通过数据端子DO2(数据输出2)与计算机101相连接。此外,数据总线线路116C属于数据总线116,该数据总线线路116C通过数据端子DI1(数据输入1)和数据端子DI2(数据输入2)分别与计算机100或计算机101相连接。在由线路116A、116B和116C组成的该数据总线116中,中间连接了组件104(例如数据存储器、尤其是可靠的数据存储器等)。在该例子中也为该组件104提供时钟CLK。
在此,组件103和104代表任意的组件,这些任意的组件通过数据总线和/或指令总线与双计算机系统的计算机相连接,并且根据在写操作和/或读操作方面对双计算机系统的数据和/或指令的访问可能获得或者发出有错误的数据和/或指令。为了避免错误,虽然设置有错误识别发生器105、106和107,这些错误识别发生器105、106和107产生诸如奇偶校验位的错误标识或者也产生诸如纠错码(即ECC,Error-Correction-Code)等的另一错误代码。于是为此也设置有相应的错误标识检验装置或者校验装置108和109,用于检查相应的错误标识、即例如奇偶校验位或者如ECC那样的另一错误代码)。
如在图1中所示的那样,在双计算机系统中关于冗余实施的数据和/或指令的比较在比较器110和111中实现。但是如果现在在计算机100与101之间存在由不同步的双处理器系统或者在同步的双处理器系统中由同步中的错误或者也如在该特定的例子中那样由于期望用于错误识别的时间偏移或时钟周期偏移(尤其是在此1.5个时钟周期的偏移)所引起的时间偏移、尤其是时钟偏移或者时钟周期偏移,则在该时间偏移或者时钟偏移中,计算机(在此尤其是计算机100)可能将有错误的数据和/或指令写入或者读入组件、尤其是外部组件、诸如在此特别是存储器103或者104中,但是也可能涉及其它用户或者执行元件或者传感器。这样,该计算机也可能以有错误的方式通过该时钟偏移执行写访问而不是所设置的读访问。不言而喻,尤其是在没有清楚地表明正好错误地改变了哪些数据和/或指令的可能性的情况下,这些情形导致整个系统的错误,由此也产生恢复问题。
为了解决该问题,现在将如所示的那样将延迟单元102连接到数据总线的线路中和/或连接到指令总线中。出于清楚的原因,仅仅示出了到数据总线中的接入。在指令总线方面,这自然完全一样是可能的并且是可设想的。延迟单元102(Delay Unit)如此延迟访问、在此尤其是存储器访问,以致尤其是在错误识别时例如通过比较器110和111例如至少一直补偿可能的时间偏移或者时钟偏移,直到在双计算机系统中产生错误信号,即在双计算机系统中执行错误识别。在此能够实现各种不同的变型方案:
延迟写操作和读操作,仅仅延迟写操作,或者即使不是优选地,也延迟读操作。在此,通过变化信号、尤其是错误信号能够将被延迟的写操作转变成读操作,以便禁止有错误的写。
现在,下面借助图2示出关于数据分配单元(DVE)的示例性实现方案,该数据分配单元(DVE)优选地由用于(通过I11OPDetect)检测转换愿望的装置、模式转换单元以及Iram(组合随机存取存储器)和Dram(动态随机存取存储器)控制模块组成:
I11OpDetect(I11OP检测):两种模式之间的转换通过“转换检测(Switch-Detect)”单元来识别。该单元位于指令总线上的高速缓存与处理器之间并且察看,指令I11Op是否被加载到处理器中。如果检测到该指令,则将该事件通知给模式转换单元。针对每个处理器单独地存在“转换检测”单元。“转换检测”单元不必被实施为容错,因为该“转换检测”单元是加倍的并且因此冗余地存在。另一方面,可设想的是,容错地并且因此单个地实施该单元,但是优选的是冗余的实施方案。
ModeSwitch(模式转换):两种模式之间的转换通过“转换检测”单元来触发。如果应进行从锁定模式到分离模式的转换,则两个“转换检测”单元检测到该转换,因为两个处理器在锁定模式下执行相同的程序代码。处理器1的“转换检测”单元在处理器2的“转换检测”单元之前1.5个时钟识别出这一点。“模式转换”单元借助等待信号使处理器1停止两个时钟。处理器2在1.5个时钟后同样被停止,但是仅仅停止半个时钟,以便使该处理器2与系统时钟同步。接着,针对其它组件,状态信号被转换到分离,并且这两个处理器继续工作。为了这两个处理器现在执行不同的任务,这些任务必须在程序代码中分离。这通过直接在转换到分离模式之后进行对处理器ID的读访问来实现。所读出的处理器ID对于这两个处理器中的每一个来说是不同的。如果现在对额定处理器ID进行比较,则接着利用条件跳转指令将相应的处理器引到其它程序位置。在从分离模式转换到锁定模式时,一个处理器或这两个处理器中的一个首先发现这一点。该处理器将执行程序代码,在该程序代码中包含有转换指令。现在,这通过“转换检测”单元来记录并且将这通知给模式转换单元。该模式转换单元使相应的处理器停止并且通过中断将同步的愿望通知给第二处理器。第二处理器获得中断并且现在能够执行用于结束其任务的软件例程。现在该处理器同样跳到用于转换的指令所位于的程序位置。其“转换检测”单元现在同样将模式变换愿望用信号通知给模式转换单元。现在,在下一上升的系统时钟边沿去激活用于处理器1的等待信号,并且在1.5个时钟之后去激活用于处理器2的等待信号。现在,这两个处理器又以1.5个时钟的时钟偏移同步工作。
如果该系统处于锁定模式,则两个“转换检测”单元必须通知模式转换单元,这两个“转换检测”单元想要进入分离模式。如果仅仅一个单元实现了转换愿望,则由比较单元识别出该错误,因为这两个处理器之一继续将数据提供给这些比较单元,并且这些比较器单元与被停止的处理器不一致。
如果这两个处理器都处于分离模式并且一个处理器没有转换回到锁定模式,则这能通过外部监视定时器来识别。在用于每个处理器的触发信号的情况下,监视定时器注意到,等待的处理器不再报告。如果对于该处理器系统来说仅仅存在一个监视定时器信号,则该监视定时器的触发只允许在锁定模式下实现。因此,监视定时器可能识别出,没有实现模式转换。模式信号作为双轨信号存在。在此,“10”代表锁定模式而“01”代表分离模式。在“00”和“11”的情况下,出现了错误。
IramControl:对这两个处理器的指令存储器的访问通过IRAMControl来控制。该IRAMControl必须可靠地来设计,因为它是单个失效点。IRAMControl由两个用于每个处理器的状态自动机、即各一个时钟同步的iram1clkreset和异步的readiram1。在对安全性要求严格的模式下,这两个处理器的状态自动机互相监控,而在性能模式下,这两个处理器的状态自动机分开工作。
处理器的两个高速缓存的再加载通过两个状态自动机(亦即同步状态自动机iramclkreset和异步状态自动机readiram)来控制。通过这两个状态自动机,存储器访问也在分离模式下被分配。在这种情况下,处理器1具有更高的优先级。在处理器1对主存储器进行了访问之后,现在如果这两个处理器又想要访问主存储器,则给处理器2分配存储器访问许可。针对每个处理器实现这两个状态自动机。在锁定模式下,自动机的输出信号被比较,以便能够识别出现的错误。
用于在锁定模式下更新高速缓存2的数据在IRAM控制单元中被延迟1.5个时钟。
在SysControl的寄存器0中的位5中对涉及哪个核进行编码。核1为位0并且在核2的情况下该位为高。该寄存器被映射到地址为65528的存储区中。
在核2的存储器访问时,首先检查计算机处于哪种模式。如果计算机处于锁定模式,则其存储器访问被抑制。该信号作为共轨信号存在,因为该信号是对安全性要求严格的。
处理器1的程序计数器被延迟1.5个时钟,以便在锁定模式下能够与处理器2的程序计数器进行比较。
在分离模式下,这两个处理器的高速缓存能够不同地被再加载。如果现在转换到锁定模式,则这两个高速缓存彼此不相关。由此,这两个处理器能够分离,并且因此比较器用信号通知错误。为了避免这一点,在IRAMControl中建立标记表。在该标记表中注明,高速缓存行在锁定模式下还是在分离模式下已被写。在锁定模式下,对于高速缓存行来说相应的录入项在高速缓存行再加载时被设置为0,而在分离模式下(即使在仅仅一个高速缓存的高速缓存行的高速缓存更新的情况下)被设置为1。现在如果处理器仅仅在锁定模式下实施存储器访问,则检查,高速缓存行在锁定模式下是否已被更新,也就是在这两个高速缓存中是否相同。在分离模式下,处理器可以总是访问高速缓存行,而与Flag_Vector如何无关。该表格必须只存在一次,因为在错误时这两个处理器分离并且因此在比较器上可靠地识别出该错误。由于对中心表格的访问时间相对高,所以该表格也可以被复制到每个高速缓存。
DramControl:在该组件中,为每个处理器的地址信号、数据信号和存储器控制信号构成奇偶校验。
针对这两个处理器存在用于阻塞存储器的过程。该过程不必可靠地被实现,因为在锁定模式下通过比较器来识别有错误的存储器访问,而在分离模式下不实施安全性相关的应用。在此,检查处理器是否想要阻塞另一处理器的存储器。数据存储器的这种阻塞通过访问存储器地址$FBFF$=64511来实现。即使在处理器上在调用时刻存在等待命令,该信号也应正好存在一个时钟。用于管理数据存储器访问的状态自动机由两个主要状态组成:
-处理器状态锁定:这两个处理器工作在锁定模式下。也就是说,数据存储器锁定的功能不是必需的。处理器1协调存储器访问。
-处理器状态分离:现在,对数据存储器的访问冲突解决是必需的,并且必须能够实现存储器阻塞。
分离模式下的状态又被划分成7个状态,这7个状态解决访问冲突并且能够分别针对另一处理器阻塞数据存储器。在这两个处理器同时希望访问时,所列出的顺序同时表示优先级。
-Core1\_Lock:处理器1已阻塞数据存储器。如果在这种状态下处理器2想要访问该存储器,则该处理器2通过等待信号被停止,直到处理器1重新释放该数据存储器为止。
-Core2\_Lock:状态与以前相同,只是现在处理器2已阻塞了数据存储器,而处理器1在数据存储器操作时被停止。
-lock1\_wait:当处理器1同样想要为自己预留数据存储器时,该数据存储器通过处理器2被阻塞。因此,预先登记处理器1的下一次存储器阻塞。
-nex:这对于处理器2来说是相同的。数据存储器在阻塞尝试期间通过处理器1被阻塞。存储器被预先预留给处理器2。在正常的没有阻塞的存储器访问的情况下,如果之前轮到了处理器1,则在此处理器2能够在处理器1之前访问。
-处理器1的存储器访问:存储器在这种情况下未被阻塞。处理器1被允许访问数据存储器。如果该处理器1想要阻塞该存储器,则该处理器1能在这种状态下进行这一点。
-处理器2的存储器访问:在同一时钟内,处理器1不想访问存储器,因此存储器对于处理器2来说是空闲的。
-没有处理器想要访问数据存储器。
DVE如所提及的那样由转换愿望检测装置(I11OPDetect)、模式转换单元以及Iram和DramControl组成。
下面借助图3再次阐述模式转换的工作方式:
两个处理器的转换在此示例性地通过程序中的指令I11Op来触发。前提是:每个处理器能够唯一地被标识。为此每个处理器都被分配一个数字。这里在该例子中一个核是1,另一个核是0。这在处理器状态寄存器中被编码。
这两个处理器在此为了同步而通过等待命令被停止。同样一直停止应当被停止的处理器的时钟(例如通过与0的OR逻辑来停止,以及与1的OR逻辑来继续供给时钟)。
“转换检测(Switch-Detect)”单元:两种模式之间的转换通过“转换检测”单元来识别。该单元在指令总线上位于高速缓存和处理器之间,并且察看,指令I11Op是否被加载到处理器中。如果检测到该指令,则将该事件通知给模式转换单元。这种识别通过“Core1-Signal(核1信号)”或“Core 2-Signal(核2信号)”(参见图2)被通知给“模式转换”单元。针对每个处理器单独地存在“转换检测”单元。该“转换检测”单元不必被实施为容错,因为它是加倍的并且因此冗余地存在。
“模式转换(Mode-Switch)”单元:两种模式之间的转换通过“转换检测”单元来触发。如果应该进行从锁定模式到分离模式的转换,则两个“转换检测”单元检测到该转换,因为两个处理器在锁定模式中执行相同的程序代码。处理器1的“转换检测”单元在处理器2的“转换检测”单元之前1.5个时钟识别出这一点。该“模式转换”单元借助等待信号使处理器1停止2个时钟。处理器2在1.5个时钟之后同样被停止,但是仅仅停止半个时钟,以便使该处理器2与系统时钟同步。接着,针对其它组件,状态信号被转换到分离,并且这两个处理器继续工作。为了这两个处理器现在执行不同的任务,这些任务必须在程序代码中分离。这通过直接在转换到分离模式之后进行对处理器ID的读访问来实现。所读出的处理器ID对于这两个处理器中的每一个来说都是不同的。如果现在对额定处理器ID进行比较,则接着可以利用条件跳转指令将相应的处理器引到其它程序位置。分离两个处理器的例子见下文:
在分离过程中首先把状态寄存器的地址写入到r1中,其中在该状态寄存器中存放有处理器ID,
LDL r1,248
LDL r1,255
接着通过I11Op指令来分离两个处理器,
error
把地址r1的状态寄存器的内容加载到r2中,
LDW r2,r1
检测该状态寄存器的第5个位置上的位。如果是0,那么就是处理器1,1涉及处理器2,
BTEST r2,5
现在通过条件跳转将处理器2引到另一程序位置。
JMPI_CT 10
在从分离模式转换到锁定模式时,一个处理器或者两个处理器之一首先注意到这一点。该处理器将执行包含有转换指令的程序代码。现在,这通过“转换检测”单元被记录,并将这通知给“模式转换”单元。该单元使相应的处理器停止,并通过中断(图2中的“消息1”或“消息2”)将同步的愿望通知给第二处理器。该第二处理器获得中断,并且现在能够执行用于结束其任务的软件例程。现在该处理器同样跳到用于转换的指令所位于的程序位置。其“转换检测”单元现在同样将模式变换愿望用信号通知给模式转换单元。现在,在下一上升的系统时钟边沿去激活用于处理器1的等待信号,并且在1.5个时钟之后去激活用于处理器2的等待信号。现在,这两个处理器又以1.5个时钟的时钟偏移同步工作。
如果该系统处于锁定模式,则两个“转换检测”单元必须通知模式转换单元,这两个“转换检测”单元想要进入分离模式。如果仅仅一个单元实现了转换愿望,则由比较单元识别出该错误,因为这两个处理器之一继续将数据提供给这些比较单元,并且这些比较器单元与被停止的处理器不一致。
如果这两个处理器都处于分离模式并且一个处理器没有转换回到锁定模式,则这能通过外部监视定时器来识别。在用于每个处理器的触发信号的情况下,监视定时器注意到,等待的处理器不再报告。如果对于该处理器系统来说仅仅存在一个监视定时器信号,则该监视定时器的触发只允许在锁定模式下实现。因此,监视定时器可能识别出,没有实现模式转换。模式信号作为双轨信号存在(在图中称为状态)。在此,“10”代表锁定模式而“01”代表分离模式。在“00”和“11”的情况下,出现了错误。
因为用于转换的指令在处理器的流水线的开头就被检测到,所以在流水线级中在所述检测之后不允许存在跳转。用于避免这一点的最简单的方法是在指令I11Op之前引入两个NOp。
本方面的核心如上所述是模式转换方法的通用工作方式(分别根据模式来进行不同的数据分配并且因此还选择运行模式)以及在此尤其是处理器的同步。
但是,所述的特殊实施方案此外还解决了开头所述的任务。
Claims (30)
1.用于在具有至少两个处理器的多处理器系统中进行同步和/或去同步的方法,其中在多处理器系统中包含有转换装置,通过该转换装置所述至少两个处理器能够在至少两种运行模式之间进行转换,其中在所述至少两个处理器冗余地处理相同的程序的第一运行模式中,所述至少两个处理器同步,在第二运行模式中,所述至少两个处理器执行不同的任务并去同步,其特征在于,通过停止信号来进行其同步,该停止信号使超前的第一处理器停止,直到至少另一处理器已经执行完任务并且然后同样达到了相同的程序位置为止,为了从同步的运行模式转换到去同步的运行模式,所述至少两个处理器根据在所述多处理器系统中对于每个处理器来说唯一的标识(ID)跳转到不同的程序位置,并且因此被去同步。
2.根据权利要求1所述的进行同步和/或去同步的方法,其特征在于,所述同步通过同步愿望来触发,其中该同步愿望能够由一个或多个处理器产生,以及通过停止信号来进行同步,该停止信号使超前的第一处理器停止,以便使该第一处理器与至少第二处理器同步。
3.根据权利要求2所述的进行同步和/或去同步的方法,其特征在于,处理器的等待信号被用作停止信号。
4.根据权利要求2所述的进行同步和/或去同步的方法,其特征在于,中断信号作为停止信号被触发。
5.根据权利要求2所述的进行同步和/或去同步的方法,其特征在于,所述第一处理器为了同步通过忽略时钟周期而被停止。
6.根据权利要求2所述的进行同步和/或去同步的方法,其特征在于,所述第一处理器为了同步通过切断时钟信号而被停止。
7.根据权利要求1所述的进行同步和/或去同步的方法,其特征在于,所述转换通过转换愿望来表示,并且该转换愿望通过信号来触发。
8.根据权利要求1所述的进行同步和/或去同步的方法,其特征在于,所述转换通过转换愿望来表示,其中当两个或更多个处理器提出该转换愿望时,才进行所述转换。
9.根据权利要求1所述的进行同步和/或去同步的方法,其特征在于,所述转换通过转换愿望来触发,其中按照转换愿望来改变所述多处理器系统的运行模式,并且该转换愿望通过信号来表明。
10.根据权利要求1所述的进行同步和/或去同步的方法,其特征在于,现有的运行模式通过模式信号来表明。
11.根据权利要求10所述的进行同步和/或去同步的方法,其特征在于,所述模式信号作为编码信号存在。
12.根据权利要求10所述的进行同步和/或去同步的方法,其特征在于,所述模式信号通过两个状态自动机或通过双轨逻辑冗余地生成。
13.根据权利要求2所述的进行同步和/或去同步的方法,其特征在于,同步愿望被引导到中央单元,并且该中央单元将所述同步愿望转发到至少一个另外的处理器。
14.根据权利要求2所述的进行同步和/或去同步的方法,其特征在于,通过通知转换愿望来进行所述同步,并且所述第一处理器由此跳转到预先给定的程序地址。
15.根据权利要求2所述的进行同步和/或去同步的方法,其特征在于,所述第一处理器一直被停止,直到所述至少第二处理器已经执行完任务并且然后同样到达了相同的程序位置为止。
16.具有至少两个处理器的多处理器系统,该多处理器系统还具有用于对所述至少两个处理器进行同步和去同步的设备,其中该多处理器系统包含有转换装置,通过该转换装置所述至少两个处理器能够在至少两种运行模式之间进行转换,其中在所述至少两个处理器冗余地处理相同的程序的第一运行模式中,所述至少两个处理器同步,在第二运行模式中,所述至少两个处理器执行不同的任务并去同步,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得通过停止信号来进行其同步,该停止信号使超前的第一处理器停止,直到至少另一处理器已经执行完任务并且然后同样达到了相同的程序位置为止,为了从同步的运行模式转换到去同步的运行模式,所述至少两个处理器根据在所述多处理器系统中对于每个处理器来说唯一的标识(ID)跳转到不同的程序位置,并且因此被去同步。
17.根据权利要求16所述的多处理器系统,其特征在于,第一运行模式对应于安全模式,在该安全模式中所述至少两个处理器执行相同的程序,并且在所述多处理器系统中设置有比较装置,该比较装置比较在执行所述相同的程序时出现的状态的一致性。
18.根据权利要求16所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得通过停止信号来进行同步,其中该停止信号使超前的第一处理器停止,以便使该第一处理器与至少第二处理器同步。
19.根据权利要求18所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得处理器的等待信号被用作停止信号。
20.根据权利要求18所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得中断信号作为停止信号被触发。
21.根据权利要求18所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得所述第一处理器为了同步通过忽略时钟周期而被停止。
22.根据权利要求18所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得所述第一处理器为了同步通过切断时钟信号而被停止。
23.根据权利要求16所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得现有的运行模式通过模式信号来表明。
24.根据权利要求23所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得所述模式信号作为编码信号存在。
25.根据权利要求23所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得所述模式信号通过两个状态自动机或通过双轨逻辑冗余地生成。
26.根据权利要求18所述的多处理器系统,其特征在于,所述多处理器系统设置有中央单元,并且所述用于进行同步和去同步的设备如此被构造,使得同步愿望被引导到中央单元,并且该中央单元把所述同步愿望转发到至少一个另外的处理器,所述同步通过同步愿望来触发。
27.根据权利要求18所述的多处理器系统,其特征在于,所述用于进行同步和去同步的设备如此被构造,使得所述第一处理器一直被停止,直到至少第二处理器已经执行完任务并且然后同样到达了相同的程序位置为止。
28.根据权利要求16所述的多处理器系统,其特征在于,所述多处理器系统设置有处理器寄存器,并且所述标识被存放在该处理器寄存器中。
29.根据权利要求16所述的多处理器系统,其特征在于,所述标识被存放在所述至少两个处理器的外部。
30.根据权利要求16所述的多处理器系统,其特征在于,通过状态自动机的加倍或者双轨逻辑的实现来容错地设计用于转换运行模式的转换装置。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410051952 DE102004051952A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem |
DE102004051950.1 | 2004-10-25 | ||
DE102004051937.4 | 2004-10-25 | ||
DE102004051992.7 | 2004-10-25 | ||
DE102004051964.1 | 2004-10-25 | ||
DE102004051952.8 | 2004-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101048761A CN101048761A (zh) | 2007-10-03 |
CN100555233C true CN100555233C (zh) | 2009-10-28 |
Family
ID=36129010
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200580036461 Expired - Fee Related CN100585567C (zh) | 2004-10-25 | 2005-10-25 | 延迟访问多处理器系统的数据和/或指令的方法和设备 |
CN 200580036488 Expired - Fee Related CN100511167C (zh) | 2004-10-25 | 2005-10-25 | 监控多处理器系统中的存储单元的方法和设备 |
CN 200580036441 Pending CN101048745A (zh) | 2004-10-25 | 2005-10-25 | 在多处理器系统中进行时钟转换的方法和设备 |
CN 200580036617 Expired - Fee Related CN100555233C (zh) | 2004-10-25 | 2005-10-25 | 用于在多处理器系统中进行同步的方法和设备 |
CN 200580036538 Pending CN101048754A (zh) | 2004-10-25 | 2005-10-25 | 在多处理器系统中从至少一个数据源分配数据的方法和设备 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200580036461 Expired - Fee Related CN100585567C (zh) | 2004-10-25 | 2005-10-25 | 延迟访问多处理器系统的数据和/或指令的方法和设备 |
CN 200580036488 Expired - Fee Related CN100511167C (zh) | 2004-10-25 | 2005-10-25 | 监控多处理器系统中的存储单元的方法和设备 |
CN 200580036441 Pending CN101048745A (zh) | 2004-10-25 | 2005-10-25 | 在多处理器系统中进行时钟转换的方法和设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200580036538 Pending CN101048754A (zh) | 2004-10-25 | 2005-10-25 | 在多处理器系统中从至少一个数据源分配数据的方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (5) | CN100585567C (zh) |
DE (1) | DE102004051952A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8090984B2 (en) * | 2008-12-10 | 2012-01-03 | Freescale Semiconductor, Inc. | Error detection and communication of an error location in multi-processor data processing system having processors operating in Lockstep |
JP5796311B2 (ja) * | 2011-03-15 | 2015-10-21 | オムロン株式会社 | 制御装置およびシステムプログラム |
JP5218585B2 (ja) * | 2011-03-15 | 2013-06-26 | オムロン株式会社 | 制御装置およびシステムプログラム |
CN106850944A (zh) * | 2016-12-13 | 2017-06-13 | 北京元心科技有限公司 | 智能设备唤醒方法及装置 |
US10353767B2 (en) * | 2017-09-14 | 2019-07-16 | Bae Systems Controls Inc. | Use of multicore processor to mitigate common mode computing faults |
CN110018907A (zh) * | 2019-01-16 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 提升cpu性能的方法及装置和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1269827B (de) * | 1965-09-09 | 1968-06-06 | Siemens Ag | Verfahren und Zusatzeinrichtung zur Synchronisierung von parallel arbeitenden Datenverarbeitungsanlagen |
-
2004
- 2004-10-25 DE DE200410051952 patent/DE102004051952A1/de not_active Withdrawn
-
2005
- 2005-10-25 CN CN 200580036461 patent/CN100585567C/zh not_active Expired - Fee Related
- 2005-10-25 CN CN 200580036488 patent/CN100511167C/zh not_active Expired - Fee Related
- 2005-10-25 CN CN 200580036441 patent/CN101048745A/zh active Pending
- 2005-10-25 CN CN 200580036617 patent/CN100555233C/zh not_active Expired - Fee Related
- 2005-10-25 CN CN 200580036538 patent/CN101048754A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1269827B (de) * | 1965-09-09 | 1968-06-06 | Siemens Ag | Verfahren und Zusatzeinrichtung zur Synchronisierung von parallel arbeitenden Datenverarbeitungsanlagen |
Non-Patent Citations (1)
Title |
---|
Fault detection and recovery coverage improvementby clock synchronized duplicated systems with optimaltime diversity. Kanekawa, N., Meguro,T., Isono, K., Shima,Y.,Miyazaki,N.,Yamaguchi, S.Fault-Tolerant Computing,1998.Digest of Papers.Twenty-Eighth Annual international Symposium on munich,Germany 23-25 June 1998.. 1998 |
Also Published As
Publication number | Publication date |
---|---|
CN100511167C (zh) | 2009-07-08 |
CN101048761A (zh) | 2007-10-03 |
CN101048754A (zh) | 2007-10-03 |
CN101048747A (zh) | 2007-10-03 |
CN101048745A (zh) | 2007-10-03 |
CN100585567C (zh) | 2010-01-27 |
CN101048749A (zh) | 2007-10-03 |
DE102004051952A1 (de) | 2006-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4532561B2 (ja) | マルチプロセッサシステムにおける同期化のための方法および装置 | |
JP5199088B2 (ja) | 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置 | |
CN100555233C (zh) | 用于在多处理器系统中进行同步的方法和设备 | |
US7290170B2 (en) | Arbitration method and system for redundant controllers, with output interlock and automatic switching capabilities | |
US20090044048A1 (en) | Method and device for generating a signal in a computer system having a plurality of components | |
US20090204740A1 (en) | Method and Device for Performing Switchover Operations in a Computer System Having at Least Two Execution Units | |
US20090119540A1 (en) | Device and method for performing switchover operations in a computer system having at least two execution units | |
US20080263340A1 (en) | Method and Device for Analyzing a Signal from a Computer System Having at Least Two Execution Units | |
CN105320579A (zh) | 面向sparc v8处理器的自修复双冗余流水线及容错方法 | |
US20080288758A1 (en) | Method and Device for Switching Over in a Computer System Having at Least Two Execution Units | |
KR20080067663A (ko) | 프로그램 제어식 유닛과, 이 프로그램 제어식 유닛의 동작방법 | |
US20080313384A1 (en) | Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units | |
CN105260256A (zh) | 一种双模冗余流水线的故障检测及回退方法 | |
US20070294559A1 (en) | Method and Device for Delaying Access to Data and/or Instructions of a Multiprocessor System | |
US20090024908A1 (en) | Method for error registration and corresponding register | |
CN100511165C (zh) | 执行计算机程序的方法、操作系统以及计算设备 | |
JP3746957B2 (ja) | 論理分割システムの制御方法 | |
WO2023277746A1 (en) | Data validation and correction using hybrid parity and error correcting codes | |
DE102004051964A1 (de) | Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem | |
DE102004051992A1 (de) | Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems | |
DE102004051950A1 (de) | Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem | |
JPH10254723A (ja) | 二重化コンピュータシステム | |
JPH04132549U (ja) | マイクロプロセツサ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091028 Termination date: 20171025 |
|
CF01 | Termination of patent right due to non-payment of annual fee |