EP1543421A2 - Method for synchronizing events, particularly for processors of fault-tolerant systems - Google Patents
Method for synchronizing events, particularly for processors of fault-tolerant systemsInfo
- Publication number
- EP1543421A2 EP1543421A2 EP03807779A EP03807779A EP1543421A2 EP 1543421 A2 EP1543421 A2 EP 1543421A2 EP 03807779 A EP03807779 A EP 03807779A EP 03807779 A EP03807779 A EP 03807779A EP 1543421 A2 EP1543421 A2 EP 1543421A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- cpu
- operating mode
- separate operating
- execution unit
- external events
- 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.)
- Withdrawn
Links
Classifications
-
- 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/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
Definitions
- Event synchronization method especially for processors of fault-tolerant systems
- processor boards In many cases up to a few hundred so-called processor boards are used in telecommunications systems, data centers and other high-availability systems to provide the necessary computing power.
- a processor board typically consists of a processor or CPU (Central Processing Unit), a chip set, main memory and peripheral components.
- CPU Central Processing Unit
- the probability of a hardware defect of a typical processor board occurring per year is in the single-digit percentage range. Due to the large number of processor boards combined into a system, there is a very high probability of a failure of any hardware component in relation to the year, whereby such an individual failure, if suitable precautions are not taken, can cause the failure of the entire system.
- Known solutions to comply with such high system availability requirements provide redundant system components. The known methods can be divided into two main groups: software-based methods and hardware-based methods.
- the basic principle of hardware-based methods is based on encapsulating the redundancy at the hardware level so that this is transparent to the software.
- the main advantage of a redundancy managed by the hardware itself is that the application software is not affected by the redundancy principle and therefore any software can be used in most cases.
- Lockstep means that identical hardware, for example two boards, is operated in the same isochronous mode.
- Hardware mechanisms ensure that the redundant hardware experiences identical input stimuli at a given point in time and must therefore come to identical results. The results of the redundant components are compared; in the event of a deviation, an error is identified and suitable measures are initiated (alarm operator, partial or complete safety shutdown, system restart).
- the basic prerequisite for the implementation of a lockstep system is the deterministic behavior of all components contained in the board, i.e. CPUs, chip sets, main memory etc. Deterministic behavior means that these components deliver identical results at identical times when the components are faultless receive identical stimuli at identical times.
- Deterministic behavior also requires the use of isochronous interfaces.
- asynchronous interfaces cause a certain degree of unsharpness in the system, as a result of which the clock-synchronous overall behavior of the system cannot be maintained.
- asynchronous interfaces offer technological advantages in increasing performance, making clock-synchronous operation using the lockstep method impossible.
- modern CPUs increasingly use mechanisms that make clock-synchronous operation impossible.
- These are, for example, internal corrective measures that are not visible to the outside, e.g. Correction of an internal, correctable error in accessing the cache memory, which may lead to a slight delay in command processing, or the speculative execution of commands.
- Another example is the increasing implementation of CPU-internal clock-free execution units in the future, which will offer considerable advantages in terms of speed and power dissipation, but will prevent clock-synchronous or deterministic work of the CPU.
- a method for the synchronization of external events which are supplied to a module CPU and influence it, according to which the external events are temporarily stored, the stored external events being called up in a separate operating mode of the module for processing by an execution unit EU of the module and the module enters this operating mode in response to the fulfillment of a condition that can be specified by commands or is predetermined.
- the predeterminable condition is realized by executing the change to the separate operating mode if the match between a counter element CIC and a register element MIR is determined by a comparator element K of the module, the content of the register element MIR being predeterminable by commands and the counting element CIC contains the number of instructions executed by the execution unit since the last change to the separate operating mode.
- the method can be used particularly advantageously in connection with redundant systems which have at least two CPU modules and in which an identical sequence of instructions is provided for the CPU modules and in which separate external events are called up by the modules in a separate operating mode.
- a faster block CPU is left in redundant systems by a controller in a separate operating mode until a slower block has reached the end of the separate operating mode.
- the invention also provides a processor module CPU which has at least the following:
- At least one execution unit EU at least one counter element CIC for counting the instructions executed by the execution unit since the last change to the separate operating mode
- Commands can be specified or fixed, - at least one comparator element K- for switching the
- Execution unit EU in a separate operating mode in response to the correspondence of the counting element CIC with the register element MIR, wherein in the separate operating mode cached external events to be fed to the processor module and which influence the processor module (CPU) are called up by the processor module CPU.
- the cached external events can advantageously be retrieved using software, firmware, microcode or hardware.
- a system comprising at least two processor modules CPU is also provided, the processor modules CPU each having at least the following:
- At least one counter element CIC for counting the instructions carried out by the execution unit since the last change to the separate operating mode
- at least one register element MIR the content of which can be predetermined or predefined by commands
- At least one comparator element K for switching the execution unit EU into a separate operating mode in response to the correspondence of the counting element CIC with the register element MIR, external events temporarily stored in the separate operating mode that are to be supplied to the processor modules and influencing the processor modules being called up by the processor modules.
- the cached external events can advantageously be called up using software, firmware, microcode or hardware.
- This system advantageously also has a connection between at least two of the processor modules CPU that execute an identical instruction sequence, the connection being provided for transmitting synchronization information of the separate operating modes.
- a major advantage of the invention is that it enables the use of any new or existing software on a hardware fault-tolerant platform, in which a CPU supporting the invention can be used without the requirement for clock-synchronous, deterministic operation of the CPU exists and whereby the use of asynchronous high-speed interfaces or links is possible.
- the CPUs do not have to be identical, they only have to stop after the same number of processed machine instructions and change the operating mode. - The CPUs can be operated with different clock frequencies. - The CPUs can behave differently with regard to the speculative execution of instructions, since only the completed instructions are evaluated.
- the present invention ensures that external events relevant to the program flow, such as e.g. Interrupts or data generated by external devices, redundant CPUs are presented at identical points in the command execution and the lockstep mode of operation can thereby be emulated.
- a processor module CPU is shown schematically in FIG. Only the components relevant to this invention are shown.
- the CPU comprises a cache memory C, one or more execution units EU, at least one comparator K, at least one counter CIC for counting the execution unit led instructions and at least one register element MIR, the content of which can be predetermined by commands or fixed.
- the following are also shown schematically: address bus, data bus, control bus, connections or links and a system clock.
- the CPU contains the counter CIC (Completed Instruction Counter), which counts instructions or machine instructions which the CPU has completely executed.
- the CPU also contains a register MIR (Maximum Instruction Register) which is written by software (ELSO) which supports the emulated lockstep operation.
- the CPU has the comparator or comparator K, which compares the number of commands executed, that is to say the counter CIC, with the register MIR and, in the case of equality, for example generates an interrupt request which executes the command according to the number of commands carried out by the register MIR given instructions are interrupted and the CPU switches to another operating mode.
- suitable microcode is executed, for example, or an interrupt service routine is branched out, or hardware signals indicate that this synchronization point has been reached.
- the external events are then presented to the redundant CPUs in such a way that after leaving this operating mode, all CPUs can evaluate these events in the same way and thus subsequently execute the same commands.
- the CPU branches into an interrupt service routine in which the state of Interrupt signals kept away from the CPU by the hardware described are queried in such a way that a redundant CPU, which may make this query at a slightly later time, receives the identical information.
- the counter CIC is reset before leaving the separate operating mode. Then the program jumps back to the point at which the interruption occurred when the counter value CIC specified by the register MIR was reached. The CPU will then again execute the number of machine instructions specified by the register MIR and, when the register value MIR is reached, change the mode by means of the counter CIC and thereby enable the acceptance of external events.
- software ELSO supporting the emulated lockstep operation can set the register MIR to a value of 10,000.
- a CPU that operates at a 5 GHz clock frequency and executes an average of one machine command per cycle (length of a cycle: 1/200 ps) would be interrupted after 2 ⁇ s in the execution of the command and enable synchronization with external events.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
Identically structured processor boards operating in lockstep mode are frequently used for redundant systems. The deterministic behavior of all components comprised in the board, i.e. CPUs, chip sets, main memory, etc. is the basic condition for implementing a lockstep system, deterministic behavior meaning that said components simultaneously supply identical results if the components receive identical stimuli at the same time and if no error occurs. Deterministic behavior also requires the use of clocked interfaces. In many cases, asynchronous interfaces cause a certain temporal fuzziness in the system, preventing the overall behavior of the system from remaining synchronous. In order to nevertheless operate in lockstep mode, the invention relates to a method for synchronizing external events which are fed to and influence a component (CPU). According to said method, the external events are temporarily stored by means of buffer elements and are then retrieved in a separate mode of operation of the component so as to be processed by an execution unit (EU) of the component, said component entering into said mode of operation in response to a condition being met, which can be or is predefined and reflects the number of executed instructions.
Description
Beschreibungdescription
Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter SystemeEvent synchronization method, especially for processors of fault-tolerant systems
In Telekommunikationssystemen, in Data-Centern und anderen hochverfügbaren Systemen werden in vielen Fällen bis zu einigen _Hundert sogenannter Prozessorboards eingesetzt, um die erforderliche Rechenleistung vorzusehen. Ein solches Prozes- sorboard besteht typischerweise aus einem Prozessor bzw. einer CPU (Central Processing Unit) , einem Chip Set, Hauptspeicher und Peripheriebausteinen.In many cases up to a few hundred so-called processor boards are used in telecommunications systems, data centers and other high-availability systems to provide the necessary computing power. Such a processor board typically consists of a processor or CPU (Central Processing Unit), a chip set, main memory and peripheral components.
Die Wahrscheinlichkeit des Auftretens eines Hardware-Defektes eines typischen Prozessorboards pro Jahr liegt im einstelligen Prozentbereich. Aufgrund der großen Anzahl zu einem System zusammengefasster Prozessorboards ergibt sich eine auf den Jahreszeitraum bezogene sehr hohe Wahrscheinlichkeit eines Ausfalls einer beliebigen Hardware-Komponente, wobei ein solcher Einzelausfall, falls geeignete Vorkehrungen nicht getroffen werden, den Ausfall des gesamten Systems hervorrufen kann.The probability of a hardware defect of a typical processor board occurring per year is in the single-digit percentage range. Due to the large number of processor boards combined into a system, there is a very high probability of a failure of any hardware component in relation to the year, whereby such an individual failure, if suitable precautions are not taken, can cause the failure of the entire system.
Insbesondere an Telekommunikationssysteme, in zunehmendem Maße auch an Data-Center, wird die Forderung nach einer hohen Systemverfügbarkeit gestellt. Diese wird beispielsweise in Prozent ausgedrückt, oder es wird die maximal zulässige Ausfallzeit pro Jahr angegeben.. Typische Anforderungen sind z.B. eine Verfügbarkeit von >99.999% bzw. eine NichtVerfügbarkeit von höchstens einigen Minuten im Jahr. Da üblicherweise der Austausch eines Prozessorboards und die Wiederherstellung des Dienstes im Falle eines Hardwaredefektes eine Zeit beansprucht/ die im Bereich einige 10 Minuten bis einige Stunden liegt, müssen für den Fall eines Hardwaredefektes auf System- ebene entsprechende Vorkehrungen getroffen werden, um die Forderung nach der Systemverfügbarkeit erfüllen zu können.
Bekannte Lösungen zur Einhaltung solch hoher Anforderungen an die Systemverfügbarkeit sehen redundante Systemkomponenten vor. Die bekannten Verfahren lassen sich in zwei hauptsächliche Gruppen einteilen: softwarebasierte Verfahren und hardwarebasierte Verfahren.Telecommunications systems in particular, and increasingly also data centers, are demanding high system availability. This is expressed, for example, in percent, or the maximum permissible downtime per year is specified. Typical requirements are, for example, an availability of> 99.999% or an unavailability of at most a few minutes a year. Since the replacement of a processor board and the restoration of the service in the event of a hardware defect usually takes a time / which is in the range of a few 10 minutes to a few hours, appropriate precautions must be taken in the event of a hardware defect at the system level in order to meet the requirement To be able to meet system availability. Known solutions to comply with such high system availability requirements provide redundant system components. The known methods can be divided into two main groups: software-based methods and hardware-based methods.
Bei softwarebasierten Verfahren wird typischerweise eine Middleware eingesetzt. Die softwarebasierte Lösung erweist sich jedoch als wenig flexibel, da lediglich diejenige (Ap- plikations-) Software in einem solchen System eingesetzt werden kann, die für dieses besondere Redundanzschema entwickelt wurde. Dies schränkt das Spektrum einsetzbarer (Applikations- ) Software erheblich ein. Darüber hinaus ist die Entwicklung von Applikationssoftware für Softwareredundanzprinzipien in der Praxis äußerst aufwendig, wobei die Entwicklung zusätzlich ein kompliziertes Testverfahren nach sich zieht.Middleware is typically used in software-based processes. However, the software-based solution proves to be not very flexible, since only the (application) software that was developed for this particular redundancy scheme can be used in such a system. This considerably limits the range of usable (application) software. In addition, the development of application software for software redundancy principles is extremely complex in practice, whereby the development also entails a complicated test procedure.
Das Grundprinzip hardwarebasierter Verfahren beruht darauf, die Redundanz auf Hardwareebene zu kapseln, so daß dies für die Software transparent ist. Der wesentliche Vorteil einer von der Hardware selbst verwalteten Redundanz ist der, daß die Applikationssoftware durch das Redundanzprinzip nicht beeinträchtigt wird und somit in den meisten Fällen jede beliebige Software zum Einsatz kommen kann.The basic principle of hardware-based methods is based on encapsulating the redundancy at the hardware level so that this is transparent to the software. The main advantage of a redundancy managed by the hardware itself is that the application software is not affected by the redundancy principle and therefore any software can be used in most cases.
Ein in der Praxis häufig anzutreffendes Prinzip für hardware- fehlertolerante Systeme, deren Redundanz für die Software transparent ist, ist das sogenannte Lockstep-Prinzip. Lockstep bedeutet, daß identisch aufgebaute Hardware, z.B. zwei Boards, gleichartig taktsynchron betrieben werden. Durch Hardwaremechanismen wird sichergestellt, daß die redundante Hardware zu einem gegebenen Zeitpunkt identische Eingangsstimuli erfährt und dadurch zu identischen Ergebnissen kommen muß. Die Ergebnisse der redundanten Komponenten werden ver- glichen, im Fall einer Abweichung wird ein Fehler festgestellt und geeignete Maßnahmen werden eingeleitet (Alarmie-
rung an das Bedienpersonal, partielle oder vollständige Sicherheitsabschaltung, Systemneustart) .A principle that is often encountered in practice for hardware fault-tolerant systems whose redundancy is transparent to the software is the so-called lockstep principle. Lockstep means that identical hardware, for example two boards, is operated in the same isochronous mode. Hardware mechanisms ensure that the redundant hardware experiences identical input stimuli at a given point in time and must therefore come to identical results. The results of the redundant components are compared; in the event of a deviation, an error is identified and suitable measures are initiated (alarm operator, partial or complete safety shutdown, system restart).
Die grundlegende Voraussetzung für die Implementierung eines Lockstep-Systems ist das deterministische Verhalten aller im Board enthaltenen Komponenten, also CPUs, Chip Sets, Hauptspeicher etc. Deterministisches Verhalten bedeutet dabei, daß diese Komponenten im fehlerfreien Fall identische Ergebnisse zu identischen Zeitpunkten liefern, wenn die Komponenten identische Stimuli zu identischen Zeitpunkten erhalten.The basic prerequisite for the implementation of a lockstep system is the deterministic behavior of all components contained in the board, i.e. CPUs, chip sets, main memory etc. Deterministic behavior means that these components deliver identical results at identical times when the components are faultless receive identical stimuli at identical times.
Deterministisches Verhalten setzt ferner die Verwendung taktsynchroner Schnittstellen voraus. Asynchrone Schnittstellen bewirken im System in vielen Fällen eine gewisse zeitliche Unscharfe, wodurch das taktsynchrone Gesamtverhalten des Systems nicht aufrecht erhalten werden kann.Deterministic behavior also requires the use of isochronous interfaces. In many cases, asynchronous interfaces cause a certain degree of unsharpness in the system, as a result of which the clock-synchronous overall behavior of the system cannot be maintained.
Gerade für Chip Sets und CPUs bieten asynchrone Schnittstellen jedoch technologische Vorteile bei der Erhöhung der Leistungsfähigkeit, wodurch eine taktsynchrone Betriebsweise nach dem Lockstep-Verfahren unmöglich wird. Zudem verwenden moderne CPUs zunehmend Mechanismen, die eine taktsynchrone Betriebsweise unmöglich machen. Dies sind beispielsweise interne, nach außen nicht sichtbare Korrekturmaßnahmen, z.B. Korrektur eines internen, korrigierbaren Fehlers beim Zugriff auf den Cache-Speicher, die zu einer geringfügigen Verzögerung der Befehlsabarbeitung führen können, oder die spekulative Ausführung von Befehlen. Ein weiteres Beispiel ist die zukünftig zunehmende Implementierung von CPU-internen taktfreien Ausführungseinheiten, die erhebliche Vorteile in- sichtlich Geschwindigkeit und Verlustleistung ermöglichen, jedoch ein taktsynchrones bzw. deterministisches Arbeiten der CPU verhindern.For chip sets and CPUs in particular, however, asynchronous interfaces offer technological advantages in increasing performance, making clock-synchronous operation using the lockstep method impossible. In addition, modern CPUs increasingly use mechanisms that make clock-synchronous operation impossible. These are, for example, internal corrective measures that are not visible to the outside, e.g. Correction of an internal, correctable error in accessing the cache memory, which may lead to a slight delay in command processing, or the speculative execution of commands. Another example is the increasing implementation of CPU-internal clock-free execution units in the future, which will offer considerable advantages in terms of speed and power dissipation, but will prevent clock-synchronous or deterministic work of the CPU.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren anzugeben, durch welches die Vorteile des Lockstep- Verfahrens zu gewahrt bleiben und welches der technologischen Entwicklung Rechnung trägt.
Diese Aufgabe wird durch ein Verfahren zur Synchronisation externer Ereignisse gemäß der Merkmale des Patentanspruchs 1, einen Prozessorbaustein gemäß der Merkmale des Patentan- spruchs 5 und ein System gemäß der Merkmale des Patentanspruchs 6 gelöst.It is therefore an object of the present invention to provide a method by which the advantages of the lockstep method are maintained and which takes account of technological developments. This object is achieved by a method for synchronizing external events according to the features of patent claim 1, a processor module according to the features of patent claim 5 and a system according to the features of patent claim 6.
Bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.Preferred embodiments are the subject of the dependent claims.
Erfindungsgemäß wird ein Verfahren zur Synchronisation externer Ereignisse, die einem Baustein CPU zugeführt werden und diesen beeinflussen, vorgesehen, demgemass die externen Ereignisse zwischengespeichert werden, wobei die gespeicher- ten externen Ereignisse in einem gesonderten Betriebsmodus des Bausteins zur Verarbeitung durch eine Ausführungseinheit EU des Bausteins abgerufen werden und wobei der Baustein in diesen Betriebsmodus ansprechend auf die Erfüllung einer durch Befehle vorgebbaren oder fest vorgegebenen Bedingung eintritt.According to the invention, a method is provided for the synchronization of external events which are supplied to a module CPU and influence it, according to which the external events are temporarily stored, the stored external events being called up in a separate operating mode of the module for processing by an execution unit EU of the module and the module enters this operating mode in response to the fulfillment of a condition that can be specified by commands or is predetermined.
Gemäß einer vorteilhaften Weiterbildung wird die vorgebbare Bedingung realisiert, indem der Wechsel in den gesonderten Betriebsmodus ausgeführt wird, falls durch ein Komparatorele- ment K des Bausteins die Übereinstimmung eines Zählelementes CIC mit einem Registerelement MIR ermittelt wird, wobei der Inhalt des Registerelementes MIR durch Befehle vorgebbar ist und das Zählelement CIC die Anzahl der durch die Ausführungseinheit ausgeführten Instruktionen seit dem letzten Wechsel in den gesonderten Betriebsmodus enthält.According to an advantageous development, the predeterminable condition is realized by executing the change to the separate operating mode if the match between a counter element CIC and a register element MIR is determined by a comparator element K of the module, the content of the register element MIR being predeterminable by commands and the counting element CIC contains the number of instructions executed by the execution unit since the last change to the separate operating mode.
Das Verfahren ist besonders vorteilhaft im Zusammenhang mit redundanten Systemen anwendbar, die zumindest zwei Bausteine CPU aufweisen und in denen eine identische Folge von Instruk- tionen für die Bausteine CPU vorgesehen ist und durch die Bausteine im gesonderten Betriebsmodus identische externe Ereignisse abgerufen werden.
Gemäß einer Ausprägung der Erfindung wird in redundanten Systemen ein schnellerer Baustein CPU durch eine Steuerung im gesonderten Betriebsmodus belassen, bis ein langsamerer Bau- stein das Ende des gesonderten Betriebsmodus erreicht hat.The method can be used particularly advantageously in connection with redundant systems which have at least two CPU modules and in which an identical sequence of instructions is provided for the CPU modules and in which separate external events are called up by the modules in a separate operating mode. According to an embodiment of the invention, a faster block CPU is left in redundant systems by a controller in a separate operating mode until a slower block has reached the end of the separate operating mode.
Die Erfindung sieht ferner einen Prozessorbaustein CPU vor, der zumindest folgendes aufweist:The invention also provides a processor module CPU which has at least the following:
- mindestens eine Ausführungseinheit EU, - mindestens ein Zählerelement CIC zum Zählen der durch die Ausführungseinheit ausgeführten Instruktionen seit dem letzten Wechsel in den gesonderten Betriebsmodus,at least one execution unit EU, at least one counter element CIC for counting the instructions executed by the execution unit since the last change to the separate operating mode,
- mindestens ein Registerelement MIR, dessen Inhalt durch- At least one register element MIR, the content of which
Befehle vorgebbar oder fest vorgegeben ist, - mindestens ein Komparatorelement K- zum Umschalten derCommands can be specified or fixed, - at least one comparator element K- for switching the
Ausführungseinheit EU in einen gesonderten Betriebsmodus ansprechend auf die Übereinstimmung des Zählelementes CIC mit dem Registerelement MIR, wobei in dem gesonderten Betriebsmodus zwischengespeicherte, dem Prozessorbaustein zuzuführende externe Ereignisse, die den Prozessorbaustein (CPU) beeinflussen, durch den Prozessorbaustein CPU abgerufen werden.Execution unit EU in a separate operating mode in response to the correspondence of the counting element CIC with the register element MIR, wherein in the separate operating mode cached external events to be fed to the processor module and which influence the processor module (CPU) are called up by the processor module CPU.
Der Abruf der zwischengespeicherten externen Ereignisse kann dabei vorteilhaft mittels Software, Firmware, Microcode -oder Hardware erfolgen.The cached external events can advantageously be retrieved using software, firmware, microcode or hardware.
Erfindungsgemäß wird außerdem ein System bestehend aus mindestens zwei Prozessorbausteinen CPU vorgesehen, wobei die Prozessorbausteine CPU jeweils zumindest folgendes aufweisen:According to the invention, a system comprising at least two processor modules CPU is also provided, the processor modules CPU each having at least the following:
- mindestens eine Ausführungseinheit EU,- at least one execution unit EU,
- mindestens ein Zählerelement CIC zum Zählen der durch die Ausführungseinheit ausgeführten Instruktionen seit dem letzten Wechsel in den gesonderten Betriebsmodus, - mindestens ein Registerelement MIR, dessen Inhalt durch Befehle vorgebbar oder fest vorgegeben ist,
- mindestens ein Komparatorelement K zum Umschalten der Ausführungseinheit EU in einen gesonderten Betriebsmodus ansprechend auf die Übereinstimmung des Zählelementes CIC mit dem Registerelement MIR, wobei in dem gesonderten Betriebsmodus zwischengespeicherte, den Prozessorbausteinen zuzuführende externe Ereignisse, welche die Prozessorbausteine beeinflussen, durch die Prozessorbausteine abgerufen werden.at least one counter element CIC for counting the instructions carried out by the execution unit since the last change to the separate operating mode, at least one register element MIR, the content of which can be predetermined or predefined by commands, - At least one comparator element K for switching the execution unit EU into a separate operating mode in response to the correspondence of the counting element CIC with the register element MIR, external events temporarily stored in the separate operating mode that are to be supplied to the processor modules and influencing the processor modules being called up by the processor modules.
Der Abruf der zwischengespeicherten externen Ereignisse kann dabei vorteilhaft mittels Software, Firmware, Microcode oder Hardware erfolgen.The cached external events can advantageously be called up using software, firmware, microcode or hardware.
Vorteilhaft weist dieses System zusätzlich eine Verbindung zwischen zumindest zwei der Prozessorbausteine CPU, die eine identische Instruktionsfolge ausführen, auf, wobei die Verbindung zum Übertragen von Synchronisationsinformationen der gesonderten Betriebsmodi vorgesehen ist.This system advantageously also has a connection between at least two of the processor modules CPU that execute an identical instruction sequence, the connection being provided for transmitting synchronization information of the separate operating modes.
Ein wesentlicher Vorteil der Erfindung ist darin zu sehen, daß die Verwendung beliebiger neuer oder bestehender Software auf einer hardwarefehlertoleranten Plattform ermöglicht wird, wobei in dieser Plattform eine die Erfindung unterstützende CPU zum Einsatz kommen kann, ohne daß die Forderung nach taktsynchroner, deterministischer Arbeitsweise der CPU besteht und wobei die Verwendung asynchroner Hochgeschwindigkeitsschnittstellen bzw. Links möglich ist.A major advantage of the invention is that it enables the use of any new or existing software on a hardware fault-tolerant platform, in which a CPU supporting the invention can be used without the requirement for clock-synchronous, deterministic operation of the CPU exists and whereby the use of asynchronous high-speed interfaces or links is possible.
Weitere Vorteile sind: - Die zueinander redundanten Boards und CPUs müssen nicht phasenstarr gekoppelt betrieben werden.Further advantages are: - The redundant boards and CPUs do not have to be operated in a phase-locked manner.
- Die CPUs müssen nicht identisch sein, sie müssen lediglich nach der gleichen Anzahl abgearbeiteter Maschineninstruktionen anhalten und den Betriebsmodus wechseln. - Die CPUs können mit unterschiedlichen Taktfrequenzen betrieben werden.
- Die CPUs können sich unterschiedlich in Bezug auf die spekulative Ausführung von Instruktionen verhalten, da nur die komplettierten Instruktionen bewertet werden.- The CPUs do not have to be identical, they only have to stop after the same number of processed machine instructions and change the operating mode. - The CPUs can be operated with different clock frequencies. - The CPUs can behave differently with regard to the speculative execution of instructions, since only the completed instructions are evaluated.
- Unterschiedliche CPU-interne AusführungsZeiten identischer CPUs, z.B. aufgrund von Korrekturen nach dem datenverfälschendem Auftreten von Alpha-Teilchen, führen lediglich dazu, daß der Synchronisationsmodus zu gering- . fügig unterschiedlichen Zeitpunkten erreicht wird.- Different CPU-internal execution times of identical CPUs, e.g. due to corrections after the data corruption of alpha particles only lead to the synchronization mode being too low. completely different times is reached.
Die beschriebenen Probleme bei der Sicherstellung der taktsynchron deterministischen Arbeitsweise führen aufgrund der zeitlichen Unscharfe zukünftiger CPUs zu zeitlich nicht exakt korrelierbarer Befehlsausführung. Da die CPU bei einer typischen Applikation auf externe Ereignisse reagieren muß, z.B. auf einen von einem Peripheriegerät generierten Interrupt oder auf Daten, die von einem Gerät in den Hauptspeicher geschrieben wurden, muß sichergestellt werden, daß die CPU von diesen Ereignissen an identischen Stellen in der Befehlsausführung in Kenntnis gesetzt wird, da sonst die Bewer- tung dieser Ereignisse zu unterschiedlichen Programmabläufen redundanter CPUs führen könnte.The problems described in ensuring the isochronous deterministic mode of operation lead to the execution of commands that cannot be precisely correlated due to the temporal blurring of future CPUs. Since the CPU has to react to external events in a typical application, e.g. on an interrupt generated by a peripheral device or on data written into the main memory by a device, it must be ensured that the CPU is informed of these events at identical positions in the command execution, otherwise the evaluation of these events could lead to different program sequences of redundant CPUs.
Die vorliegende Erfindung sorgt dafür, daß externe, für den Programmablauf relevante Ereignisse, wie z.B. Interrupts oder von externen Geräten erzeugte Daten, redundanten CPUs an identischen Stellen der Befehlsausführung präsentiert werden und dadurch die Lockstep-Betriebsweise emuliert werden kann.The present invention ensures that external events relevant to the program flow, such as e.g. Interrupts or data generated by external devices, redundant CPUs are presented at identical points in the command execution and the lockstep mode of operation can thereby be emulated.
Im folgenden wird ein Ausführungsbeispiel der Erfindung im Zusammenhang mit einer Figur näher erläutert.In the following an embodiment of the invention will be explained in connection with a figure.
In Figur 1 wird ein erfindungsgemäßer Prozessorbaustein CPU schematisch dargestellt. Dabei sind nur die für diese Erfindung relevanten Bestandteile dargestellt. Die CPU umfaßt einen Cache-Speicher C, eine oder mehrere Ausführungsein- heiten EU, mindestens einen Komparator K, mindestens einen Zähler CIC zum Zählen der durch die Ausführungseinheit ausge-
führten Instruktionen und mindestens ein Registerelement MIR, dessen Inhalt durch Befehle vorgebbar oder fest vorgegeben sein kann. Ferner sind schematisch dargestellt: Adressbus, Datenbus, Steuerbus, Verbindungen bzw. Links und ein System- takt Clock.A processor module CPU according to the invention is shown schematically in FIG. Only the components relevant to this invention are shown. The CPU comprises a cache memory C, one or more execution units EU, at least one comparator K, at least one counter CIC for counting the execution unit led instructions and at least one register element MIR, the content of which can be predetermined by commands or fixed. The following are also shown schematically: address bus, data bus, control bus, connections or links and a system clock.
Die den Programmablauf beeinflussenden externen Ereignisse werden der CPU nicht direkt zugeführt, sondern von einer geeignet gestalteten Hardware zunächst gepuffert. Diese Hard- wäre kann dabei Bestandteil eines Bausteins außerhalb der CPU oder Bestandteil der CPU selbst sein. Die CPU enthält erfindungsgemäß den Zähler CIC (Completed Instruction Counter) , der Instruktionen oder Maschinenbefehle zählt, welche die CPU komplett ausgeführt hat. Die CPU enthält ferner ein Register MIR (Maximum Instruction Register) , das von einer den emulierten Lockstep Betrieb unterstützenden Software (ELSO) beschrieben wird.The external events influencing the program flow are not fed directly to the CPU, but are initially buffered by suitably designed hardware. This hardware could be part of a block outside the CPU or part of the CPU itself. According to the invention, the CPU contains the counter CIC (Completed Instruction Counter), which counts instructions or machine instructions which the CPU has completely executed. The CPU also contains a register MIR (Maximum Instruction Register) which is written by software (ELSO) which supports the emulated lockstep operation.
Ferner weist die CPU den Ko parator oder Vergleicher K auf, der die Anzahl der ausgeführten Befehle, also den Zähler CIC, mit dem Register MIR vergleicht und bei Gleichheit beispielsweise eine Interrupt-Anforderung generiert, der die Befehlsausführung nach der Zahl der durch das Register MIR vorgegeben Instruktionen unterbricht und die CPU in einen anderen Betriebsmodus schaltet. In diesem Betriebsmodus wird beispielsweise geeigneter Microcode ausgeführt oder in eine Interrupt Service Routine verzweigt oder per Hardware-Signalen das Erreichen dieses Synchronisationspunktes angezeigt. In diesem Betriebsmodus werden dann den redundanten CPUs die externen Ereignisse so präsentiert, daß nach dem Verlassen dieses Betriebsmodus alle CPUs diese Ereignisse gleich bewerten können und somit in der Folge die gleichen Befehle ausführen werden.Furthermore, the CPU has the comparator or comparator K, which compares the number of commands executed, that is to say the counter CIC, with the register MIR and, in the case of equality, for example generates an interrupt request which executes the command according to the number of commands carried out by the register MIR given instructions are interrupted and the CPU switches to another operating mode. In this operating mode, suitable microcode is executed, for example, or an interrupt service routine is branched out, or hardware signals indicate that this synchronization point has been reached. In this operating mode, the external events are then presented to the redundant CPUs in such a way that after leaving this operating mode, all CPUs can evaluate these events in the same way and thus subsequently execute the same commands.
Beispielsweise verzweigt die CPU nach Erreichen der durch das Register MIR vorgegeben Anzahl von Maschineninstruktionen in eine Interrupt Service Routine, in welcher der Zustand von
durch die beschriebene Hardware von der CPU ferngehaltenen Interrupt Signalen so abgefragt wird, daß eine redundante CPU, die ggf. diese Abfrage zu einem geringfügig späteren Zeitpunkt stellt, die identische Auskunft erhält.For example, after reaching the number of machine instructions specified by the register MIR, the CPU branches into an interrupt service routine in which the state of Interrupt signals kept away from the CPU by the hardware described are queried in such a way that a redundant CPU, which may make this query at a slightly later time, receives the identical information.
Vor dem Verlassen des gesonderten Betriebsmodus wird der Zähler CIC zurückgesetzt. Anschließend wird zu der Programmstelle zurückgesprungen, an der die Unterbrechung durch das Erreichen des durch das Register MIR vorgegeben Zählerwertes CIC stattgefunden hat. Danach wird die CPU wieder die durch das Register MIR vorgegebene Anzahl von Maschineninstruktio- nen ausführen und bei Erreichen des Registerwertes MIR durch Zähler CIC den Mode wechseln und dadurch die Annahme von externen Ereignissen ermöglichen.The counter CIC is reset before leaving the separate operating mode. Then the program jumps back to the point at which the interruption occurred when the counter value CIC specified by the register MIR was reached. The CPU will then again execute the number of machine instructions specified by the register MIR and, when the register value MIR is reached, change the mode by means of the counter CIC and thereby enable the acceptance of external events.
Beispielsweise kann eine den emulierten Lockstep-Betrieb unterstützende Software ELSO das Register MIR auf einen Wert von 10.000 setzen. Eine CPU, die mit 5 GHz Taktfrequenz betrieben wird und im Mittel einen Maschinenbefehl pro Takt (Länge eines Taktes: 1/200 ps) ausführt, würde so nach 2 μs in der Befehlsausführung unterbrochen werden und die Synchronisation mit externen Ereignissen ermöglichen.
For example, software ELSO supporting the emulated lockstep operation can set the register MIR to a value of 10,000. A CPU that operates at a 5 GHz clock frequency and executes an average of one machine command per cycle (length of a cycle: 1/200 ps) would be interrupted after 2 μs in the execution of the command and enable synchronization with external events.
Claims
1. Verfahren zur Synchronisation externer Ereignisse, die einem Baustein (CPU) zugeführt werden und diesen beein- flussen, demgemass die externen Ereignisse zwischengespeichert werden, wobei die gespeicherten externen Ereignisse in einem gesonderten Betriebsmodus des Bausteins zur Verarbeitung durch zumindest eine Ausführungseinheit (EU) des Bausteins abgerufen werden und wobei der Bau- stein in diesen Betriebsmodus ansprechend auf die Erfüllung einer durch Befehle vorgebbaren oder fest vorgegebenen Bedingung eintritt.1. Method for synchronizing external events which are fed to and influence a module (CPU), accordingly the external events are temporarily stored, the stored external events in a separate operating mode of the module for processing by at least one execution unit (EU) of the Module can be called up and the module enters this operating mode in response to the fulfillment of a condition that can be predetermined or specified by commands.
2. Verfahren nach Anspruch 1,' dadurch gekennzeichnet, dass der Wechsel in den gesonderten Betriebsmodus ausgeführt wird, falls durch ein Komparatorelement (K) des Bausteins die Übereinstimmung eines Zählelementes (CIC) mit einem Registerelement (MIR) ermittelt wird, wobei der Inhalt des Registerelementes (MIR) durch Befehle vorgebbar ist und das Zählelement (CIC) die Anzahl der durch die Ausführungseinheit ausgeführten Instruktionen seit dem letzten Wechsel in den gesonderten Betriebsmodus enthält.2. The method according to claim 1, 'characterized in that the change to the separate operating mode is carried out if the correspondence of a counter element (CIC) with a register element (MIR) is determined by a comparator element (K) of the module, the content of the Register element (MIR) can be specified by commands and the counting element (CIC) contains the number of instructions executed by the execution unit since the last change to the separate operating mode.
3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass in _ redundanten Systemen, die zumindest zwei Bausteine (CPU) aufweisen, eine identische Folge von In- struktionen für die Bausteine (CPU) vorgesehen ist und durch die Bausteine im gesonderten Betriebsmodus identische externe Ereignisse abgerufen werden.3. The method according to claim 1 or 2, characterized in that in redundant systems which have at least two modules (CPU), an identical sequence of instructions for the modules (CPU) is provided and by the modules separately Operating mode identical external events can be retrieved.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass ein schnellerer Baustein (CPU) durch eine Steuerung im gesonderten Betriebsmodus belassen wird, bis ein lang- samerer Baustein das Ende des gesonderten Betriebsmodus erreicht hat.4. The method according to claim 3, characterized in that a faster block (CPU) is left by a controller in a separate operating mode until a long more complex block has reached the end of the separate operating mode.
5. Prozessorbaustein (CPU), der zumindest folgendes aufweist: - mindestens eine Ausführungseinheit (EU) ,5. processor module (CPU) which has at least the following: - at least one execution unit (EU),
- mindestens ein Zählerelement (CIC) zum Zählen der durch die Ausführungseinheit ausgeführten Instruktionen seit dem letzten Wechsel in den gesonderten Betriebsmodus,at least one counter element (CIC) for counting the instructions executed by the execution unit since the last change to the separate operating mode,
- mindestens ein Registerelement (MIR) , dessen Inhalt durch Befehle vorgebbar oder fest vorgegeben ist,- at least one register element (MIR), the content of which can be specified by commands or fixed,
- mindestens ein Komparatorelement (K) zum Umschalten der Ausführungseinheit (EU) in einen gesonderten Betriebsmodus ansprechend auf die Übereinstimmung des Zählelementes- At least one comparator element (K) for switching the execution unit (EU) into a separate operating mode in response to the correspondence of the counting element
(CIC) mit dem Registerelement (MIR) , wobei in dem geson- derten Betriebsmodus zwischengespeicherte, dem Prozessorbaustein (CPU) zuzuführende externe Ereignisse, die den Prozessorbaustein (CPU) beeinflussen, durch den Prozes- sorbaustein (CPU) abgerufen werden.(CIC) with the register element (MIR), external events which are temporarily stored in the special operating mode and which are to be supplied to the processor module (CPU) and which influence the processor module (CPU), are called up by the processor module (CPU).
6. System bestehend aus mindestens zwei Prozessorbausteinen (CPU) , die jeweils zumindest folgendes aufweisen:6. System consisting of at least two processor modules (CPU), each of which has at least the following:
- mindestens eine Ausführungseinheit (EU) ,- at least one execution unit (EU),
- mindestens ein Zählerelement (CIC) zum Zählen der durch die Ausführungseinheit ausgeführten Instruktionen seit dem letzten Wechsel in den gesonderten Betriebsmodus,at least one counter element (CIC) for counting the instructions executed by the execution unit since the last change to the separate operating mode,
- mindestens ein Registerelement (MIR) , dessen Inhalt durch- At least one register element (MIR), the content of which
Befehle vorgebbar oder fest vorgegeben ist,Commands can be specified or predefined,
- mindestens ein Komparatorelement (K) zum Umschalten der Ausführungseinheit (EU) in einen gesonderten Betriebs- modus ansprechend auf die Übereinstimmung des Zählelementes (CIC) mit dem Registerelement (MIR) , wobei in dem gesonderten Betriebsmodus zwischehgespeicherte, den Prozessorbausteinen zuzuführende externe Ereignisse, welche die Prozessorbausteine beeinflussen, durch die Prozessorbau- steine abgerufen werden. ystem nach Anspruch 6, das zusätzlich eine Verbindung zwischen zumindest zwei der Prozessorbausteine (CPU) , die eine identische Instruktionsfolge ausführen, aufweist, wobei die Verbindung zum Übertragen von Synchronisations- Informationen der gesonderten Betriebsmodi vorgesehen ist . - At least one comparator element (K) for switching the execution unit (EU) into a separate operating mode in response to the correspondence of the counting element (CIC) with the register element (MIR), whereby in the separate operating mode cached external events to be supplied to the processor modules, which influence the processor blocks through which the processor blocks are called. System according to claim 6, which additionally has a connection between at least two of the processor modules (CPU) which execute an identical instruction sequence, the connection being provided for transmitting synchronization information of the separate operating modes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03807779A EP1543421A2 (en) | 2002-09-12 | 2003-08-06 | Method for synchronizing events, particularly for processors of fault-tolerant systems |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02020602A EP1398699A1 (en) | 2002-09-12 | 2002-09-12 | Method for synchronizing events, in particular for fault-tolerant systems |
EP02020602 | 2002-09-12 | ||
EP03807779A EP1543421A2 (en) | 2002-09-12 | 2003-08-06 | Method for synchronizing events, particularly for processors of fault-tolerant systems |
PCT/EP2003/008715 WO2004034172A2 (en) | 2002-09-12 | 2003-08-06 | Method for synchronizing events, particularly for processors of fault-tolerant systems |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1543421A2 true EP1543421A2 (en) | 2005-06-22 |
Family
ID=31725420
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP02020602A Withdrawn EP1398699A1 (en) | 2002-09-12 | 2002-09-12 | Method for synchronizing events, in particular for fault-tolerant systems |
EP03807779A Withdrawn EP1543421A2 (en) | 2002-09-12 | 2003-08-06 | Method for synchronizing events, particularly for processors of fault-tolerant systems |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP02020602A Withdrawn EP1398699A1 (en) | 2002-09-12 | 2002-09-12 | Method for synchronizing events, in particular for fault-tolerant systems |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060195849A1 (en) |
EP (2) | EP1398699A1 (en) |
CN (1) | CN1682194A (en) |
AU (1) | AU2003260375A1 (en) |
CA (1) | CA2498656A1 (en) |
WO (1) | WO2004034172A2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0602641D0 (en) | 2006-02-09 | 2006-03-22 | Eads Defence And Security Syst | High speed data processing system |
JP4709268B2 (en) * | 2008-11-28 | 2011-06-22 | 日立オートモティブシステムズ株式会社 | Multi-core system for vehicle control or control device for internal combustion engine |
CN102147755B (en) * | 2011-04-14 | 2012-07-04 | 中国人民解放军国防科学技术大学 | Multi-core system fault tolerance method based on memory caching technology |
US20130019083A1 (en) * | 2011-07-11 | 2013-01-17 | International Business Machines Corporation | Redundant Transactional Memory |
US8739186B2 (en) * | 2011-10-26 | 2014-05-27 | Autodesk, Inc. | Application level speculative processing |
US9009734B2 (en) | 2012-03-06 | 2015-04-14 | Autodesk, Inc. | Application level speculative processing |
US11645185B2 (en) * | 2020-09-25 | 2023-05-09 | Intel Corporation | Detection of faults in performance of micro instructions |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3810119A (en) * | 1971-05-04 | 1974-05-07 | Us Navy | Processor synchronization scheme |
DE3235762A1 (en) * | 1982-09-28 | 1984-03-29 | Fried. Krupp Gmbh, 4300 Essen | METHOD AND DEVICE FOR SYNCHRONIZING DATA PROCESSING SYSTEMS |
CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
US5233615A (en) * | 1991-06-06 | 1993-08-03 | Honeywell Inc. | Interrupt driven, separately clocked, fault tolerant processor synchronization |
WO1993009494A1 (en) * | 1991-10-28 | 1993-05-13 | Digital Equipment Corporation | Fault-tolerant computer processing using a shadow virtual processor |
CA2177850A1 (en) * | 1993-12-01 | 1995-06-08 | Thomas Dale Bissett | Fault resilient/fault tolerant computing |
DE19625195A1 (en) * | 1996-06-24 | 1998-01-02 | Siemens Ag | Synchronization method |
US5896523A (en) * | 1997-06-04 | 1999-04-20 | Marathon Technologies Corporation | Loosely-coupled, synchronized execution |
JP2001523855A (en) * | 1997-11-14 | 2001-11-27 | マラソン テクノロジーズ コーポレイション | Failure recovery / fault-tolerant computer |
US6374364B1 (en) * | 1998-01-20 | 2002-04-16 | Honeywell International, Inc. | Fault tolerant computing system using instruction counting |
US6772368B2 (en) * | 2000-12-11 | 2004-08-03 | International Business Machines Corporation | Multiprocessor with pair-wise high reliability mode, and method therefore |
US6928583B2 (en) * | 2001-04-11 | 2005-08-09 | Stratus Technologies Bermuda Ltd. | Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep |
US6802024B2 (en) * | 2001-12-13 | 2004-10-05 | Intel Corporation | Deterministic preemption points in operating system execution |
-
2002
- 2002-09-12 EP EP02020602A patent/EP1398699A1/en not_active Withdrawn
-
2003
- 2003-08-06 EP EP03807779A patent/EP1543421A2/en not_active Withdrawn
- 2003-08-06 AU AU2003260375A patent/AU2003260375A1/en not_active Abandoned
- 2003-08-06 US US10/527,428 patent/US20060195849A1/en not_active Abandoned
- 2003-08-06 CN CNA038215462A patent/CN1682194A/en active Pending
- 2003-08-06 CA CA002498656A patent/CA2498656A1/en not_active Abandoned
- 2003-08-06 WO PCT/EP2003/008715 patent/WO2004034172A2/en not_active Application Discontinuation
Non-Patent Citations (1)
Title |
---|
See references of WO2004034172A2 * |
Also Published As
Publication number | Publication date |
---|---|
US20060195849A1 (en) | 2006-08-31 |
AU2003260375A8 (en) | 2004-05-04 |
AU2003260375A1 (en) | 2004-05-04 |
WO2004034172A3 (en) | 2004-09-23 |
EP1398699A1 (en) | 2004-03-17 |
WO2004034172A2 (en) | 2004-04-22 |
CN1682194A (en) | 2005-10-12 |
CA2498656A1 (en) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68928360T2 (en) | High performance computer system with fault tolerant ability; Procedure for operating the same | |
DE102014002473B4 (en) | SYSTEM AND METHOD FOR INCREASING LOCKSTEP CORE AVAILABILITY | |
EP1807763B1 (en) | Method and device for monitoring a memory unit in a multi-processor system | |
DE102005055067A1 (en) | Device and method for correcting errors in a system having at least two execution units with registers | |
DE102005037246A1 (en) | Method and device for controlling a computer system having at least two execution units and a comparison unit | |
EP1537482B1 (en) | Method and circuit arrangement for synchronization of synchronously or asynchronously clocked processing units | |
EP0543821B1 (en) | Device for monitoring the functions of external synchronisation units in a multi-computer system | |
EP1398701A1 (en) | Method for synchronizing events, in particular for fault-tolerant systems | |
EP1358554B1 (en) | Automatic startup of a cluster system after occurrence of a recoverable error | |
DE102008004205A1 (en) | Circuit arrangement for error treatment in real-time system e.g. controller, for motor vehicle, has processing units reporting result of inherent error diagnosis by monitoring unit that activates arithmetic units in dependence of result | |
WO2014166526A1 (en) | Multi-core processor system having an error analysis function | |
EP1543421A2 (en) | Method for synchronizing events, particularly for processors of fault-tolerant systems | |
DE4406094C2 (en) | Device for operating a control application | |
DE10302456A1 (en) | Computer device for safety-critical applications has at least a processor unit and memory unit with both units situated on the same chip surface | |
EP1274014A2 (en) | Program controlled unit | |
DE1966991A1 (en) | FAIL-SAFE DATA PROCESSING SYSTEM | |
DE102004051952A1 (en) | Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted | |
WO2016206847A1 (en) | Method and apparatus for protecting a program counter structure of a processor system and for monitoring the handling of an interrupt request | |
DE102005037245A1 (en) | Method and device for controlling a computer system with at least two execution units | |
DE102005054081B3 (en) | Data word set outputting unit for e.g. real time system, has address indicator, which is replaced in phase B, in such a manner that indicator is replaced for all age groups that are sequentially processed in phase A | |
DE102004051964A1 (en) | Memory unit monitoring device for use in multiprocessor system, has switching unit, though which system is switched between two operating modes such that device is arranged in such a manner that contents of unit are simultaneously logged | |
DE102004051992A1 (en) | Access delay method for multiprocessor system involves clocking processors differently to enable both processors to access memory at different times | |
DE102004051950A1 (en) | Clock switching unit for microprocessor system, has switching unit by which switching can be done between two operating modes, where unit is formed so that clock switching takes place with one processor during switching of modes | |
DD266659A1 (en) | CIRCUIT FOR EXAMINING THE ACCESS RIGHT TO THE GLOBAL LINKAGE STRUCTURE IN MULTI-COMPUTER SYSTEMS | |
DE102005060900A1 (en) | Arithmetic and logic unit for e.g. microprocessor, for processing of data of specific bit width, has switch connecting carry bit input of partial arithmetic and logic unit with carry bit input of another partial arithmetic and logic unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20050308 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
17Q | First examination report despatched |
Effective date: 20050705 |
|
DAX | Request for extension of the european patent (deleted) | ||
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB SE |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20060117 |