[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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 PDF

Info

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
Application number
DE102004051952A
Other languages
German (de)
Inventor
Thomas Kottke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
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
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102004051952A priority Critical patent/DE102004051952A1/en
Priority to DE102005037242A priority patent/DE102005037242A1/en
Priority to DE102005037222A priority patent/DE102005037222A1/en
Priority to DE102005037223A priority patent/DE102005037223A1/en
Priority to DE102005037213A priority patent/DE102005037213A1/en
Priority to CNA2008101697667A priority patent/CN101393533A/en
Priority to PCT/EP2005/055519 priority patent/WO2006045790A1/en
Priority to EP05804493A priority patent/EP1812860B1/en
Priority to AT05808034T priority patent/ATE438138T1/en
Priority to US11/666,407 priority patent/US20080126718A1/en
Priority to KR1020077009145A priority patent/KR20070083760A/en
Priority to JP2007537295A priority patent/JP4669007B2/en
Priority to US11/666,184 priority patent/US8090983B2/en
Priority to PCT/EP2005/055542 priority patent/WO2006045804A1/en
Priority to EP05797173A priority patent/EP1810147A1/en
Priority to EP05797110A priority patent/EP1810146B1/en
Priority to KR1020077009253A priority patent/KR20070083772A/en
Priority to EP05801573A priority patent/EP1812857B1/en
Priority to PCT/EP2005/055537 priority patent/WO2006045800A1/en
Priority to US11/665,727 priority patent/US7856569B2/en
Priority to JP2007537301A priority patent/JP2008518308A/en
Priority to CNA2005800364863A priority patent/CN101048730A/en
Priority to JP2007538402A priority patent/JP2008518341A/en
Priority to PCT/EP2005/055512 priority patent/WO2006045785A1/en
Priority to AT05804493T priority patent/ATE421120T1/en
Priority to US11/666,325 priority patent/US20080270747A1/en
Priority to US11/666,403 priority patent/US20080263340A1/en
Priority to KR1020077008951A priority patent/KR20070062565A/en
Priority to KR1020077009251A priority patent/KR20070062579A/en
Priority to KR1020077009144A priority patent/KR20070083759A/en
Priority to EP05804490A priority patent/EP1812859B1/en
Priority to RU2007119317/09A priority patent/RU2007119317A/en
Priority to CN200580036461.3A priority patent/CN100585567C/en
Priority to AT05797084T priority patent/ATE407398T1/en
Priority to RU2007119316/09A priority patent/RU2007119316A/en
Priority to JP2007537298A priority patent/JP2008518306A/en
Priority to KR1020077009266A priority patent/KR20070083776A/en
Priority to JP2007537289A priority patent/JP2008518297A/en
Priority to DE502005007806T priority patent/DE502005007806D1/en
Priority to JP2007537302A priority patent/JP4532561B2/en
Priority to PCT/EP2005/055516 priority patent/WO2006045788A1/en
Priority to EP05801574A priority patent/EP1812858B1/en
Priority to EP05803464A priority patent/EP1807764A2/en
Priority to CN200580036441.6A priority patent/CN101048745A/en
Priority to EP05801572A priority patent/EP1812856B1/en
Priority to KR1020077009143A priority patent/KR101052994B1/en
Priority to DE502005006496T priority patent/DE502005006496D1/en
Priority to CN200580036488.2A priority patent/CN100511167C/en
Priority to KR1020077008954A priority patent/KR20070083732A/en
Priority to US11/666,396 priority patent/US20080320287A1/en
Priority to DE502005005285T priority patent/DE502005005285D1/en
Priority to EP05801427A priority patent/EP1807762A1/en
Priority to ES05801572T priority patent/ES2311238T3/en
Priority to KR1020077009250A priority patent/KR20070083771A/en
Priority to US11/666,175 priority patent/US20080270746A1/en
Priority to PCT/EP2005/055507 priority patent/WO2006045780A1/en
Priority to EP05811107A priority patent/EP1820102A2/en
Priority to PCT/EP2005/055514 priority patent/WO2006045786A1/en
Priority to US11/666,394 priority patent/US20080091927A1/en
Priority to KR1020077009126A priority patent/KR20070085278A/en
Priority to PCT/EP2005/055509 priority patent/WO2006045782A2/en
Priority to JP2007537297A priority patent/JP2008518305A/en
Priority to RU2007119321/09A priority patent/RU2007119321A/en
Priority to US11/666,183 priority patent/US7669079B2/en
Priority to PCT/EP2005/055508 priority patent/WO2006045781A2/en
Priority to KR1020077009252A priority patent/KR20070067168A/en
Priority to AT05801573T priority patent/ATE407400T1/en
Priority to PCT/EP2005/055539 priority patent/WO2006045802A2/en
Priority to KR1020077009142A priority patent/KR20070062576A/en
Priority to KR1020077009148A priority patent/KR20070062577A/en
Priority to DE502005005287T priority patent/DE502005005287D1/en
Priority to CNB2005800365777A priority patent/CN100483359C/en
Priority to KR1020077009128A priority patent/KR20070062573A/en
Priority to JP2007537293A priority patent/JP2008518301A/en
Priority to EP05801384A priority patent/EP1812854A1/en
Priority to US11/666,377 priority patent/US20080209170A1/en
Priority to US11/666,185 priority patent/US20080320340A1/en
Priority to EP05808034A priority patent/EP1817662B1/en
Priority to AT05797110T priority patent/ATE426204T1/en
Priority to US11/666,413 priority patent/US20090164826A1/en
Priority to CNA2005800365300A priority patent/CN101048752A/en
Priority to JP2007538399A priority patent/JP2008518339A/en
Priority to US11/666,409 priority patent/US20070255875A1/en
Priority to PCT/EP2005/055532 priority patent/WO2006045798A1/en
Priority to JP2007538400A priority patent/JP2008518340A/en
Priority to KR1020077009127A priority patent/KR100994039B1/en
Priority to CNA2005800365762A priority patent/CN101048757A/en
Priority to CNB2005800364219A priority patent/CN100538654C/en
Priority to AT05801572T priority patent/ATE407399T1/en
Priority to US11/666,182 priority patent/US20080313384A1/en
Priority to US11/666,383 priority patent/US20090044048A1/en
Priority to CNA2005800365495A priority patent/CN101048755A/en
Priority to JP2007537296A priority patent/JP2008518304A/en
Priority to KR1020077008953A priority patent/KR20070062567A/en
Priority to AT05801485T priority patent/ATE420402T1/en
Priority to DE502005005490T priority patent/DE502005005490D1/en
Priority to JP2007537303A priority patent/JP2008518310A/en
Priority to US11/666,405 priority patent/US7853819B2/en
Priority to AT05801543T priority patent/ATE409327T1/en
Priority to PCT/EP2005/055506 priority patent/WO2006045779A1/en
Priority to PCT/EP2005/055538 priority patent/WO2006045801A2/en
Priority to EP05801429A priority patent/EP1805618A2/en
Priority to US11/666,404 priority patent/US20080288758A1/en
Priority to US11/666,406 priority patent/US20080163035A1/en
Priority to PCT/EP2005/055517 priority patent/WO2006045789A1/en
Priority to CNA2005800364793A priority patent/CN101120320A/en
Priority to DE502005006899T priority patent/DE502005006899D1/en
Priority to DE502005005284T priority patent/DE502005005284D1/en
Priority to EP05801268A priority patent/EP1807761A1/en
Priority to CNA200580036412XA priority patent/CN101048743A/en
Priority to PCT/EP2005/055511 priority patent/WO2006045784A1/en
Priority to JP2007537305A priority patent/JP2008518312A/en
Priority to EP05826785.7A priority patent/EP1820093B1/en
Priority to JP2007537299A priority patent/JP2008518307A/en
Priority to CNB2005800365781A priority patent/CN100520731C/en
Priority to EP05801543A priority patent/EP1807763B1/en
Priority to CN200580036538.7A priority patent/CN101048754A/en
Priority to PCT/EP2005/055504 priority patent/WO2006045778A1/en
Priority to RU2007119318/09A priority patent/RU2007119318A/en
Priority to AT05804490T priority patent/ATE420403T1/en
Priority to PCT/EP2005/055503 priority patent/WO2006045777A1/en
Priority to PCT/EP2005/055499 priority patent/WO2006045774A1/en
Priority to EP05801271A priority patent/EP1810149A1/en
Priority to KR1020077008952A priority patent/KR101017444B1/en
Priority to JP2007537304A priority patent/JP2008518311A/en
Priority to AT05801574T priority patent/ATE407401T1/en
Priority to PCT/EP2005/055502 priority patent/WO2006045776A1/en
Priority to JP2007537292A priority patent/JP2008518300A/en
Priority to DE502005006442T priority patent/DE502005006442D1/en
Priority to JP2007537291A priority patent/JP2008518299A/en
Priority to CN200580036617.8A priority patent/CN100555233C/en
Priority to PCT/EP2005/055500 priority patent/WO2006045775A1/en
Priority to US11/666,260 priority patent/US20090119540A1/en
Priority to EP05811008A priority patent/EP1812861A1/en
Priority to EP05797084A priority patent/EP1810145B1/en
Priority to JP2007537294A priority patent/JP2008518302A/en
Priority to JP2007537288A priority patent/JP2008518296A/en
Priority to PL05801572T priority patent/PL1812856T3/en
Priority to EP05797174A priority patent/EP1810148A1/en
Priority to DE502005006441T priority patent/DE502005006441D1/en
Priority to KR1020077009130A priority patent/KR20070062574A/en
Priority to KR1020077008960A priority patent/KR20070062568A/en
Priority to RU2007119322/09A priority patent/RU2007119322A/en
Priority to EP05801485A priority patent/EP1812855B1/en
Priority to CNB2005800365264A priority patent/CN100565466C/en
Priority to JP2007538398A priority patent/JP5053854B2/en
Priority to PCT/EP2005/055495 priority patent/WO2006045773A2/en
Priority to JP2007537290A priority patent/JP2008518298A/en
Priority to DE502005005286T priority patent/DE502005005286D1/en
Publication of DE102004051952A1 publication Critical patent/DE102004051952A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/3802Instruction prefetching
    • 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
    • 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/3824Operand accessing
    • 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

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

A data allocation unit has at least one data source and at least two arithmetic logic units (ALUs). A mode switch switches between at least two operating modes. Data allocation is performed based on the operating mode.

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 1 näher erläutert:The clock skew is based on the 1 explained in more detail:

1 zeigt ein Zweirechnersystem mit einem ersten Rechner 100, insbesondere einem Masterrechner und einem zweiten Rechner 101, insbesondere einem Slave-Rechner. Das gesamte System wird dabei mit einem vorgebbaren Takt bzw. in vorgebbaren Taktzyklen (clock cycle) CLK betrieben. Über den Takteingang CLK1 des Rechners 100 sowie über den Takteingang CLK2 des Rechners 101 wird diesem der Takt zugeführt. Bei diesem Zweirechnersystem ist darüber hinaus beispielhaft ein spezielles Merkmal zur Fehlererkennung enthalten, in dem nämlich der erste Rechner 100 sowie der zweite Rechner 101 mit einem Zeitversatz, insbesondere einem vorgebbaren Zeitversatz bzw. einem vorgebbaren Taktversatz arbeiten. Dabei ist jede beliebige Zeit für einen Zeitversatz vorgebbar und auch jeder beliebige Takt bezüglich eines Versatzes der Taktzyklen. Dies kann ein ganzzahliger Versatz des Taktzyklus (clock cycle) sein, aber eben auch wie in diesem Beispiel dargestellt, beispielsweise ein Versatz von 1,5 Taktzyklen, wobei hier der erste Rechner 100 eben 1,5 Taktzyklen vor dem zweiten Rechner 101 arbeitet respektive betrieben wird. Durch diesen Versatz kann vermieden werden, dass Gleichtaktfehler, sogenannte common mode failures, die Rechner oder Prozessoren, also die Cores des Dual Cores Systems, gleichartig stören und damit unerkannt bleiben. D.h. solche Gleichtaktfehler betreffen durch den Versatz die Rechner zu unterschiedlichen Zeitpunkten im Programmablauf und bewirken demnach unterschiedliche Effekte bezüglich der beiden Rechner wodurch Fehler erkennbar werden. Gleichartige Fehlerwirkungen ohne Taktversatz wären u.U. in einem Vergleich nicht erkennbar, dies wird dadurch vermieden. Um diesen Versatz bezüglich der Zeit oder des Taktes, hier insbesondere 1,5 Taktzyklen im Zweirechnersystem zum implementieren sind die Versatzbausteine 112 bis 115 implementiert. 1 shows a dual-computer system with a first computer 100 , in particular a master computer and a second computer 101 , in particular a slave computer. The entire system is operated with a predeterminable clock or in predeterminable clock cycles (clock cycle) CLK. About the clock input CLK1 of the computer 100 as well as via the clock input CLK2 of the computer 101 this is the clock supplied. In this dual-computer system, moreover, by way of example, a special feature for error detection is included, in which the first computer 100 as well as the second computer 101 operate with a time offset, in particular a predetermined time offset or a predetermined clock offset. In this case, any time can be predetermined for a time offset and also any desired clock with respect to an offset of the clock cycles. This can be an integer offset of the clock cycle, but just as shown in this example, for example, an offset of 1.5 clock cycles, in which case the first computer 100 just 1.5 clock cycles before the second computer 101 works respectively is operated. By this offset can be avoided that common mode failures, the computers or processors, so the cores of the dual-core system, disturbing similar and thus remain unrecognized. That is to say, such common-mode errors relate to the computers at different times in the program sequence due to the offset, and thus cause different effects with respect to the two computers, as a result of which errors become recognizable. Similar error effects without clock skew could not be detected in a comparison, this is avoided. To implement this offset with respect to time or clock, in particular 1.5 clock cycles in the dual-processor system, the offset blocks 112 to 115 implemented.

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 100 direkt die Komponenten, insbesondere die externen Komponenten 103 und 104 anspricht, arbeitet der zweite Rechner 101 mit einer Verzögerung von genau 1,5 Taktzyklen dazu. Um in diesem Fall die gewünschte Eineinhalbzyklusverzögerung, also von 1,5 Taktzyklen zu erzeugen wird Rechner 101 mit der invertierten Clock, also dem invertierten Takt am Takteingang CLK2 gespeist. Dadurch müssen aber auch die vorgenannten Anschlüsse des Rechners also seine Daten bzw. Befehle über die Busse um die genannten Taktzyklen, also hier insbesondere 1,5 Taktzyklen verzögert werden, wozu eben wie gesagt die Versatz- oder Verzögerungsbausteine 112 bis 115 vorgesehen sind. Neben den beiden Rechnern oder Prozessoren 100 und 101 sind Komponenten 103 und 104 vorgesehen, die über Busse 116, bestehend aus den Busleitungen 116A und 116B und 116C sowie 117, bestehend aus den Busleitungen 117A und 117B mit den beiden Rechnern 100 und 101 in Verbindung stehen. 117 ist dabei ein Befehlsbus, bei welchem mit 117A ein Befehlsadressbus und mit 117B der Teil-Befehls(daten)bus bezeichnet ist. Der Adressbus 117A ist über einen Befehlsadressanschluss IA1 (Instruction Adress 1) mit Rechner 100 und über einen Befehlsadressanschluss IA2 (Instruction Adress 2) mit Rechner 101 verbunden. Die Befehle selbst werden über den Teil-Befehlsbus 117B übertragen, der über einen Befehlsanschluss I1 (Instruction 1) mit Rechner 100 und über einen Befehlsanschluss I2 (Instruction 2) mit Rechner 101 verbunden ist. In diesem Befehlsbus 117 bestehend aus 117A und 117B ist eine Komponente 103 z. B. ein Befehlsspeicher, insbesondere ein sicherer Befehlsspeicher oder dergleichen zwischengeschaltet. Auch diese Komponente, insbesondere als Befehlsspeicher wird in diesem Beispiel mit dem Takt CLK betrieben. Daneben ist mit 116 ein Datenbus dargestellt, welcher einen Datenadressbus oder eine Datenadressleitung 116A und einen Datenbus oder eine Datenleitung 116B enthält. Dabei ist 116A, also die Datenadressleitung, über einen Datenadressanschluss DA1 (Data Adress 1) mit dem Rechner 100 und über einen Datenadressanschluss DA2 (Data Adress 2) mit Rechner 101 verbunden. Ebenso ist der Datenbus oder die Datenleitung 116B über einen Datenanschluss DO1 (Data Out 1) und einen Datenanschluss DO2 (Data Out 2) mit Rechner 100 bzw. Rechner 101 verbunden. Weiterhin zu Datenbus 116 gehört die Datenbusleitung 116C, welche über einen Datenanschluss DI1 (Data In 1) und einen Datenanschluss DI2 (Data In 2) jeweils mit Rechner 100 bzw. Rechner 101 verbunden ist. In diesem Datenbus 116 bestehend aus den Leitungen 116A, 116B und 116C ist eine Komponente 104 zwischengeschaltet, beispielsweise ein Datenspeicher, insbesondere ein sicherer Datenspeicher o. ä. Auch diese Komponente 104 wird in diesem Beispiel mit dem Takt CLK versorgt.In order to detect the said common mode errors, this system is just designed, for example, to operate in a predetermined time offset or clock cycle offset, in particular here 1.5 clock cycles, ie during the one computer, z. Eg calculator 100 directly the components, in particular the external components 103 and 104 responds, works the second computer 101 with a delay of exactly 1.5 clock cycles. To generate in this case the desired one and a half cycle delay, ie of 1.5 clock cycles will be computer 101 with the inverted clock, so the inverted clock fed to the clock input CLK2. As a result, but also the aforementioned connections of the computer so its data or commands on the buses to the clock cycles mentioned, so here in particular 1.5 clock cycles are delayed, including just said as the offset or delay blocks 112 to 115 are provided. In addition to the two computers or processors 100 and 101 are components 103 and 104 provided by buses 116 , consisting of the bus lines 116A and 116B and 116C such as 117 , consisting of the bus lines 117A and 117B with the two computers 100 and 101 keep in touch. 117 is a command bus, with which 117A a command address bus and with 117B the sub-command (data) bus is designated. The address bus 117A is via a command address port IA1 (Instruction Address 1) with computer 100 and via a command address port IA2 (Instruction Address 2) with computer 101 connected. The commands themselves are over the sub-command bus 117B transmitted via a command I1 (Instruction 1) with computer 100 and via a command port I2 (Instruction 2) with computer 101 connected is. In this command bus 117 consisting of 117A and 117B is a component 103 z. B. an instruction memory, in particular a secure instruction memory or the like interposed. This component, in particular as a command memory is operated in this example with the clock CLK. Besides that is with 116 a data bus representing a data address bus or a data address line 116A and a data bus or a data line 116B contains. It is 116A , So the data address line, via a data address port DA1 (Data Address 1) with the computer 100 and via a data address connection DA2 (Data Address 2) with computer 101 connected. Likewise, the data bus or the data line 116B via a data port DO1 (Data Out 1) and a data port DO2 (Data Out 2) with computer 100 or computer 101 connected. Continue to data bus 116 belongs to the data bus 116C , Which via a data terminal DI1 (Data In 1) and a data terminal DI2 (Data In 2) each with computer 100 or computer 101 connected is. In this data bus 116 consisting of the lines 116A . 116B and 116C is a component 104 interposed, for example, a data memory, in particular a secure data storage o. Ä. Also this component 104 is supplied in this example with the clock CLK.

Dabei stehen die Komponenten 103 und 104 stellvertretend für beliebige Komponenten die über einen Datenbus und/oder Befehlsbus mit den Rechnern des Zweirechnersystems verbunden sind und entsprechend der Zugriffe über Daten und/oder Befehle des Zweirechnersystems bezüglich Schreiboperationen und/oder Leseoperationen fehlerhafte Daten und/oder Befehle erhalten oder abgeben können. Zur Fehlervermeidung sind zwar Fehlerkennungsgeneratoren 105, 106 und 107 vorgesehen welche eine Fehlerkennung erzeugen wie beispielsweise ein Parity-Bit oder auch einen anderen Fehlercode wie beispielsweise einen Error- Correction-Code, also ECC, o. ä.. Dazu vorgesehen sind dann auch die entsprechenden Fehlerkennungsprüfeinrichtungen oder Check-Einrichtungen 108 und 109 zur Überprüfung der jeweiligen Fehlerkennung also beispielsweise des Parity-Bit oder eines anderen Fehlercodes wie ECC.Here are the components 103 and 104 representative of any components which are connected via a data bus and / or command bus to the computers of the dual-computer system and corresponding to the accesses via data and / or commands of the dual-processor system with respect to write operations and / or read operations receive or give erroneous data and / or commands. To avoid errors are indeed error detection generators 105 . 106 and 107 provided which generate an error identifier such as a parity bit or other error code such as an error correction code, so ECC, o. Ä .. This is then also the corresponding Fehlerkennungsprüfeinrichtungen or check facilities 108 and 109 for checking the respective error identifier, for example the parity bit or another error code such as ECC.

Der Vergleich der Daten und/oder Befehle bezüglich der redundanten Ausführung im Zweirechnersystem erfolgt in den Vergleichern oder Komparatoren 110 und 111 wie in 1 dargestellt. Existiert nun aber ein Zeitversatz, insbesondere ein Takt- oder Taktzyklusversatz zwischen den Rechnern 100 und 101, entweder hervorgerufen durch ein nichtsynchrones Zweiprozessorsystem oder bei einem synchronen Zweiprozessorsystem durch Fehler in der Synchronisierung oder auch wie in diesem speziellen Beispiel durch einen zur Fehlererkennung gewünschten Zeit- bzw. Taktzyklusversatz, insbesondere hier von 1,5 Taktzyklen, so kann in diesem Zeit- oder Taktversatz ein Rechner hier insbesondere Rechner 100 fehlerhafte Daten und/oder Befehle in Komponenten, insbesondere externe Komponenten wie z. B. hier insbesondere die Speicher 103 oder 104, aber auch bezüglich anderen Teilnehmern oder Aktuatoren oder Sensoren schreiben oder lesen. So kann er auch in fehlerhafter Weise einen Schreibzugriff anstatt eines vorgesehenen Lesezugriffs durch diesen Taktversatz durchführen. Diese Szenarien führen selbstverständlich zu Fehlern im gesamten System, insbesondere ohne klare Anzeigemöglichkeit welche Daten und/oder Befehle gerade fehlerhaft geändert wurden, wodurch auch die Recovery-Problematik entsteht.The comparison of the data and / or commands relating to the redundant execution in the dual-computer system takes place in the comparators or comparators 110 and 111 as in 1 shown. But now exists a time offset, especially a clock or clock cycle offset between the computers 100 and 101 either caused by a non-synchronous Zweiprozessorsystem or in a synchronous Zweiprozessorsystem by errors in the synchronization or as in this particular example by a desired error detection time or clock cycle offset, in particular here of 1.5 clock cycles, so may in this time or Clock offset a computer here especially computers 100 erroneous data and / or commands in components, especially external components such. B. here in particular the memory 103 or 104 , but also with respect to other participants or actuators or sensors write or read. Thus, it may also erroneously perform a write access instead of a designated read access by this clock offset. Of course, these scenarios lead to errors in the entire system, in particular without clear display possibility which data and / or commands have just been changed incorrectly, which also causes the recovery problem.

Um diese Problematik zu lösen wird nun eine Verzögerungseinheit 102 wie dargestellt in die Leitungen des Datenbusses und/oder in den Befehlsbus geschaltet. Aus Gründen der Übersichtlichkeit ist nur die Einschaltung in den Datenbus dargestellt. Bezüglich des Befehlsbusses ist dies natürlich genauso möglich und denkbar. Diese Verzögerungseinheit 102 oder die Delay Unit verzögert die Zugriffe, hier insbesondere die Speicherzugriffe so, dass ein möglicher Zeit- oder Taktversatz kompensiert wird, insbesondere bei einer Fehlererkennung beispielsweise über die Komparatoren 110 und 111 z.B. mindestens solange, bis das Fehlersignal im Zweirechnersystem erzeugt ist, also die Fehlererkennung im Zweirechnersystem durchgeführt ist. Dabei können verschiedene Varianten implementiert sein:
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 102 as shown in the lines of the data bus and / or in the command bus switched. For reasons of clarity, only the activation in the data bus is shown. Of course, this is just as possible and imaginable with regard to the command bus. This delay unit 102 or the delay unit delays the accesses, here in particular the memory accesses, in such a way that a possible time or clock offset is compensated, in particular for an error detection, for example via the comparators 110 and 111 For example, at least until the error signal is generated in the dual-computer system, that is, the error detection is performed in the dual-computer system. Different variants can be implemented:
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 2 nun eine beispielhafte Implementierung bezüglich der Datenverteilungseinheit (DVE), die sich vorzugsweise aus einer Vorrichtung zur Detektierung des Umschaltwumsches (durch IIIOPDetect), der Mode-Switch-Einheit sowie dem Iram- und Dram-Control-Baustein zusammensetzt:
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 2 now an exemplary implementation with respect to the data distribution unit (DVE), which preferably consists of a device for detecting the switching load (by IIIOPDetect), the mode switch unit and the Iram and Dram Control module:
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.
There is a process for both processors to lock the memory. This process does not have to be implemented safely because in Lock mode faulty memory accesses are detected by the comparators and no safety-relevant applications are executed in split mode. Here it is checked if the processor wants to lock the memory for the other processor. This data memory is locked by accessing the memory address $ FBFF $ = 64511. This signal should be present for exactly one cycle, even if a waitcommand is present at the processor at the time of the call. The state machine for managing the data storage access consists of 2 main states:
  • - 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
The state in split mode is again divided into 7 states, which can resolve the access conflicts and lock the data memory for each other processor. At the same time request of the two processors in an access, the listed order is also the prioritization.
  • - 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)

Einheit 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 Einheit derart ausgestaltet ist, dass die Datenverteilung und/oder die Datenquelle abhängig von dem Betriebsmodus ist.Unit for data distribution from at least one Data source in a system with at least two processing units, wherein switching means are included by which between at least two operating modes of the system can be switched, the Unit is designed such that the data distribution and / or the data source depends from the operating mode. 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 abhängig von dem Betriebsmodus ist.Method for data distribution from at least one Data source in a system with at least two processing units, wherein switching means are included by which between at least two operating modes of the system can be switched, the Data distribution and / or a selection of a data source depending on is the operating mode. Einheit nach Anspruch 1, dadurch gekennzeichnet, dass der erste Betriebsmodus einem Sicherheitsmodus entspricht, bei dem die zwei Recheneinheiten gleiche Programme abarbeiten und Vergleichsmittel vorgesehen sind, welche die bei der Abarbeitung der gleichen Programme entstehenden Zustände auf Übereinstimmung vergleichenUnit according to claim 1, characterized in that that the first operating mode corresponds to a safety mode, in which the two arithmetic units execute the same programs and comparison means are provided, which in the execution of the same programs resulting states on agreement to compare System mit einer Einheit zur Datenverteilung nach Anspruch 1.System with a unit for data distribution according to Claim 1.
DE102004051952A 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 Withdrawn DE102004051952A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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