Transient errors triggered by alpha particles or cosmic radiation are increasingly becoming a problem for integrated semiconductor circuits. The ever smaller structure widths, lower voltages, and higher clock frequencies increase the likelihood of a change in charge caused by an alpha particle or cosmic radiation distorting a logical value in an integrated circuit. The result may be an incorrect calculation result. In safety-relevant systems, in particular in motor vehicles, such errors must therefore be reliably detected.
In safety-relevant systems such as in an ABS control system in a motor vehicle, for example, in which malfunctions of the electronic system must be reliably detected, redundancies are typically used for error detection in the corresponding control devices of such systems. Thus, for example, in known ABS systems, the complete microcontroller is duplicated, all ABS functions being redundantly calculated and checked for agreement. If a discrepancy of the results occurs, the ABS system is shut off.
A microcontroller essentially has memory modules (e.g., RAM, ROM, cache), a processor (CPU, core) and input/output interfaces known as peripherals (e.g., A/D transformer, CAN interface). Since memory elements may be effectively monitored using check codes (parity or ECC) and peripherals are monitored, according to the application, as part of a sensor or actuator signal path, duplicating only the core of a microcontroller represents an additional redundancy approach.
Such microcontrollers having at least two integrated cores are also known as dual-core architectures. The two cores execute the same program segment in a lockstep mode; the results of the two cores are compared, and an error may be detected during the comparison for agreement. This configuration of a dual-core system may be referred to as the comparison mode.
In other applications, dual-core architectures are also used for increasing performance. The two cores execute different programs, program segments, and instructions, thus making it possible to enhance system performance; therefore, this configuration of a dual-core system is known as the performance mode. This system is also known as a symmetrical multiprocessor system (SMP).
An extension of these systems entails using software to switch over between these two modes via access to a special address and specialized hardware devices. In the comparison mode the output signals of the cores are compared. In the performance mode the two cores work as a symmetrical multiprocessor system (SMP) and execute different programs, program segments, or instructions.
It is furthermore known from the related art that the clock frequency of a microcomputer may be modified even during operation. For example, current may be saved and thus power losses may be reduced by lowering the clock frequency. In a microcomputer which allows a switchover between two modes, there is the requirement, depending on the application, that the reliability characteristics must be strengthened for one mode. No method for achieving this is known from the related art.
It is therefore the object of the present invention to set the clock frequency of a multiprocessor system as needed either to reduce the power consumption, the electrical power loss, and the electromagnetic radiation or to reduce the susceptibility to errors.
A method or a device for controlling a computer system having at least two execution units, a switchover between at least two different operating modes of the computer system being possible, has the advantage compared to known approaches that, when switching over between the operating modes, the clock frequency of the computer system is also switched over.
In selected applications it is advantageous that the clock frequency is higher in the comparison mode than in the performance mode. In other applications it may be advantageous in particular for the clock frequency to be higher in the performance mode than in the comparison mode. It may be furthermore advantageous that the ratio between the clock frequencies is selected such that an effective performance in the at least two operating modes is the same.
Furthermore, it is advantageous that at least one second clock frequency is generated by influencing a unit for clock rate modification and/or adjustment via a signal from a switchover means, in particular a switchover and comparison unit. It is also considered advantageous that a controllable PLL is used for generating at least one second clock frequency.
It is also advantageous that at least one second clock frequency is generated in that at least two independent devices for frequency adjustment are provided and a controlled switchover between the at least two output signals of these devices is possible. The switchover between the output signals of the at least two independent devices for frequency adjustment is advantageously controlled by a signal from the switchover means, in particular from a switchover and comparison unit.
Further advantages and advantageous embodiments of the present invention result from the features of the claims and the description.
The present invention describes a method in which the clock frequency switchover in a multiprocessor system is coupled to the switchover between the at least two operating modes of such a processor system.
The subject matter of the present invention is a multiprocessor system having at least two execution units and one switchover and comparison unit capable of switching over between the at least two operating modes “performance mode” and “comparison mode.” The overall performance of the processor system differs according to the operating mode that has been set.
In the following, an execution unit may denote either a processor/core/CPU or an FPU (floating point unit), DSP (digital signal processor), coprocessor, or ALU (arithmetic logical unit).
To illustrate the terms performance mode and comparison mode,
This figure shows how the different conceivable modes may arise. For this purpose, this figure contains the logical components of a switching logic N110, which initially determines the number of output signals. Furthermore, switching logic N110 determines which of the input signals contribute to which of the output signals. One input signal may contribute to exactly one output signal. In mathematical form, formulated otherwise, the switching logic therefore defines a function which assigns one element of the set {N160, . . . , N16n} to each element of the set {N140, . . . , N14n}.
Processing logic N120 then determines for each of outputs N16i in which form the inputs contribute to this output signal. For example, to describe the different variation possibilities, let us assume, without prejudice to generality, that output N160 is generated by signals N141, . . . , N14m. If m=1, this simply corresponds to switching through the signal; if m=2, signals N141, N142 are compared. This comparison may be performed synchronously or asynchronously; it may be performed by bits or only on significant bits or also using a tolerance band.
If m≧3, there are several possibilities.
A first possibility includes comparing all signals and, if at least two different values are present, detecting an error which may be optionally signaled.
A second possibility includes making a k out of m selection (k>m/2). This may be implemented by the use of comparators. An error signal may optionally be generated if one of the signals is recognized as being different. A possibly different error signal may be generated if all three signals are different.
A third possibility is supplying these values to an algorithm, which may represent, for example, the formation of a mean value, a median value, or the use of an error-tolerant algorithm (ETA). Such an ETA depends on rejecting extreme values of the input values and performing some kind of averaging of the remaining values. This averaging may be performed on the entire set of remaining values or, preferably, on a subset to be easily formed in hardware. In this case it is not always necessary to actually compare the values. During averaging, for example, only addition and division must be performed; ETM, ETA, or median require partial sorting. If necessary, also in this case an error signal may be optionally output in the event of sufficiently large extreme values.
These different possibilities mentioned above for processing multiple signals to form one signal are referred to as comparison operations for short. The function of the processing logic is therefore to establish the exact configuration of the comparison operation for each output signal and thus also for the corresponding input signals. The combination of the information of switching logic N110 (i.e., the above-mentioned function) and the processing logic (i.e., establishing the comparison operation for each output signal, i.e., for each function value) is the mode information, which determines the mode. In the general case, this information is, of course, multi-valued, i.e., cannot be represented via a logical bit. Not all theoretically conceivable modes are useful in a given implementation; the number of allowed modes is preferably limited. It should be pointed out that in the case of only two execution units, where there is only one comparison mode, all the information may be condensed onto only one logical bit. A switchover from a performance mode to a comparison mode is characterized in general by execution units, which are mapped onto different outputs in the performance mode, being mapped onto the same output in the comparison mode. This is preferably implemented by the presence of a subsystem of execution units, in which in the performance mode all input signals N14i, which are to be taken into account in the subsystem, are switched directly onto the corresponding output signals N16i, while in the comparison mode all are mapped onto one output. Alternatively, such a switchover may also be implemented by modifying pairings. It is represented by the impossibility in the general case of referring to a performance mode and comparison mode, although in a given embodiment of the present invention the set of allowed modes may be limited in such a way that this becomes possible. However, it is always possible to refer to a switchover from the performance mode to the comparison mode (and vice-versa).
A switchover between these modes may be controlled by software and may take place dynamically during operation. The switchover is triggered either by the execution of special switchover instructions, special instruction sequences, explicitly marked instructions, or by access to certain addresses by at least one of the execution units of the multiprocessor system.
Error switching logic N130 collects the error signals and may switch outputs N16i to passive, for example, by interrupting them via a switch.
In a first preferred exemplary embodiment, the clock frequency of the processor system is switched over in such a way that the effective performance available to the user remains the same (or comparable within certain limits) regardless of the operating mode. For this purpose, when switching over from the performance mode to the comparison mode, the clock frequency must be increased exactly by the factor by which the performance in the performance mode would increase compared to the comparison mode without switching over the clock frequency.
P
E
=P
A,V
=P
A,P
*f
P
/f
V
where PE=effective performance (usable by the user)
The essential advantage of this application is that the effective performance usable for the user remains the same, i.e., regardless of the mode. In such a configuration, a performance mode does not result in higher effective performance of the processor system, but in lower power consumption and noise radiation at the same performance compared to operation in a comparison mode. Depending on the system design, a higher clock rate, within certain limits, is also conceivable. While this may potentially result in higher susceptibility to transient errors (EMC, capacitive coupling), excellent error detection may be achieved at the same time in the comparison mode. This advantage may be used in particular for solving scheduling problems, since a scheduling algorithm always needs execution times, which, in this exemplary embodiment, are independent of the assignment to a mode. This makes a more flexible and more modular platform strategy in software development possible.
In a second exemplary embodiment, an exactly opposite assignment is proposed. Susceptibility to transient errors (e.g., brief interference pulses of the voltage source, soft errors) is reduced by a lower clock frequency. If the comparison mode is operated using a reduced clock frequency, the execution of the program portions in this operating mode is less susceptible to errors, i.e., sturdier compared to an embodiment having a higher clock frequency. Program portions calculated in lockstep mode (comparison mode) require enhanced error detection according to the specifications. In the present exemplary embodiment, error detection is enhanced (security aspect) and also the likelihood of the occurrence of errors is potentially reduced (enhanced reliability and security).
In a second configuration, clock rate modifying unit H120 reduces the clock rate when switching over from the performance mode to the comparison mode. This then results in reduced sensitivity to transient errors in the comparison mode. Accordingly, the clock rate is increased again when switching over from the comparison mode to the performance mode.
Mode signal H150 is shown in
Number | Date | Country | Kind |
---|---|---|---|
10 2004 051 950.1 | Oct 2004 | DE | national |
10 2004 051 992.7 | Oct 2004 | DE | national |
10 2005 037 231.7 | Aug 2005 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP05/55548 | 10/25/2005 | WO | 00 | 4/25/2007 |