WO2006045786A1 - Verfahren und vorrichtung zur modusumschaltung und zum signalergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten - Google Patents

Verfahren und vorrichtung zur modusumschaltung und zum signalergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten Download PDF

Info

Publication number
WO2006045786A1
WO2006045786A1 PCT/EP2005/055514 EP2005055514W WO2006045786A1 WO 2006045786 A1 WO2006045786 A1 WO 2006045786A1 EP 2005055514 W EP2005055514 W EP 2005055514W WO 2006045786 A1 WO2006045786 A1 WO 2006045786A1
Authority
WO
WIPO (PCT)
Prior art keywords
comparison
processing units
signal
information
mode
Prior art date
Application number
PCT/EP2005/055514
Other languages
German (de)
English (en)
French (fr)
Inventor
Yorck Collani
Rainer Gmehlich
Eberhard Boehl
Original Assignee
Robert Bosch Gmbh
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
Priority claimed from DE200410051937 external-priority patent/DE102004051937A1/de
Priority claimed from DE200410051992 external-priority patent/DE102004051992A1/de
Priority claimed from DE200410051964 external-priority patent/DE102004051964A1/de
Priority claimed from DE200410051952 external-priority patent/DE102004051952A1/de
Priority claimed from DE200410051950 external-priority patent/DE102004051950A1/de
Priority claimed from DE200510037239 external-priority patent/DE102005037239A1/de
Priority to CNB2005800365264A priority Critical patent/CN100565466C/zh
Priority to US11/666,396 priority patent/US20080320287A1/en
Priority to JP2007537297A priority patent/JP2008518305A/ja
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to DE502005006441T priority patent/DE502005006441D1/de
Priority to EP05801485A priority patent/EP1812855B1/de
Publication of WO2006045786A1 publication Critical patent/WO2006045786A1/de

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Definitions

  • a method for detecting errors in a comparison mode is described in Wo 01/46806 A1.
  • the data is processed and compared in parallel in a processing unit with two processing units ALUs.
  • both ALUs work there independently of each other until the faulty data have been removed and a repeated (partially repeated) redundant processing can be carried out. This presupposes that both ALUs work synchronously with each other and that the results can be compared in exact time.
  • the patent EP 0969373 A2 ensures a comparison of the results of redundantly operating processing units or processing units, even if they operate asynchronously with one another, ie not with the same clock or with an unknown clock offset. Voting systems are known from the aircraft industry, which can use inputs from standard computers and process them safely by a majority decision and thus trigger safety-relevant actions.
  • a system that combines inter-processing unit and inter-control-unit communication is the FME system, which maintains the system still operational by a high degree of redundancy even in the case of single or even multiple faults and by the DASA for Aerospace has been developed (Urban, et al: A survivable avionics System for Space applications, Int.
  • a method for switching in a computer system having at least two processing units, a switching means and a comparison means, wherein at least two operating modes are switched and a first operating mode corresponds to a comparison mode and a second operating mode corresponds to a performance mode, information being compared in the comparison mode characterized in that in the case of asynchronicity of the at least two processing units in the comparison mode, a synchronization signal to an interrupt input at least one of the processing units is placed.
  • the synchronization signal is a delay signal, in particular a wait signal.
  • a method is used in which the at least one processing unit is made to process no further information for a predeterminable time.
  • a method is used in which the synchronization signal has a higher priority than at least one interrupt signal.
  • a method is used in which the synchronization signal has the highest priority over all interrupt signals.
  • a method is used in which the synchronization signal causes at least one processing unit to execute an interrupt routine.
  • a method is used in which at least one buffer memory is contained and at least one of the information to be compared in the comparison mode is temporarily stored in the buffer memory for a time dependent on the synchronization signal.
  • a method is used in which an asynchronous information, in particular a time error, can be determined from the time for which at least one of the information is temporarily stored.
  • a fill level of the memory can be determined in the buffer memory, which indicates which number of information is in the buffer memory.
  • a method is used in which the time error is determined by providing a time detection means, in particular a counting element, wherein a time value is determined and this is compared with a predefinable maximum time value.
  • a method is used in which an asynchrony information is determined by comparing the determined fill level with a predefinable maximum fill level.
  • a method is used in which a specification that a next starting date is to be compared is carried out by a comparison signal.
  • a method is used in which a date to be compared is assigned an identifier by which the comparison is triggered
  • a device for switching over in a computer system having at least two processing units wherein the device contains a switching means and a comparison means and is switched between at least two operating modes and a first operating mode corresponds to a comparison mode and a second operating mode corresponds to a performance mode, wherein comparison information compares information are, characterized in that the device is designed such that in asynchrony of the at least two processing units in the comparison mode, a synchronization signal is applied to an interrupt input of at least one of the processing units.
  • a device in which the comparison means and the switching means are structurally provided externally to the processing units
  • a device in which at least one buffer store is provided.
  • a device is used in which the buffer memory is a FIFO memory.
  • a device is used in which each processing unit is assigned a buffer memory.
  • each processing unit is associated with a buffer memory, in particular a FIFO memory.
  • a device in which means, in particular a counting element, are provided which are configured such that they are temporarily stored for at least one of the information from the predefinable and / or determinable time to ascertain asynchronicity information, in particular a time error.
  • a device in which means are provided which are designed in such a way that they determine a fill level of the memory in the buffer memory which indicates which number of information is in the buffer memory.
  • a device in which the means are designed in such a way that they detect asynchronicity information by comparing the determined fill level with a predefinable maximum fill level.
  • a device in which synchronization means are provided which are designed in such a way that they generate synchronization information depending on the asynchronicity information.
  • a device in which a monitoring means is provided, which is designed such that it processes the asynchronous information.
  • a device is used in which the monitoring means is a monitoring system external to the computer system, in particular a watchdog.
  • FIG. 1 shows the basic function of a switching and comparison unit for two processing units
  • FIG. 1a shows a generalized representation of a comparator
  • FIG. 1c shows an expanded representation of a comparator
  • Figure Ib shows a generalized representation of a switching and comparison unit
  • FIG. 2 shows a more detailed representation of the switching and comparison unit for two processing units
  • FIG. 3 shows a possible realization of a switching and comparison unit for two processing units
  • FIG. 4 shows a more detailed representation of a switching and comparison unit for more than two processing units
  • FIG. 5 shows a possible implementation of a switching and comparison unit for more than two processing units
  • FIG. 6 shows a possible realization of a control register
  • FIG. 7 shows a voting unit for central voting
  • FIG. 8 shows a voting unit for decentralized voting
  • FIG. 9 shows a synchronization element
  • Figure 10 shows a handshake interface
  • FIG. 11 shows a differential amplifier
  • FIG. 12 shows a comparator for positive voltage difference
  • FIG. 13 shows a comparator for negative voltage difference
  • Figure 14 shows a circuit for storing an error
  • Figure 15 shows an analog-to-digital converter with output registers
  • FIG. 16 shows the representation of a digitally converted analog value with kung and analog bit
  • FIG. 17 shows the representation of a digital value as a digital word with digital bit
  • An execution unit or processing unit may refer in the following to a processor / core / CPU as well as an FPU (floating point unit), DSP (digital signal processor), coprocessor or ALU (Arithmetic Logical Unit).
  • FPU floating point unit
  • DSP digital signal processor
  • ALU Arimetic Logical Unit
  • a system of two or more processing units is considered. Basically, in safety-relevant systems, it is possible to use such resources either to increase performance, by providing the various processing units as possible with different tasks. Alternatively, some of the resources can also be used redundantly by providing them with the same task and detecting an error if the result is unequal. Depending on how many processing units there are, several modes are conceivable. In a two-tier system, the two modes “comparison" and "performance" exist as described above. In a threefold system, in addition to the pure performance mode, in which all three processing units work in parallel, and the pure comparison mode, in which all three processing units are redundantly calculated and compared, one can also implement a 2out3 voting mode, in which all three Processing units redundant computing and a majority selection is made.
  • each processing unit should be able to work with its own clock, that is, the execution of the same tasks for the purpose of comparison can also work asynchronously to each other.
  • This object is achieved in that a universal, widely deployable IP is created, which allows switching of the operating modes (eg comparison, performance or voting mode) at arbitrary times without previously switching off the processing units and possibly the comparison or the voting of each other manages asynchronous data streams.
  • This IP may be implemented as a chip, or it may be integrated with one or more processing units on a chip. Further, it is not a prerequisite that this chip consists of only one piece of silicon, it is also quite possible that this is realized from separate components.
  • a WAIT signal is usually provided. If an execution unit does not have a wait signal, it can also be synchronized via an interrupt.
  • the synchronization signal (e.g., M140 in Fig. 2) is not routed to a wait input but is set to an interrupt. This interrupt must have a sufficiently high priority over the processing program and also against other interrupts to interrupt normal operation.
  • the associated interrupt routine only executes a certain number of NOPs (empty commands with no effect on data) before jumping back into the interrupted program, thereby delaying further processing of the processing program. If necessary, the usual memory operations at the beginning and at the end must be carried out in the interrupt routine in order not to impair the normal program execution by the interrupt.
  • Another advantage is that not all data has to be compared in a comparison or voting mode. Only the data to be compared or voted are synchronized with each other in the switching and comparison unit. The selection of these data is variable (programmable) by the targeted response of the switching and comparison unit and can be adapted to the respective processing unit architecture as well as to the application. Thus, the use of diverse ⁇ C or software parts is easily possible, since only results that can reasonably be compared, actually compared.
  • any access to a (e.g., external) memory can be monitored, or even just driving external VO modules.
  • Internal signals can be checked via the software-controlled additional output to the switching module on the external data and / or address bus.
  • All control signals for the comparison operations are generated in the preferably programmable switching and voting unit and the comparison also takes place there.
  • the processing units e.g., processors
  • whose outputs are to be compared with each other may use the same program, a duplicate program (which additionally allows recognition of memory access errors), or a diversified program for detecting software errors. It is not necessary to compare all the signals provided by the processing units with each other, but it is also possible to provide certain signals for comparison by means of an identifier (address or control signals) or not. This identifier is evaluated in the switching and comparison device and thus controlled the comparison.
  • Separate timers monitor deviations in the time response beyond a specifiable limit.
  • Some or even all modules of the switching and comparison unit can be integrated on a chip, be housed on a common board or spatially separated. In the latter case, the data and control signals are interconnected via suitable bus systems replaced. On-site registers are then described via the bus system and control the operations by means of the data and / or addresses / control signals stored therein.
  • FIG. 1 shows the basic function of the switching unit BO1 according to the invention for use in conjunction with two processing units BIO and BI1.
  • Various output signals such as data, control and address signals B20 and B21 of the processing units BIO and BI l are connected to the switching unit BOl.
  • there is at least one synchronization signal in an embodiment of the arrangement according to the invention, the two output signals B40 and B41, which are connected to one of the comparison units.
  • the switching unit includes at least one control register B 15 having at least one binary bit memory element (bit) B 16 which switches the mode of the comparison unit.
  • B16 can assume at least the two values 0 and 1 and can be set or reset either by the signals B20 or B21 of the processing units or by internal processes of the switching unit.
  • the changeover unit operates in comparison mode. In this mode, all the incoming data signals from B20 are compared with the data signals from B21, provided that certain predeterminable comparison conditions of the control and / or address signals from the signals B20 and B21 are met, the validity of the data and the intended comparison for this data signal.
  • Processing unit provides the corresponding comparison data.
  • switching unit of Figure 1 can be on one of the signals
  • Processing unit does not provide comparative data rather than the other one
  • the comparison component M500 can receive two input signals M510 and M511. It then compares these to equality, in the context presented here, preferably in the sense of a bit-wise equality. If it detects inequality, the error signal M530 is activated and the signal M520 is deactivated. In the same case, the value of the input signals M510, M511 is given to the output signal M520 and the error signal M530 does not become active, i. it signals the 'Guf' state. From this basic system, a variety of advanced embodiments are conceivable. First, the component M500 can be executed as a so-called TSC component (totally seif checking).
  • the error signal M530 is fed to at least two lines ("dual rail") to the outside, and it is ensured by internal design and error detection measures that in any possible error case of the comparison component this signal is correct or recognizable incorrect in the use of the system according to the invention is to use such a TSC comparator.
  • a second class of embodiments may be distinguished as to what degree of synchronicity the two inputs M510, M511 (or M610, M611) must have.
  • One possible variant is characterized by intermittent synchronicity, ie the comparison of the data can be carried out in one cycle.
  • a slight change arises from the fact that a synchronous delay element is used with a fixed phase offset between the inputs, which delays the corresponding signals, for example, by integer or half clock periods.
  • phase offset is useful to avoid common cause errors, ie, those that can simultaneously affect multiple processing units.
  • component M640 which delays the previous input by the phase offset, is therefore inserted beyond the components in FIG.
  • this delay element is accommodated in the comparator to use this element only in the comparison mode.
  • intermediate buffers can be placed in the input chain. Preferably, these are designed as FIFO memory. If such a buffer exists, one can also tolerate asynchronisms up to the maximum depth of the buffer. In this case, an error signal must be output even if the buffer overflows.
  • M520 or M620
  • a preferred embodiment is to put the input signals M510, M511 (or M610, M611) on the output and to make the connection interruptible by switches. The particular advantage of this variant is that the same switches can be used to switch between the performance mode and possible different comparison modes. Alternatively, the signals can also be generated from internal comparator buffers.
  • a final class of embodiments may be distinguished as to how many inputs are present on the comparator and how the comparator should react. With three inputs, a majority voting, a comparison of all three or a comparison of only two signals can be made. With four or more inputs, correspondingly more variants are conceivable. These variants are preferably to be coupled with the various operating modes of the overall system.
  • n signals N140,..., N14n go to the switching and comparison component N100. This can generate up to n output signals N160, ..., N16n from these input signals.
  • the "pure performance mode” all signals N14i are directed to the corresponding output signals N16i.
  • the "pure comparison mode” all signals N140, ..., N14n are directed to exactly one of the output signals N16i .
  • the logical component of a switching logic Nl 10 is included in this figure.
  • the component does not have to exist as such, it is crucial that its function is present. It first determines how many output signals there are.
  • the switching logic Nl 10 determines which of the input signals contribute to which of the output signals. An input signal can contribute to exactly one output signal.
  • the switching logic defines a function that assigns an element of the set ⁇ N160, ..., N16n ⁇ to each element of the set ⁇ N140, ..., N14n ⁇ .
  • the function of the processing logic N120 determines to which of the outputs N16i the form in which the inputs contribute to this output signal. Also, this component does not have to exist as a separate component. It is again crucial that the described
  • Signals N141, N 142 compared. This comparison can be performed synchronously or asynchronously, it can be performed bitwise or only on significant bits or even with a tolerance band.
  • a second possibility is to make a k out of m selection (k> m / 2).
  • Error signal are generated when one of the signals is detected as different. A possibly different error signal can be generated if all three signals are different.
  • a third option is to apply these values to an algorithm. This may be, for example, the formation of an average, a median, or the use of a Fault Tolerant Algorithm (FTA). Such an FTA is based on extreme values of the
  • This averaging can be done over the entire set of residual values, or preferably over a subset that is easy to form in HW. In this
  • averaging must only be added and divided, FTM, FTA or
  • an error signal can optionally also be output at sufficiently large extreme values
  • the task of the processing logic is thus to determine the exact shape of the comparison operation for each output signal - and thus also for the associated input signals.
  • the Combining the information of the switching logic NI 10 (ie the above-mentioned function) and the processing logic (ie the determination of the comparison operation per output signal, ie per function value) is the mode information and this sets the mode.
  • this information is multivalued, ie not representable only via a logical bit. Not all the theoretically conceivable modes are useful in a given implementation, it is preferable to restrict the number of modes allowed. It should be emphasized that in the case of only two execution units, where there is only one compare mode, all the information can be condensed to only one logical bit.
  • Switching from a performance mode to a comparison mode is characterized in the general case by the fact that execution units that are displayed in the performance mode on different outputs are mapped in the compare mode to the same output.
  • This is preferably realized in that there is a subsystem of execution units in which in the performance mode, all input signals N14i to be considered in the subsystem are switched directly to corresponding output signals N16i, while in the comparison mode they are all mapped to one output.
  • switching can also be realized by changing pairings. It is represented by the fact that in the general case one can not speak of the performance mode and the comparison mode, although in a given form of the invention one can restrict the set of allowed modes such that this is the case. However, one can always speak of switching from the performance to the comparison mode (and vice versa).
  • the switching is triggered, for example, by the execution of special switching instructions, special instruction sequences, explicitly marked instructions or by the access to specific addresses by at least one of the execution units of the multiprocessor system.
  • FIG. 2 shows a detailed two-processor or two ⁇ C system with a switching and comparison unit M100 according to the invention, in which optionally also different signals can be dispensed with.
  • It consists of two processing units (Ml 10, Ml I l) and a switching and comparison unit M100. From each processing unit, data signals (M120, M121) and address / control signals (M130, M131) go to the switching unit, and each processing unit optionally also receives data from the switching unit (M150, M151) and control signals (M140, M141).
  • the unit M100 outputs data (M160, M161) and status information M169 and receives signals such as data (M170, M171) and control signals M179 also to the processing units can be forwarded.
  • the operating mode of the unit M100 can also be set independently of the processing units;
  • the processors can also set the operating mode via the outputs M 120, M 121 (eg data bus) and the control and address signals M130, M131 (eg Write) in the unit M100 - eg performance mode (without comparison) or comparison mode (with comparison of the signals M120, M121 and / or signals M170, M171, coming from eg peripheral units).
  • the outputs M120, M121 are forwarded to the outputs M 160, M161 if necessary in connection with control signals, and conversely the inputs M170, M171 to M150, M151.
  • the outputs are compared and advantageously forwarded to M 160, M 161 only in the error-free case, where either both outputs are used, or only one of them.
  • a check of input data M 170, M171 is possible, which are forwarded to the processing units.
  • an error signal is generated and signaled to the outside (eg by means of double-rail signals: fail-safe) (component of status information M 169).
  • the status M 169 may also include the operating mode or information about the skew of the signals of the execution units.
  • the error signal is also activated.
  • the outputs M 160, M161 can be disabled (fail silent behavior). This can affect both digital and analog signals.
  • these output driver stages can also output the instantaneous (non-buffered) output signals M120, M121 of a processing unit, with the possibility of subsequent error detection. This is tolerated by a safety-related system as long as the fault tolerance time is not exceeded, ie the time that a (sluggish) system is not yet catastrophically responding to errors and therefore still has the possibility of correction.
  • output signals M 180, Ml 81 which are not led to the UVE and internal signals of a processing unit can be compared, at least with respect to their calculated value, by outputting this value on the outputs M120, M121 for the purpose of comparison. The same can be done with input signals M 190, M191, which do not come via M100.
  • FIG. 3 shows in detail a possible implementation of the switching and comparison unit M100 of FIG.
  • the unit M100 contains a control register M200 with at least one bit representing the mode (performance / comparison) and a status register M220 with at least one bit representing the error status in comparison mode.
  • the wait and interrupt signals are controlled by further bits in the control register for both processing units. It may also be necessary to differentiate between different interrupts, for example for synchronization purposes, for preparing for the operating mode switches and for error handling.
  • control registers e.g.
  • M240 which contains the maximum permitted time difference (in number of clock periods) between the processing units for controlling an internal or external watchdog, and M241 with the time difference value (clock period number), at which the fastest processor is temporarily stopped by means of WAIT or interrupt signals. should be delayed, for example, to prevent overflow of data registers.
  • At least one timer M230 is always started by a processing unit when a data item specially identified (via address and control signals, e.g., a specific address range) is first provided and the value of the timer is transferred to the status register whenever the corresponding data value is provided by the second processing unit.
  • the timer is preferably set so that even with different program sequences corresponding to the WCET (worst case execution time) all processing units must supply a date. If the preset value is exceeded by the timer, an error signal is output.
  • the outputs M 120, M 121 of the processing units are to be stored in M100 in particular for the comparison mode in a buffer memory M250, M251, as far as they are digital data and they can not be provided in a clock-accurate manner.
  • this memory may be implemented as a FIFO. If this memory only has a depth of 1 (register), it is to be ensured by wait signals, for example, that the output of further values is delayed until the comparison has been made in order to avoid data loss.
  • This comparison unit can also handle serial digital data (eg PWM Signals), for example, if one can receive the serial data in the memory unit M250, M251 and convert it into parallel data, which are then compared in M210.
  • asynchronous digital input signals M 170, M 171 can be synchronized via additional memory units M270, M271.
  • the input signals 120, 121 they are preferably buffered in a FIFO. Switching between performance and comparison mode is done by setting or resetting the mode bit in the control register, which causes eg corresponding interrupts in the two processing units.
  • the comparison itself is ever started by the provided data M 120, M121 and the associated addresses and control signals M130, M131. In this case, certain signals from M120 and M130 or M121 and M131 can act as an identifier indicating whether a comparison of the assigned data is to take place.
  • analogue data can also be compared with one another in a suitable analog comparison unit M211 (analogue compare unit).
  • analogue compare unit provides for storage of the data digitized by an ADC implemented there (see further comments on FIGS. 12 to 14).
  • Synchronicity can be achieved by comparing the digital outputs of the processing units (data, address and control signals) as described above and maintaining the processing unit too fast.
  • the digital signals which are processed as the source of the analog signals in the processing unit can also be supplied via the outputs M120, M121 to the unit M100, although these signals are otherwise not needed externally.
  • This redundant comparison in addition to the comparison of the analog signals ensures that an error in the calculation can be detected earlier and also facilitates the synchronization of the processing units.
  • the comparison of the analog signals causes additional error detection for the DAC (digital to analog converter) of the processing unit. In other structures of the DCSL architectures such a possibility does not exist.
  • DAC digital to analog converter
  • a comparison is also possible. In particular, when it comes to redundant sensor signals of the same system parameter, then you need no additional synchronization measures, but only optionally a control signal indicating the validity of the sensor signals. The realization of a comparison of analog signals will be shown in detail.
  • FIG. 4 shows a multiprocessor system with at least n + 1 processing units, wherein each of these components may in turn also consist of several sub-processing units (CPUs, ALUs, DSPs with corresponding additional components).
  • the signals of these processing units are also connected to a switching and comparison unit, as described in the two-person system of Figure 2. All components and signals in this figure therefore have the same meaning in content as the corresponding components and signals in FIG. 2.
  • the switching and comparison unit M300 can distinguish between the performance mode (all processing units execute different tasks), different comparison modes (FIG.
  • FIG. 5 shows a possible implementation of a switching unit for a multiprocessor system with n + 1 processing units.
  • at least one control register M44i is provided in the control unit of the switching and comparison module.
  • a preferred set of control registers is shown and described in detail in FIG. M44i corresponds to the control register Ci.
  • Various embodiments in the control register are conceivable. It may be described by appropriate bit combinations whether to use an error detection or fault tolerance pattern. Depending on the effort involved in the M300 unit, it is also possible to specify which type of fault tolerance pattern (2 out of 3, median, 2 out of 4, 3 out of 4, FTA, FTM ...) you want to use. Next you can make it configurable, which output one goes through.
  • the output signals of the processing units involved are then compared with one another in the switching unit. Since the signals are not necessarily processed clock-accurate, a caching of the data is required. In this case, data can also be compared in the switching unit, which are given with a larger time difference from the various processing units to the switching unit.
  • an intermediate memory eg designed as FIFO memory: first in-out-of-memory or else in a different buffer form
  • a plurality of data can initially also be received by one processing unit, while other processing units do not yet provide any data.
  • a measure of the synchronicity of the two processing units is the fill level of the FIFO memory.
  • the processing unit furthest advanced in the processing is temporarily stopped either by an existing WAIT signal or by suitable interrupt routines, in order to wait for the slower processing units progressing in the processing.
  • the monitoring should be extended to all externally available signals of a processing unit; this also includes analog signals or PWM signals. In the switching unit structures are provided to allow a comparison of such signals. In addition, it is proposed to specify a maximum time deviation between the data to be compared and to monitor it by means of at least one timer.
  • control register is required for each of these processing units or processing units.
  • FIG. 1 A specific embodiment of these control registers is explained in FIG.
  • the (n + 1) lower bits B500x to B50nx of the respective control register Cx are uniquely assigned to the n + 1 processors / processing units.
  • the bit B514x of the control register Cx switches between comparison / voting on the one hand and parallel work on the other hand and corresponds to the value of B16 of Figure 1.
  • the bit B513x indicates whether the processing unit concerned is ready for comparison, bit B512x controls this Synchronization signal (WAIT or INTERRUPT) and bit B511x may be used to prepare the corresponding processing unit x for the comparison by an interrupt.
  • bit B5110x controls an interrupt that returns the processing unit to parallel mode.
  • B50ik and B50kk of the control register Ck are set to one (0 ⁇ i, k ⁇ n).
  • B50jk is equal to one, then should be voted between i, j and k and the voting result is output at the output k of the UVE (0 ⁇ i, j, k ⁇ n).
  • a special type of vote or even a majority comparison can be determined, as already enumerated in the explanation for picture M4.
  • all bits B50ik for the processing units i to be compared / voted must be set (in the control register Ck) if the voting result is to be output at the output k of the UVE. Parallel output on other outputs is possible.
  • the bit B514i in the control register Ci is set to activate the comparison or the voting. This bit may be set by the processing unit itself as well as by the switching and comparing unit depending on certain system conditions, timing conditions or other conditions (such as accessing particular memory areas, errors or implausibilities). If bits B50ii and B50ki are set with B514i, the UVE automatically sets bits B51 Ii and B51 Ik, thereby triggering interrupts in the processing units i and k. These interrupts cause the processing units to jump to a particular program location, perform certain initialization steps to transition to the compare mode, and then issue a feedback to the switch and compare unit.
  • the ready signal causes an automatic reset of the interrupt bit B511i in the respective control register Ci of the processing unit and at the same time the setting of the wait bit B512i. If all wait bits of the processing units involved are set, they are reset by the switchover and compare unit simultaneously. The processing units then start to process the program parts to be monitored. In an advantageous embodiment, a write to a control register Ci with set bit B514i by Locking (HW or SW) prevented. This makes it sensible that the configuration of the comparison can not be changed during execution. A change in the control register Ci is possible only after resetting the bit B514i. This reset causes interrupts in the respective processing units by setting bits B510x in the control registers of all involved processing units to transition to normal mode (parallel operation).
  • FIG. 7 shows the voting unit Q100 for central voting. Voting can be carried out both by means of suitable hardware and by software.
  • the voting can be carried out both by means of suitable hardware and by software.
  • the voting unit Q100 receives several signals Q1, Q1, Q1, and Q112, and from these forms an output signal Q 120, which is produced by voting (for example, an m out of n selection).
  • the error bit is set in the respective control register. In a voting, the date of the processing unit concerned is ignored; in a simple comparison the output is locked.
  • processing units and / or the voter are not spatially concentrated, is also a decentralized voting in conjunction with a suitable
  • FIG. 8 Bus system according to Figure 8 possible.
  • a decentralized voting unit Q200 is controlled by a control unit Q210. It is connected via bus systems Q221, Q222
  • Output bit causes an interrupt in the involved processing units, which then again be attributed to a parallel operation.
  • each processing unit may have a different entry address, which is managed separately.
  • the program execution can also take place from the same program memory.
  • the accesses are separate and usually to different addresses. If the security-relevant part is small in comparison to the parallel modes, it must be weighed whether a separate program memory with duplicated security part may be less expensive.
  • the data memory can also be shared in performance mode. The accesses are then successively, for example by means of the AHB / ABP bus.
  • a special feature is that the error bits have to be evaluated by the system. In order to ensure a safe shutdown in the event of a fault, the safety-relevant signals must be implemented redundantly in a suitable form (for example, in the 1-out-2 code).
  • Such a synchronization stage M800 can be developed as a FIFO in order to store a plurality of data (see FIG. 9).
  • the synchronization of the data alone is not sufficient, but it is also the sync signal of the data to synchronize with the receive clock.
  • a handshake interface is required (FIG. 10) that ensures acceptance by request signals M850 and acknowledgment signals M880.
  • Such an interface is necessary whenever the clock domain changes to ensure secure transmission of data from one clock domain to another.
  • the data M820 from the area Q305 are provided synchronized with the clock M830 in the register cells M800 and a write request signal M850 indicates the provision of the data.
  • This write request signal is taken from the area Q306 with the clock M860 in a memory element M801 and as a synchronized signal M870 it indicates the provision of the data. With the next active clock edge of clock M860 is then taken over the synchronized date M840 and thereby a confirmation signal M880 sent back.
  • This confirmation signal is synchronized by the clock M830 in another memory element M801 to the signal M890 and thus the provision of the data is terminated. New data can then be written to the relevant register.
  • Such interfaces are state of the art and known and can work in special embodiments by an additional coding very fast, without having to wait for an acknowledgment signal.
  • the memory elements M800 are designed as FIFO memories (first-in, first-out).
  • the circuits for comparing analog signals of Figure 11 to Figure 14 assume that the processing units that provide the analog signals to be compared, are synchronized with each other so that the comparison makes sense.
  • the synchronization can be achieved by the corresponding signals B40 and B41 of FIG.
  • FIG. 11 shows a differential amplifier. With the help of this element two voltages can be compared.
  • BlOO is an operational amplifier, to the negative input BlOl a signal B 141 is connected, which is connected via a resistor Bl 10 with the value R 1n to the input signal BlI l, at which the voltage value Vi is present.
  • the positive input B 102 is connected to the signal B 142, which is connected via the resistor B 120 with the value R 1n to the input B 121, to which the voltage value V 2 is applied.
  • the output B 103 of this operational amplifier is connected to the output signal B 190 having the voltage value V 0Ut .
  • the signal B190 is f via the resistor B140 with the value R connected to the signal B141 and the signal B142 is f via the resistor B130 with the value R to the signal B131 connected which carries the voltage value of the analog reference point V AGN (j.
  • the output voltage can be calculated using the voltage and resistance values given above according to the following formula:
  • V 0nJ R f Z R j n (V 2 - V 1 ).
  • the analog ground V agn ( j is a voltage between the operating voltage and the digital ground, usually the mean potential.) If the two analog input voltages Vi and V 2 are only slightly different, so the output voltage V out will have only a small difference V ⁇ ff to the analog ground (positive or negative). With the aid of 2 comparators it is now checked whether the output voltage above V agnd + V d i ff (FIG. 12) or below V agnd - V ⁇ ji ff is also the analogue reference point (FIG. 13). In this case, in FIG.
  • the input signal B221 is connected via the resistor B150 with the value Ri to the signal B242, which is connected to the positive input B202 of the operational amplifier B200. Furthermore, the signal B242 is connected via the resistor B 160 with the value R 2 to the signal B231, which is used as the digital reference potential V dgng .
  • the negative input B201 of the operational amplifier is connected to the input signal 211, which carries the voltage value of a reference voltage V ref .
  • the output of the operational amplifier B203 B200 is connected to the output signal B290 carrying ben the voltage value V O.
  • the input signal B321 is connected through the resistor B 170 of the value R 3 to the signal B342 which is connected to the negative input B301 of the operational amplifier B300.
  • This signal B342 is further connected via the resistor B 180 with the value R4 to the signal B331, which also carries the digital reference potential V dgnd .
  • the positive input B302 of the operational amplifier B300 is connected to the input signal B311 which carries voltage value of a reference voltage V ref .
  • the output B303 of the operational amplifier B300 is connected to the output signal B390, which is the voltage value
  • V ref (V agnd + V d i ff ) * R 2 / (R 1 + R 2 ) (2)
  • V ref (V agnd - V ⁇ * R 4 / (R 3 + R 4 ) (3)
  • V d i ff ((V 2max - V lmin ) * R f / R j n ) - V agnd (4)
  • V 2max denotes the maximum tolerated voltage value of V 2 at signal B 121 and Vi m i n the minimum tolerated voltage value of Vi at signal Bl I l.
  • the reference voltage source can be provided externally, or realized by an internally realized bandgap (temperature-compensated and operating voltage-independent reference voltage).
  • the maximum tolerated difference V d i ff is determined from the maximum positive deviation V 2max and the associated maximum negative deviation Vi n J n , ie (V 2max - Vi n J n ) is the maximum tolerated voltage deviation of redundant analog Signals to each other to be compared with each other.
  • V o ben or Vun te n If one of the voltage values at the two signals B290 or B390 (V o ben or Vun te n) becomes positive, there is a greater deviation of the analog signals than it should be tolerated. Insofar as the processors which supply these analog signals are synchronized, there is thus an error which must be stored and possibly leads to the switching off of the output signals.
  • the synchronicity is given, for example, when the ready signal in the control register of the corresponding processing units is active, or certain digital signals are sent to the UVE, which signal a particular state of the relevant analog signal and thus also the value to be compared in the sense of an identifier.
  • a circuit which stores the error is shown in FIG.
  • the two input signals B390 and B290 are linked to the output signal B411 via a NOR circuit (logical OR circuit with subsequent inversion) B410.
  • This signal B411 is combined with the input signal B421 in another NOR element B420 to the output signal B421.
  • This signal B421 is linked in an OR circuit B430 with the signal B401 to the signal B431, which serves as an input signal for the memory element (D flip-flop) B400.
  • the output signal B401 of this element B400 indicates an error with the value 1.
  • the D flip-flop B400 stores with the clock B403 is a 1 if one of the two voltage values V, thus contributes positively bottom or V at the top on the signals B390 or B290 as a digital signal the value is high, the signal B421 is not active and no reset signal B402 is present. The error remains stored until the signal Reset was active at least once. It should be noted in the dimensioning of the circuits Figure 11 to Figure 13 that match the resistors to each other, ie that the resistance ratios of R f and R 1n , Ri and R 2 and R 3 and R 4 are as independent of manufacturing tolerances constant. With the signal B421 it is possible to control whether the circuit should be active, or if a synchronization of the processing units is taking place in which no comparison is to be made. The signal B402 resets a previous error and therefore allows a new comparison.
  • Figure 15 shows an ADC.
  • this ADC can be implemented using the various known conversion methods. For example, one can choose the principle of successive approximation, where one compares the analog signal with a generated signal from a digital-to-analog converter (DAC) by means of a comparator, wherein the digital input bits of the DAC systematically from the MSB (most significant bit - most significant bit) to LSB (least significant bit) is set to high as a test and reset immediately if the DAC's analog output signal is higher than the analog input signal (the signal to be converted).
  • DAC digital-to-analog converter
  • the DAC controls with its digital bits from the LSB to the MSB either resistors or capacitances with the weights 1, 2, 4, 8, 16, ... in such a way that the Setting the next higher bit always has twice the effect on the analog value as the previous one.
  • the value of the digital word corresponds to the digital representation of the analog input signal.
  • continuous data streams can also use a converter that continuously processes the analog signal and outputs a serial digital signal that approximates this analog stream through the serial bit stream.
  • the digital word is here represented by the bit sequence stored in a shift register.
  • such transducers presuppose that changes in the analog signal are constantly made during the conversion period because they can not process constant values.
  • converters can be used according to the counting principle, for example, by means of the input voltage or the input current cause a corresponding constant charging or discharging a capacitor connected to an integrator.
  • the time required for this is measured and set in relation to the time required in the opposite direction to discharge or charge the same capacitor (integrator) by means of a reference voltage source or a corresponding reference current.
  • the time unit is measured in cycles and the number of clocks required is a measure of the analog input value.
  • Such a method is, for example, the dual-slope method in which the one slope is determined by the discharge corresponding to the analog value and the second edge is determined by the recharge corresponding to the reference value (see also http: //www.exstrom .com / journal / adc / dsadc.html).
  • the ADC B600 of FIG. 15 is controlled by a trigger signal B602, which is typically an output signal of the processor providing the analog signal and optionally an identifier B603 which provides information about the type of analog signal being provided to distinguish it from allow multiple analog signals.
  • a trigger signal B602 which is typically an output signal of the processor providing the analog signal and optionally an identifier B603 which provides information about the type of analog signal being provided to distinguish it from allow multiple analog signals.
  • the converted analog word is taken into the memory area B640 as a digital value in a register B610 and optionally together with the identifier B603, which is stored in B620 and possibly an additional signal B604 (which is 1 for the identification of an analogue value) is stored in the memory B630.
  • the memory area B640 can advantageously also be realized as a FIFO (first-in, first-out) if a plurality of values are to be stored and the first stored value is also to be re-evaluated first.
  • Both B602 and B603 are part of the digital output data O 1 of a processor i. In Figure 16, the parts of the stored digitized analog value are shown separately as they are stored in the Speichj er Symposium.
  • B710 is the digitized analog value itself
  • B720 is the associated identifier
  • B730 is the analog bit, which in this case is to be stored as 1.
  • FIG. 17 shows a variant of a digital value stored in the same memory area.
  • the digital value itself is stored, in B820 an optiona option is provided which, for example, indicates whether the digital value is to be compared at all or whether it may also contain further conditions for the comparison.
  • the value 0 is then stored to indicate that it is a digital value.
  • the sequence of the storage and possibly the A bit (B730 or B830) as well as the identifier B720 or B820 in conjunction with the converted digital value B710 or the digital value B810 are checked.
  • the comparison is then event-controlled: whenever a value of a processor is transmitted to the UVE, it is checked whether the other participating processors have already provided such a value. If this is not the case, the value is stored in the corresponding FIFO or memory, in the other case the comparison is carried out directly, whereby here too the FIFO can serve as memory.
  • a comparison is always completed if the FIFOs involved are not empty. If there are more than two processors or comparison signals involved, it can be determined by a voting whether all signals are permitted for distribution (fail silent behavior) or whether the error status is signaled only by an error signal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
PCT/EP2005/055514 2004-10-25 2005-10-25 Verfahren und vorrichtung zur modusumschaltung und zum signalergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten WO2006045786A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP05801485A EP1812855B1 (de) 2004-10-25 2005-10-25 Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
DE502005006441T DE502005006441D1 (de) 2004-10-25 2005-10-25 Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
CNB2005800365264A CN100565466C (zh) 2004-10-25 2005-10-25 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
JP2007537297A JP2008518305A (ja) 2004-10-25 2005-10-25 少なくとも2つの処理ユニットを有する計算機システムにおける駆動モードの切り替え方法、及び駆動モード切り替え装置
US11/666,396 US20080320287A1 (en) 2004-10-25 2005-10-25 Method and Device for Performing Switchover Operations in a Computer System Having at Least Two Processing Units

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
DE200410051937 DE102004051937A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem
DE200410051950 DE102004051950A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem
DE102004051950.1 2004-10-25
DE200410051952 DE102004051952A1 (de) 2004-10-25 2004-10-25 Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem
DE102004051937.4 2004-10-25
DE102004051964.1 2004-10-25
DE200410051964 DE102004051964A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem
DE102004051992.7 2004-10-25
DE102004051952.8 2004-10-25
DE200410051992 DE102004051992A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems
DE102005037239.2 2005-08-08
DE200510037239 DE102005037239A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten

Publications (1)

Publication Number Publication Date
WO2006045786A1 true WO2006045786A1 (de) 2006-05-04

Family

ID=35759184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/055514 WO2006045786A1 (de) 2004-10-25 2005-10-25 Verfahren und vorrichtung zur modusumschaltung und zum signalergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten

Country Status (8)

Country Link
US (1) US20080320287A1 (ko)
EP (1) EP1812855B1 (ko)
JP (1) JP2008518305A (ko)
KR (1) KR20070062567A (ko)
CN (1) CN100565466C (ko)
AT (1) ATE420402T1 (ko)
DE (1) DE502005006441D1 (ko)
WO (1) WO2006045786A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009015276A3 (en) * 2007-07-24 2009-07-23 Ge Aviat Systems Llc High integrity and high availability computer processing module

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987385B2 (en) * 2007-07-24 2011-07-26 Ge Aviation Systems Llc Method for high integrity and high availability computer processing
DE102010003532B4 (de) 2010-03-31 2020-08-06 Robert Bosch Gmbh Timermodul und Verfahren zur Überprüfung eines Ausgangssignals
JP5796311B2 (ja) 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
US8762588B2 (en) * 2011-04-11 2014-06-24 Rockwell Automation Technologies, Inc. Output module for an industrial controller
DE102013202253A1 (de) * 2013-02-12 2014-08-14 Paravan Gmbh Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs
US9361172B2 (en) * 2014-07-02 2016-06-07 Harris Corporation Systems and methods for synchronizing microprocessors while ensuring cross-processor state and data integrity
DE102015218898A1 (de) * 2015-09-30 2017-03-30 Robert Bosch Gmbh Verfahren zur redundanten Verarbeitung von Daten
CN114779881B (zh) * 2021-12-07 2023-07-04 北京科银京成技术有限公司 余度计算机的同步检测方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783250A (en) * 1972-02-25 1974-01-01 Nasa Adaptive voting computer system
US4733353A (en) * 1985-12-13 1988-03-22 General Electric Company Frame synchronization of multiply redundant computers
EP0384177A2 (en) * 1989-02-23 1990-08-29 International Business Machines Corporation Automatic vernier synchronization of skewed data streams
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
DE19809089A1 (de) * 1998-02-25 1999-08-26 Siemens Ag Synchronisations- und/oder Datenaustauschverfahren für sichere, hochverfügbare Rechner und hierzu geeignete Einrichtung
DE10133652A1 (de) * 2001-07-11 2003-01-30 Siemens Ag Zentraleinheit für ein redundantes Automatisierungssystem
US20040186979A1 (en) * 2001-07-26 2004-09-23 Infineon Technologies Ag Processor with several calculating units

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5155729A (en) * 1990-05-02 1992-10-13 Rolm Systems Fault recovery in systems utilizing redundant processor arrangements
JPH10187472A (ja) * 1996-12-19 1998-07-21 Fujitsu Ltd データ処理システム
US6035416A (en) * 1997-10-15 2000-03-07 International Business Machines Corp. Method and apparatus for interface dual modular redundancy
US6138247A (en) * 1998-05-14 2000-10-24 Motorola, Inc. Method for switching between multiple system processors
US6230263B1 (en) * 1998-09-17 2001-05-08 Charles P. Ryan Data processing system processor delay instruction
US6421741B1 (en) * 1999-10-12 2002-07-16 Nortel Networks Limited Switching between active-replication and active-standby for data synchronization in virtual synchrony
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
KR20070083759A (ko) * 2004-10-25 2007-08-24 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서모드 전환을 위한 방법 및 장치
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783250A (en) * 1972-02-25 1974-01-01 Nasa Adaptive voting computer system
US4733353A (en) * 1985-12-13 1988-03-22 General Electric Company Frame synchronization of multiply redundant computers
EP0384177A2 (en) * 1989-02-23 1990-08-29 International Business Machines Corporation Automatic vernier synchronization of skewed data streams
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
DE19809089A1 (de) * 1998-02-25 1999-08-26 Siemens Ag Synchronisations- und/oder Datenaustauschverfahren für sichere, hochverfügbare Rechner und hierzu geeignete Einrichtung
DE10133652A1 (de) * 2001-07-11 2003-01-30 Siemens Ag Zentraleinheit für ein redundantes Automatisierungssystem
US20040186979A1 (en) * 2001-07-26 2004-09-23 Infineon Technologies Ag Processor with several calculating units

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009015276A3 (en) * 2007-07-24 2009-07-23 Ge Aviat Systems Llc High integrity and high availability computer processing module
CN101861569B (zh) * 2007-07-24 2014-03-19 通用电气航空系统有限责任公司 高集成度和高可用性计算机处理模块

Also Published As

Publication number Publication date
JP2008518305A (ja) 2008-05-29
EP1812855A1 (de) 2007-08-01
DE502005006441D1 (de) 2009-02-26
KR20070062567A (ko) 2007-06-15
ATE420402T1 (de) 2009-01-15
CN101048751A (zh) 2007-10-03
US20080320287A1 (en) 2008-12-25
EP1812855B1 (de) 2009-01-07
CN100565466C (zh) 2009-12-02

Similar Documents

Publication Publication Date Title
EP1812860B1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
WO2006045785A1 (de) VERFAHREN UND VORRICHTUNG ZUR MODUSUMSCHALTtMG UND ZUM SIGNALVERGLEICH BEI EINEM RECHNERSYSTEM MIT WENIGSTENS ZWEI VERARBEITUNGSEINHEITEN
EP1812859B1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
EP1812855B1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
WO2006045788A1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
WO2006045789A1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
EP1812856B1 (de) Verfahren und vorrichtung zur auswertung eines signals eines rechnersystems mit wenigstens zwei ausführungseinheiten
DE102005037230A1 (de) Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
DE102004034766A1 (de) Fehlererfassungsverfahren und System für Prozessoren, das verriegelungsschrittweise betriebene gleichzeitige Teilprozesse verwendet
DE102008024193A1 (de) System mit konfigurierbaren Funktionseinheiten und Verfahren
DE102005037213A1 (de) Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal
CN101048756A (zh) 在有至少两个处理单元的计算机系统中进行切换和信号比较的装置和方法
DE102005037241A1 (de) Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037239A1 (de) Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037240A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten
DE102005037243A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037238A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten
EP1915674B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems mit wenigstens zwei ausführungseinheiten und mit wenigstens zwei gruppen von internen zuständen

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2005801485

Country of ref document: EP

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BW BY BZ CA CH CN CO CR CU CZ DM DZ EC EE EG ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KM KP KZ LC LK LR LS LT LU LV LY MA MG MK MN MW MX MZ NA NG NI NZ OM PG PH PL PT RO RU SC SD SE SK SL SM SY TJ TM TN TR TT TZ UA US UZ VC VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SZ TZ UG ZM ZW AM AZ BY KG MD RU TJ TM AT BE BG CH CY DE DK EE ES FI FR GB GR HU IE IS IT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020077008953

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2007537297

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580036526.4

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2005801485

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11666396

Country of ref document: US