DE102004051952A1 - Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted - Google Patents
Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted Download PDFInfo
- Publication number
- DE102004051952A1 DE102004051952A1 DE102004051952A DE102004051952A DE102004051952A1 DE 102004051952 A1 DE102004051952 A1 DE 102004051952A1 DE 102004051952 A DE102004051952 A DE 102004051952A DE 102004051952 A DE102004051952 A DE 102004051952A DE 102004051952 A1 DE102004051952 A1 DE 102004051952A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- processor
- mode
- unit
- memory
- 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
- 238000000034 method Methods 0.000 title claims description 9
- 238000001514 detection method Methods 0.000 description 12
- 238000013500 data storage Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 2
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000002023 somite Anatomy 0.000 description 2
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems in which the redundancy can be transformed in increased performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Stand der TechnikState of technology
In technischen Anwendungen, wie insbesondere im Kraftfahrzeug oder im Industriegüterbereich also z.B. Maschinenbereich und in der Automatisierung werden ständig mehr und mehr mikroprozessor- oder rechnerbasierte Steuerungs- und Regelungssysteme für sicherheitskritische Anwendungen eingesetzt. Dabei sind Zweirechnersysteme oder Zweiprozessorsysteme (Dual Cores) heutzutage gängige Rechnersysteme für sicherheitskritische Anwendungen, insbesondere im Fahrzeug wie beispielsweise für Antiblockiersysteme, das Elektronische Stabilitätsprogramm (ESP), X-by-Wire-Systeme wie Drive-by-Wire oder Steer-by-Wire sowie Break-by-Wire, usw. oder auch bei sonstigen vernetzten Systemen. Um diese hohen Sicherheitsansprüche in zukünftigen Anwendungen zu befriedigen, sind mächtige Fehlermechanismen und Fehlerbehandlungsmechanismen erforderlich, insbesondere um transienten Fehler, die beispielsweise bei Verkleinerung der Halbleiterstrukturen der Rechnersysteme entstehen, zu begegnen. Dabei ist es relativ schwierig den Core selbst, also den Prozessor zu schützen. Eine Lösung hierfür ist wie erwähnt die Verwendung eines Zweirechnersystems oder Dual Core-Systems zur Fehlerdetektion.In technical applications, such as in particular in the motor vehicle or in the industrial goods sector e.g. Machine area and in automation are constantly increasing and more microprocessor or computer-based control systems for safety critical Applications used. These are two-computer systems or two-processor systems (Dual Cores) today's popular computer systems for safety critical Applications, especially in the vehicle such as for anti-lock braking systems, the electronic stability program (ESP), X-by-wire systems like drive-by-wire or steer-by-wire as well as break-by-wire, etc. or also with other networked systems. To meet these high security demands in future To satisfy applications are powerful failure mechanisms and Error handling mechanisms required, in particular transient errors, For example, when reducing the semiconductor structures of Computer systems arise to counter. It is relatively difficult the core itself, so to protect the processor. A solution for this is like mentioned the use of a dual-processor or dual-core system for Error detection.
Solche
Prozessoreinheiten mit wenigstens zwei integrierten Ausführungseinheiten
sind somit als Dual-Core- oder Multi-Core-Architekturen bekannt. Solche
Dual-Core- oder Multi-Core-Architekturen werden nach heutigem Stand
der Technik hauptsächlich
aus zwei Gründen
vorgeschlagen:
Zum Einen kann damit eine Leistungssteigerung, also
eine Performance-Steigerung erreicht werden, indem die beiden Ausführungseinheiten
oder Cores als zwei Recheneinheiten auf einem Halbleiterbaustein
betrachtet und behandelt werden. In dieser Konfiguration bearbeiten
die zwei Ausführungseinheiten
oder Cores unterschiedliche Programme respektive Tasks. Dadurch
lässt sich
eine Leistungssteigerung erzielen, weshalb diese Konfiguration als Leistungsmodus
oder Performance-Mode bezeichnet wird.Such processor units with at least two integrated execution units are thus known as dual-core or multi-core architectures. Such dual-core or multi-core architectures are proposed in the current state of the art mainly for two reasons:
On the one hand, an increase in performance, ie a performance increase, can be achieved by considering and treating the two execution units or cores as two arithmetic units on a semiconductor component. In this configuration, the two execution units or cores process different programs or tasks. As a result, an increase in performance can be achieved, which is why this configuration is referred to as a power mode or performance mode.
Der zweite Grund, eine Dual-Core- oder Multi-Core-Architektur zu realisieren, ist eine Sicherheitssteigerung, indem die beiden Ausführungseinheiten redundant das gleiche Programm abarbeiten. Die Ergebnisse der beiden Ausführungseinheiten oder CPUs, also Cores werden verglichen und ein Fehler kann bei dem Vergleich auf Übereinstimmung erkannt werden. Im Folgenden wird diese Konfiguration als Sicherheitsmodus oder Safety-Mode oder auch Fehlererkennungsmodus bezeichnet.Of the second reason to realize a dual-core or multi-core architecture, is an increase in security by the two execution units redundantly execute the same program. The results of the two Execution units or CPUs, so cores are compared and an error can be compared recognized for agreement become. In the following, this configuration becomes a security mode or safety mode or error detection mode.
Heutzutage gibt es somit einerseits Zwei- oder Mehrprozessorsysteme die zur Erkennung von Hardware-Fehlern redundant arbeiten (siehe Dual-Core oder Master-Checker-Systeme) und anderseits Zwei- oder Mehrprozessorsysteme, die auf ihren Prozessoren unterschiedliche Daten abarbeiten. Kombiniert man nun diese beiden Betriebsarten in einem Zwei- oder Mehrprozessorsystem (der Einfachheit halber wird nun nur noch von einem Zweiprozessorsystem gesprochen, die nachfolgende Erfindung ist aber genauso auf Mehrprozessorsystemen anwendbar), so müssen die beiden Prozessoren im Performance-Modus unterschiedliche Daten erhalten und im Fehlererkennungsmodus die gleichen Daten.nowadays Thus, on the one hand, there are two- or multi-processor systems for Detection of hardware errors redundant work (see dual-core or master-checker-systems) and on the other hand two- or multi-processor systems running on their processors to process different data. Combine these two now Operating modes in a two or more processor system (simplicity now half spoken only of a two-processor system, but the following invention is as well on multiprocessor systems applicable), so must the two processors in performance mode get different data and in error detection mode the same data.
Die Aufgabe der Erfindung ist nun eine Einheit und eine Verfahren vorzustellen, die den wenigstens beiden Prozessoren abhängig vom Modus die Instruktionen/Daten redundant oder unterschiedlich liefert und insbesondere im Performance-Modus die Speicherzugriffsrechte aufteilt.The The object of the invention is now to present a unit and a method the at least two processors depending on the mode the instructions / data redundant or different supplies and especially in the performance mode allocates the memory access rights.
Solch eine Einheit ist bis jetzt noch nicht bekannt. Sie ermöglicht den effektiven Betrieb eines Zweiprozessorsystems, so dass in den beiden Modi Sicherheit und Performance im Betrieb umgeschaltet werden kann. Dabei wird im weiteren von Prozessoren gesprochen, was aber ebenso Cores bzw. Recheneinheiten begrifflich einschließt.Such One unit is not known yet. It allows the effective operation of a two-processor system, so that in the two Modes safety and performance can be switched during operation. It is spoken in the further of processors, but as well Cores or computing units conceptually includes.
Beschreibung der Ausführungsbeispiele und Vorteile der Erfindungdescription the embodiments and advantages of the invention
Somit geht die Erfindung vorteilhafter Weise von einer Einheit zur Datenverteilung aus wenigstens einer Datenquelle in einem System mit wenigstens zwei Recheneinheiten aus, wobei Umschaltmittel (ModeSwitch) enthalten sind durch welche zwischen wenigstens zwei Betriebsmodi des Systems umgeschalten werden kann, wobei die Einheit derart ausgestaltet ist, dass die Datenverteilung und/oder die Datenquelle abhängig von dem Betriebsmodus ist. Gelichermaßen ist ein System mit einer solchen Einheit gezeigt.Consequently The invention advantageously proceeds from a unit for data distribution from at least one data source in a system with at least two Calculating units, wherein switching means (ModeSwitch) included are by which between at least two operating modes of the system can be switched, the unit configured in such a way is that the data distribution and / or the data source depends on is the operating mode. So to speak, a system with one shown in such a unit.
Ebenso zeigt die Erfindung ein entsprechendes Verfahren zur Datenverteilung aus wenigstens einer Datenquelle in einem System mit wenigstens zwei Recheneinheiten, wobei Umschaltmittel enthalten sind durch welche zwischen wenigstens zwei Betriebsmodi des Systems umgeschalten werden kann, wobei die Datenverteilung und/oder eine Auswahl einer Datenquelle (insbesondere Instr.Speicher, Datenspeicher, Cache) abhängig von dem Betriebsmodus ist.As well the invention shows a corresponding method for data distribution from at least one data source in a system with at least two Arithmetic units, wherein switching means are included by which be switched between at least two operating modes of the system may, wherein the data distribution and / or a selection of a data source (in particular memory, data memory, cache) depends on is the operating mode.
Dabei entspricht der erste Betriebsmodus einem Sicherheitsmodus, bei dem die zwei Recheneinheiten gleiche Programme und/oder Daten abarbeiten und Vergleichsmittel vorgesehen sind, welche die bei der Abarbeitung der gleichen Programme entstehenden Zustände auf Übereinstimmung vergleichenIn this case, the first operating mode corresponds to a safety mode, in which the two arithmetic units execute the same programs and / or data and comparison means are provided, which generate the same during the execution of the same programs compare conditions to match
Die erfindungsgemäße Einheit bzw. das erfindungsgemäße Verfahren ermöglicht die Implementierung der beiden Modi in einem Zweiprozessorsystem.The unit according to the invention or the inventive method allows the implementation of the two modes in a two-processor system.
Arbeiten die beiden Prozessoren im Fehlererkennungsmodus (F-Modus), so erhalten die beiden Prozessoren die gleichen Daten/Instruktionen und arbeiten sie im Performancemodus (P-Modus), so kann jeder Prozessor auf den Speicher zugreifen. Dann verwaltet diese Einheit die Zugriffe auf den nur einfach vorhandenen Speicher oder Peripherie.Work the two processors in error detection mode (F-mode), so obtained the two processors the same data / instructions and work they are in performance mode (P mode), so every processor can access the Memory access. Then this unit manages the accesses the only simple existing memory or peripherals.
Im F-Modus übernimmt die Einheit die Daten/Adressen eines Prozessors (hier Master genannt) und leitet diese an die Komponenten wie Speicher, Bus, usw. weiter. Der zweite Prozessor (hier Slave) möchte den gleichen Zugriff machen. Die Datenverteilungseinheit nimmt dies an einem zweiten Port entgegen, aber leitet die Anfrage nicht an die weiteren Komponenten weiter. Die Datenverteilungseinheit übergibt dem Slave die gleichen Daten wie dem Master und vergleicht die Daten der beiden Prozessoren. Sind diese unterschiedlich, so zeigt dies die Datenverteilungseinheit (hier DVE) durch ein Fehlersignal an. Es arbeitet somit nur der Master auf den Bus/Speicher und der Slave bekommt die selben Daten (Funktionsweise wie bei einem Dual-Core System).in the F mode takes over the unit the data / addresses of a processor (here called Master) and forwards them to the components such as memory, bus, etc. The second processor (here slave) wants to make the same access. The data distribution unit accepts this at a second port, but does not forward the request to the other components. The data distribution unit passes the slave the same data as the master and compares the data the two processors. If these are different, this shows the Data distribution unit (here DVE) by an error signal. It Thus, only the master works on the bus / memory and the slave gets the same data (working like a dual-core System).
Im P-Modus arbeiten die beiden Prozessoren unterschiedliche Programmteile ab. Die Speicherzugriffe sind somit auch unterschiedlich. Die DVE nimmt somit die Anforderung der Prozessoren entgegen und gibt die Ergebnisse/angeforderte Daten an den Prozessor zurück, der sie angefordert hat. Möchten nun beide Prozessoren gleichzeitig auf eine Komponenten zugreifen, so wird ein Prozessor in einen Wartezustand versetz, bis der andere bedient wurde.in the P mode, the two processors work different parts of the program from. The memory accesses are thus also different. The DVE thus accepts the request of the processors and gives the Results / requested data back to the processor, the she has requested. Would like now both processors access a component at the same time one processor is put in a wait state until the other one was served.
Die Umschaltung zwischen den beiden Modi und somit der unterschiedlichen Arbeitsweise der Datenverteilungseinheit erfolgt durch ein Steuersignal. Dies kann entweder von einem der beiden Prozessoren generiert werden oder extern.The Switching between the two modes and thus the different ones Operation of the data distribution unit is performed by a control signal. This can either be generated by one of the two processors or externally.
Wird das Zweiprozessorsystem im F-Modus mit einem Taktversatz betrieben und im P-Modus nicht, so verzögert die DVE-Einheit die Daten für den Slave entsprechend, bzw. speichert die Ausgangsdaten des Master solange, bis sie mit den Ausgangsdaten des Slave zur Fehlererkennung verglichen werden können.Becomes operated the two-processor system in F-mode with a clock offset and not in P-mode, so delayed the DVE unit the data for corresponding to the slave, or stores the output data of the master until they match the output data of the slave for error detection can be compared.
Der
Taktversatz wird anhand der
Um
die genannten Gleichtaktfehler zu erkennen ist dieses System eben
beispielsweise dazu ausgelegt in einem vorgegebenen Zeitversatz
oder Taktzyklenversatz zu arbeiten, insbesondere hier 1,5 Taktzyklen,
d.h. während
der eine Rechner, z. B. Rechner
Dabei
stehen die Komponenten
Der
Vergleich der Daten und/oder Befehle bezüglich der redundanten Ausführung im
Zweirechnersystem erfolgt in den Vergleichern oder Komparatoren
Um
diese Problematik zu lösen
wird nun eine Verzögerungseinheit
Verzögerung der Schreib- und Leseoperationen,
Verzögerung
nur der Schreiboperationen oder auch, wenn auch nicht bevorzugt,
eine Verzögerung
der Leseoperationen. Dabei kann durch ein Änderungssignal, insbesondere
das Fehlersignal, eine verzögerte Schreiboperation
in eine Leseoperation gewandelt werden um fehlerhaftes Schreiben
zu unterbinden.To solve this problem now becomes a delay unit
Delay the write and read operations, delay only the write operations, or, although not preferred, delay the read operations. It can be converted by a change signal, in particular the error signal, a delayed write operation in a read operation to prevent erroneous writing.
Nachfolgend
anhand
IIIOpDetect:
Die Umschaltung zwischen den beiden Modi wird durch die Einheiten "'Switch-Detect'" erkannt.
Diese Einheit liegt zwischen dem Cache und dem Prozessor auf dem
Instruktionsbus und schaut ob der Befehl IIIOp in den Prozessor
geladen wird. Wird der Befehl detektiert, so wird dieses Ereignis
der Modeswitch Einheit mitgeteilt. Die "'Switch-Detect'" Einheit ist für jeden Prozessor einzeln vorhanden. Die
Einheit "'Switch-Detect'" muss nicht fehlertolerant ausgeführt sein,
da sie doppelt und somit redundant vorhanden ist. Andererseits ist
es denkbar diese Einheit fehlertolerant und damit singulär auszuführen, bevorzugt
ist aber die redundante Ausführung.Below based on
IIIOpDetect: Switching between the two modes is detected by the units''Switch-Detect'". This unit lies between the cache and the processor on the instruction bus and looks to load the IIIOp instruction into the processor. If the command is detected, this event is communicated to the Modeswitch unit. The Switch-Detect unit is unique to each processor. The unit "Switch-Detect '" does not have to be fault-tolerant because it is duplicated and therefore redundant. On the other hand, it is conceivable to perform this unit fault-tolerant and thus singular, but preferred is the redundant design.
Modeswitch: Die Umschaltung zwischen den beiden Modi wird durch die "'Switch-Detect'" Einheit getriggert. Soll eine Umschaltung vom Lock in den Split Modus erfolgen, detektieren beide "'Switch-Detect'" Einheiten die Umschaltung, da beide Prozessoren den gleichen Programmcode im Lock Modus abarbeiten. Die "'Switch-Detect"' Einheit des Prozessor 1 erkennt dies 1,5 Takte vor der "'Switch-Detect'" Einheit des Prozessors 2. Die "'Modeswitch'" Einheit hält mit Hilfe des Wait Signals den Prozessor 1 um 2 Takte an. Der Prozessor 2 wird 1,5 Takte später ebenfalls angehalten, aber nur um einen halben Takt, damit er zum Systemtakt synchronisiert wird. Anschließend wird das Status-Signal auf Split geschaltet für die weiteren Komponenten und die beiden Prozessoren arbeiten weiter. Damit die beiden Prozessoren nun unterschiedliche Tasks ausführen, müssen sie im Programmcode auseinanderlaufen. Dies erfolgt, indem direkt nach Umschalten in den Split-Modus ein Lesezugriff auf die Prozessor-ID erfolgt. Diese ausgelesene Prozessor-ID ist für jeden der beiden Prozessoren unterschiedlich. Wird nun auf eine Soll-Prozessor-ID verglichen, kann anschließend mit einem Conditional Jump Befehl der entsprechende Prozessor an eine andere Programmstelle gebracht werden. Bei einer Umschaltung vom Split-Modus in den Lock-Modus wird dies ein Prozessor bemerken, bzw. einer der beiden zuerst. Dieser Prozessor wird Programmcode ausführen, in dem der Umschaltbefehl enthalten ist. Dies wird nun durch die "'Switch-Detect'" Einheit registriert und teilt dies der Modeswitch Einheit mit. Diese hält den entsprechenden Prozessor an und teilt dem zweiten den Wunsch der Synchronisation durch einen Interrupt mit. Der zweite Prozessor erhält einen Interrupt und kann nun eine Softwareroutine zur Beendigung seines Tasks ausführen. Nun springt er ebenfalls an die Programmstelle, in der sich der Befehl zur Umschaltung befindet. Seine "'Switch-Detect'" Einheit signalisiert nun ebenfalls den Wunsch zum Moduswechsel an die Modeswitch Einheit. Zur nächsten steigenden Systemtaktflanke wird nun das Wait Signal für den Prozessor 1 deaktiviert und 1,5 Takte später für den Prozessor 2. Nun arbeiten beide wieder mit einem Taktversatz von 1,5 Takten synchron.Mode Switch: Switching between the two modes is triggered by the Switch-Detect unit. If you want to switch from Lock to Split mode, detect Both '' Switch-Detect '"units are switching as both Processors execute the same program code in lock mode. The "Switch-Detect" unit of the processor 1 recognizes this 1.5 clocks before the "Switch-Detect" unit of the processor 2. The "'Modeswitch'" unit keeps up Help the wait signal the processor 1 by 2 bars. The processor 2 will be 1.5 bars later also stopped, but only by half a beat, so he to System clock is synchronized. Subsequently, the status signal switched to split for the other components and the two processors continue to work. So that the two processors now perform different tasks, they must Diverge in the program code. This is done by looking right after Switch to split mode read access to the processor ID he follows. This read processor ID is for each of the two processors differently. Now compared to a target processor ID, can subsequently with a conditional jump command the appropriate processor be brought to another program point. When switching from split mode to lock mode, a processor will notice this or one of the two first. This processor becomes program code To run, in which the switching command is included. This will now be done by the '' Switch-Detect '"unit registers and reports this to the Modeswitch unit. This holds the appropriate Processor and tells the second the desire of synchronization through an interrupt with. The second processor receives one Interrupt and can now use a software routine to stop his Execute tasks. Now he also jumps to the program point in which the Command for switching is located. His "Switch-Detect" unit now signals as well the desire to change mode to the Modeswitch unit. To the next rising System clock edge is now the Wait signal for the processor 1 disabled and 1.5 bars later for the Processor 2. Now both work again with a clock offset of 1.5 clocks synchronously.
Befinden sich das System im Lock Modus, so müssen beide "'Switch-Detect'" Einheiten der Modeswitch Einheit mitteilen, dass sie in den Split Modus wollen. Erfolgt der Umschaltwunsch nur von einer Einheit, so wird der Fehler von den Vergleichseinheiten erkannt, da diese von einem der beiden Prozessoren weiterhin Daten geliefert bekommen und diese nicht mit dem angehaltenen Prozessoren übereinstimmen.Are located If the system is in Lock mode, both 'Switch-Detect' units must notify the Modeswitch unit that they want to split mode. If the changeover request only occurs from one unit, so will the error from the comparison units detected as these from one of the two processors continue to receive data delivered and these do not match the stopped processor.
Sind die beiden Prozessoren im Split Modus und einer schaltet nicht zurück in den Lock-Modus, so kann dies durch einen externen Watchdog erkannt werden. Bei einem Triggersignal für jeden Prozessor bemerkt der Watchdog dass der wartende Prozessor sich nicht mehr meldet. Ist nur ein Watchdogsignal für das Prozessorsystem vorhanden, so darf die Triggerung des Watchdogs nur im Lock-Modus erfolgen. Somit würde der Watchdog erkennen, dass die Modusumschaltung nicht erfolgte. Das Modussignal liegt als Dual-Rail Signal vor. Dabei steht "'10'" für den Lock-Modus und "'01'" für den Split-Modus. Bei "'00'" und "'11'" sind Fehler aufgetreten.are the two processors in split mode and one does not switch back to the Lock mode, so can this can be detected by an external watchdog. With a trigger signal for each Processor notices the watchdog that the waiting processor itself no longer reports. If there is only one watchdog signal for the processor system, Thus the triggering of the watchdog may only take place in lock mode. Consequently would the Watchdog detect that the mode switch was not made. The Mode signal is available as a dual-rail signal. Where "'10'" stands for lock mode and '' 01 '"for the split mode. Errors have occurred with "'00'" and "'11'".
IramControl: Der Zugriff auf den Befehlsspeicher der beiden Prozessoren wird über die IRAM Control gesteuert. Diese muss sicher ausgelegt sein, da sie ein Single Point of Failure ist. Sie besteht aus zwei Zustandsautomaten für jeden Prozessor: als je einen taktsynchronen iram 1 clkreset und einen asynchronen readiram1. Im sicherheitskritischen Modus überwachen sich die Zustandsautomaten der beiden Prozessoren gegenseitig und im Performancemodus arbeiten sie getrennt.IramControl: Access to the instruction memory of the two processors is via the Controlled by IRAM Control. This must be designed securely, as it is a single point of failure is. It consists of two state machines for each Processor: as each one isochronous iram 1 clkreset and one asynchronous readiram1. Monitor in safety-critical mode the state machines of the two processors mutually and in performance mode, they work separately.
Das Nachladen der beiden Caches der Prozessoren werden durch 2 Zustandsautomaten gesteuert. Einem synchronen Zustandsautomaten iramclkreset und einem asynchronen readiram. Durch diese beiden Zustandsautoamten werden auch die Speicherzugriffe im Split-Modus verteilt. Hierbei hat Prozessor 1 die höhere Priorität. Nach einem Zugrif auf den Hauptspeicher durch Prozessor 1 bekommt nun – wenn beide Prozessoren wieder auf den Hauptspeicher zugreifen wollen – Prozessor2 die Speicherzugriffserlaubnis zugeteilt. Diese beiden Zustandsautomaten sind für jeden Prozessor implementiert. Im Lock-Modus werden die Ausgangssignale der Automaten verglichen um auftretende Fehler erkennen zu können.The Reloading the two caches of the processors are done by 2 state machines controlled. A synchronous state machine iramclkreset and a asynchronous readiram. By these two state car offices are also the memory accesses are distributed in split mode. This processor has 1 the higher Priority. After accessing the main memory by processor 1 gets Well, if both processors want to access the main memory again - Prozessor2 allocated the memory access permission. These two state machines are for implemented every processor. In lock mode, the output signals compared the machine to be able to detect errors occurring.
Die Daten zum Aktualisieren des Cache 2 im Lock-Modus werden in der IRAM-Control Einheit μm 1,5 Takte verzögert.The Data for updating the cache 2 in the lock mode are in the IRAM control unit μm 1.5 Clocks delayed.
In Bit 5 im Register 0 der SysControl wird codiert um welchen Core es sich handelt. Core 1 ist das Bit 0 und bei Core 2 ist es High. Dieses Register ist in den Speicherbereich mit der Adresse 65528 gespiegelt.In bit 5 in register 0 of the SysControl is encoded which core is concerned. Core 1 is bit 0 and Core 2 is high. This register is in mirrored the memory area with the address 65528.
Bei einem Speicherzugriff von Core 2 wird erst überprüft in welchem Modus sich der Rechner befindet. Ist er im Lock-Modus so wird sein Speicherzugriff unterdrückt. Dieses Signal liegt als Common-Rail Signal vor, da es sicherheitskritisch ist.at Memory access by Core 2 is first checked in which mode the Computer is located. If it is in lock mode, then its memory access suppressed. This signal is available as a common-rail signal because it is safety-critical is.
Der Programmcounter des Prozessors 1 wird um 1,5 Takte verzögert um im Lock-Modus mit dem Programmcounter des Prozessors 2 verglichen werden zu können.Of the Program counter of processor 1 is delayed by 1.5 clocks be compared in lock mode with the program counter of the processor 2 to be able to.
Im Split Modus können die Caches der beiden Prozessoren unterschiedlich nachgeladen werden. Wenn nun in den Lock-Modus umgeschaltet wird, sind die beiden Caches nicht kohärent zueinander. Dadurch können die beiden Prozessoren auseinanderlaufen und die Vergleicher signalisieren folglich einen Fehler. Um dies zu vermeiden, ist in der IRAM Control eine Flag Tabelle aufgebaut. In dieser wird vermerkt, ob eine Cachezeile im Lock- oder im Split-Modus geschrieben wurde. Im Lock-Modus wird der für die Cachezeile entsprechende Eintrag bei einer Cachezeilennachladung auf 0 gesetzt und im Split-Modus – auch bei einer Cacheaktualisierung der Cachezeile von nur einem Cache – auf 1. Führt der Prozessor nun im Lock-Modus einen Speicherzugriff aus, so wird überprüft, ob diese Cachezeile im Lock-Modus aktualisiert wurde, d.h. in beiden Caches gleich ist. Im Split-Modus kann der Prozessor immer auf die Cachezeile zugreifen, unabhängig wie der Flag_Vector ist. Diese Tabelle muss nur einmal vorhanden sein, da bei einem Fehler die beiden Prozessoren auseinanderlaufen und somit an den Vergleichern dieser Fehler sicher erkannt wird. Da die Zugriffszeiten auf der zentralen Tabelle relativ hoch sind, kann diese Tabelle auch zu jedem Cache kopiert werden.in the Split mode can the caches of the two processors are loaded differently. When switching to lock mode, the two caches are now not coherent to each other. Thereby can the two processors diverge and the comparators signal consequently a mistake. To avoid this, is in the IRAM Control built a flag table. In this is noted whether a cache line was written in lock or split mode. In lock mode, the for the Cache line corresponding entry for a cache line reload set to 0 and in split mode - even with a cache update of Cache line of just one cache - up 1. Performs the Processor now in lock mode memory access, it will check if this Cache line has been updated in lock mode, i. in both caches is equal to. In split mode, the processor can always access the cache line access, independently as the Flag_Vector is. This table only needs to exist once be because in an error, the two processors diverge and thus at the comparators of these errors is reliably detected. Since the access times on the central table are relatively high, This table can also be copied to any cache.
DramControl: In dieser Komponente werden für die Adress-, Daten- und Speichersteuersignale von jedem Prozessor das Parity gebildet.DramControl: In this component are for the address, data and memory control signals from each processor the parity formed.
Es gibt einen Prozess für beide Prozessor zum Sperren des Speichers. Dieser Prozess muss nicht sicher implementiert sein, da im Lock-Modus fehlerhafte Speicherzugriffe durch die Vergleicher erkannt werden und im Split-Modus keine sicherheitsrelevanten Anwendungen ausgeführt werden. Hierin wird überprüft, ob der Prozessor den Speicher für den anderen Prozessor sperren möchte. Dieses Sperren des Datenspeichers erfolgt durch einen Zugriff auf die Speicheradresse $FBFF$=64511. Dieses Signal soll genau ein Takt lang anliegen, auch wenn am Prozessor zum Zeitpunkt des Aufrufens ein waitcommand anliegt. Der Zustandsautomat zur Verwaltung der Datenspeicherzugriffe besteht aus 2 Hauptzuständen:
- – Prozessorstatus Lock: Die beiden Prozessoren arbeiten im Lock-Modus. D.h. die Funktionalität des Datenspeicherlocking ist nicht notwendig. Prozessor 1 koordiniert die Speicherzugriffe.
- – Prozessorstatus Split: Nun ist eine Zugriffskonfliktauflösung auf den Datenspeicher nötig und ein Speichersperren muss erfolgen können.
- - Processor Status Lock: The two processors are in lock mode. That is, the functionality of data storage locking is not necessary. Processor 1 coordinates the memory accesses.
- - Processor status Split: An access conflict resolution to the data storage is now necessary and a storage lock must be possible.
Der Zustand im Split-Modus ist wiederum in 7 Zustände untergliedert, die die Zugriffskonflikte auflösen und den Datenspeicher für jeweils den anderen Prozessor sperren können. Bei gleichzeitigem Wunsch der beiden Prozessoren bei einem Zugriff, stellt die aufgeführte Reihenfolge gleichzeitig die Priorisierung dar.
- – Core1\_Lock: Prozessor 1 hat den Datenspeicher gesperrt. Möchte in diesem Zustand Prozessor 2 auf den Speicher zugreifen, so wird er durch ein Wartesignal angehalten, bis Prozessor 1 den Datenspeicher wieder freigibt.\
- – Core2\_Lock: Ist der gleiche Zustand wie der vorige nur dass nun Prozessor 2 den Datenspeicher gesperrt hat und Prozessor 1 bei Datenspeicheroperationen angehalten wird.
- – lock1\_wait: Der Datenspeicher war durch den Prozessor 2 gesperrt als Prozessor 1 ihn ebenfalls für sich reservieren wollte. Prozessor 1 ist somit für die nächste Speichersperrung vorgemerkt.
- – nex: Das gleiche für Prozessor 2. Der Datenspeicher war während des Sperrversuchs durch Prozessor 1 gesperrt. Prozessor 2 bekommt den Speicher vorreserviert. Bei normalen Speicherzugriff ohne Sperren kann hier Prozessor 2 vor Prozessor 1 zugreifen wenn davor Prozessor 1 dran war.
- – Speicherzugriff von Prozessor 1: Der Speicher ist in diesem Fall nicht gesperrt. Prozessor 1 darf auf den Datenspeicher zugreifen. Falls er ihn sperren möchte, kann er dies in diesem Zustand vornehmen.
- – Speicherzugriff durch Prozessor 2. Im selben Takt wollte Prozessor 1 nicht auf den Speicher zugreifen somit ist der Speicher frei für den Prozessor 2.
- – kein Prozessor möchte auf den Datenspeicher zugreifen
- - Core1 \ _Lock: Processor 1 has locked the data memory. If processor 2 wants to access the memory in this state, it is stopped by a waiting signal until processor 1 releases the data memory again.
- - Core2 \ _Lock: Is the same state as the previous one except that now processor 2 has locked the data memory and processor 1 is stopped during data storage operations.
- - lock1 \ _wait: The data memory was locked by the processor 2 as processor 1 wanted to reserve it for himself as well. Processor 1 is thus flagged for the next memory lock.
- - nex: The same for processor 2. The data store was locked during the attempted lock by processor 1. Processor 2 gets the memory pre-reserved. In the case of normal memory access without locks, processor 2 can access processor 1 before processor 1 if processor 1 was in front of it.
- Memory access of processor 1: The memory is not locked in this case. Processor 1 is allowed to access the data store. If he wants to lock him, he can do so in this condition.
- Memory access by processor 2. In the same clock processor 1 did not want to access the memory thus the memory is free for the processor 2.
- - no processor wants to access the data store
Die DVE setzt sich wie erwähnt zusammen aus dem Detektierung des Umschaltwunsches (IIIOPDetect) der ModeSwitch-Einheit und der Iram- und DramControl.The DVE sits down as mentioned together from the detection of the changeover request (IIIOPDetect) the ModeSwitch unit and the Iram and DramControl.
Der Kern der Erfindung ist wie oben ausgeführt die generelle Funktionsweise der Datenverteilungseinheit DVE (je nach Modus unterschiedliche Datenzuteilung und somit auch Auswahl des Betriebsmodus).Of the The core of the invention, as stated above, is the general mode of operation the data distribution unit DVE (depending on the mode different data allocation and thus also selection of the operating mode).
Daneben löst aber auch die dargestellte spezielle Implementierung der DVE die Eingangs genannte Aufgabe.In addition, however, the illustrated special implementation of the DVE solves the input ge called task.
Claims (4)
Priority Applications (149)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004051952A DE102004051952A1 (en) | 2004-10-25 | 2004-10-25 | Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted |
DE102005037242A DE102005037242A1 (en) | 2004-10-25 | 2005-08-08 | Processing unit`s e.g. CPU, analog or digital signals switching and comparing method for computer system, involves switching between operating modes of units and comparing analog signals of units by changing one signal into digital value |
DE102005037222A DE102005037222A1 (en) | 2004-10-25 | 2005-08-08 | Mode signal evaluating method for computer system, involves generating mode signal and changes in mode signal in computer system, where changes in mode signal and mode signal are used for evaluation of signal in computer system |
DE102005037223A DE102005037223A1 (en) | 2004-10-25 | 2005-08-08 | Access mode units switching method for motor vehicle, involves providing set of defined bit combinations for execution units, and triggering switching by combination that is not defined in set |
DE102005037213A DE102005037213A1 (en) | 2004-10-25 | 2005-08-08 | Operating modes switching method for use in computer system, involves switching between operating modes using switching unit, where switching is triggered by signal generated outside system, and identifier is assigned to signal |
CNA2008101697667A CN101393533A (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
PCT/EP2005/055519 WO2006045790A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system with at least two processing units |
EP05804493A EP1812860B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
AT05808034T ATE438138T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SWITCHING BETWEEN OPERATING MODES OF A MULTIPROCESSOR SYSTEM USING AT LEAST ONE EXTERNAL SIGNAL |
US11/666,407 US20080126718A1 (en) | 2004-10-25 | 2005-10-25 | Method And Device For Monitoring A Memory Unit In A Mutliprocessor System |
KR1020077009145A KR20070083760A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching in a computer system having at least two execution units |
JP2007537295A JP4669007B2 (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching and comparing data in a computer system having at least two processing units |
US11/666,184 US8090983B2 (en) | 2004-10-25 | 2005-10-25 | Method and device for performing switchover operations in a computer system having at least two execution units |
PCT/EP2005/055542 WO2006045804A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for delaying accesses to data and/or commands of a multiprocessor system |
EP05797173A EP1810147A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system with at least two processing units |
EP05797110A EP1810146B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for separating the processing of program codes in a computer system comprising at least two execution units |
KR1020077009253A KR20070083772A (en) | 2004-10-25 | 2005-10-25 | Method and device for synchronising in a multi-processor system |
EP05801573A EP1812857B1 (en) | 2004-10-25 | 2005-10-25 | Device and method for mode switching in a computer system comprising at least two execution units |
PCT/EP2005/055537 WO2006045800A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for synchronising in a multi-processor system |
US11/665,727 US7856569B2 (en) | 2004-10-25 | 2005-10-25 | Method and device for a switchover and for a data comparison in a computer system having at least two processing units |
JP2007537301A JP2008518308A (en) | 2004-10-25 | 2005-10-25 | Method and data distribution unit for distributing data in a multiprocessor system |
CNA2005800364863A CN101048730A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching over in a computer system having at least two execution units |
JP2007538402A JP2008518341A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching and comparing signals in a computer system having at least two processing units |
PCT/EP2005/055512 WO2006045785A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
AT05804493T ATE421120T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM WITH AT LEAST TWO PROCESSING UNITS |
US11/666,325 US20080270747A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Switching Over Between Operating Modes of a Multi-Processor System Using at Least One External Signal |
US11/666,403 US20080263340A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Analyzing a Signal from a Computer System Having at Least Two Execution Units |
KR1020077008951A KR20070062565A (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
KR1020077009251A KR20070062579A (en) | 2004-10-25 | 2005-10-25 | Method and device for distributing data from at least one data source in a multiprocessor system |
KR1020077009144A KR20070083759A (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching in a computer system comprising at least two execution units |
EP05804490A EP1812859B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system with at least two processing units |
RU2007119317/09A RU2007119317A (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SWITCHING IN A COMPUTER SYSTEM, INCLUDING AT LEAST TWO EXECUTIVE UNITS |
CN200580036461.3A CN100585567C (en) | 2004-10-25 | 2005-10-25 | Method and device for delaying multiprocessor system data and/or dictation visit |
AT05797084T ATE407398T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SYNCHRONIZATION IN A MULTI-PROCESSOR SYSTEM |
RU2007119316/09A RU2007119316A (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR CONTROLING A MEMORY DEVICE IN A MULTI-PROCESSOR SYSTEM |
JP2007537298A JP2008518306A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching and signal comparison in a computer system having at least two processing units |
KR1020077009266A KR20070083776A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching between operating modes of a multiprocessor system by means of at least one external signal |
JP2007537289A JP2008518297A (en) | 2004-10-25 | 2005-10-25 | Apparatus and method for performing switching in a computer system having at least two execution units |
DE502005007806T DE502005007806D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SWITCHING BETWEEN AT LEAST ONE EXTERNAL SIGNAL |
JP2007537302A JP4532561B2 (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for synchronization in a multiprocessor system |
PCT/EP2005/055516 WO2006045788A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
EP05801574A EP1812858B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for generating a mode signal in a computer system comprising a plurality of components |
EP05803464A EP1807764A2 (en) | 2004-10-25 | 2005-10-25 | Device and method for switching between modes in a computer system having at least two execution units |
CN200580036441.6A CN101048745A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching over in multiprocessor system |
EP05801572A EP1812856B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for evaluating a signal of a computer system comprising at least two execution units |
KR1020077009143A KR101052994B1 (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for conversion in a computer system comprising at least two execution units |
DE502005006496T DE502005006496D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM HAVING AT LEAST TWO PROCESSING UNITS |
CN200580036488.2A CN100511167C (en) | 2004-10-25 | 2005-10-25 | Method and device for monitoring memory cell of multiprocessor system |
KR1020077008954A KR20070083732A (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
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 |
DE502005005285T DE502005005285D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR EVALUATING A SIGNAL OF A COMPUTER SYSTEM WITH AT LEAST TWO OUTPUT UNITS |
EP05801427A EP1807762A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for swichting in a computer system comprising at least two execution units |
ES05801572T ES2311238T3 (en) | 2004-10-25 | 2005-10-25 | PROCEDURE AND DEVICE FOR THE EVALUATION OF A SIGNAL OF A COMPUTER SYSTEM WITH AT LEAST TWO EXECUTION UNITS. |
KR1020077009250A KR20070083771A (en) | 2004-10-25 | 2005-10-25 | Method and device for delaying accesses to data and/or commands of a multiprocessor system |
US11/666,175 US20080270746A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Performing Switchover Operations and for Comparing Signals in a Computer System Having at Least Two Processing Units |
PCT/EP2005/055507 WO2006045780A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for separating the processing of program codes in a computer system comprising at least two execution units |
EP05811107A EP1820102A2 (en) | 2004-10-25 | 2005-10-25 | Method and device for carrying out clock changeover in a multiprocessor system |
PCT/EP2005/055514 WO2006045786A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
US11/666,394 US20080091927A1 (en) | 2004-10-25 | 2005-10-25 | Method And Device For A Switchover In A Computer System Having At Least Two Processing Units |
KR1020077009126A KR20070085278A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching in a computer system comprising at least two execution units |
PCT/EP2005/055509 WO2006045782A2 (en) | 2004-10-25 | 2005-10-25 | Method and device for switching between operating modes of a multiprocessor system by means of at least one external signal |
JP2007537297A JP2008518305A (en) | 2004-10-25 | 2005-10-25 | Driving mode switching method and driving mode switching apparatus in a computer system having at least two processing units |
RU2007119321/09A RU2007119321A (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SWITCHING BETWEEN OPERATING MODES OF A MULTI-PROCESSOR SYSTEM BY MEANS OF AT LEAST ONE EXTERNAL SIGNAL |
US11/666,183 US7669079B2 (en) | 2004-10-25 | 2005-10-25 | Method and device for switching over in a computer system having at least two execution units |
PCT/EP2005/055508 WO2006045781A2 (en) | 2004-10-25 | 2005-10-25 | Vorrichtung und verfahren zur modusums- chaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten |
KR1020077009252A KR20070067168A (en) | 2004-10-25 | 2005-10-25 | Method and device for monitoring a memory unit in a multi-processor system |
AT05801573T ATE407400T1 (en) | 2004-10-25 | 2005-10-25 | DEVICE AND METHOD FOR MODE SWITCHING IN A COMPUTER SYSTEM WITH AT LEAST TWO EXECUTION UNITS |
PCT/EP2005/055539 WO2006045802A2 (en) | 2004-10-25 | 2005-10-25 | Method and device for carrying out clock changeover in a multiprocessor system |
KR1020077009142A KR20070062576A (en) | 2004-10-25 | 2005-10-25 | Method and device for separating the processing of program codes in a computer system comprising at least two execution units |
KR1020077009148A KR20070062577A (en) | 2004-10-25 | 2005-10-25 | Method and device for evaluating a signal of a computer system comprising at least two execution units |
DE502005005287T DE502005005287D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR GENERATING A MODUSIGNAL IN A COMPUTER SYSTEM COMPRISING MULTIPLE COMPONENTS |
CNB2005800365777A CN100483359C (en) | 2004-10-25 | 2005-10-25 | Method and device for changing mode and comparing signal in a computer system having at least two processing units |
KR1020077009128A KR20070062573A (en) | 2004-10-25 | 2005-10-25 | Device and method for switching over in a computer system having at least two execution units |
JP2007537293A JP2008518301A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching in a computer system having at least two execution units |
EP05801384A EP1812854A1 (en) | 2004-10-25 | 2005-10-25 | Device and method for switching over in a computer system having at least two execution units |
US11/666,377 US20080209170A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Performing Switchover Operations and for Signal Comparison in a Computer System Having at Least Two Processing Units |
US11/666,185 US20080320340A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Performing Switchover Operations and for Comparing Data in a Computer System Having at Least Three Execution Units |
EP05808034A EP1817662B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for switching between operating modes of a multiprocessor system by means of at least an external signal |
AT05797110T ATE426204T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SEPARATING THE PROCESSING OF PROGRAM CODE IN A COMPUTER SYSTEM WITH AT LEAST TWO EXECUTION UNITS |
US11/666,413 US20090164826A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for synchronizing in a multiprocessor system |
CNA2005800365300A CN101048752A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching over in a computer system having at least two execution units |
JP2007538399A JP2008518339A (en) | 2004-10-25 | 2005-10-25 | Apparatus and method for switching in a computer having at least two implementation units |
US11/666,409 US20070255875A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Switching Over in a Computer System Having at Least Two Execution Units |
PCT/EP2005/055532 WO2006045798A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for distributing data from at least one data source in a multiprocessor system |
JP2007538400A JP2008518340A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching in a computer system having at least two implementation units |
KR1020077009127A KR100994039B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for generating a mode signal in a computer system comprising a plurality of components |
CNA2005800365762A CN101048757A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching over in a computer system having at least two execution units |
CNB2005800364219A CN100538654C (en) | 2004-10-25 | 2005-10-25 | In having the computer system of a plurality of assemblies, produce the method and apparatus of mode signal |
AT05801572T ATE407399T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR EVALUATION OF A SIGNAL OF A COMPUTER SYSTEM WITH AT LEAST TWO EXECUTION UNITS |
US11/666,182 US20080313384A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units |
US11/666,383 US20090044048A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for generating a signal in a computer system having a plurality of components |
CNA2005800365495A CN101048755A (en) | 2004-10-25 | 2005-10-25 | Method and device for changing mode and comparing signal in a computer system having at least two processing units |
JP2007537296A JP2008518304A (en) | 2004-10-25 | 2005-10-25 | Mode switching and data comparison method and apparatus in a computer system having at least three processing units |
KR1020077008953A KR20070062567A (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
AT05801485T ATE420402T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM WITH AT LEAST TWO PROCESSING UNITS |
DE502005005490T DE502005005490D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MONITORING AN SP |
JP2007537303A JP2008518310A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for monitoring memory units in a multiprocessor system |
US11/666,405 US7853819B2 (en) | 2004-10-25 | 2005-10-25 | Method and device for clock changeover in a multi-processor system |
AT05801543T ATE409327T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MONITORING A STORAGE UNIT IN A MULTI-PROCESSOR SYSTEM |
PCT/EP2005/055506 WO2006045779A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for switching in a computer system comprising at least two execution units |
PCT/EP2005/055538 WO2006045801A2 (en) | 2004-10-25 | 2005-10-25 | Method and device for monitoring a memory unit in a multi-processor system |
EP05801429A EP1805618A2 (en) | 2004-10-25 | 2005-10-25 | Method and device for switching in a computer system comprising at least two execution units |
US11/666,404 US20080288758A1 (en) | 2004-10-25 | 2005-10-25 | Method and Device for Switching Over in a Computer System Having at Least Two Execution Units |
US11/666,406 US20080163035A1 (en) | 2004-10-25 | 2005-10-25 | Method for Data Distribution and Data Distribution Unit in a Multiprocessor System |
PCT/EP2005/055517 WO2006045789A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system with at least two processing units |
CNA2005800364793A CN101120320A (en) | 2004-10-25 | 2005-10-25 | Device and method for mode switching in a computer system comprising at least two execution units |
DE502005006899T DE502005006899D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SEPARATING THE PROCESSING OF PROGRAMMODE IN A COMPUTER SYSTEM WITH AT LEAST TWO EXECUTION UNITS |
DE502005005284T DE502005005284D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SYNCHRONIZING IN A MULTIPROCESSOR SYSTEM |
EP05801268A EP1807761A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for distributing data from at least one data source in a multiprocessor system |
CNA200580036412XA CN101048743A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching over in a computer system having at least two execution units |
PCT/EP2005/055511 WO2006045784A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
JP2007537305A JP2008518312A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for delaying access to data and / or instructions in a multiprocessor system |
EP05826785.7A EP1820093B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for switching in a computer system comprising at least two execution units |
JP2007537299A JP2008518307A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching in a computer system having at least two processing units |
CNB2005800365781A CN100520731C (en) | 2004-10-25 | 2005-10-25 | Method and device for changing mode and comparing signal in a computer system having at least two processing units |
EP05801543A EP1807763B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for monitoring a memory unit in a multi-processor system |
CN200580036538.7A CN101048754A (en) | 2004-10-25 | 2005-10-25 | Method and device for distributing data from at least data source in multiprocessor system |
PCT/EP2005/055504 WO2006045778A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for evaluating a signal of a computer system comprising at least two execution units |
RU2007119318/09A RU2007119318A (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SEPARATING PROGRAM CODE EXECUTION IN A COMPUTER SYSTEM AT LEAST WITH TWO EXECUTIVE UNITS |
AT05804490T ATE420403T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM WITH AT LEAST TWO PROCESSING UNITS |
PCT/EP2005/055503 WO2006045777A1 (en) | 2004-10-25 | 2005-10-25 | Device and method for mode switching in a computer system comprising at least two execution units |
PCT/EP2005/055499 WO2006045774A1 (en) | 2004-10-25 | 2005-10-25 | Device and method for switching over in a computer system having at least two execution units |
EP05801271A EP1810149A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
KR1020077008952A KR101017444B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
JP2007537304A JP2008518311A (en) | 2004-10-25 | 2005-10-25 | Clock switching method for switching clocks in a multiprocessor system, a unit for switching clocks, and a system having a unit for switching clocks |
AT05801574T ATE407401T1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR GENERATING A MODE SIGNAL IN A COMPUTER SYSTEM WITH MULTIPLE COMPONENTS |
PCT/EP2005/055502 WO2006045776A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for generating a mode signal in a computer system comprising a plurality of components |
JP2007537292A JP2008518300A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for dividing program code in a computer system having at least two execution units |
DE502005006442T DE502005006442D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM HAVING AT LEAST TWO PROCESSING UNITS |
JP2007537291A JP2008518299A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for evaluating signals of a computer system having at least two execution units |
CN200580036617.8A CN100555233C (en) | 2004-10-25 | 2005-10-25 | Be used for carrying out synchronous method and apparatus at multicomputer system |
PCT/EP2005/055500 WO2006045775A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for switching in a computer system comprising at least two execution units |
US11/666,260 US20090119540A1 (en) | 2004-10-25 | 2005-10-25 | Device and method for performing switchover operations in a computer system having at least two execution units |
EP05811008A EP1812861A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for delaying accesses to data and/or commands of a multiprocessor system |
EP05797084A EP1810145B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for synchronising in a multi-processor system |
JP2007537294A JP2008518302A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching operation mode of multiprocessor system by at least one signal generated externally |
JP2007537288A JP2008518296A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching in a computer system comprising at least two execution units |
PL05801572T PL1812856T3 (en) | 2004-10-25 | 2005-10-25 | Method and device for evaluating a signal of a computer system comprising at least two execution units |
EP05797174A EP1810148A1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
DE502005006441T DE502005006441D1 (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM HAVING AT LEAST TWO PROCESSING UNITS |
KR1020077009130A KR20070062574A (en) | 2004-10-25 | 2005-10-25 | Method and device for switching in a computer system comprising at least two execution units |
KR1020077008960A KR20070062568A (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system with at least two processing units |
RU2007119322/09A RU2007119322A (en) | 2004-10-25 | 2005-10-25 | METHOD AND DEVICE FOR SWITCHING IN A COMPUTER SYSTEM INCLUDING AT LEAST TWO PROCESSING UNITS |
EP05801485A EP1812855B1 (en) | 2004-10-25 | 2005-10-25 | Method and device for mode switching and signal comparison in a computer system comprising at least two processing units |
CNB2005800365264A CN100565466C (en) | 2004-10-25 | 2005-10-25 | In having the computer system of two processing units, carry out mode switch and signal method and apparatus relatively at least |
JP2007538398A JP5053854B2 (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for switching in a computer system having at least two implementation units |
PCT/EP2005/055495 WO2006045773A2 (en) | 2004-10-25 | 2005-10-25 | Device and method for switching between modes in a computer system having at least two execution units |
JP2007537290A JP2008518298A (en) | 2004-10-25 | 2005-10-25 | Method and apparatus for generating a signal in a computer system having a plurality of components |
DE502005005286T DE502005005286D1 (en) | 2004-10-25 | 2005-10-25 | DEVICE AND METHOD FOR MODULE SWITCHING ON A COMPUTER SYSTEM WITH AT LEAST TWO OUTPUT UNITS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004051952A DE102004051952A1 (en) | 2004-10-25 | 2004-10-25 | Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102004051952A1 true DE102004051952A1 (en) | 2006-04-27 |
Family
ID=36129010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004051952A Withdrawn DE102004051952A1 (en) | 2004-10-25 | 2004-10-25 | Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted |
Country Status (2)
Country | Link |
---|---|
CN (5) | CN100511167C (en) |
DE (1) | DE102004051952A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850944A (en) * | 2016-12-13 | 2017-06-13 | 北京元心科技有限公司 | Smart machine awakening method and device |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8090984B2 (en) * | 2008-12-10 | 2012-01-03 | Freescale Semiconductor, Inc. | Error detection and communication of an error location in multi-processor data processing system having processors operating in Lockstep |
JP5218585B2 (en) * | 2011-03-15 | 2013-06-26 | オムロン株式会社 | Control device and system program |
JP5796311B2 (en) * | 2011-03-15 | 2015-10-21 | オムロン株式会社 | Control device and system program |
US10353767B2 (en) * | 2017-09-14 | 2019-07-16 | Bae Systems Controls Inc. | Use of multicore processor to mitigate common mode computing faults |
CN110018907B (en) | 2019-01-16 | 2024-07-30 | 创新先进技术有限公司 | Method and device for improving CPU performance and electronic equipment |
US10872010B2 (en) * | 2019-03-25 | 2020-12-22 | Micron Technology, Inc. | Error identification in executed code |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1269827B (en) * | 1965-09-09 | 1968-06-06 | Siemens Ag | Method and additional device for the synchronization of data processing systems working in parallel |
-
2004
- 2004-10-25 DE DE102004051952A patent/DE102004051952A1/en not_active Withdrawn
-
2005
- 2005-10-25 CN CN200580036488.2A patent/CN100511167C/en not_active Expired - Fee Related
- 2005-10-25 CN CN200580036461.3A patent/CN100585567C/en not_active Expired - Fee Related
- 2005-10-25 CN CN200580036538.7A patent/CN101048754A/en active Pending
- 2005-10-25 CN CN200580036441.6A patent/CN101048745A/en active Pending
- 2005-10-25 CN CN200580036617.8A patent/CN100555233C/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850944A (en) * | 2016-12-13 | 2017-06-13 | 北京元心科技有限公司 | Smart machine awakening method and device |
Also Published As
Publication number | Publication date |
---|---|
CN100585567C (en) | 2010-01-27 |
CN101048754A (en) | 2007-10-03 |
CN101048749A (en) | 2007-10-03 |
CN100511167C (en) | 2009-07-08 |
CN100555233C (en) | 2009-10-28 |
CN101048761A (en) | 2007-10-03 |
CN101048747A (en) | 2007-10-03 |
CN101048745A (en) | 2007-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1810145B1 (en) | Method and device for synchronising in a multi-processor system | |
EP1917592B1 (en) | Computer system with at least two execution units and a comparison unit and method for controlling the same | |
DE102005055067A1 (en) | Device and method for correcting errors in a system having at least two execution units with registers | |
EP1955164A1 (en) | Program-controlled unit and method for the operation thereof | |
DE102004051952A1 (en) | Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted | |
EP1820093B1 (en) | Method and device for switching in a computer system comprising at least two execution units | |
WO2005045665A1 (en) | Method and device for operand processing in a processor unit | |
EP1618476A2 (en) | Program-controlled unit and method | |
EP1812856B1 (en) | Method and device for evaluating a signal of a computer system comprising at least two execution units | |
DE102004051937A1 (en) | Data distributing method for multiprocessor system, involves switching between operating modes e.g. safety and performance modes, of computer units, where data distribution and/or selection of data source is dependent upon one mode | |
EP2228723B1 (en) | Method for error treatment of a computer system | |
DE102004038590A1 (en) | Method for delaying access to data and / or commands of a dual-computer system and corresponding delay unit | |
DE102004038596A1 (en) | Procedure for error registration and corresponding register | |
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 | |
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 | |
DE102004051992A1 (en) | Access delay method for multiprocessor system involves clocking processors differently to enable both processors to access memory at different times | |
EP1915687A1 (en) | Method and device for control of a computer system with at least two execution units | |
EP1915674B1 (en) | Method and device for controlling a computer system comprising at least two execution units and at least two groups of internal states | |
DE102005037261A1 (en) | Mode signal generation for use in computer system involves producing mode signal indicating current operating mode of computer system and changes in mode signal in one of components of computer system | |
DE102005037212A1 (en) | Method for separating processing of program codes in computer system involves switching between first operating mode which corresponds to comparison mode and second operating mode which corresponds to performance mode | |
DE102005037229A1 (en) | Operating modes switching method for use in computer system, involves connecting execution units to bus in performance mode, and disconnecting one unit from bus by switch controlled by changeover switch, when switching between modes | |
DE102005037224A1 (en) | Device for switching in computer system has two execution units, means provided for recognizing desired switching between modes which control the changeover switch to switch from one operating mode to another | |
DE102005037220A1 (en) | Operating modes switching method for use in computer system, involves providing interruption controller and three memory regions, and carrying out access to regions such that one memory region is associated with two execution units | |
DE102005037225A1 (en) | Method for switching in computer system involves two execution units whereby in an undefined state computer system assumes second state which corresponds to performance mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |