DE102011007467A1 - Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components - Google Patents

Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components Download PDF

Info

Publication number
DE102011007467A1
DE102011007467A1 DE201110007467 DE102011007467A DE102011007467A1 DE 102011007467 A1 DE102011007467 A1 DE 102011007467A1 DE 201110007467 DE201110007467 DE 201110007467 DE 102011007467 A DE102011007467 A DE 102011007467A DE 102011007467 A1 DE102011007467 A1 DE 102011007467A1
Authority
DE
Germany
Prior art keywords
processor structure
test
circuit according
main processor
checking
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
DE201110007467
Other languages
German (de)
Inventor
Kai Schade
Peter Zimmerschitt-Halbig
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.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
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 Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Priority to DE201110007467 priority Critical patent/DE102011007467A1/en
Publication of DE102011007467A1 publication Critical patent/DE102011007467A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

The circuitry has two kernel processors (1,2) which are assigned to a master processor structure (3). Another kernel processor (4) is assigned to an auxiliary processor structure (5). A tester connected to master processor structure, checks the proper functioning of auxiliary processor structure. The tester is arranged for performing time-integral checking of specific components of auxiliary processor structure. The time-integral checking is gradually expanded to other components of auxiliary processor structure. An independent claim is included for testing method of proper functioning of microprocessor circuitry.

Description

Die Erfindung betrifft eine mehrkernige integrierte Mikroprozessorschaltung gemäß Anspruch 1, ein Prüfverfahren gemäß Anspruch 17 sowie die Verwendung der Mikroprozessorschaltung gemäß Anspruch 20.The invention relates to a multi-core integrated microprocessor circuit according to claim 1, a test method according to claim 17 and the use of the microprocessor circuit according to claim 20.

Aus der DE 195 29 434 A1 ist ein Mikrocontroller für sicherheitskritische Anwendungen im Kraftfahrzeugbereich mit zwei Kernen bekannt, bei dem eine Absicherung im Sinne einer Fehlerüberwachung durch ständigen Vergleich der Eingänge, der der Befehle und der Rechenergebnisses bzw. der Ausgänge der beiden Kerne erfolgt, wobei die Kerne hierzu zur Laufzeit parallel immer das gleiche Programm abarbeiten und taktsynchron (Locksteg-Verfahren) betrieben werden. Die genutzte Peripherie (RAM, ROM, Flash-ROM, I/O etc.) ist nicht notwendigerweise vollredundant ausgeführt. Man spricht bei diesem an sich bekannten Sicherheitsprinzip häufig von „Kernredundanz”.From the DE 195 29 434 A1 a microcontroller for safety-critical applications in the automotive sector with two cores is known in which a hedge in the sense of error monitoring by constant comparison of the inputs, the commands and the result of the calculation or the outputs of the two cores, the cores always parallel to this at runtime execute the same program and operate in synchronism (Locksteg method). The used peripherals (RAM, ROM, flash ROM, I / O, etc.) are not necessarily fully redundant. One often speaks of this "safety principle known per se of" nuclear redundancy ".

Bekannt sind außerdem Mikroprozessorstrukturen mit Anordnungen aus Master- und Slave-Prozessor, bei denen eine Überwachung durch Überprüfung von Rechenergebnissen stattfindet. Allerdings ist für eine Überwachung des Hauptprozessors eine aufwändige wiederholte Kommunikation zwischen den Prozessoren mit Datenaustausch erforderlich.Also known are microprocessor structures with master and slave processor arrangements in which monitoring is performed by checking computational results. However, to monitor the main processor requires a lot of repetitive communication between the processors with data exchange.

Aus Gründen der Vorteile einer hohen Rechengeschwindigkeit, der Einfachheit in der Softwareentwicklung und der niedrigen Kosten bei hohen Stückzahlen, werden kernredundante Mikroprozessorsysteme im Bereich der Kraftfahrzeugbremsen heute vielfach eingesetzt. Kernredundante Mikroprozessorsysteme sind überwiegend so konzipiert, dass sie keine Notlauffähigkeit haben. Das heißt, im Falle eines Fehlers wird ein Zugriff auf die Peripherie unterbunden.Due to the advantages of high computing speed, simplicity in software development, and low cost high volume, core redundant microprocessor systems are widely used in automotive brakes today. Kernredundante microprocessor systems are predominantly designed so that they have no runflat capability. That is, in the event of an error access to the periphery is prevented.

Ein Nachteil des Prinzips der Kernredundanz ist, dass wenn es auf drei oder mehrkernige Mikroprozessorstrukturen übertragen wird, dieses bedingt, dass der überwachende Kern die gleiche Rechenleistung aufweist, wie der überwachte Kern. Dies führt prinzipiell zu noch nicht optimal kostenoptimierten Mikroprozessorsystemen.A disadvantage of the principle of kernel redundancy is that when it is transferred to three or more core microprocessor structures, it requires that the monitoring kernel have the same computing power as the monitored kernel. This leads in principle to not yet optimally cost-optimized microprocessor systems.

Die Aufgabe der vorliegenden Erfindung besteht nun darin, eine neuartige, mindestens zweikernige abgesicherte Mikroprozessorstruktur mit Überwachungsmitteln anzugeben, welche gegenüber bekannten Mikroprozessorstrukturen kostenoptimiert ist.The object of the present invention is now to provide a novel, at least dinuclear secured microprocessor structure with monitoring means, which is cost-optimized over known microprocessor structures.

Diese Aufgabe wird erfindungsgemäß gelöst durch die mehrkernige integrierte Mikroprozessorschaltung gemäß Anspruch 1.This object is achieved by the multi-core integrated microprocessor circuit according to claim 1.

Die mehrkernige integrierte Mikroprozessorschaltung gemäß der Erfindung umfasst mindestens zwei Prozessorkerne, die einer Hauptprozessorstruktur zugeordnet sind, und zusätzlich eine Nebenprozessorstruktur, der ein oder mehrere Prozessorkerne zugeordnet sind. Die Mikroprozessorschaltung umfasst, vorzugsweise zusätzlich zu einer in der Hauptprozessorstruktur vorhandenen Prüfueinrichtung, eine erste Prüfeinrichtung, mit der die Hauptprozessorstruktur die richtige Funktion der Nebenprozessorstruktur überprüfen kann. Diese erste Prüfeinrichtung ist als zusätliches Element zur in der Hauptprozessorstruktur bereits vorhandenen Prüflogik zu sehen. Die zusätzliche Prüfeinrichtung führt eine Überprüfung der Nebenprozessorstruktur zeitintegral durch, in dem zunächst eine Prüfung von nur Teilen oder Bereichen der Nebenprozessorstruktur erfolgt und die Prüfung danach schrittweise auf weitere Teile oder Bereiche der Nebenprozessorstruktur ausgedehnt wird.The multi-core microprocessor integrated circuit according to the invention comprises at least two processor cores associated with a main processor structure and additionally a slave processor structure associated with one or more processor cores. The microprocessor circuit comprises, preferably in addition to an existing in the main processor structure Prüfueinrichtung, a first test device with which the main processor structure can check the correct function of the secondary processor structure. This first test device is to be seen as an additional element to the test logic already present in the main processor structure. The additional checking device carries out a check of the secondary processor structure in a time-integral manner, in which at first a check of only parts or areas of the secondary processor structure takes place and the check is subsequently extended stepwise to further parts or areas of the secondary processor structure.

Die Hauptprozessorstruktur, welche bevorzugt kernredundant aufgebaut ist, und die Nebenprozessorstruktur können über Bussysteme miteinander Daten austauschen sowie auf gemeinsam genutzte Peripherie (I/O, Speicher etc.) und/oder eigens den Strukturen zugeordnete exklusive Peripherie zugreifen. Die Kerne der Hauptprozessorstruktur arbeiten vorzugsweise taktsynchron ein identisches Programm ab.The main processor structure, which preferably has a core-redundant structure, and the secondary processor structure can exchange data with one another via bus systems and access shared peripherals (I / O, memory, etc.) and / or exclusive peripherals assigned specifically to the structures. The cores of the main processor structure preferably operate an isochronous identical program.

Vorzugsweise weist für die Fehlerprüfung die erste Prüfeinrichtung einen Interrupteingang zur interruptgesteuerten Prüfung auf oder die Prüfeinrichtung wird durch einen Interrupt oder eine vergleichbare Softwareroutine aufgerufen. Dabei kann der Interrupt selbst die Fehlerprüfung direkt aufrufen oder auch nur indirekt, in dem zunächst eine Softwareroutine aufgerufen wird, welche dann die Fehlerprüfung triggert. Erfolgt ein Interrupt oder ein entsprechender Aufruf, wird insbesondere eine weitere Teileinheit der zu überprüfenden Einheit überprüft. Unter dem Begriff Teileinheit wird dabei nicht nur ein Teil des Speichers oder der Mikroprozessorstruktur verstanden, sondern auch ein Teil des Befehlssatz des oder der Kerns/Kerne der geprüften Schaltung, welcher zweckmäßigerweise bei der Überprüfung ebenfalls geprüft wird. Durch diese schrittweise Überprüfung wird der Umfang der Prüfung der Nebenprozessorstruktur immer weiter ausgedehnt. Ist die Nebenprozessorstruktur vollständig überprüft, beginnt das Prüfverfahren wieder neu. Diese Art der Überprüfung kann als kontinuierliche, zeitintegrale Überprüfung bezeichnet werden. Im Vergleich zu überwiegend in Hardware implementierten Überprüfungsverfahren nimmt die kontinuierliche, zeitintegrale Überprüfung mehr Zeit in Anspruch. Dieser Nachteil kann jedoch für viele Anwendungsfälle, bei denen eine schnelle Fehlerentdeckung keine besonders große Rolle spielt (nicht sicherheitskritische Software, wie zum Beispiel Komfortfunktionen für Kraftfahrzeuge), noch in Kauf genommen. werden. In diesem Fall überwiegt der einfache Hardwareaufbau bzw. der Vorteil, die kontinuierliche, zeitintegrale Überprüfung besonders bevorzugt sogar ganz als Prüfprogramm durchzuführen.For error checking, the first checking device preferably has an interrupt input for interrupt-controlled checking, or the checking device is called by an interrupt or a comparable software routine. The interrupt itself can directly call the error check or even indirectly, in which a software routine is first called, which then triggers the error check. If an interrupt or a corresponding call is made, in particular a further subunit of the unit to be checked is checked. The term subunit here is understood to mean not only a part of the memory or the microprocessor structure, but also a part of the instruction set of the core (s) of the tested circuit, which is expediently also checked during the check. This step-by-step verification extends the scope of the subprocessor structure check. If the slave processor structure is completely checked, the test procedure starts again. This type of verification can be called a continuous, time-integral review. In comparison to checking procedures implemented predominantly in hardware, the continuous, time-integral checking takes place take more time. However, this disadvantage can still be accepted for many applications in which rapid fault detection is not particularly important (non-safety-critical software such as comfort functions for motor vehicles). become. In this case, the simple hardware structure or the advantage of carrying out the continuous, time-integral checking especially preferably even entirely as a test program predominates.

Neben der ersten Prüfeinrichtung, deren Überprüfungsprinzip auch als symmetrische Überprüfung aufgefasst werden kann, erfolgt die an sich bekannte Überprüfung der Hauptprozessorstruktur durch Vergleich der darin verarbeiteten Daten, Ein-Ausgabe-Operationen einschließlich der Prüfdaten und Befehle. Über diese beiden Prüfeinrichtungen hinaus umfasst die Mikroprozessorschaltung vorzugsweise noch eine weitere Prüfeinrichtung, die beispielsweise durch Buskomparatoren realsisiert ist. Diese weitere Prüfeinrichtung ermöglicht eine Prüfung der Zugriffe von den Prozessorkernen auf den Speicher und die Ein-/Ausgabe, welche besonders bevorzugt sämtliche redundant erfolgen, also auch die Zugriffe des in einem Ausführungsbeispiel nicht redundanten Kerns der Nebenprozessorschaltung, was zum Beispiel durch Nutzung von Bus-Multiplexern möglich wird.In addition to the first test device, whose verification principle can also be understood as a symmetrical check, the per se known check of the main processor structure by comparing the data processed therein, input-output operations including the test data and commands. In addition to these two test devices, the microprocessor circuit preferably also comprises a further test device which is realized, for example, by bus comparators. This further test device makes it possible to check the accesses from the processor cores to the memory and the input / output, which are particularly preferably all redundant, that is also the accesses of the non-redundant core of the sub-processor circuit in one embodiment, which can be achieved, for example, by using bus Multiplexing is possible.

Die erfindungsgemäße Schaltung ist vorzugweise so ausgelegt, dass die Nebenprozessorstruktur nicht auf den Speicher, der der Hauptprozessorstruktur zugeordnet ist, zugreifen kann. Es ist allerdings zweckmäßig, dass die Nebenprozessorstruktur auf diesen Speicher zumindest lesend zugreifen kann. Hierdurch ist sichergestellt, dass fehlerhafte Programme, die von der Nebenprozessorstruktur abgearbeitet werden (z. B. nicht sicherheitskritische Software, wie Komfortfunktionen oder dergleichen), eine sicherheitskritische Software, wie z. B. einen Bremsregelungsalgorithmus, der von der Hauptprozessorstruktur abgearbeitet wird, nicht beeinträchtigen. Allerdings ist zweckmäßigerweise vorgesehen, dass Haupt- und Nebenprozessorstruktur zum Zwecke des Austauschs von Daten auf einen gemeinsamen Speicher oder Speicherbereich zugreifen können.The circuit according to the invention is preferably designed so that the secondary processor structure can not access the memory which is assigned to the main processor structure. However, it is expedient that the secondary processor structure can access this memory at least read. This ensures that faulty programs that are processed by the secondary processor structure (eg non-security-critical software, such as comfort functions or the like), a safety-critical software such. B. does not affect a brake control algorithm that is processed by the main processor structure. However, it is expediently provided that the main and secondary processor structure can access a common memory or memory area for the purpose of exchanging data.

Der Speicher, auf den die Hauptprozessorstruktur und zweckmäßigerweise auch die Nebenprozessorstruktur zugreifen kann, ist vorteilhafterweise als ein Speichermodul mit redundanter Struktur ausgeführt. Das Speichermodul ist besonders bevorzugt ein RAM, ein Flash-ROM Speicher oder eine andere Art von flüchtigem oder nichtflüchtigem überschreibbarem Speicher, wie z. B. nvRAM, Fram oder mRAMn.The memory, which can be accessed by the main processor structure and expediently also the secondary processor structure, is advantageously designed as a memory module with a redundant structure. The memory module is particularly preferably a RAM, a flash ROM memory or other type of volatile or non-volatile rewritable memory such. NvRAM, fram or mRAMn.

Nach einer weiteren bevorzugten Ausführungsform der Erfindung ist ein solches oder sind andere weitere zusätzliche vorzugsweise redundante Speichermodul/e direkt an die Hauptprozessorstruktur und/oder die Nebenprozessorstruktur angekoppelt (z. B. Tightly-Coupled Memory, TCM), welche zweckmäßigerweise durch die Struktur, an die sie angebunden sind, exklusiv genutzt werden. Durch die direkte Ankopplung von zusätzlichen Speichern oder Speichermodulen ist eine CPU-spezifische, exklusive Nutzung des zusätzlichen Speichers möglich, welche die Performance und/oder die Verfügbarkeit der erfindungsgemäßen Schaltung verbessert. Wenn man beispielsweise ein solches zusätzliches Speichermodul an die Hauptprozessorstruktur anschließt, so wird ermöglicht, dass die Nebenprozessorstruktur simultan und synchron unter Nutzung von Bus-Multiplexern auf die Speichermodule der Hauptprozessorstruktut zugreifen kann, wodurch diese nicht für andere Zugriffe auf die zusätzlichen, exdklusiven Speichermodule blockiert werden. Auch kann im Falle eines detektierten Defekts der zusätzlichen RAM-Module die Hauptprozessorstruktur weiterarbeiten bzw. teilweise weiterarbeiten, da die zusätzlichen RAM-Module physikalisch getrennt vom defekten RAM sind und nicht notwendigerweise ebenfalls Defekt sein müssen, wenn die nicht zusätzlichen und nicht exklusiven RAM-Module der Hauptprozessorstruktur einen Fehler aufweisen.According to a further preferred embodiment of the invention, such or other further additional preferably redundant memory module (s) is directly coupled to the main processor structure and / or the secondary processor structure (eg Tightly-Coupled Memory, TCM), which is expediently due to the structure which they are connected, are used exclusively. The direct coupling of additional memory or memory modules, a CPU-specific, exclusive use of the additional memory is possible, which improves the performance and / or availability of the circuit according to the invention. For example, by attaching such an additional memory module to the main processor structure allows the slave processor structure to simultaneously and synchronously access the memory modules of the main processor structure using bus multiplexers, thereby preventing them from being blocked for other accesses to the additional exclusive memory modules , Also, in the event of a detected failure of the additional RAM modules, the main processor structure may continue to operate partly because the additional RAM modules are physically separate from the defective RAM and need not necessarily be defective as well when the non-exclusive and non-exclusive RAM modules the main processor structure have an error.

Nach einer weiteren bevorzugten Ausführungsform der Erfindung kann die Hauptprozessorstruktur ähnlich der Nebenprozessorstruktur einen dritten oder sogar weiteren, nicht redundanten Prozessorkern umfassen. Es ist auch möglich, dass die Nebenprozessorstruktur einen oder mehrere weitere nicht redundante Kerne umfasst. Auch dieser bzw. diese nicht redundanten Kerne kann/können dann von der Hauptprozessorstruktur oder der Nebenprozessorstruktur nach der Methode der zeitintegralen Überprüfung überwacht werden. Wenn die Nebenprozessorstruktur mehrkernig ausgeführt ist, wird bevorzugt dabei zwischen den Kernen der Nebenprozessorstruktur eine bidirektionale oder gegenseitige zeitintegrale Überprüfung durchgeführt, welche bereits bei einseitig festgestellten Fehlern zur Abschaltung oder stufenweise Degradation des Systems führt.According to another preferred embodiment of the invention, the main processor structure may comprise a third or even further non-redundant processor core, similar to the sub-processor structure. It is also possible that the secondary processor structure comprises one or more further non-redundant cores. This or these non-redundant cores can also be monitored by the main processor structure or the secondary processor structure according to the time-integral verification method. If the secondary processor structure is designed to be multi-core, a bi-directional or mutual time-integral check is preferably carried out between the cores of the secondary processor structure, which already leads to shutdown or stepwise degradation of the system in the case of unilaterally detected errors.

Die Erfindung bezieht sich auch auf ein Prüfverfahren, bei dem eine Prüfung der richtigen Funktion einer Schaltung, inbesondere eines Mikroprozessors oder eines Mikroprozessorsystems durchgeführt wird, wobei eine zeitintegrale Prüfung erfolgt, in dem bei einem ersten Interrupt oder Prüfschritt (z. B. ein Software-Ereignis) ein bestimmter Teil oder Bereich der Schaltung geprüft wird und bei einem darauffolgenden Interrupt ein weiterer, noch nicht geprüfter Teil oder Bereich der zu überprüfenden Schaltung geprüft wird.The invention also relates to a test method in which a test of the correct function of a circuit, in particular a microprocessor or a microprocessor system, is carried out, wherein a time-integral test is carried out in which at a first interrupt or test step (eg a software interruption). Event) a certain part or area of the circuit is checked and in a subsequent interrupt another, not yet tested part or area of the circuit to be checked is checked.

Bei dem Prüfverfahren wird vorzugsweise von der Hauptprozessorstruktur eine Prüfanweisung oder ein Prüfbefehl zur Kennzeichnung des zu prüfenden Teils oder Bereichs an die Nebenprozessorstruktur gesendet (vorzugsweise unter Nutzung des gemeinsamen Speichers 6 in 2). Diese prüft dann nach Maßgabe der Prüfanweisung oder des Prüfbefehls sich selbst und übermittelt das Prüfergebnis an die Hauptprozessorstruktur zurück (beispielsweise durch Hinterlegen im gemeinsamen Speicher 6). Die Hauptprozessorstruktur kann dann den Prüfbefehl oder die Prüfanweisung nachbilden und das selbst errechnete Ergebnis mit dem Ergebnis der Nebenprozessorstruktur vergleichen und bei Nichtübereinstimmung ein Fehlersignal generieren bzw. auf andere Weise geeignet zur Behandlung des Fehlers reagieren. In the test method, a test instruction or a test instruction for identifying the part or area to be tested is preferably sent from the main processor structure to the secondary processor structure (preferably using the shared memory 6 in 2 ). This then checks itself in accordance with the test instruction or the test command and transmits the test result back to the main processor structure (for example, by storing in the shared memory 6 ). The main processor structure may then emulate the test command or test instruction and compare the self-calculated result with the result of the sub-processor structure and, if not matched, generate an error signal or otherwise respond appropriately to the error.

Eine geeignete Fehlerbehandlung besteht neben einer Meldung des Fehlers zweckmäßigerweise darin, dass das Mikroprozessorsystem entweder in einen Notlaufbetrieb geschaltet wird (es werden einzelne Funktionen oder die gesamte Funktion mit eingeschränkter Sicherheit aufrechterhalten) oder das Mikroprozessorsystem wird von der Peripherie getrennt oder abgeschaltet.Appropriate error handling, in addition to reporting the failure, is conveniently either to place the microprocessor system in runflat mode (individual functions or the entire function are maintained with limited security), or the microprocessor system is disconnected or powered off from the peripherals.

Vorzugsweise wird in der Nebenprozessorstruktur zur Durchführung der zeitintegralen Überprüfung ein parametrisierter Algorithmus ausgeführt. Die Parameter für die Parametrierung des parametrisierten Algorithmus sind zweckmäßigerweise im gemeinsam genutzten Speicher hinterlegt. Der parametrisierte Algorithmus ist bevorzugt in einem Festwertspeicher (ROM oder Flash-ROM) als Programm abgelegt, auf den die Nebenprozessorstruktur lesend zugreifen kann. Für die Durchführung der zeitintegralen Überprüfung wird bevorzugt von der Hauptprozessorstruktur von Prüfschritt zu Prüfschritt bevorzugt eine Änderung der Parameter im einem flüchtigen, gemeinsam genutzen Speicher vorgenommen, so dass der Prüfbereich nach und nach vergrößert wird (zeitintegrale Überprüfung).Preferably, a parameterized algorithm is executed in the secondary processor structure for carrying out the time-integral checking. The parameters for the parameterization of the parameterized algorithm are expediently stored in the shared memory. The parameterized algorithm is preferably stored in a read-only memory (ROM or Flash-ROM) as a program, to which the secondary processor structure can read. To carry out the time-integral checking, it is preferred for the main processor structure to carry out a change in the parameters in a volatile shared memory so that the test range is gradually increased (time-integral checking).

Weitere bevorzugte Ausführungsformen ergeben sich aus den Unteransprüchen und der nachfolgenden Beschreibung eines Ausführungsbeispiels an Hand von Figuren.Further preferred embodiments will become apparent from the subclaims and the following description of an embodiment with reference to figures.

Es zeigenShow it

1 eine Mikroprozessorschaltung gemäß der Erfindung und 1 a microprocessor circuit according to the invention and

2 eine Darstellung der Funktionsweise der erfindungsgemäßen Prüfeinrichtung. 2 a representation of the operation of the test device according to the invention.

Die Mikroprozessorschaltung in 1 besteht aus einer Hauptprozessorstruktur 3 und einer Nebenprozessorstruktur 5.The microprocessor circuit in 1 consists of a main processor structure 3 and a sub-processor structure 5 ,

Die Hauptprozessorstruktur 3 umfasst im Beispiel zwei redundante, eigensichere Kerne 1 und 2. Desweiteren umfasst die Hauptstruktur neben RAM-Speichern 11, 12, in denen die von den Kernen 1 und 2 außerhalb des Prozessors verarbeiteten Speicherdaten redundant gespeichert sind, einen durch beide Kerne gemeinsam genutzten, vorzugsweise redundanten Flash-ROM Speicher 7. Die in Speicher 7 gespeicherten Daten können zweckmäßigerweise mittels Prüfdaten abgesichert sein (z. B. Checksum und/oder CRC-Daten). Die Prüfdaten sind dann entweder in Speicher 7 selbst und/oder in einem separaten weiteren Speichers 13 abgelegt. Die Hauptprozessorstruktur 3 ist demzufolge nach dem Prinzip der Kernredundanz abgesichert.The main processor structure 3 In the example, this includes two redundant, intrinsically safe cores 1 and 2 , Furthermore, the main structure includes RAM memory 11 . 12 in which of the nuclei 1 and 2 Memory data processed outside the processor are redundantly stored, a shared by both cores, preferably redundant flash ROM memory 7 , The in store 7 stored data can be suitably secured by means of test data (eg checksum and / or CRC data). The test data is then either in memory 7 itself and / or in a separate additional memory 13 stored. The main processor structure 3 is therefore hedged according to the principle of nuclear redundancy.

Die Nebenprozessorstruktur 5 umfasst im einfachsten Fall nur einen Kern 4, kann aber prinzipiell wie die Hauptprozessorstruktur mehrkernig aufgebaut sein. Die Nebenprozessorstruktur 5 kann prinzipiell auch eigene Speicher und Hardware-Module umfassen, zum Beispiel in Form der weiter oben beschriebenen exklusiven RAM-Module, welche in 1 nicht dargestellt sind.The secondary processor structure 5 In the simplest case, it covers only one core 4 , but in principle, like the main processor structure can be constructed multi-core. The secondary processor structure 5 may in principle also include own memory and hardware modules, for example in the form of the exclusive RAM modules described above, which in 1 are not shown.

Soll nun in der beispielhaft dargestellten Anordnung aus drei Kernen 1, 2 und 4, von denen zwei Kerne 1 und 2 redundant und ein Kern B ergänzend als Co-Prozessor läuft, in die Lage versetzt werden, auf allen Kernen Software auszuführen, für die eine sichere Funktion in einem vorgegebenen Umfang garantiert werden kann, so muss ein Mechanismus gefunden werden, auch den oder die Kerne der Nebenprozessorstruktur 5 abzusichern.Should now be in the arrangement shown by way of example of three cores 1 . 2 and 4 of which two cores 1 and 2 redundant and a core B additionally running as a co-processor, be able to execute on all cores software for which a secure function can be guaranteed to a certain extent, so a mechanism must be found, including the core (s) In addition to processor structure 5 secure.

Da die Überprüfung durch das Kernredundanzprinzip, wie sie bei der Hauptprozessorstruktur durchgeführt wird, in Bezug auf die Nebenprozessorstruktur nicht übertragbar ist, wird ein alternatives (erstes) Prüfverfahren angewendet, welches eine ausgedehnte und andauernde Überprüfung der Nebenprozessorstruktur zur Laufzeit ermöglicht.Since the kernel redundancy check, as performed on the main processor fabric, is not transferable with respect to the slave processor structure, an alternative (first) check method is used which allows for extended and ongoing checking of the slave processor structure at runtime.

Die Erfindung sieht vor, einen Mehrkernprozessor unter verschiedenen Kombinationen von Kernredundanz (Absicherung) und/oder Parallelprozessierung (Mehrleistung) so zu gestalten, dass durch einen gezielten Überwachungsalgorithmus, welcher verteilt ausgeführt wird, unter Einbeziehung verschiedener Chip-Resourcen wie Flash, RAM, etc. auch sicherheitsgerichtete Software auf nicht-redundanten Kernen ausgeführt werden kann.The invention provides for designing a multicore processor under various combinations of core redundancy (protection) and / or parallel processing (additional power) such that a targeted monitoring algorithm, which is carried out in a distributed fashion, incorporates various chip resources, such as flash, RAM, etc. Safety-related software can also be executed on non-redundant cores.

Bevorzugt umfasst die Nebenprozessorstruktur 5 im wesentlichen nicht sicherheitskritische Programme oder arbeitet diese ab. Dabei handelt es sich beispielsweise um Softwareprogramme für Kraftfahrzeugkomfortfunktionen. Die Hauptprozessorstruktur 3 umfasst vorzugsweise im wesentlichen sicherheitskritische Programme bzw. arbeitet diese ab, wie beispielsweise Bremsenregelungsalgorithmen und/oder sicherheitskritische Fahrerassistenzsysteme, wie beispielsweise ACC.The sub-processor structure preferably comprises 5 essentially not safety-critical programs or works them off. These are, for example, software programs for vehicle comfort functions. The main processor structure 3 preferably comprises essentially safety-critical programs or works from these, such as brake control algorithms and / or safety-critical driver assistance systems, such as ACC.

Die Betriebssysteme der Hauptprozessorstruktur 3 und der Nebenprozessorstruktur 5 sind nach einer bevorzugten Ausführungsform grundsätzlich voneinander unabhängig und insbesondere sogar grundsätzlich verschieden voneinander, also auf unterschiedliche. Weise programmiert. Beispielsweise werden hierzu die Kerne 1 und 2 der Hauptstruktur 3 mit einem ersten Betriebssystem und Kern 4 der Nebenstruktur 5 mit dem unabhängigen Betriebssystem betrieben. Hierdurch wird das Auftreten von gleichartigen Fehlern, die von einer identischen Bearbeitung der gleichartigen Betriebssysteme herrühren könnten, nahezu vollständig ausgeschlossen. Es ist aber auch möglich, dass jeweils die gleichen Betriebssysteme für die Hauptprozessorstruktur und die Nebenprozessorstruktur vorgesehen sind. Dies ist insbesondere dann sinnvoll, wenn auch die Prozessorstrukturen gleich oder sehr ähnlich sind. Bevorzugt ist aber das Betriebssystem der Nebenprozessorstruktur deutlich weniger komplex, als das Betriebssystem der Hauptprozessorstruktur.The operating systems of the main processor structure 3 and the slave processor structure 5 According to a preferred embodiment, they are basically independent of one another and in particular even fundamentally different from one another, that is to say different ones. Programmed way. For example, this will be the cores 1 and 2 the main structure 3 with a first operating system and core 4 the secondary structure 5 operated with the independent operating system. This almost completely eliminates the occurrence of similar errors that might result from identical processing of the similar operating systems. But it is also possible that the same operating systems for the main processor structure and the secondary processor structure are provided in each case. This is particularly useful if the processor structures are the same or very similar. Preferably, however, the operating system of the secondary processor structure is significantly less complex than the operating system of the main processor structure.

Besonders bevorzugt handelt es sich bei den Betriebssystemen in der Hauptprozessorstruktur 3 und/oder der Nebenprozessorstruktur 5 um zeitscheibenbasierende Betriebssysteme. Auf diese Weise kann die Rechenleistung der Schaltung durch Synchronisation der Zeitscheiben der Betriebssysteme erhöht werden. Dadurch entsteht ein deterministisches Timing der Betriebssysteme relativ zueinander, welches sich minimieren lässt, und dadurch wiederum eine verminderte Zeitspanne zwischen der Instruktion des überwachten Kerns und der Erkennung eines latenten Fehlers ermöglicht.Most preferably, the operating systems are in the main processor structure 3 and / or the slave processor structure 5 about time-based operating systems. In this way, the processing power of the circuit can be increased by synchronizing the time slices of the operating systems. This creates a deterministic timing of the operating systems relative to each other that can be minimized, thereby allowing a reduced amount of time between the instruction of the monitored core and the detection of a latent error.

Die Hauptprozessorstruktur 3 überwacht mit einer Prüfeinrichtung zeitintegral einen oder mehrere zusätzlich vorhandene, nicht redundante Kerne, der Nebenprozessorstruktur 5, wobei diese Überwachung nach einer anderen Methode erfolgt, als die gegenseitige Überwachung in der Hauptstruktur. Diese hier zur Abgrenzung als ”zeitintegrale” Überwachung bezeichnete Überwachung der Nebenprozessorstruktur erfolgt in Form von einzelnen Prüfschritten, bei denen zunächst nur ein Teil der zu überprüfenden Struktur überprüft wird. Bevorzugt wird eine Überprüfung der Nebenprozessorstruktur vorgenommen, in dem zur Laufzeit wiederholt Rechen- und/oder Bit- und/oder Schreib- und/oder Leseoperationen durch den oder die Kerne der Nebenprozessorstruktur durchgeführt werden. Zweckmäßigerweise wird die zeitintegrale Überwachung so lange fortgesetzt, bis im wesentlichen eine vollständige Übeprüfung der Nebenprozessorstruktur oder aber eine vollständige Überwachung der prüfrelevanten Teile der Nebenprozessorstruktur erreicht wird.The main processor structure 3 monitors one or more additional, non-redundant cores, the secondary processor structure, with a checking device in a time-integral manner 5 This monitoring is done by a different method than the mutual monitoring in the main structure. This monitoring of the secondary processor structure, which is referred to here as "time-integral" monitoring for the purposes of differentiation, takes the form of individual test steps, in which initially only a part of the structure to be checked is checked. Preferably, a check is made of the secondary processor structure in which, at runtime, repeated arithmetic and / or bit and / or write and / or read operations are performed by the core or cores of the secondary processor structure. Expediently, the time-integral monitoring is continued until substantially complete checking of the secondary processor structure or complete monitoring of the check-relevant parts of the secondary processor structure is achieved.

Die von der Prüfeinrichtung durchgeführten Prüfschritte werden bevorzugt durch ein entsprechend ausgeführtes Programmmodul (siehe 2) ausgeführt, welches der oder die Kerne der Hauptprozessorstruktur gemeinsam mit dem oder den Kernen der Nebenprozessorstruktur ausführt. Es ist aber auch möglich, dass ein Teil der Prüfschritte oder auch alle Prüfschritte durch eine fest vorgebene Hardware-Struktur durchgeführt werden.The test steps carried out by the testing device are preferably carried out by a correspondingly executed program module (see 2 ) which executes the one or more cores of the main processor structure together with the core or cores of the sub-processor structure. But it is also possible that a part of the test steps or all test steps are performed by a fixed predetermined hardware structure.

Als Bestandteil der weiteren Prüfeinrichtung umfasst die Mikroprozessorschaltung Bus-Komparatoren K1, K2, K3, welche insbesondere so weit wie möglich räumlich verteilt auf dem Chip angeordnet sind. Mittels der Bus-Komparatoren K1 bis K3 kann je nach deren Verknüpfung überprüft werden, ob an den Bussträngen 8, 10; 15, 15' und 9, 14 unterschiedliche Signale anliegen, was als Fehler interpretiert wird (differentielle Fehlerprüfung). Beispielsweise dient Komparator K3 dazu, eine Nichtübereinstimmung der Bussignale (Daten, Prüfdaten und Befehle) der Busstränge 14 und 9 zu erkennen.As part of the further testing device, the microprocessor circuit comprises bus comparators K1, K2, K3, which are arranged in particular as far as possible spatially distributed on the chip. By means of the bus comparators K1 to K3 can be checked depending on their connection, whether at the bus lines 8th . 10 ; 15 . 15 ' and 9 . 14 different signals are present, which is interpreted as an error (differential error checking). For example, comparator K3 serves to mismatch the bus signals (data, test data and instructions) of the bus lines 14 and 9 to recognize.

Eine Verbindung der Busstränge untereinander wird durch zwei in der Mikroprozessorschaltung vorgesehene Bus-Multiplexer 16 und 17 erreicht. Hierdurch können Kerne der Hauptprozessorstruktur und Kerne der Nebenprozessorstruktur prinzipiell auf jede in der Mikroprozessorschaltung vorhandene Peripherie (Speicher, nicht dargestellte I/O-Bausteine etc.) zugreifen, sofern dieser Zugriff nicht hardwaretechnisch auf geeignete Weise eingeschränkt ist. Dieser Zugriff erfolgt – bis auf den Signalpfad zwischen Nebenprozessorstruktur und Bus-Multiplexer – bevorzugt immer redundant.A connection of the bus strands with each other is provided by two provided in the microprocessor circuit bus multiplexer 16 and 17 reached. As a result, cores of the main processor structure and cores of the secondary processor structure in principle access to any existing in the microprocessor circuit peripherals (memory, I / O devices, not shown, etc.), unless this access is not limited by hardware technology in a suitable manner. This access takes place - except for the signal path between secondary processor structure and bus multiplexer - preferably always redundant.

Der Shared-Speicher 6 zum Austausch von Daten zwischen Nebenprozessorstrukur 5 und Hauptprozessorstruktur 3 kann auch als Externspeicher 21 außerhalb von der erfindungsgemäßen Mikroprozessorschaltung angeordnet sein (z. B. in Form einer Festplatte oder eines RAM-Speichers oder eines nvRAMs oder anderen externen Speichers). Zu dessen Anbindung an die erfindungsgemäße Mikroprozessorschaltung ist vorzugsweise eine externe, insbesondere redundant ausgeführte Bus-Schnittstelle 20 vorgesehen. Schnittstelle 20 kann beispielsweise als CAN-, LIN-, Flex-Ray(c)-, Most- oder Ethernet-Schnittstelle ausgeführt sein.The shared memory 6 for exchanging data between slave processor structure 5 and main processor structure 3 can also be used as external storage 21 be arranged outside of the microprocessor circuit according to the invention (eg in the form of a hard disk or a RAM memory or a nvRAM or other external memory). For its connection to the microprocessor circuit according to the invention is preferably an external, in particular redundant running bus interface 20 intended. interface 20 For example, it can be implemented as a CAN, LIN, Flex-Ray (c), must or Ethernet interface.

Die dargestellte Mikroprozessorstruktur kann auch so aufgebaut sein, dass die vorhandenen Busstränge für einzelne Teilaufgaben genutzt werden können, sofern diese verschiedenen Busstränge verschiedenen Zwecken, im Sinne von Funktionen, dienen und nicht lediglich aus Sicherheitsgründen redundant, im Sinne von mehrfach, vorhanden sind und daher an das Parallelverarbeitungsprinzip gebunden sind. Selbstverständlich kann dennoch in geeigneter Weise unabhängig voneinander z. B. ein IO-Zugriff und ein Zugriff auf einen Flash-Speicher parallel erfolgen, sowohl für funktionale, im Sinne von ansteuerndem Charakter, als auch diagnostischer, im Sinne von pfadüberprüfenden Zwecken.The microprocessor structure shown can also be constructed so that the existing bus strands can be used for individual subtasks, provided that these different bus strands serve different purposes, in terms of functions, and not only for security redundant, in the sense of multiple, are present and therefore the parallel processing principle are bound. Of course, nevertheless, in a suitable manner independently z. B. IO access and access to a flash memory in parallel, both for functional, in the sense of driving character, as well as diagnostic, in the sense of path-checking purposes.

In 2 wird nachfolgend die Funktion der Prüfeinrichtung, welche im Beispiel im wesentlichen als Software-Verfahren ausgeführt ist, beschrieben. Durch die Unterbringung der Kerne 1, 2 und 4 auf einem Siliziumträger ergeben sich neue Möglichkeiten der Anbindung und des Zugriffs auf einen gemeinsam genutzten Speicher 11, 12 oder einen entsprechenden Speicherbereich 6'.In 2 is the function of the test device, which is executed in the example essentially as a software method, described below. By housing the cores 1 . 2 and 4 On a silicon carrier there are new possibilities of connection and access to a shared memory 11 . 12 or a corresponding memory area 6 ' ,

Die beschriebene Hardware-Struktur bietet die Möglichkeit, von der Hauptprozessorstruktur 3 nur durch Veränderung von Parametern eine Steuerung eines mit diesen Parametern parametrisierten Algorithmus durchzuführen, welcher zur Überprüfung in der Nebenprozessorstruktur 5 abläuft. Auch werden die durch die Nebenprozessorstruktur vorzunehmenden Prüfaufgaben, bei denen sich die Nebenprozessorstruktur selbst überprüft, von der Hauptprozessorstruktur vorgegeben. Der Austausch von Informationen läuft dabei über einen gemeinsam genutzten, insbesondere gesonderten Speicherbereich 6 („Shared-Bereich”).The described hardware structure offers the possibility of the main processor structure 3 only by changing parameters, to carry out a control of an algorithm parameterized with these parameters, which is to be checked in the secondary processor structure 5 expires. Also, the check tasks to be performed by the slave processor structure in which the slave processor structure itself checks are predetermined by the main processor structure. The exchange of information runs through a shared, especially separate storage area 6 ( "Shared area").

Nach einer weiteren bevorzugten Ausführungsform der Erfindung hat nicht jede Prozessorstruktur 3 oder 5 bzw. jeder Kern der jeweiligen Struktur die gleichen Speicherzugriffsmöglichkeiten, sonder es erlaubt, dass Kerne 1 und 2 der Hauptprozessorstruktur 3 auf die in 2 mit „A” gekennzeichneten RAM-Speicherbereiche sowie auf den Shared-Bereich 6 lesend und schreibend zugreifen können. Der Zugriffsschutz ist vorzugsweise durch eine geeignete Hardware-Maßnahme (z. B. eine Adressbegrenzung) realisiert. Kern 4 der Nebenprozessorstruktur 5 nutzt den mit „B” gekennzeichneten Bereich des RAM-Speichers zum Lesen und Schreiben von Daten, wobei auch dieser den Shared-Bereich 6 zum Lesen und Schreiben nutzen darf. Die Möglichkeit des Lesens besteht normalerweise für alle Kerne bzw. beide Strukturen 3 und 5 ohne Einschränkungen, was jedoch nicht zwingend für die Erfindung ist. So kann es durchaus sinnvoll sein, einer Applikation für Komfort das Leserecht auf den Speicher einer sicherheitskritischen Applikation zu untersagen.According to another preferred embodiment of the invention, not every processor structure 3 or 5 or each core of the respective structure the same memory access options, but it allows cores 1 and 2 the main processor structure 3 on the in 2 with "A" marked RAM memory areas as well as on the shared area 6 can read and write. The access protection is preferably realized by a suitable hardware measure (eg an address limitation). core 4 the slave processor structure 5 uses the area of the RAM memory labeled "B" to read and write data, which also includes the shared area 6 to use for reading and writing. The possibility of reading normally exists for all cores or both structures 3 and 5 without restrictions, but this is not mandatory for the invention. For example, it may make sense to deny read access to the memory of a security-critical application to an application for convenience.

Bei der durch die Prüfeinrichtung durchgeführten Prüfung, welche im einfachsten Fall durch eine rein programmtechnische Maßnahme (Software-Algorithmus) oder ein entsprechendes Softwaremodul gebildet sein kann, schreibt zumindest einer der überwachenden Kerne 1, 2 der Hauptprozessorstruktur 3 in den gesondert definierten Speicherbereich 6, welcher vorzugsweise im herkömmlichen RAM-Speicher 11, 12 liegt, eine Anzahl von Prüfdaten und/oder Prüfergebnisse und/oder Prüfaufgaben, welche von zumindest einem des oder der überwachten Kerne der Nebenstruktur 5 empfangen bzw. verarbeitet werden. Die Prüfdaten und/oder Prüfergebnisse und/oder Prüfaufgaben werden zweckmäßigerweise in einem der Kerne oder dem Kern der überwachten Nebenstruktur 5 durchgeführt und vorteilhafterweise auch ausgewertet. Zweckmäßigerweise wird das Prüfergebnis, welches die Nebenstruktur 5 bei dieser vorgegebenen Selbstüberprüfung ermittelt, über den Shared-Bereich 6 wieder an die Hauptprozessorstruktur 3 zurückgemeldet bzw. von dieser verarbeitet.In the test carried out by the test device, which in the simplest case can be formed by a purely program-technical measure (software algorithm) or a corresponding software module, at least one of the monitoring cores writes 1 . 2 the main processor structure 3 in the separately defined memory area 6 which is preferably in the conventional RAM memory 11 . 12 a number of test data and / or test results and / or test tasks, which are provided by at least one of the monitored cores of the subsidiary structure 5 be received or processed. The test data and / or test results and / or test tasks are expediently located in one of the cores or the core of the supervised substructure 5 carried out and advantageously also evaluated. Conveniently, the test result, which is the secondary structure 5 determined at this predetermined self-checking, via the shared area 6 back to the main processor structure 3 reported back or processed by this.

An Stelle eines gesondert definierten Speicherbereichs 6 im herkömmlichen Speicher kann der gesonderte Speicherbereich 6 auch in Form eines insbesondere nur für diesen Zweck genutzten separaten Speichers (z. B. Shared-Memory) oder eines geeigneten Speichermoduls, das zusätzliche Hardware-Elemente umfassen kann, vorgesehen sein.Instead of a separately defined memory area 6 in the conventional memory, the separate memory area 6 also be provided in the form of a separate memory used in particular only for this purpose (eg, shared memory) or a suitable memory module, which may comprise additional hardware elements.

Das zur Prüfung verwendete Programm ist vorzugsweise im der Nebenprozessorstruktur 5 zugeordneten Speicherbereich B, z. B. im Flash-ROM 7 gespeichert. Der durch das Programm ausgeführte Prüfalgorithmus ist dabei vorzugsweise eineindeutig parametriert. Unter einer eineindeutigen Parametrisierung wird dabei verstanden, dass die Angabe von Quelle(n), Typ der Operation und Ziel(en) genau definiert ist.The program used for testing is preferably in the sub-processor structure 5 associated memory area B, z. In flash ROM 7 saved. The test algorithm executed by the program is preferably uniquely parameterized. A one-to-one parameterization is understood to mean that the specification of the source (s), type of operation and destination (s) is precisely defined.

Bei dem beispielgemäßen Prüfalgorithmus (zeitintegrale Prüfung) wird zunächst der überwachte Kern 4 instruiert, aus dem Flash-ROM 7 ein Datenwort zu lesen und dieses in ALU-Register 25 zu speichern. Dann wird gemäß dem Algorithmus von Kern 4 aus dem Shared-Bereich 6 ein weiteres Datenwort gelesen und in ALU-Register 28 gespeichert. Nachfolgend werden die Inhalte der Register 25 und 28 durch ALU 24 miteinander multipliziert. Das Ergebnis dieser Operation wird dann in ALU-Register 26 gespeichert. Danach wird der Wert des Registers 26 durch ALU 24 invertiert und das Ergebnis in ALU-Register 22 gespeichert. Danach wird der Inhalt von Register 22 um 3 Stellen nach links geschoben. Das so ermittelte Ergebnis wird im Shared-Bereich an einer bestimmten Adresse gespeichert. Selbstverständlich sind zum Zwecke der Prüfung auch andere Algorithmen möglich, wenn damit der Zweck erfüllt wird, die ordnungsgemäße Funktion der Recheneinheit und der Register zu überprüfen.In the example test algorithm (time-integral test), the monitored core is first 4 instructed, from the flash ROM 7 to read a data word and this in ALU register 25 save. Then according to the algorithm of Kern 4 from the shared area 6 read another data word and in ALU register 28 saved. Below are the contents of the registers 25 and 28 through ALU 24 multiplied by each other. The result of this operation is then in ALU register 26 saved. After that, the value of the register 26 through ALU 24 inverted and the result in ALU register 22 saved. After that, the contents of register 22 pushed 3 places to the left. The result thus obtained is stored in the shared area at a specific address. Of course, other algorithms are also possible for the purpose of testing, if it serves the purpose of verifying the proper functioning of the arithmetic unit and the registers.

Ein in Kern 4 enthaltener oder auftretender ”interner” Defekt würde dann durch ungültige zurückgelieferte Ergebniswerte offenkundig werden.One in core 4 The "contained" or "internal" defect would then be revealed by invalid returned values.

Vorzugsweise handelt es sich bei dem Algorithmus zur zeitintegralen Überprüfung um einen parametrisierbaren Algorithmus. Vorteilhafterweise ist damit eine Überprüfung besonders einfach durchführbar.Preferably, the time-integral checking algorithm is a parameterizable algorithm. Advantageously Thus a review is particularly easy to carry out.

Vorstehend genannter parametrierbarer Algorithmus kann beispielsweise aus einem maschinennahen Programmcode bestehen, welcher Anweisungen umfasst, die nach Maßgabe der Parameter an Hand verschiedener Entscheidungen intern verzweigen und dadurch die ausgewählten Passagen anspringen und ausführen.For example, the parametric algorithm mentioned above can consist of a machine-oriented program code which includes instructions which internally branch according to the parameters on the basis of various decisions and thereby start and execute the selected passages.

Für den Fall, dass der überwachende Kern vom selben oder im wesentlichen ähnlichen Typ wie der überwachte Kern ist, so kann nach einer bevorzugten Ausführungsform im überwachenden Kern ein Duplikat des parametrierbaren Algorithmusses des überwachten Kerns ausgeführt werden.In the event that the supervisory core is of the same or substantially similar type as the monitored core, then according to a preferred embodiment, a replica of the parameterizable algorithm of the monitored core may be executed in the supervisory core.

Da der überwachende Kern oder besser gesagt, die überwachende Hauptprozessorstruktur 3 sämtliche Möglichkeiten zum Ermitteln der bei einer Operation des überwachten Kerns genutzten Bestandteile der Operation, wie z. B. Quelle(n), Operation und Ziel(en) hat, sowie darüber hinaus auch auf alle diese Bestandteile selbst zugreifen kann und darauf basierend das erwartete Ergebnis des überwachten Kerns (bzw. der Nebenprozessorstruktur) selbst errechnen kann, kann das am Ziel nach Erledigung der Operation durch den überwachten Kern abgelieferte Ergebnis im Nachgang von der überwachenden Hauptprozessorstruktur 3 gegengeprüft werden, indem das von dieser errechnete Ergebnis mit dem Ergebnis der von der Nebenprozessorstruktur 5 durchgeführten Operation verglichen wird. Bei Nichtübereinstimmung des Ergebnisses liegt ein Fehler vor, welcher beispielsweise zu einer Abchaltung des Systems oder des in der Nebenprozessorstruktur augeführten Software-Prozesses führt.Because the monitoring core, or rather, the main monitoring processor structure 3 all possibilities for determining the components of the operation used in an operation of the monitored core, such. For example, if the source (s), operation, and target (s) have access to all of these components themselves, and based on this, the expected result of the monitored core (or sub-processor structure) itself can be calculated Execution of the operation by the supervised core delivered result subsequent to the supervising main processor structure 3 be checked by the result calculated by this with the result of the secondary processor structure 5 performed surgery. If the result does not match, there is an error resulting, for example, in a shutdown of the system or the software process indicated in the sub-processor structure.

Bestandteil der Überprüfung sind vorzugsweise Prüfschritte, bei denen sämtliche Ankopplungen des überwachten Kerns B an die Bus-Multiplexer, die interne (einfach ausgeführte) Struktur des überwachten Kerns B einschließlich Register-Set und Arithmetische Logik-Einheit 24 (ALU) sowie etwaiger weiterer Verbindungen zu sonstiger, in der Figur nicht explizit dargestellter Peripherie der Mikroprozessorstruktur durchgeführt werden.Part of the verification are preferably test steps in which all the connections of the monitored core B to the bus multiplexer, the internal (simply executed) structure of the monitored core B including register set and arithmetic logic unit 24 (ALU) and any other connections to other, not explicitly shown in the figure, the periphery of the microprocessor structure can be performed.

Bei der zeitintegralen Überprüfung werden vorzugsweise alle Operationen (Befehlssatz, wie z. B. Lesen, Schreiben, Rechenoperationen) der Nebenprozessorstruktur 5 gesprüft. Außerdem wird der Adressbereich und der zu prüfende Speicher variiert. Dazu wird der Adressbereichs zum Schreiben 18 oder zum Lesen 19 mittels Parametern variiert (Parametrierung), wobei die Parameter durch die Hauptprozessorstrukur 3 in Shared-Bereich 6 abgelegt werden. Um auch ausgedehnte Adressbereiche zu prüfen ist vorgesehen, dass die Fehlerüberprüfung zyklisch durchgeführt und schrittweise auf weitere Speicherbereich ausgedehnt wird. Nach Abschluss der zeitintegrale Überprüfung beginnt diese erneut.In the time integral check, all operations (instruction set, such as read, write, arithmetic operations) of the slave processor structure are preferably 5 gesprüft. In addition, the address range and the memory to be tested is varied. This is the address area for writing 18 or for reading 19 varied by parameters (parameterization), the parameters by the Hauptprozessorstrukur 3 in shared area 6 be filed. In order to check even extended address ranges, it is provided that the error check is carried out cyclically and extended step by step to further memory area. After completion of the time-integral check this starts again.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 19529434 A1 [0002] DE 19529434 A1 [0002]

Claims (20)

Mehrkernige integrierte Mikroprozessorschaltung mit mindestens zwei Prozessorkernen (1, 2), die einer Hauptprozessorstruktur (3) zugeordnet sind, wobei die Schaltung zusätzlich eine Nebenprozessorstruktur (5) umfasst, der ein oder mehrere Prozessorkerne (4) zugeordnet sind, dadurch gekennzeichnet, dass eine erste Prüfeinrichtung vorgesehen ist, mit der die Hauptprozessorstruktur (3) die richtige Funktion der Nebenprozessorstruktur (5) überprüfen kann, wobei die Prüfeinrichtung die Überprüfung zeitintegral durchführt, in dem zunächst eine Prüfung von nur Teilen oder Bereichen der Nebenprozessorstruktur erfolgt und die Prüfung danach schrittweise auf weitere Teile oder Bereiche der Nebenprozessorstruktur ausgedehnt wird.Multi-core integrated microprocessor circuit with at least two processor cores ( 1 . 2 ), which is a main processor structure ( 3 ), the circuit additionally having a secondary processor structure ( 5 ) containing one or more processor cores ( 4 ), characterized in that a first test device is provided, with which the main processor structure ( 3 ) the correct function of the secondary processor structure ( 5 ), wherein the checking device carries out the checking in a time-integral manner in which first of all a check of only parts or areas of the secondary processor structure takes place and the test is subsequently extended stepwise to further parts or areas of the secondary processor structure. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass die Mikroprozessorschaltung durch eine weitere Prüfeinrichtung (K1, K2, K3) fehlerabgesichert ist, welche bei Nichtübereinstimmung von Bussignalen einen Fehler detektiert.Circuit according to Claim 1, characterized in that the microprocessor circuit is error-proofed by a further test device (K1, K2, K3) which detects an error in the event of mismatch of bus signals. Schaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Hauptprozessorstruktur kernredundant aufgebaut ist.A circuit according to claim 1 or 2, characterized in that the main processor structure is constructed kernredundant. Schaltung nach mindestens einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass in jedem Kern der Hauptprozessorstruktur das gleiche Programm parallel und taktsynchron abgearbeitet wird.Circuit according to at least one of claims 1 to 3, characterized in that in each core of the main processor structure, the same program is executed in parallel and isochronous. Schaltung nach mindestens einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Nebenprozessorstruktur einen Prozessorkern umfasst, welcher eine geringere Rechenleistung als die Kerne der Hauptprozessorstruktur hat.Circuit according to at least one of Claims 1 to 4, characterized in that the secondary processor structure comprises a processor core which has a lower computing power than the cores of the main processor structure. Schaltung nach mindestens einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die erste Prüfeinrichtung einen Interrupteingang zur mittelbaren oder unmittelbaren interruptgesteuerten Prüfung aufweist oder die Prüfeinrichtung durch einen Interrupt aufgerufen wird, insbesondere in dem bei einem Interrupt oder einem vergleichbaren Aufruf eine weitere Teileinheit der zu überprüfenden Einheit überprüft wird.Circuit according to at least one of Claims 1 to 5, characterized in that the first test device has an interrupt input for direct or indirect interrupt-controlled testing or the test device is called by an interrupt, in particular in the case of an interrupt or a comparable call, a further subunit of checking unit is checked. Schaltung nach Anspruch 6, dadurch gekennzeichnet, dass nach Abschluss der zeitintegralen Prüfung die erste Prüfeinrichtung erneut gestartet wird oder die Überprüfung erneut beginnt.A circuit according to claim 6, characterized in that after completion of the time-integral test, the first test device is restarted or the test starts again. Schaltung nach mindestens einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass ein Speicherbereich (6) vorgesehen ist, in den beim Prüfen ermittelte Prüfdaten und/oder Prüfergebnisse und/oder Prüfaufgaben eingeschrieben werden.Circuit according to at least one of Claims 1 to 7, characterized in that a memory area ( 6 ) is enrolled in the test data and / or test results and / or test tasks determined during testing. Schaltung nach Anspruch 8, dadurch gekennzeichnet, dass auf den Speicherbereich (6) die Hauptprozessorstruktur (3) und die Nebenprozessorstruktur (5) gemeinsam zugreifen können und dieser Speicherbereich insbesondere gesondert ist.Circuit according to Claim 8, characterized in that the memory area ( 6 ) the main processor structure ( 3 ) and the secondary processor structure ( 5 ) and that this memory area is separate in particular. Schaltung nach mindestens einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass ein redundanter RAM-Speicher (11, 12) vorgesehen ist, welcher zumindest die Adressbereiche „Shared-Bereich”, Bereich für Hauptprozessorstruktur (A) und Bereich für Nebenprozessorstruktur (B) und Shared-Bereich (6) aufweist.Circuit according to at least one of claims 1 to 9, characterized in that a redundant RAM memory ( 11 . 12 ) is provided, which at least the address areas "shared area", area for main processor structure (A) and area for secondary processor structure (B) and shared area ( 6 ) having. Schaltung nach mindestens einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die Nebenprozessorstruktur (5) im wesentlichen nicht sicherheitskritische Programme umfasst oder abarbeitet und die Hauptprozessorstruktur (3) im wesentlichen nur sicherheitskritische Programme umfasst oder abarbeitet.Circuit according to at least one of Claims 1 to 10, characterized in that the secondary processor structure ( 5 ) includes or processes essentially non-safety-critical programs and the main processor structure ( 3 ) essentially covers or processes only safety-critical programs. Schaltung nach mindestens einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass die Nebenprozessorstruktur (5) im wesentlichen nicht sicherheitskritische Programme umfasst oder abarbeitet und die Hauptprozessorstruktur (3) im wesentlichen nur sicherheitskritische Programme umfasst oder abarbeitet.Circuit according to at least one of Claims 1 to 11, characterized in that the secondary processor structure ( 5 ) includes or processes essentially non-safety-critical programs and the main processor structure ( 3 ) essentially covers or processes only safety-critical programs. Schaltung nach mindestens einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass die Nebenprozessorstruktur (5) mit einem Betriebssystem betrieben wird, das grundsätzlich von dem Betriebssystem der Hauptprozessorstruktur (3) unabhängig und insbesondere grundsätzlich verschieden ist.Circuit according to at least one of Claims 1 to 12, characterized in that the secondary processor structure ( 5 ) is operated with an operating system that is fundamentally dependent on the operating system of the main processor structure ( 3 ) is independent and in particular fundamentally different. Schaltung nach mindestens einem der Ansprüche 1 bis 13, gekennzeichnet, durch eine externe Bus-Schnittstelle (20), wie z. B. eine CAN-, LIN-, Flex-Ray(c)-, Most- oder Ethernet-Schnittstelle, zum Austausch von Parametern und Rückgabewerten zwischen Hauptprozessorstruktur (3) und Nebenprozessorstruktur (5) mit einem externen Speicher (21), welcher als gemeinsamer Speicher (6) dient, in dem Prüfdaten und/oder Prüfergebnisse und/oder Prüfaufgaben gespeichert sind.Circuit according to at least one of Claims 1 to 13, characterized by an external bus interface ( 20 ), such. B. a CAN, LIN, Flex-Ray (c), must or Ethernet interface, for the exchange of parameters and return values between the main processor structure ( 3 ) and secondary processor structure ( 5 ) with an external memory ( 21 ), which as a common memory ( 6 ), in which test data and / or test results and / or test tasks are stored. Schaltung nach mindestens einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass die Hauptprozessorstruktur (3) einen dritten oder sogar weiteren, nicht redundanten Prozessorkern umfasst und/oder die Nebenprozessorstruktur (5) einen zweiten oder sogar weiteren nicht reundanten Prozessorkern umfasst und dieser/diese von der Hauptprozessorstruktur (3) oder der Nebenprozessorstruktur (5) nach der Methode der zeitintegralen Überprüfung überwacht wird/werden.Circuit according to at least one of Claims 1 to 13, characterized in that the main processor structure ( 3 ) comprises a third or even further, non-redundant processor core and / or the secondary processor structure ( 5 ) comprises a second or even further non-redundant processor core and this / these from the main processor structure ( 3 ) or the secondary processor structure ( 5 ) is / are monitored according to the time-integral verification method. Schaltung nach Anspruch 15, dadurch gekennzeichnet, dass zwischen den Kernen der Nebenprozessorstruktur (5) eine bidirektionale oder gegenseitige zeitintegrale durchgeführt wird, welche bereits bei einseitig festgestellten Fehlern zur Abschaltung oder stufenweise Degradation des System führt. Circuit according to Claim 15, characterized in that between the cores of the secondary processor structure ( 5 ) a bidirectional or mutual time integral is performed, which leads already in unilaterally detected errors to shutdown or gradual degradation of the system. Prüfverfahren, bei dem eine Prüfung der richtigen Funktion einer Schaltung, inbesondere eines Mikroprozessors oder eines Mikroprozessorsystems durchgeführt wird, dadurch gekennzeichnet, dass eine zeitintegrale Prüfung erfolgt, in dem bei einem ersten Prüfschritt oder Interrupt ein bestimmter Teil oder Bereich geprüft wird und bei einem darauffolgenden Interrupt ein weiterer, noch nicht geprüfter Teil oder Bereich der zu überprüfenden Schaltung geprüft wird.Test method in which an examination of the correct function of a circuit, in particular a microprocessor or a microprocessor system is performed, characterized in that a time-integral test takes place in which a certain part or area is checked in a first test step or interrupt and a subsequent interrupt another, not yet tested part or area of the circuit to be checked is checked. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass eine Hauptprozessorstruktur (3) oder ein Kern dieser Struktur Prüfdaten und/oder Prüfergebnisse und/oder Prüfaufgaben in einen gemeinsam genutzten Speicher (6) schreibt und eine Nebenprozessorstruktur (5) oder ein darin enthaltener Kern auf diese Prüfinformationen und/oder Prüfergebnisse zur Durchführung der Überprüfung zugreift.Method according to claim 17, characterized in that a main processor structure ( 3 ) or a core of this structure, test data and / or test results and / or test tasks in a shared memory ( 6 ) and a secondary processor structure ( 5 ) or a core contained therein accesses this test information and / or test results for carrying out the verification. Verfahren nach Anspruch 18 oder 19, dadurch gekennzeichnet, dass in der Nebenprozessorstruktur zur Durchführung der zeitintegralen Überprüfung ein parametrisierter Algorithmus ausgeführt wird, welcher von der Hauptprozessorstruktur parametriert wird.A method according to claim 18 or 19, characterized in that in the secondary processor structure for carrying out the time-integral checking a parameterized algorithm is executed, which is parameterized by the main processor structure. Verwendung der Schaltung gemäß mindestens einem der Ansprüche 1 bis 17 in Kraftfahrzgeugsteuergeräten für Sicherheitsfunktionen, insbesondere in Bremsensteuergeräten, Fahrzeugdomainrechnern oder Fahrwerkregelungssteuergeräten.Use of the circuit according to at least one of claims 1 to 17 in motor vehicle control units for safety functions, in particular in brake control units, vehicle domain computers or suspension control units.
DE201110007467 2010-04-28 2011-04-15 Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components Withdrawn DE102011007467A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110007467 DE102011007467A1 (en) 2010-04-28 2011-04-15 Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102010028327.4 2010-04-28
DE102010028327 2010-04-28
DE201110007467 DE102011007467A1 (en) 2010-04-28 2011-04-15 Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components

Publications (1)

Publication Number Publication Date
DE102011007467A1 true DE102011007467A1 (en) 2011-11-03

Family

ID=44786623

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110007467 Withdrawn DE102011007467A1 (en) 2010-04-28 2011-04-15 Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components

Country Status (1)

Country Link
DE (1) DE102011007467A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015106193A1 (en) 2015-04-22 2016-10-27 Audi Ag Switching of a motor vehicle electrical system when voltage drops
DE102016125240A1 (en) * 2016-12-21 2018-06-21 Endress+Hauser SE+Co. KG Electronic circuit for a field device of automation technology
US10214189B2 (en) 2012-10-16 2019-02-26 Continental Teves Ag & Co. Ohg Interface for interchanging data between redundant programs for controlling a motor vehicle
DE102020119297A1 (en) 2020-07-22 2022-01-27 Endress+Hauser SE+Co. KG Method for monitoring a first processor of a sensor module by a second processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19529434A1 (en) 1995-08-10 1997-02-13 Teves Gmbh Alfred Microprocessor system for safety-critical regulations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19529434A1 (en) 1995-08-10 1997-02-13 Teves Gmbh Alfred Microprocessor system for safety-critical regulations

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10214189B2 (en) 2012-10-16 2019-02-26 Continental Teves Ag & Co. Ohg Interface for interchanging data between redundant programs for controlling a motor vehicle
DE102015106193A1 (en) 2015-04-22 2016-10-27 Audi Ag Switching of a motor vehicle electrical system when voltage drops
DE102015106193B4 (en) * 2015-04-22 2019-11-28 Audi Ag Switching of a motor vehicle electrical system when voltage drops
DE102016125240A1 (en) * 2016-12-21 2018-06-21 Endress+Hauser SE+Co. KG Electronic circuit for a field device of automation technology
DE102020119297A1 (en) 2020-07-22 2022-01-27 Endress+Hauser SE+Co. KG Method for monitoring a first processor of a sensor module by a second processor

Similar Documents

Publication Publication Date Title
EP2641176B1 (en) Microprocessorsystem with fault tolerant architecture
EP1917592B1 (en) Computer system with at least two execution units and a comparison unit and method for controlling the same
EP2550599B1 (en) Control computer system, method for controlling a control computer system, and use of a control computer system
DE102008033675B4 (en) Dual core engine control module architecture
EP1952239A1 (en) Apparatus and method for eliminating errors in a system having at least two execution units with registers
EP2513796B1 (en) Method for operating a processor
DE102010013349A1 (en) Computer system and method for comparing output signals
DE112016004678T5 (en) A method of executing programs in an electronic system for functional security applications comprising a plurality of processors, corresponding system and computer program product
DE102015003194A1 (en) Method and device for handling safety-critical errors
WO2007017396A2 (en) Method and device for monitoring operations of computer system
WO2018134023A1 (en) Redundant processor architecture
DE102011007467A1 (en) Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components
DE102011011333B4 (en) Read to peripherals and write from peripherals with time-separated, redundant processor execution
WO2007057270A1 (en) Program-controlled unit and method for the operation thereof
EP1615087A2 (en) Control and regulation unit
WO2005045665A1 (en) Method and device for operand processing in a processor unit
DE102004037713A1 (en) Method, operating system and computing device for executing a computer program
DE102005037213A1 (en) 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
EP2228723B1 (en) Method for error treatment of a computer system
DE102004051966A1 (en) Method, operating system and computing device for executing a computer program
EP1915687A1 (en) Method and device for control of a computer system with at least two execution units
DE102018210733A1 (en) Method for monitoring at least one computing unit
DE102012011872B4 (en) Control device with a bus diagnostic function
EP2662773B1 (en) Redundant multi-processor system and corresponding method
WO2007017388A1 (en) Method and device for analyzing processes in a computer system having a plurality of execution units

Legal Events

Date Code Title Description
R163 Identified publications notified
R163 Identified publications notified

Effective date: 20111024

R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee