DE102020208367A1 - ELECTRONIC CONTROL UNIT - Google Patents

ELECTRONIC CONTROL UNIT Download PDF

Info

Publication number
DE102020208367A1
DE102020208367A1 DE102020208367.3A DE102020208367A DE102020208367A1 DE 102020208367 A1 DE102020208367 A1 DE 102020208367A1 DE 102020208367 A DE102020208367 A DE 102020208367A DE 102020208367 A1 DE102020208367 A1 DE 102020208367A1
Authority
DE
Germany
Prior art keywords
processor core
access
data
mpu
request
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.)
Pending
Application number
DE102020208367.3A
Other languages
German (de)
Inventor
Hirotaka Kunibe
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE102020208367A1 publication Critical patent/DE102020208367A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Eine ECU (1) enthält eine Vielzahl von Prozessorkernen (11, 12, 13), ein RAM (21) und eine MPU (15). Der RAM (21) speichert Aktualisierungsdaten (31), auf die von jedem der Prozessorkerne (11, 12, 13) lesbar zugegriffen werden kann. Die MPU (15) steuert die Prozessorkerne (11, 12, 13), so dass, wenn ein spezifischer Prozessorkern (11) auf die Aktualisierungsdaten (31) zugreift, der/die Prozessorkern(e) (12, 13) mit Ausnahme des spezifischen Prozessorkerns nicht auf die Aktualisierungsdaten (31) zugreifen kann/können.An ECU (1) includes a plurality of processor cores (11, 12, 13), a RAM (21) and an MPU (15). The RAM (21) stores update data (31) which can be read and accessed by each of the processor cores (11, 12, 13). The MPU (15) controls the processor cores (11, 12, 13) so that when a specific processor core (11) accesses the update data (31), the processor core (s) (12, 13) with the exception of the specific Processor core cannot access the update data (31).

Description

TECHNISCHER BEREICHTECHNICAL PART

Die vorliegende Offenbarung bezieht sich auf eine elektronische Steuereinheit mit einer Vielzahl von Prozessorkernen.The present disclosure relates to an electronic control unit having a plurality of processor cores.

HINTERGRUNDBACKGROUND

In Patentliteratur 1 wird eine fahrzeuginterne Steuereinheit beschrieben, die einen ersten Kern, einen zweiten Kern und einen gemeinsamen Speicher umfasst. In der fahrzeuginternen Steuereinheit werden die Daten des zweiten Kerns unter Verwendung einer Hardware-Funktion wie DMA direkt in den gemeinsamen Speicher kopiert; der erste Kern greift auf den gemeinsamen Speicher zu und erfasst die Daten. DMA ist eine Abkürzung für Direct Memory Access (direkter Speicherzugriff).In Patent Literature 1, an in-vehicle control unit is described which includes a first core, a second core, and a common memory. In the in-vehicle control unit, the data of the second core is copied directly to the shared memory using a hardware function such as DMA; the first core accesses the shared memory and collects the data. DMA is an abbreviation for Direct Memory Access.

Patentliteratur 1: WO 2017/056725 A1 Patent Literature 1: WO 2017/056725 A1

KURZZUSAMMENFASSUNGSHORT SUMMARY

Die ausschließliche Steuerung zwischen den Prozessorkernen erfolgt in der Regel über eine Semaphore. Wenn ein Semaphor verwendet wird, muss ein zugreifender Prozessorkern immer eine Schnittstelle für den Erwerb von Semaphoren oder die Freigabe von Semaphoren verwenden, was zu einer Erhöhung des Overheads führt.The exclusive control between the processor cores usually takes place via a semaphore. If a semaphore is used, an accessing processor core must always use an interface for the acquisition of semaphores or the release of semaphores, which leads to an increase in the overhead.

Gegenstand der vorliegenden Offenbarung ist es, eine Erhöhung des Overheads aufgrund der ausschließlichen Steuerung zwischen Prozessorkernen zu unterdrücken.The object of the present disclosure is to suppress an increase in the overhead due to the exclusive control between processor cores.

Nach einem Beispiel der vorliegenden Offenbarung ist eine elektronische Steuereinheit vorgesehen, die eine Vielzahl von Prozessorkernen, eine gemeinsam genutzte Datenspeichereinheit und eine Speicherschutzeinheit umfasst. Die gemeinsam genutzte Datenspeichereinheit ist so konfiguriert, dass sie gemeinsam genutzte Daten speichert, auf die von jedem der Vielzahl von Prozessorkernen lesbar zugegriffen werden kann.According to an example of the present disclosure, an electronic control unit is provided that includes a plurality of processor cores, a shared data storage unit, and a memory protection unit. The shared data storage unit is configured to store shared data that can be readably accessed by any of the plurality of processor cores.

Die Speicherschutzeinheit ist so konfiguriert, dass sie die Vielzahl der Prozessorkerne steuert, so dass, wenn ein spezifischer Prozessorkern auf die gemeinsam genutzten Daten zugreift, ein anderer Prozessorkern nicht auf die gemeinsam genutzten Daten zugreifen kann. Der spezifische Prozessorkern ist einer der Vielzahl von Prozessorkernen. Der andere Prozessorkern ist mindestens einer der Vielzahl von Prozessorkernen mit Ausnahme des spezifischen Prozessorkerns.The memory protection unit is configured to control the plurality of processor cores so that when a specific processor core accesses the shared data, another processor core cannot access the shared data. The specific processor core is one of the multitude of processor cores. The other processor core is at least one of the plurality of processor cores except for the specific processor core.

Wenn in der elektronischen Steuereinheit gemäß der vorliegenden Offenbarung der spezifische Prozessorkern auf die gemeinsam genutzten Daten zugreift, ist die Speicherschutzeinheit so konfiguriert, dass sie die Vielzahl der Prozessoren bzw. Prozessorkerne so steuert, dass der andere Prozessorkern nicht auf die gemeinsam genutzten Daten zugreifen kann. Das bedeutet, dass die elektronische Steuereinheit der vorliegenden Offenbarung die Speicherschutzeinheit anstelle einer Semaphore verwendet; daher muss der Prozessorkern, auf den zugegriffen wird, keine spezielle Schnittstelle enthalten. Dementsprechend kann die elektronische Steuereinheit der vorliegenden Offenbarung eine Erhöhung des Overheads aufgrund der exklusiven Steuerung zwischen den Prozessorkernen unterdrücken.In the electronic control unit according to the present disclosure, when the specific processor core accesses the shared data, the memory protection unit is configured to control the plurality of processors so that the other processor core cannot access the shared data. That is, the electronic control unit of the present disclosure uses the memory protection unit instead of a semaphore; therefore, the processor core being accessed does not need to contain a special interface. Accordingly, the electronic control unit of the present disclosure can suppress an increase in overhead due to the exclusive control between the processor cores.

FigurenlisteFigure list

Die oben genannten und anderen Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung werden in der folgenden detaillierten Beschreibung, die unter Bezugnahme auf die beigefügten Zeichnungen erstellt wurde, deutlicher hervortreten. In den Zeichnungen:

  • 1 ist ein Blockdiagramm, das eine Konfiguration eines Steuergeräts nach der ersten und zweiten Ausführungsform veranschaulicht;
  • 2 ist ein Diagramm, das eine Konfiguration einer Prüfblock-ID-Tabelle veranschaulicht;
  • 3 ist ein Flussdiagramm, das einen anfänglichen Einstellprozess veranschaulicht;
  • 4 ist ein Flussdiagramm, das einen RAM-Testprozess veranschaulicht;
  • 5 ist ein Flussdiagramm, das einen Zugriffsfehlerprozess veranschaulicht;
  • 6 ist ein Sequenzdiagramm, das ein erstes konkretes Beispiel für eine Zugriffsentscheidung durch eine MPU nach der ersten Ausführungsform illustriert;
  • 7 ist ein Sequenzdiagramm, das ein zweites spezifisches Beispiel für eine Zugriffsentscheidung durch die MPU nach der ersten Ausführungsform veranschaulicht;
  • 8 ist ein Diagramm, das eine ausschließliche Steuerung durch ein Semaphor illustriert;
  • 9 ist ein Diagramm, das eine ausschließliche Steuerung durch einen Mikrocomputer nach der ersten Ausführungsform veranschaulicht;
  • 10 ist ein Diagramm, das eine Konfiguration einer Prioritätstabelle nach einer zweiten Ausführungsform illustriert;
  • 11 ist ein Flussdiagramm, das einen ersten Prozessorprozess gemäß der zweiten Ausführungsform veranschaulicht;
  • 12 ist ein Flussdiagramm, das einen Datenleseprozess gemäß der zweiten Ausführungsform illustriert;
  • 13 ist ein Sequenzdiagramm, das ein spezifisches Beispiel für eine Zugriffsentscheidung durch eine MPU nach der zweiten Ausführungsform illustriert;
  • 14 ist ein Blockdiagramm, das eine Konfiguration eines Steuergeräts nach der dritten und vierten Ausführungsform veranschaulicht;
  • 15 ist ein Sequenzdiagramm, das ein erstes spezifisches Beispiel für eine Ausführungszugriffsentscheidung durch eine MPU gemäß der dritten Ausführungsform veranschaulicht;
  • 16 ist ein Sequenzdiagramm, das ein zweites spezifisches Beispiel einer Ausführungszugriffsentscheidung durch die MPU gemäß der dritten Ausführungsform veranschaulicht; und
  • 17 ist ein Sequenzdiagramm, das ein spezifisches Beispiel für eine Ausführungszugriffsentscheidung durch die MPU nach einer vierten Ausführungsform veranschaulicht.
The above and other objects, features and advantages of the present disclosure will appear more clearly in the following detailed description made with reference to the accompanying drawings. In the drawings:
  • 1 Fig. 13 is a block diagram illustrating a configuration of a control apparatus according to the first and second embodiments;
  • 2 Fig. 13 is a diagram illustrating a configuration of a check block ID table;
  • 3 Figure 13 is a flow chart illustrating an initial setting process;
  • 4th Fig. 13 is a flow chart illustrating a RAM test process;
  • 5 Fig. 13 is a flow chart illustrating an access failure process;
  • 6th Fig. 13 is a sequence diagram illustrating a first concrete example of an access decision by an MPU according to the first embodiment;
  • 7th Fig. 13 is a sequence diagram illustrating a second specific example of an access decision by the MPU according to the first embodiment;
  • 8th Fig. 13 is a diagram illustrating exclusive control by a semaphore;
  • 9 Fig. 13 is a diagram illustrating exclusive control by a microcomputer according to the first embodiment;
  • 10 Fig. 13 is a diagram illustrating a configuration of a priority table according to a second embodiment;
  • 11 Fig. 3 is a flow chart illustrating a first processor process according to the second embodiment;
  • 12 Fig. 13 is a flow chart illustrating a data reading process according to the second embodiment;
  • 13th Fig. 13 is a sequence diagram illustrating a specific example of an access decision by an MPU according to the second embodiment;
  • 14th Fig. 13 is a block diagram illustrating a configuration of a control device according to the third and fourth embodiments;
  • 15th Fig. 13 is a sequence diagram illustrating a first specific example of execution access decision by an MPU according to the third embodiment;
  • 16 Fig. 13 is a sequence diagram illustrating a second specific example of an execution access decision by the MPU according to the third embodiment; and
  • 17th Fig. 13 is a sequence diagram illustrating a specific example of execution access decision by the MPU according to a fourth embodiment.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

[Erste Ausführungsform][First embodiment]

Im Folgenden wird eine erste Ausführungsform der vorliegenden Offenbarung mit Bezug auf die Zeichnungen beschrieben. Wie in 1 dargestellt, enthält eine elektronische Steuereinheit 1 (im Folgenden ECU 1) der vorliegenden Ausführungsform einen Mikrocomputer 2. ECU ist eine Abkürzung für Electronic Control Unit (elektronische Steuereinheit).A first embodiment of the present disclosure will be described below with reference to the drawings. As in 1 shown contains an electronic control unit 1 (hereinafter ECU 1 ) of the present embodiment is a microcomputer 2 . ECU is an abbreviation for Electronic Control Unit.

Der Mikrocomputer 2 umfasst die Prozessorkerne 11, 12 und 13, ein ROM 14, eine Speicherschutzeinheit 15 (nachfolgend MPU 15), einen Systembus 16 und die RAMs 21, 22 und 23. MPU ist eine Abkürzung für Memory Protection Unit (Speicherschutzeinheit).The microcomputer 2 includes the processor cores 11 , 12 and 13th , a ROM 14th , a memory protection unit 15th (hereinafter MPU 15th ), a system bus 16 and the RAMs 21st , 22nd and 23 . MPU is an abbreviation for Memory Protection Unit.

Verschiedene Funktionen des Mikrocomputers 2 werden durch die Prozessorkerne 11, 12 und 13 realisiert, die Programme ausführen, die in einem nicht vorübergehenden, greifbaren Speichermedium gespeichert sind. In diesem Beispiel entspricht das ROM 14 einem nicht transitorischen, greifbaren Speichermedium, das ein Programm speichert. Darüber hinaus wird durch die Ausführung dieses Programms eine dem Programm entsprechende Methode ausgeführt. Beachten Sie, dass einige oder alle Funktionen, die von den Prozessorkernen 11, 12 und 13 ausgeführt werden, von einem oder mehreren ICs o.ä. als Hardware konfiguriert werden können. Ferner kann die Anzahl der Mikrocomputer, aus denen die ECU 1 besteht, ein oder mehrere sein.Various functions of the microcomputer 2 are through the processor cores 11 , 12 and 13th realized that execute programs stored in a non-transitory, tangible storage medium. In this example the ROM corresponds to 14th a non-transitory, tangible storage medium that stores a program. In addition, executing this program performs a method similar to the program. Note that some or all of the functionality required by the processor cores 11 , 12 and 13th be executed, can be configured as hardware by one or more ICs or similar. Further, the number of microcomputers that make up the ECU 1 consists of one or more.

Die Prozessorkerne 11, 12 und 13 enthalten jeweils eine Recheneinheit und ein Register zur Ausführung eines Programms. Die Prozessorkerne 11, 12 und 13 führen verschiedene Steuerprozesse zur Steuerung eines Motors (nicht abgebildet) verteilt aus.The processor cores 11 , 12 and 13th each contain a computing unit and a register for executing a program. The processor cores 11 , 12 and 13th execute various control processes for controlling a motor (not shown) in a distributed manner.

Das ROM 14 ist ein nichtflüchtiger Speicher, in den Daten nicht überschrieben werden können. Das ROM 14 speichert Programme, die von den Prozessorkernen 11, 12 und 13 ausgeführt werden. Die MPU 15 steuert das Schreiben und Lesen von Daten in und aus den RAMs 21, 22 und 23.The ROM 14th is a non-volatile memory in which data cannot be overwritten. The ROM 14th stores programs created by the processor cores 11 , 12 and 13th are executed. The MPU 15th controls the writing and reading of data to and from the RAMs 21st , 22nd and 23 .

Der Systembus 16 verbindet die Prozessorkerne 11, 12 und 13, das ROM 14, die MPU 15 und die RAMs 21, 22 und 23 miteinander, so dass Daten ein- und ausgegeben werden können.
Die RAMs 21, 22 und 23 sind flüchtige Speicher. Die RAMs 21, 22 und 23 speichern vorübergehend Berechnungsergebnisse der Prozessorkerne 11, 12 bzw. 13.
The system bus 16 connects the processor cores 11 , 12 and 13th , the ROM 14th , the MPU 15th and the RAMs 21st , 22nd and 23 with each other so that data can be input and output.
The RAMs 21st , 22nd and 23 are volatile memories. The RAMs 21st , 22nd and 23 temporarily save calculation results of the processor cores 11 , 12 or. 13th .

Der RAM 21 speichert die Aktualisierungsdaten 31 und die Handshake-Daten 41 und 51. Die Aktualisierungsdaten 31 sind Daten, die ausschließlich durch den Prozessorkern 11 aktualisiert werden. Die Handshake-Daten 41 sind die Daten, die verwendet werden, wenn der Prozessorkern 12 auf die Aktualisierungsdaten 31 zugreift. Bei den Handshake-Daten 51 handelt es sich um Daten, die verwendet werden, wenn der Prozessorkern 13 auf die Aktualisierungsdaten 31 zugreift.The RAM 21st saves the update data 31 and the handshake data 41 and 51 . The update dates 31 are data that are exclusively used by the processor core 11 updated. The handshake data 41 are the data that will be used when the processor core 12 on the update data 31 accesses. With the handshake data 51 it is data that is used when the processor core 13th on the update data 31 accesses.

Der RAM 22 speichert die Aktualisierungsdaten 32 und die Handshake-Daten 42 und 52. Die Aktualisierungsdaten 32 sind Daten, die ausschließlich durch den Prozessorkern 12 aktualisiert werden. Bei den Handshake-Daten 42 handelt es sich um Daten, die verwendet werden, wenn der Prozessorkern 11 auf die Aktualisierungsdaten 32 zugreift. Die Handshakedaten 52 sind Daten, die verwendet werden, wenn der Prozessorkern 13 auf die Aktualisierungsdaten 32 zugreift.The RAM 22nd saves the update data 32 and the handshake data 42 and 52 . The update dates 32 are data that are exclusively used by the processor core 12 updated. With the handshake data 42 it is data that is used when the processor core 11 on the update data 32 accesses. The handshake data 52 are data that are used when the processor core 13th on the update data 32 accesses.

Der RAM 23 speichert die Aktualisierungsdaten 33 und die Handshake-Daten 43 und 53. Die Aktualisierungsdaten 33 sind Daten, die ausschließlich durch den Prozessorkern 13 aktualisiert werden. Die Handshake-Daten 43 sind Daten, die verwendet werden, wenn der Prozessorkern 11 auf die Aktualisierungsdaten 33 zugreift. Bei den Handshake-Daten 53 handelt es sich um Daten, die verwendet werden, wenn der Prozessorkern 12 auf die Aktualisierungsdaten 33 zugreift.The RAM 23 saves the update data 33 and the handshake data 43 and 53 . The update dates 33 are data that are exclusively used by the processor core 13th updated. The handshake data 43 are data that are used when the processor core 11 on the update data 33 accesses. With the handshake data 53 it is data that is used when the processor core 12 on the update data 33 accesses.

Die MPU 15 steuert die Prozessorkerne 11, 12 und 13, so dass nur der Prozessorkern 11 die Aktualisierungsdaten 31 im RAM 21 aktualisieren kann. In ähnlicher Weise steuert die MPU 15 die Prozessorkerne 11, 12 und 13, so dass nur der Prozessorkern 12 die Aktualisierungsdaten 32 im RAM 22 aktualisieren kann. Darüber hinaus steuert die MPU 15 die Prozessorkerne 11, 12 und 13, so dass nur der Prozessorkern 13 die Aktualisierungsdaten 33 im RAM 23 aktualisieren kann.The MPU 15th controls the Processor cores 11 , 12 and 13th so that only the processor core 11 the update data 31 in RAM 21st can update. The MPU controls in a similar manner 15th the processor cores 11 , 12 and 13th so that only the processor core 12 the update data 32 in RAM 22nd can update. In addition, the MPU controls 15th the processor cores 11 , 12 and 13th so that only the processor core 13th the update data 33 in RAM 23 can update.

Wenn außerdem eine Lesezugriffsanforderung auf die RAMs 21, 22 und 23 von den Prozessorkernen 11, 12 und 13 eingegeben wird, entscheidet die MPU 15, ob ein Lesezugriff erlaubt oder verboten werden soll. Dann gibt die MPU 15 (i) eine Lesezugriffserlaubnismeldung an die Quelle der Zugriffsanforderung aus, wenn der Lesezugriff erlaubt ist, und (ii) eine Lesezugriffsverbotsmeldung, wenn der Lesezugriff verboten ist.Also if there is a read access request to the RAMs 21st , 22nd and 23 from the processor cores 11 , 12 and 13th is entered, the MPU decides 15th whether read access should be allowed or prohibited. Then there is the MPU 15th (i) issue a read access permission message to the source of the access request if read access is permitted, and (ii) a read access prohibition message if read access is prohibited.

Die Prozessorkerne 11, 12 und 13 bestimmen, ob ein Lesezugriff auf der Grundlage der Lesezugriffsberechtigungsbenachrichtigung oder der Lesezugriffsverbotsbenachrichtigungseingabe von der MPU 15 ausgeführt werden soll.The processor cores 11 , 12 and 13th determine whether a read access is based on the read access authorization notification or the read access prohibition notification input from the MPU 15th should be executed.

Das ROM 14 speichert eine Testblock-ID-Tabelle TB1. Die Testblock-ID-Tabelle TB1 wird vom Prozessorkern 11 referenziert, wenn der Prozessorkern 11 einen RAM-Test auf dem RAM 21 ausführt. Wie in 2 dargestellt, ist die Testblock-ID-Tabelle TB1 eine Tabelle, die eine ID-Nummer zur Identifizierung einer Vielzahl von Testblöcken und einen Adressbereich des Testblocks, der der ID-Nummer entspricht, speichert. In der in 2 dargestellten Testblock-ID-Tabelle TB1 sind „1“, „2“, „3“, „4“ und „5“, die in der linken Spalte der Tabelle beschrieben sind, ID-Nummern.The ROM 14th stores a test block ID table TB1. The test block ID table TB1 is used by the processor core 11 referenced when the processor core 11 a RAM test on the RAM 21st executes. As in 2 As shown, the test block ID table TB1 is a table that stores an ID number for identifying a plurality of test blocks and an address area of the test block corresponding to the ID number. In the in 2 The test block ID table TB1 shown in the figure are “1”, “2”, “3”, “4” and “5” described in the left column of the table are ID numbers.

Als nächstes wird der Ablauf eines anfänglichen Einstellprozesses beschrieben, der vom Prozessorkern 11 ausgeführt wird. Der Erst-Einstellprozess ist ein Prozess, der unmittelbar nach der Aktivierung des Prozessorkerns 11 gestartet wird. Wenn der Anfangseinstellprozess ausgeführt wird, speichert der Prozessorkern 11 „1“ im Blockbefehlswert TestBlock, der im RAM 21 in S10 bereitgestellt wird, und beendet den Anfangseinstellprozess, wie in 3 dargestellt.Next, the flow of an initial setting process performed by the processor core will be described 11 is performed. The initial setup process is a process that occurs immediately after the core is activated 11 is started. When the initial setting process is performed, the processor core saves 11 "1" in the block command value TestBlock, which is in RAM 21st is provided in S10, and ends the initial setting process as in FIG 3 shown.

Als nächstes wird der Ablauf des vom Prozessorkern 11 ausgeführten RAM-Testprozesses beschrieben. Der RAM-Testprozess ist ein Prozess, der jedes Mal gestartet wird, wenn ein voreingestellter Ausführungszyklus verstrichen ist. In der vorliegenden Ausführungsform ist der Ausführungszyklus des RAM-Testprozesses z.B. auf 10 ms eingestellt.Next is the flow of the processor core 11 executed RAM test process. The RAM test process is a process that is started every time a preset execution cycle has passed. In the present embodiment, the execution cycle of the RAM test process is set to, for example, 10 ms.

Wenn der RAM-Testprozess ausgeführt wird, setzt der Prozessorkern 11 zunächst ein Leseverbot für die Prozessorkerne 12 und 13 in S110, wie in 4 dargestellt. Konkret gibt der Prozessorkern 11 an die MPU 15 eine Verbotseinstellanforderung zur Verhinderung eines Lesezugriffs von den Prozessorkernen 12 und 13 auf die Aktualisierungsdaten 31 im RAM 21 aus. Wenn diese Verbotseinstellanforderung an die MPU 15 eingegeben wird, setzt die MPU 15 in einem in der MPU 15 vorgesehenen Speicherschutzeinstellregister ein Lesezugriffsverbot, um einen Lesezugriff auf die Aktualisierungsdaten 31 im RAM 21 von den Prozessorkernen 12 und 13 zu verbieten.When the RAM test process runs, the processor core resets 11 initially a reading ban for the processor cores 12 and 13th in S110 , as in 4th shown. Specifically, there is the processor core 11 to the MPU 15th a prohibition setting request to prevent read access from the processor cores 12 and 13th on the update data 31 in RAM 21st out. When this prohibition setting request to the MPU 15th is entered, the MPU resets 15th in one in the MPU 15th provided memory protection setting register a read access prohibition to read access to the update data 31 in RAM 21st from the processor cores 12 and 13th to disallow.

Als nächstes bezieht sich der Prozessorkern 11 in S120 auf die im ROM 14 gespeicherte Testblock-ID-Tabelle TB1 und erfasst den Adressbereich des Testblocks, der der ID-Nummer entspricht, die mit dem im Blockbefehlswert TestBlock gespeicherten Wert übereinstimmt.Next, refer to the processor core 11 in S120 to those in the ROM 14th stored test block ID table TB1 and detects the address range of the test block corresponding to the ID number that matches the value stored in the block command value TestBlock.

Dann führt der Prozessorkern 11 in S130 einen RAM-Test auf dem RAM 21 für den in S120 erworbenen Adressbereich aus. Im RAM-Test schreibt der Prozessorkern 11 die invertierten Daten, die durch Invertieren des Wertes der aus dem RAM 21 gelesenen Schreibdaten erhalten wurden, in den RAM 21, liest die geschriebenen Daten und bestimmt, ob die invertierten Daten der gelesenen Daten mit den Schreibdaten übereinstimmen. Auf diese Weise wird der Ausfall des RAM 21 diagnostiziert. Nachdem die Diagnose durchgeführt wurde, schreibt der Prozessorkern 11 den ursprünglichen Wert in das RAM 21.Then the processor core performs 11 in S130 a RAM test on the RAM 21st for the in S120 acquired address range. The processor core writes in the RAM test 11 the inverted data obtained by inverting the value of the from the RAM 21st read write data has been received into the RAM 21st , reads the written data and determines whether the inverted data of the read data matches the write data. This way the RAM failure 21st diagnosed. After the diagnosis has been carried out, the processor core writes 11 the original value in the RAM 21st .

Als nächstes speichert der Prozessorkern 11 in S140 einen Mehrwert, der durch Addition von 1 zu dem im Blockbefehlswert TestBlock gespeicherten Wert als Blockbefehlswert TestBlock erhalten wird. Dann, in S150, bestimmt der Prozessorkern 11, ob in den Handshake-Daten 41, 51 „Leseanforderung vorhanden“ (auch Leseanforderungsanwesenheit genannt) eingestellt ist. Wenn „Leseanforderung nicht vorhanden“ (auch Leseanforderungsabwesenheit genannt) in den Handshake-Daten 41, 51 eingestellt ist, bestimmt der Prozessorkern 11 in S160, ob der im Blockbefehlswert TestBlock gespeicherte Wert größer als die voreingestellte Tabellenblocknummer MaxBlock ist. In der vorliegenden Ausführungsform wird die Anzahl der Tabellenblöcke MaxBlock auf 5 gesetzt.Next, the processor core saves 11 in S140 an added value which is obtained as the block command value TestBlock by adding 1 to the value stored in the block command value TestBlock. Then in S150 , determines the processor core 11 whether in the handshake data 41 , 51 "Read request present" (also called read request presence) is set. If "read request not available" (also called read request absence) in the handshake data 41 , 51 is set, determines the processor core 11 in S160 whether the value stored in the block command value TestBlock is greater than the preset table block number MaxBlock. In the present embodiment, the number of table blocks MaxBlock is set to five.

Wenn hier der im Blockbefehlswert TestBlock gespeicherte Wert gleich oder kleiner als die Anzahl der Tabellenblöcke MaxBlock ist, fährt der Prozessorkern 11 mit S120 fort. Wenn andererseits der im Blockbefehlswert TestBlock gespeicherte Wert größer als die Anzahl der Tabellenblöcke MaxBlock ist, speichert der Prozessorkern 11 1 im Blockbefehlswert TestBlock in S170 und fährt mit S180 fort.If the value stored in the block command value TestBlock is equal to or less than the number of table blocks MaxBlock, the processor core will run 11 With S120 away. On the other hand, if the value stored in the block command value TestBlock is larger than the number of table blocks MaxBlock, the processor core stores 11 1 in the block command value TestBlock in S170 and moves with S180 away.

Wenn in S150 bestimmt wird, dass in mindestens einem der Handshake-Daten 41 und 51 „Leseanforderung vorhanden (es liegt eine Leseanforderung vor)“ gesetzt ist, fährt der Prozessorkern 11 mit S180 fort. Wenn der Prozess dann zu S180 fortschreitet, setzt der Prozessorkern 11 eine Leseberechtigung für die Prozessorkerne 12, 13. Konkret gibt der Prozessorkern 11 an die MPU 15 eine Berechtigungseinstellanforderung aus, um einen Lesezugriff von den Prozessorkernen 12 und 13 auf die Aktualisierungsdaten 31 im RAM 21 zu erlauben. Wenn diese Berechtigungseinstellanforderung an die MPU 15 eingegeben wird, setzt die MPU 15 eine Lesezugriffsberechtigung im Speicherschutzeinstellregister, das in der MPU 15 vorgesehen ist, um einen Lesezugriff von den Prozessorkernen 12 und 13 auf die Aktualisierungsdaten 31 im RAM 21 zuzulassen.If in S150 it is determined that in at least one of the handshake data 41 and 51 "Read request available (there is a read request)" is set, the processor core runs 11 With S180 away. If the process then too S180 progresses, the processor core continues 11 a read authorization for the processor cores 12 , 13th . Specifically, there is the processor core 11 to the MPU 15th an authorization setting request to allow read access from the processor cores 12 and 13th on the update data 31 in RAM 21st to allow. When this authorization setting request to the MPU 15th is entered, the MPU resets 15th a read access authorization in the memory protection setting register which is in the MPU 15th is provided to allow read access from the processor cores 12 and 13th on the update data 31 in RAM 21st to allow.

Weiterhin setzt der Prozessorkern 11 in S190 „Leseanforderung nicht vorhanden“ in den Handshake-Daten 41, 51 und beendet den RAM-Testprozess. Als nächstes wird eine Prozedur eines Zugriffsfehlerprozesses beschrieben, der vom Prozessorkern 12 ausgeführt wird. Der Zugriffsfehlerprozess ist ein Prozess, der gestartet wird, wenn eine Lesezugriffsverbotsmeldung von der MPU 15 eingegeben wird.The processor core continues 11 in S190 "Read request not available" in the handshake data 41 , 51 and exits the RAM test process. Next, a procedure of an access failure process performed by the processor core will be described 12 is performed. The access failure process is a process that is started when a read access prohibition message is received from the MPU 15th is entered.

Wenn der Zugriffsfehlerprozess ausgeführt wird, setzt der Prozessorkern 12 zunächst „Leseanforderung vorhanden“ in den Handshake-Daten 41 in S310, wie in 5 dargestellt. Dann bestimmt der Prozessorkern 12 in S320, ob „Leseanforderung vorhanden“ in den Handshake-Daten 41 gesetzt ist. Wenn „Leseanforderung vorhanden“ eingestellt ist, wartet der Prozessorkern 12, bis „Leseanforderung nicht vorhanden“ in den Handshake-Daten 41 eingestellt ist, indem er die Verarbeitung in S320 wiederholt.When the access failure process runs, the processor core resets 12 initially "read request available" in the handshake data 41 in S310 , as in 5 shown. Then the processor core determines 12 in S320 Whether "read request exists" in the handshake data 41 is set. If "read request exists" is set, the processor core waits 12 until "Read request not available" in the handshake data 41 is set by having processing in S320 repeated.

Wenn dann in den Handshake-Daten 41 „Leseanforderung nicht vorhanden“ eingestellt ist, fährt der Prozessorkern 12 mit S330 fort. In S330 kehrt der Prozess zu der Verarbeitung zurück, bei der der Fehler aufgetreten ist (d.h. die Verarbeitung, die die Benachrichtigung über das Eingabe-Lesezugriffsverbot verursacht hat), und der Zugriffsfehlerprozess wird beendet.If then in the handshake data 41 "Read request not available" is set, the processor core shuts down 12 continue with S330. In S330 the process returns to the processing in which the error occurred (ie, the processing that caused the input read access prohibition notification), and the access error process is ended.

Der Zugriffsfehlerprozess, der vom Prozessorkern 13 ausgeführt wird, ist derselbe wie der Zugriffsfehlerprozess, der vom Prozessorkern 12 ausgeführt wird, mit der Ausnahme, dass die Handshake-Daten 41 in die Handshake-Daten 51 geändert werden und somit eine detaillierte Beschreibung ausgelassen wird.The access failure process initiated by the processor core 13th is the same as the access failure process run by the processor core 12 is executed, except that the handshake data 41 into the handshake data 51 can be changed and a detailed description is omitted.

Darüber hinaus führen die Prozessorkerne 12 und 13 auch einen anfänglichen Einstellprozess und einen RAM-Testprozess aus. Der Anfangseinstellprozess und der RAM-Testprozess des Prozessorkerns 12 unterscheiden sich vom Prozessorkern 11 dadurch, dass die Aktualisierungsdaten 32 und die Handshake-Daten 42 und 52 des RAM 22 anstelle der Aktualisierungsdaten 31 und der Handshake-Daten 41 und 51 des RAM 21 anvisiert werden.In addition, the processor cores lead 12 and 13th also includes an initial setup process and a RAM test process. The initial setup process and the RAM test process of the processor core 12 differ from the processor core 11 by having the update data 32 and the handshake data 42 and 52 of the RAM 22nd instead of the update data 31 and the handshake data 41 and 51 of the RAM 21st be targeted.

In ähnlicher Weise unterscheiden sich der anfängliche Einstellprozess und der RAM-Testprozess des Prozessorkerns 13 vom Prozessorkern 11 dadurch, dass die Aktualisierungsdaten 33 und die Handshake-Daten 43 und 53 des RAM 23 anstelle der Aktualisierungsdaten 31 und der Handshake-Daten 41 und 51 des RAM 21 anvisiert werden.Similarly, the initial setup process and the RAM test process of the processor core differ 13th from the processor core 11 by having the update data 33 and the handshake data 43 and 53 of the RAM 23 instead of the update data 31 and the handshake data 41 and 51 of the RAM 21st be targeted.

Die Prozessorkerne 11 und 13 führen einen Zugriffsfehlerprozess auf den RAM 22 in der gleichen Weise aus wie die Prozessorkerne 12 und 13 einen Zugriffsfehlerprozess auf den RAM 21. In ähnlicher Weise führen die Prozessorkerne 11 und 12 jeweils einen Zugriffsfehlerprozess für den RAM 23 aus.The processor cores 11 and 13th run an access failure process to the RAM 22nd in the same way as the processor cores 12 and 13th an access failure process to the RAM 21st . The processor cores perform in a similar manner 11 and 12 an access failure process for each of the RAM 23 out.

Anschließend wird ein erstes konkretes Beispiel für eine Zugriffsentscheidung durch die MPU 15 beschrieben. Wie in 6 gezeigt, setzt der Prozessorkern 11 zunächst ein Lesezugriffsverbot, um einen Lesezugriff auf die Aktualisierungsdaten 31 von den Prozessorkernen 12 und 13 zu verbieten. Der Pfeil L1 zeigt an, dass der Prozessorkern 11 eine Aufforderung zum Setzen eines Verbots an die MPU 15 ausgibt.A first concrete example of an access decision by the MPU is then given 15th described. As in 6th shown, resets the processor core 11 first a read access prohibition in order to allow read access to the update data 31 from the processor cores 12 and 13th to disallow. The arrow L1 indicates that the processor core 11 a request to set a ban on the MPU 15th issues.

Als nächstes aktualisiert der Prozessorkern 11 die Aktualisierungsdaten 31, wie durch den Pfeil L2 angezeigt. Dann setzt der Prozessorkern 11, wie durch den Pfeil L3 angezeigt, eine Lesezugriffsberechtigung, um einen Lesezugriff auf die Aktualisierungsdaten 31 von den Prozessorkernen 12 und 13 zu ermöglichen. Der Pfeil L3 zeigt an, dass der Prozessorkern 11 eine Berechtigungseinstellanforderung an die MPU 15 ausgibt.Next, the processor core updates 11 the update data 31 as by the arrow L2 displayed. Then the processor core continues 11 as by the arrow L3 displayed, a read access authorization to read access to the update data 31 from the processor cores 12 and 13th to enable. The arrow L3 indicates that the processor core 11 an authorization setting request to the MPU 15th issues.

Danach gibt der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L4 zeigt an, dass der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 anfordert.Then there is the processor core 12 a read access request to the update data 31 to the MPU 15th out. The arrow L4 indicates that the processor core 12 a read access request to the update data 31 requests.

Da hier die Lesezugriffsberechtigung in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsberechtigungsmeldung an den Prozessorkern 12 aus. Beim Erwerb der Lesezugriffsberechtigungsmeldung von der MPU 15 greift der Prozessorkern 12 auf die Aktualisierungsdaten 31 zu und liest die Daten aus den Aktualisierungsdaten 31. Der Pfeil L5 zeigt an, dass der Prozessorkern 12 die Daten aus den Aktualisierungsdaten 31 liest.Since the read access authorization in the MPU 15th is set, the MPU 15th a read access authorization message to the processor core 12 out. When purchasing the read access authorization message from the MPU 15th the processor core engages 12 on the update data 31 and reads the data from the update data 31 . The arrow L5 indicates that the processor core 12 the data from the update data 31 read.

Ferner gibt der Prozessorkern 13 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L6 zeigt an, dass der Prozessorkern 13 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 anfordert.There is also the processor core 13th a read access request to the update data 31 to the MPU 15th out. The arrow L6 indicates that the processor core 13th a read access request to the update data 31 requests.

Da hier die Lesezugriffsberechtigung in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsberechtigungsmeldung an den Prozessorkern 13 aus. Beim Erwerb der Lesezugriffsberechtigungsmeldung von der MPU 15 greift der Prozessorkern 13 auf die Aktualisierungsdaten 31 zu und liest die Daten aus den Aktualisierungsdaten 31. Der Pfeil L7 zeigt an, dass der Prozessorkern 13 die Daten aus den Aktualisierungsdaten 31 liest.Since the read access authorization in the MPU 15th is set, the MPU 15th a read access authorization message to the processor core 13th out. When purchasing the read access authorization message from the MPU 15th the processor core engages 13th on the update data 31 and reads the data from the update data 31 . The arrow L7 indicates that the processor core 13th the data from the update data 31 read.

Anschließend wird ein zweites konkretes Beispiel für eine Zugriffsentscheidung durch die MPU 15 beschrieben. Wie in 7 gezeigt, setzt der Prozessorkern 11 zunächst ein Lesezugriffsverbot, um einen Lesezugriff auf die Aktualisierungsdaten 31 von den Prozessorkernen 12 und 13 zu verbieten. Der Pfeil L11 zeigt an, dass der Prozessorkern 11 eine Aufforderung zum Setzen eines Verbots an die MPU 15 ausgibt.A second concrete example of an access decision by the MPU is then presented 15th described. As in 7th shown, resets the processor core 11 first a read access prohibition in order to allow read access to the update data 31 from the processor cores 12 and 13th to disallow. The arrow L11 indicates that the processor core 11 a request to set a ban on the MPU 15th issues.

Dann beginnt der Prozessorkern 11 mit der Ausführung des RAM-Testprozesses. Das Quadrat SQ1 zeigt an, dass der Prozessorkern 11 den RAM-Testprozess ausführt. Nach dem Start des RAM-Testprozesses gibt der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L12 zeigt an, dass der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 anfordert.Then the processor core begins 11 with the execution of the RAM test process. The square SQ1 indicates that the processor core 11 Runs the RAM test process. After starting the RAM test process, the processor core gives 12 a read access request to the update data 31 to the MPU 15th out. The arrow L12 indicates that the processor core 12 a read access request to the update data 31 requests.

Da hier das Lesezugriffsverbot in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsverbotsmeldung an den Prozessorkern 12 aus, was durch den Pfeil L13 angezeigt wird. Wenn der Prozessorkern 12 die Mitteilung über das Lesezugriffsverbot von der MPU 15 erhält, beginnt der Prozessorkern 12 mit der Ausführung des Zugriffsfehlerprozesses und setzt zunächst „Leseanforderung vorhanden“ in den Handshake-Daten 41, wie durch den Pfeil L14 angezeigt.Since here the read access prohibition in the MPU 15th is set, the MPU 15th a read access prohibition message to the processor core 12 from what by the arrow L13 is shown. When the processor core 12 the notification of the read access ban from the MPU 15th the processor core begins 12 with the execution of the access error process and initially sets "read request available" in the handshake data 41 as by the arrow L14 displayed.

Danach bestätigt der Prozessorkern 12 die Handshake-Daten 41, wie durch das Quadrat SQ2 und den Pfeil L15 angezeigt, und wartet, bis in den Handshake-Daten 41 „Leseanforderung nicht vorhanden“ eingestellt ist.Then the processor core confirms 12 the handshake data 41 as by the square SQ2 and the arrow L15 appears and waits for the handshake data 41 "Read request not available" is set.

Auf der anderen Seite führt der Prozessorkern 11 den RAM-Test an den Aktualisierungsdaten 31 aus, wie durch den Pfeil L16 angezeigt wird. Ferner bestimmt der Prozessorkern 11, wie durch den Pfeil L17 angezeigt, ob „Leseanforderung vorhanden“ in den Handshake-Daten 41, 51 eingestellt ist.On the other hand, the processor core leads 11 the RAM test on the update data 31 out as by the arrow L16 is shown. The processor core also determines 11 as by the arrow L17 indicated whether there is a "read request" in the handshake data 41 , 51 is set.

Da „Leseanforderung vorhanden“ in den Handshake-Daten 41 gesetzt wird, setzt der Prozessorkern 11 eine Lesezugriffsberechtigung, um einen Lesezugriff auf die Aktualisierungsdaten 31 von den Prozessorkernen 12 und 13 zu ermöglichen. Der Pfeil L18 zeigt an, dass der Prozessorkern 11 eine Berechtigungseinstellanforderung an die MPU 15 ausgibt.Because there is a "read request" in the handshake data 41 is set, the processor core sets 11 a read access authorization to read access to the update data 31 from the processor cores 12 and 13th to enable. The arrow L18 indicates that the processor core 11 an authorization setting request to the MPU 15th issues.

Dann setzt der Prozessorkern 11 „Leseanforderung nicht vorhanden“ in den Handshake-Daten 41, wie durch den Pfeil L19 angezeigt. Wenn „Leseanforderung nicht vorhanden“ in den Handshake-Daten 41 eingestellt ist, beendet der Prozessorkern 12 den Zugriffsfehlerprozess und gibt eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L20 zeigt an, dass der Prozessorkern 12 einen Lesezugriff auf die Aktualisierungsdaten 31 anfordert.Then the processor core continues 11 "Read request not available" in the handshake data 41 as by the arrow L19 displayed. If “read request does not exist” in the handshake data 41 is set, the processor core terminates 12 the access failure process and issues a read access request to the update data 31 to the MPU 15th out. The arrow L20 indicates that the processor core 12 read access to the update data 31 requests.

Da hier die Lesezugriffsberechtigung in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsberechtigungsmeldung an den Prozessorkern 12 aus. Beim Erwerb der Lesezugriffsberechtigungsmeldung von der MPU 15 greift der Prozessorkern 12 auf die Aktualisierungsdaten 31 zu und liest die Daten aus den Aktualisierungsdaten 31. Der Pfeil L21 zeigt an, dass der Prozessorkern 12 die Daten aus den Aktualisierungsdaten 31 liest.Since the read access authorization in the MPU 15th is set, the MPU 15th a read access authorization message to the processor core 12 out. When purchasing the read access authorization message from the MPU 15th the processor core engages 12 on the update data 31 and reads the data from the update data 31 . The arrow L21 indicates that the processor core 12 the data from the update data 31 read.

Ferner gibt der Prozessorkern 13 eine Lesezugriffsanforderung für die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L22 zeigt an, dass der Prozessorkern 13 eine Lesezugriffsanforderung für die Aktualisierungsdaten 31 anfordert.There is also the processor core 13th a read access request for the update data 31 to the MPU 15th out. The arrow L22 indicates that the processor core 13th a read access request for the update data 31 requests.

Da hier die Lesezugriffsberechtigung in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsberechtigungsmeldung an den Prozessorkern 13 aus. Beim Erwerb der Lesezugriffsberechtigungsmeldung von der MPU 15 greift der Prozessorkern 13 auf die Aktualisierungsdaten 31 zu und liest die Daten aus den Aktualisierungsdaten 31. Der Pfeil L23 zeigt an, dass der Prozessorkern 13 die Daten aus den Aktualisierungsdaten 31 liest.Since the read access authorization in the MPU 15th is set, the MPU 15th a read access authorization message to the processor core 13th out. When purchasing the read access authorization message from the MPU 15th the processor core engages 13th on the update data 31 and reads the data from the update data 31 . The arrow L23 indicates that the processor core 13th the data from the update data 31 read.

Als nächstes wird eine ausschließliche Steuerung mit einer Semaphore beschrieben. Obwohl der Mikrocomputer 2 nicht über eine Semaphore verfügt, wird zur Vereinfachung der Beschreibung der Semaphore davon ausgegangen, dass die Prozessorkerne 11 und 12 die Erfassung einer Semaphore und die Freigabe einer Semaphore durchführen.Exclusive control with a semaphore will next be described. Although the microcomputer 2 does not have a semaphore, in order to simplify the description of the semaphore it is assumed that the processor cores 11 and 12 perform the acquisition of a semaphore and the release of a semaphore.

Wie in 8 dargestellt, wird zunächst zum Zeitpunkt t0 das Semaphor freigegeben. Der Block B1 gibt einen Zeitraum an, in dem die Semaphore freigegeben wird. Dann, zum Zeitpunkt t1, erwirbt der Prozessorkern 11 die Semaphore, und der Prozessorkern 11 führt den RAM-Test auf dem Testblock, dessen ID-Nummer 1 ist, vom Zeitpunkt t1 bis zum Zeitpunkt t2 durch. Der Block B2 gibt einen Zeitraum an, während dessen die Semaphore vom Prozessorkern 11 erworben wird. Der Block B3 zeigt einen Zeitraum an, während dessen der RAM-Test an dem Testblock mit der ID-Nummer 1 durchgeführt wird.As in 8th shown, the semaphore is first released at time t0. The block B1 specifies a time period in which the semaphore is released. Then, at time t1, the processor core acquires 11 the semaphore, and the processor core 11 performs the RAM test on the test block whose ID number 1 is through from time t1 to time t2. The block B2 specifies a time period during which the semaphore from the processor core 11 is acquired. The block B3 indicates a period of time during which the RAM test on the test block with the ID number 1 is carried out.

Der Prozessorkern 11 führt den RAM-Test für den Testblock mit der ID-Nummer 2 vom Zeitpunkt t2 bis zum Zeitpunkt t3 durch. Der Block B4 gibt einen Zeitraum an, während dessen der RAM-Test an dem Testblock mit der ID-Nummer 2 durchgeführt wird.The processor core 11 carries out the RAM test for the test block with ID number 2 from time t2 to time t3. The block B4 Specifies a period of time during which the RAM test is carried out on the test block with ID number 2.

Der Prozessorkern 11 führt den RAM-Test für den Testblock mit der ID-Nummer 3 vom Zeitpunkt t3 bis zum Zeitpunkt t4 durch. Der Block B5 gibt einen Zeitraum an, während dessen der RAM-Test für den Testblock mit der ID-Nummer 3 durchgeführt wird.The processor core 11 performs the RAM test for the test block with the ID number 3 from time t3 to time t4. The block B5 Specifies a period of time during which the RAM test is carried out for the test block with ID number 3.

Der Prozessorkern 11 führt den RAM-Test für den Testblock mit der ID-Nummer 4 vom Zeitpunkt t4 bis zum Zeitpunkt t5 durch. Der Block B6 gibt einen Zeitraum an, während dessen der RAM-Test an dem Testblock mit der ID-Nummer 4 durchgeführt wird.The processor core 11 performs the RAM test for the test block with the ID number 4 from time t4 to time t5. The block B6 Specifies a period of time during which the RAM test is carried out on the test block with ID number 4.

Der Prozessorkern 11 führt den RAM-Test für den Testblock mit der ID-Nummer 5 vom Zeitpunkt t5 bis zum Zeitpunkt t6 durch. Der Block B7 gibt einen Zeitraum an, während dessen der RAM-Test für den Testblock mit der ID-Nummer 5 durchgeführt wird.The processor core 11 performs the RAM test for the test block with the ID number 5 from time t5 to time t6. The block B7 Specifies a period of time during which the RAM test for the test block with ID number 5 is carried out.

Wenn der RAM-Test für den Testblock, dessen ID-Nummer 5 ist, zur Zeit t6 abgeschlossen ist, gibt der Prozessorkern 11 die Semaphore frei. Der Prozessorkern 12 versucht, die Semaphore vom Zeitpunkt t1 bis zum Zeitpunkt t6 zu erfassen, und schlägt fehl. Der Block B8 gibt einen Zeitraum an, während dessen der Prozessorkern 12 wartet, bis er ein Semaphor erfasst hat.When the RAM test for the test block whose ID number is 5 is completed at time t6, the processor core returns 11 the semaphore free. The processor core 12 tries to capture the semaphore from time t1 to time t6 and fails. The block B8 specifies a period during which the processor core 12 waits until it has acquired a semaphore.

Dann, zum Zeitpunkt t7, erwirbt der Prozessorkern 12 die Semaphore, und der Prozessorkern 12 liest die Daten aus den Aktualisierungsdaten 31 vom Zeitpunkt t7 bis zum Zeitpunkt t8. Der Block B9 zeigt einen Zeitraum an, in dem die Semaphore freigegeben wird. Der Block B10 zeigt einen Zeitraum an, in dem die Semaphore vom Prozessorkern 12 erfasst wird. Der Block B11 zeigt einen Zeitraum an, während dessen der Prozessorkern 12 die Daten liest.Then, at time t7, the processor core acquires 12 the semaphore, and the processor core 12 reads the data from the update data 31 from time t7 to time t8. The block B9 indicates a period in which the semaphore is released. The block B10 indicates a period in which the semaphore from the processor core 12 is captured. The block B11 indicates a period of time during which the processor core 12 reads the data.

Wenn das Lesen der Daten zum Zeitpunkt t8 endet, gibt der Prozessorkern 12 die Semaphore frei. Der Block B12 gibt einen Zeitraum an, während dessen die Semaphore freigegeben wird. Als nächstes wird eine ausschließliche Steuerung der vorliegenden Ausführungsform durch den Mikrocomputer 2 beschrieben.When the reading of the data ends at time t8, the processor core gives 12 the semaphore free. The block B12 specifies a time period during which the semaphore is released. Next, there is exclusive control of the present embodiment by the microcomputer 2 described.

Wie in 9 dargestellt, setzt die MPU 15 zum Zeitpunkt t20 zunächst eine Leseberechtigung. Der Block B21 zeigt einen Zeitraum an, in dem eine Lesezugriffserlaubnis gesetzt wird. Dann, zum Zeitpunkt t21, gibt der Prozessorkern 11 eine Aufforderung zum Setzen eines Verbots an die MPU 15 aus. Daraufhin setzt die MPU 15 ein Lesezugriffsverbot. Dann führt der Prozessorkern 11 den RAM-Test für den Testblock mit der ID-Nummer 1 bis zum Zeitpunkt t22 aus.As in 9 shown, the MPU continues 15th initially a read authorization at time t20. The block B21 indicates a period of time in which read access permission is set. Then, at time t21, the processor core gives up 11 a request to set a ban on the MPU 15th out. The MPU then continues 15th a read access ban. Then the processor core performs 11 the RAM test for the test block with the ID number 1 until time t22.

Wenn der RAM-Test für den Testblock, dessen ID-Nummer 1 ist, endet, gibt der Prozessorkern 11 eine Erlaubniseinstellanforderung an die MPU 15 aus. Dadurch setzt die MPU 15 eine Lesezugriffsberechtigung. Der Block B22 gibt einen Zeitraum an, während dessen der RAM-Test für den Testblock mit der ID-Nummer 1 durchgeführt wird. Der Block B23 gibt einen Zeitraum an, während dessen das Lesezugriffsverbot gesetzt wird.If the RAM test for the test block, its ID number 1 is, ends, gives the processor core 11 a permission setting request to the MPU 15th out. The MPU 15th a read access authorization. The block B22 specifies a period of time during which the RAM test for the test block with the ID number 1 is carried out. The block B23 Specifies a period of time during which the read access prohibition is set.

Der Prozessorkern 11 gibt vom Zeitpunkt t21 bis zum Zeitpunkt t22 eine Lesezugriffsanforderung an die MPU 15 aus. Da das Lesezugriffsverbot jedoch in der MPU 15 festgelegt ist, wartet der Prozessorkern 12, bis der Lesezugriff erlaubt wird. Dann, zum Zeitpunkt t23, gibt der Prozessorkern 12 eine Lesezugriffsanforderung an die MPU 15 aus. Zum Zeitpunkt t23 wird die Lesezugriffserlaubnis in der MPU 15 gesetzt, so dass der Prozessorkern 12 die Daten aus den Aktualisierungsdaten 31 liest. Der Block B24 gibt einen Zeitraum an, in dem das Gerät wartet, bis der Lesezugriff gestattet wird. Der Block B25 gibt eine Zeitspanne an, während der die Lesezugriffserlaubnis gesetzt ist. Der Block B26 gibt einen Zeitraum an, während dessen der Prozessorkern 12 Daten liest.The processor core 11 issues a read access request to the MPU from time t21 to time t22 15th out. However, since the read access ban is in the MPU 15th is set, the processor core waits 12 until read access is allowed. Then, at time t23, the processor core gives up 12 a read access request to the MPU 15th out. At time t23, the read access permission in the MPU 15th set so that the processor core 12 the data from the update data 31 read. The block B24 specifies a period of time during which the device waits until read access is permitted. The block B25 indicates a period of time during which the read access permission is set. The block B26 specifies a period during which the processor core 12 Reads data.

Dann startet der Prozessorkern 11 zum Zeitpunkt t24 den RAM-Test des Testblocks mit der ID-Nummer 2 und zum Zeitpunkt t25 den RAM-Test des Testblocks mit der ID-Nummer 3. Der Block B27 gibt einen Zeitraum an, in dem der RAM-Test des Testblocks mit der ID-Nummer 2 durchgeführt wird.Then the processor core starts 11 at time t24 the RAM test of the test block with the ID number 2 and at time t25 the RAM test of the test block with the ID number 3 . The block B27 specifies a period in which the RAM test of the test block with the ID number 2 is carried out.

Die wie oben beschrieben konfigurierte ECU 1 umfasst die Prozessorkerne 11, 12 und 13, das RAM 21 und die MPU 15. Das RAM 21 speichert die Aktualisierungsdaten 31, auf die jeder der Prozessorkerne 11, 12 und 13 lesbar zugreifen kann.The ECU configured as described above 1 includes the processor cores 11 , 12 and 13th , the RAM 21st and the MPU 15th . The RAM 21st saves the update data 31 on which each of the processor cores 11 , 12 and 13th readable access.

Die MPU 15 steuert die Prozessorkerne 11, 12 und 13 so, dass die Prozessorkerne 12 und 13 nicht auf die Aktualisierungsdaten 31 zugreifen können, wenn der Prozessorkern 11 auf die Aktualisierungsdaten 31 zugreift.The MPU 15th controls the processor cores 11 , 12 and 13th so that the processor cores 12 and 13th not on the update data 31 can access if the processor core 11 on the update data 31 accesses.

Wie oben beschrieben, steuert die MPU 15 in der ECU 1 die Prozessorkerne 11, 12, 13 so, dass die Prozessorkerne 12, 13 nicht auf die Aktualisierungsdaten 31 zugreifen können, wenn der Prozessorkern 11 auf die Aktualisierungsdaten 31 zugreift. Das heißt, da die ECU 1 die MPU 15 anstelle einer Semaphore verwendet, ist eine spezielle Schnittstelle auf der Seite des Prozessorkerns, die auf die Daten zugreift, nicht erforderlich. Infolgedessen kann die ECU 1 eine Erhöhung des Overheads unterdrücken und eine Erhöhung des Programmcodes aufgrund der exklusiven Steuerung zwischen den Prozessorkernen unterdrücken.As described above, the MPU controls 15th in the ECU 1 the processor cores 11 , 12 , 13th so that the processor cores 12 , 13th not on the update data 31 can access if the processor core 11 on the update data 31 accesses. That is, since the ECU 1 the MPU 15th used instead of a semaphore, a special interface is not required on the side of the processor core that accesses the data. As a result, the ECU 1 suppress an increase in overhead and an increase in program code suppress due to the exclusive control between the processor cores.

Die ECU 1 braucht keinen dedizierten gemeinsamen Speicher für den Datentransfer zwischen dem Prozessorkern 11 und den Prozessorkernen 12 und 13. Jeder der Prozessorkerne 11, 12 und 13 kann direkt auf den RAM 21 zugreifen, um Daten zwischen dem Prozessorkern 11 und den Prozessorkernen 12 und 13 zu übertragen.The ECU 1 does not need a dedicated shared memory for data transfer between the processor core 11 and the processor cores 12 and 13th . Each of the processor cores 11 , 12 and 13th can go directly to the RAM 21st access to data between the processor core 11 and the processor cores 12 and 13th transferred to.

Der Prozessorkern 11 setzt die MPU 15 auf ein Lesezugriffsverbot, um einen Lesezugriff von den Prozessorkernen 12 und 13 auf die Aktualisierungsdaten 31 während eines Zeitraums zu verhindern, in dem der Prozessorkern 11 auf die Aktualisierungsdaten 31 zugreift. Ferner setzt der Prozessorkern 11 die MPU 15 auf eine Lesezugriffsberechtigung, um einen Lesezugriff auf die Aktualisierungsdaten 31 von den Prozessorkernen 12 und 13 während eines Zeitraums, in dem der Prozessorkern 11 nicht auf die Aktualisierungsdaten 31 zugreift, zu erlauben.The processor core 11 sets the MPU 15th on a read access ban to allow read access from the processor cores 12 and 13th on the update data 31 to prevent during a period in which the processor core 11 on the update data 31 accesses. The processor core also sets 11 the MPU 15th to read access authorization to read access to the update data 31 from the processor cores 12 and 13th during a period in which the processor core 11 not on the update data 31 accesses, to allow.

Wenn eine Datenaktualisierung von einem spezifischen Prozessorkern durchgeführt wird, ist typischerweise das Schreiben von Daten von einem anderen Prozessorkern verboten, aber das Lesen von Daten ist nicht verboten. Der Grund dafür ist, dass das Lesen der Daten das Schreiben der Daten nicht beeinträchtigt.Typically, when data update is performed by a specific processor core, writing of data from another processor core is prohibited, but reading of data is not prohibited. The reason for this is that reading the data does not interfere with writing the data.

Im Gegensatz dazu verwendet der ECU 1 die MPU 15, um eine beabsichtigte Lesezugriffsanforderung zu erkennen, indem er absichtlich das Lesen von Daten aus einem anderen Prozessorkern verbietet. Normalerweise wird eine MPU verwendet, um einen unbeabsichtigten unberechtigten Zugriff zu erkennen. Im Gegensatz dazu kann die ECU 1 durch die Verwendung der MPU 15 zur Erkennung des beabsichtigten Zugriffs den Overhead reduzieren, der bei jeder Verwendung der Semaphore anfällt.In contrast, the ECU uses 1 the MPU 15th to detect an intentional read access request by deliberately prohibiting reading data from another processor core. Usually an MPU is used to detect unintentional unauthorized access. In contrast, the ECU 1 by using the MPU 15th to identify the intended access, reduce the overhead that is incurred each time the semaphore is used.

Der RAM 21 der ECU 1 speichert die Handshake-Daten 41, 51, die für das Handshake zwischen den Prozessorkernen 11, 12, 13 verwendet werden und auf die die Prozessorkerne 11, 12, 13 lesbar und aktualisierbar zugreifen können.The RAM 21st the ECU 1 saves the handshake data 41 , 51 that is responsible for the handshake between the processor cores 11 , 12 , 13th are used and on which the processor cores 11 , 12 , 13th readable and updatable.

Wenn die Prozessorkerne 12 und 13 während eines Zeitraums, in dem der Prozessorkern 11 auf die Aktualisierungsdaten 31 zugreift, eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 ausgeben, gibt die MPU 15 eine Lesezugriffsverbotsmeldung an die Prozessorkerne 12 und 13 aus.When the processor cores 12 and 13th during a period in which the processor core 11 on the update data 31 a read access request to the update data 31 to the MPU 15th output, gives the MPU 15th a read access prohibition message to the processor cores 12 and 13th out.

Jeder der Prozessorkerne 12 und 13 erhält von der MPU 15 eine Leseverbotsmeldung. Dann setzt jeder der Prozessorkerne 12 und 13 „Leseanforderung vorhanden“, was anzeigt, dass eine Lesezugriffsanforderung in den Handshake-Daten 41, 51 vorhanden ist, die für das Handshake zwischen dem Prozessorkern 11 und den Prozessorkernen 12, 13 verwendet werden.Each of the processor cores 12 and 13th received from the MPU 15th a reading prohibition message. Then each of the processor cores sets 12 and 13th "Read request present", which indicates that there is a read access request in the handshake data 41 , 51 is present for the handshake between the processor core 11 and the processor cores 12 , 13th be used.

Die Prozessorkerne 12 und 13 geben jeweils eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus, wenn die Handshake-Daten 41, 51 von einem Zustand, in dem „Leseanforderung vorhanden“ gesetzt ist, in einen Zustand wechseln, in dem „Leseanforderung nicht vorhanden“ gesetzt ist.The processor cores 12 and 13th each give a read access request to the update data 31 to the MPU 15th off when the handshake data 41 , 51 change from a state in which "read request available" is set to a state in which "read request not available" is set.

Während des Zeitraums, in dem der Prozessorkern 11 auf die Aktualisierungsdaten 31 zugreift, bestätigt der Prozessorkern 11 die Handshake-Daten 41 und 51 jedes Mal wiederholt, wenn der RAM-Test für einen Testblock beendet wird. Dadurch wird bestimmt, ob in den Handshake-Daten 41, 51 „Leseanforderung vorhanden“ gesetzt ist.During the period in which the processor core 11 on the update data 31 the processor core confirms 11 the handshake data 41 and 51 repeated every time the RAM test is terminated for a test block. This determines whether in the handshake data 41 , 51 "Read request available" is set.

Wenn der Prozessorkern 11 bestimmt, dass in den Handshake-Daten 41 und 51 „Leseanforderung vorhanden“ gesetzt ist, unterbricht der Prozessorkern 11 den RAM-Test und setzt die MPU 15 auf die Lesezugriffsberechtigung.When the processor core 11 determines that in the handshake data 41 and 51 "Read request present" is set, the processor core interrupts 11 the RAM test and resets the MPU 15th on the read access authorization.

Wenn der Prozessorkern 11 bestimmt, dass „Leseanforderung vorhanden“ in den Handshake-Daten 41, 51 gesetzt ist, setzt der Prozessorkern 11 „Leseanforderung nicht vorhanden“, was anzeigt, dass keine Lesezugriffsanforderung in den Handshake-Daten 41 und 51 vorhanden ist.When the processor core 11 determines that "read request exists" in the handshake data 41 , 51 is set, the processor core resets 11 “Read request absent”, which indicates that there is no read access request in the handshake data 41 and 51 is available.

Infolgedessen unterbricht das Steuergerät 1 den RAM-Test, wenn der Prozessorkern 11 eine Lesezugriffsanforderung von den Prozessorkernen 12 und 13 erkennt. Die Prozessorkerne 12 und 13 können so veranlasst werden, den Lesezugriff auf die Aktualisierungsdaten 31 durchzuführen. Daher kann das Steuergerät 1 die Zeit verkürzen, die die Prozessorkerne 12 und 13 auf einen Lesezugriff auf die Aktualisierungsdaten 31 warten. Die ECU 1 kann die Verarbeitungseffizienz der Prozessorkerne 12 und 13 verbessern.As a result, the control unit interrupts 1 the RAM test if the processor core 11 a read access request from the processor cores 12 and 13th recognizes. The processor cores 12 and 13th can be made to have read access to the update data 31 perform. Therefore, the control unit 1 shorten the time that the processor cores 12 and 13th to read access to the update data 31 waiting. The ECU 1 can improve the processing efficiency of the processor cores 12 and 13th improve.

In der oben beschriebenen Ausführungsform entspricht die ECU 1 einer elektronischen Steuereinheit, der RAM 21 einer gemeinsam genutzten Datenspeichereinheit und die MPU 15 einer Speicherschutzeinheit. Die Aktualisierungsdaten 31 entsprechen einer gemeinsam genutzten Dateneinheit. Der Prozessorkern 11 entspricht einem spezifischen Prozessorkern, und die Prozessorkerne 12 und 13 entsprechen verschiedenen Prozessorkernen.In the embodiment described above, the ECU corresponds to 1 an electronic control unit, the RAM 21st a shared data storage unit and the MPU 15th a memory protection unit. The update dates 31 correspond to a shared data unit. The processor core 11 corresponds to a specific processor core, and the processor cores 12 and 13th correspond to different processor cores.

S110 entspricht der Verarbeitung als Verbotseinstelleinheit; S180 entspricht der Verarbeitung als Erlaubniseinstelleinheit. Ein Lesezugriffsverbot entspricht einem Zugriffsverbot; eine Lesezugriffserlaubnis entspricht einer Zugriffserlaubnis. S110 corresponds to processing as a prohibition setting unit; S180 corresponds to processing as a permission setting unit. A read access ban corresponds to an access ban; a read access permit corresponds to an access permit.

Das RAM 21 entspricht einer Handshake-Speichereinheit. Die Ausgabe der Lesezugriffsverbotsmeldung entspricht einem Speicherzugriffsverletzungsprozess. S310 entspricht der Verarbeitung als Anforderungsanwesenheitseinstelleinheit; S320 und S330 entsprechen der Verarbeitung als Wiederzugriffseinheit. Die Ausgabe der „Leseanforderung vorhanden“ entspricht einer Zugriffsanforderungsanwesenheit.The RAM 21st corresponds to a handshake memory unit. The output of the read access prohibition message corresponds to a memory access violation process. S310 corresponds to processing as a request presence setting unit; S320 and S330 correspond to processing as a re-access unit. The output of the “read request present” corresponds to an access request presence.

Darüber hinaus entspricht S150 der Verarbeitung als Anforderungsbestimmungseinheit und Unterbrechungseinheit; S190 entspricht der Verarbeitung als Anforderungsabwesenheitseinstelleinheit. „Beenden des RAM-Tests für einen Testblock“ entspricht einer Bestätigungsbedingung. Der RAM-Test entspricht einem Zugriffsprozess; „Leseanforderung nicht vorhanden“ entspricht einer Abwesenheit der Zugriffsanforderung.In addition, corresponds S150 the processing as a request determination unit and an interruption unit; S190 corresponds to processing as a request absence setting unit. “Ending the RAM test for a test block” corresponds to a confirmation condition. The RAM test corresponds to an access process; "Read request not available" corresponds to an absence of the access request.

[Zweite Ausführungsform][Second embodiment]

Im Folgenden wird eine zweite Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. Beachten Sie, dass in der zweiten Ausführungsform Teile beschrieben werden, die sich von der ersten Ausführungsform unterscheiden. Für gemeinsame Komponenten werden die gleichen Bezugszeichen angegeben.A second embodiment of the present disclosure will be described below with reference to the drawings. Note that parts different from the first embodiment will be described in the second embodiment. The same reference symbols are given for common components.

Die ECU 1 der zweiten Ausführungsform unterscheidet sich von der ersten Ausführungsform dadurch, dass ein erster Prozessorprozess und ein Datenleseprozess sowie eine Prioritätstabelle TB2 hinzugefügt werden. Im ROM 14 ist eine Prioritätstabelle TB2 gespeichert. Wie in 10 dargestellt, ist die Prioritätstabelle TB2 eine Tabelle, die eine Prozessorkernnummer zur Identifizierung der Prozessorkerne 11, 12 und 13 sowie eine der Prozessorkernnummer entsprechende Priorität speichert. Die Prozessorkernnummern „1“, „2“ und „3“ entsprechen den Prozessorkernen 11, 12 bzw. 13. In der in 10 dargestellten Prioritätstabelle TB2 ist die Priorität des Prozessorkerns 11 auf „Hoch“, die Priorität des Prozessorkerns 12 auf „Mittel“ und die Priorität des Prozessorkerns 13 auf „Niedrig“ gesetzt.The ECU 1 The second embodiment differs from the first embodiment in that a first processor process and a data reading process as well as a priority table TB2 to be added. In the ROM 14th is a priority table TB2 saved. As in 10 shown is the priority table TB2 a table containing a processor core number to identify the processor cores 11 , 12 and 13th and a priority corresponding to the processor core number. The processor core numbers " 1 "," 2 " and " 3 “Correspond to the processor cores 11 , 12 or. 13th . In the in 10 priority table shown TB2 is the priority of the processor core 11 to "high", the priority of the processor core 12 to "Medium" and the priority of the processor core 13th set to "Low".

Als nächstes wird die Prozedur des vom Prozessorkern 11 ausgeführten Erstprozessorprozesses beschrieben. Der Erst-Prozessor-Prozess ist ein Prozess, der jedes Mal gestartet wird, wenn ein voreingestellter Ausführungszyklus abläuft. In der vorliegenden Ausführungsform wird der Ausführungszyklus eines Erst-Prozessor-Prozesses z.B. auf 10 ms eingestellt. Ferner ist der Erst-Prozessor-Prozess ein Prozess zur sequentiellen Ausführung von N geteilten Prozessen (im Folgenden als Teilungsprozess bezeichnet). N ist eine ganze Zahl von 2 oder mehr.Next is the procedure of the processor core 11 executed first processor process. The first processor process is a process that is started every time a preset execution cycle occurs. In the present embodiment, the execution cycle of a first processor process is set to 10 ms, for example. Further, the primary processor process is a process for sequentially executing N divided processes (hereinafter referred to as a division process). N is an integer of 2 or more.

Wenn der erste Prozessorprozess ausgeführt wird, setzt der Prozessorkern 11, wie in 11 dargestellt, zunächst ein Leseverbot für die Prozessorkerne 12, 13 in S410 auf die gleiche Weise wie in S110.When the first processor process runs, the processor core resets 11 , as in 11 shown, initially a reading ban for the processor cores 12 , 13th in S410 in the same way as in S110 .

In S420 speichert der Prozessorkern 11 1 im Verarbeitungsbefehlswert i, der im RAM 21 bereitgestellt wird. Dann führt der Prozessorkern 11 in S430 den i-ten Teilungsprozess aus. Ferner speichert der Prozessorkern 11 in S440 einen Mehrwert, der durch Addition von 1 zu dem in dem Verarbeitungsbefehlswert i gespeicherten Wert als Verarbeitungsbefehlswert i erhalten wird.In S420 the processor core stores 11 1 in the processing command value i stored in the RAM 21st provided. Then the processor core performs 11 in S430 the i-th division process. The processor core also stores 11 in S440 a multi-value obtained by adding 1 to the value stored in the processing command value i as the processing command value i.

Als nächstes überprüft der Prozessorkern 11 in S450 die Handshake-Daten 41, 51. Dann, in S460, bestimmt der Prozessorkern 11, ob in mindestens einem der Handshake-Daten 41 und 51 „Leseanforderung vorhanden“ gesetzt ist. Wenn hier „Leseanforderung abwesend“ in den Handshake-Daten 41, 51 eingestellt ist, bestimmt der Prozessorkern 11 in S470, ob der in der Verarbeitungsanweisung gespeicherte Wert i größer als die voreingestellte Anzahl N von Divisionsprozessen ist.Next, the processor core checks 11 in S450 the handshake data 41 , 51 . Then in S460 , determines the processor core 11 whether in at least one of the handshake data 41 and 51 "Read request available" is set. If "read request absent" in the handshake data 41 , 51 is set, determines the processor core 11 in S470 whether the value i stored in the processing instruction is greater than the preset number N of division processes.

Wenn hier der in der Verarbeitungsanweisung gespeicherte Wert i gleich oder kleiner als die Anzahl N der Divisionsprozesse ist, geht der Prozessorkern 11 zu S430 über. Wenn andererseits der im Verarbeitungsbefehlswert i gespeicherte Wert größer ist als die Anzahl der Divisionsprozesse, setzt der Prozessorkern 11 in S480 auf die gleiche Weise wie in S180 eine Leseberechtigung für die Prozessorkerne 12 und 13. Der erste Prozessorprozess wird beendet.Here, if the value i stored in the processing instruction is equal to or less than the number N of division processes, the processor core goes 11 to S430 about. On the other hand, when the value stored in the processing instruction value i is larger than the number of division processes, the processor core sets 11 in S480 in the same way as in S180 a read authorization for the processor cores 12 and 13th . The first processor process is terminated.

Wenn „Leseanforderung vorhanden“ in mindestens einem der Handshake-Daten 41 und 51 in S460 eingestellt ist, bezieht sich der Prozessorkern 11 auf die Prioritätstabelle TB2 in S490.If “read request exists” in at least one of the handshake data 41 and 51 in S460 is set, refers to the processor core 11 on the priority table TB2 in S490 .

Dann, in S500, setzt der Prozessorkern 11 eine Leseberechtigung für den Prozessorkern mit der höchsten Priorität unter den Prozessorkernen, die den Handshake-Daten entsprechen, für die „Leseanforderung vorhanden“ gesetzt ist. Wenn zum Beispiel die Prozessorkerne, die den Handshake-Daten entsprechen, für die „Leseanforderung vorhanden“ eingestellt ist, die Prozessorkerne 12 und 13 sind, setzt der Prozessorkern 11 die Leseberechtigung für den Prozessorkern 12.Then in S500 , sets the processor core 11 Read authorization for the processor core with the highest priority among the processor cores that correspond to the handshake data for which "read request exists" is set. For example, if the processor cores that correspond to the handshake data are set for the "read request present", the processor cores 12 and 13th the processor core resets 11 the read authorization for the processor core 12 .

Darüber hinaus setzt der Prozessorkern 11 in S510 die „Leseanforderung nicht vorhanden“ auf die Handshake-Daten für den Prozessorkern, der unter den Prozessorkernen, die den Handshake-Daten entsprechen, für die „Leseanforderung vorhanden“ eingestellt ist, die höchste Priorität hat. Dann endet der erste Prozessorprozess.In addition, the processor core continues 11 in S510 the "read request not available" on the handshake data for the processor core, which among the processor cores that correspond to the handshake data for the "read request available" has the highest priority. Then the first processor process ends.

Als nächstes wird der Ablauf eines Datenleseprozesses beschrieben, der vom Prozessorkern 12 ausgeführt wird. Der Datenleseprozess ist ein Prozess, der gestartet wird, wenn im Prozessorkern 12 eine Datenleseanforderung an die Aktualisierungsdaten 31 erfolgt.Next, the flow of a data reading process performed by the processor core will be described 12 is performed. The data reading process is a process that is started when in the processor core 12 a data read request to the update data 31 he follows.

Wenn der Datenlesevorgang ausgeführt wird, führt der Prozessorkern 12 zunächst einen Datenlesezugriff in S610 durch, wie in 12 dargestellt. Konkret gibt der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus.When the data read is in progress, the processor core performs 12 first a data read access in S610 through, as in 12 shown. Specifically, there is the processor core 12 a read access request to the update data 31 to the MPU 15th out.

Dann, in S620, bestimmt der Prozessorkern 12, ob ein Zugriffsfehler vorliegt. Konkret stellt der Prozessorkern 12 fest, dass ein Zugriffsfehler vorliegt, wenn er die Mitteilung über das Lesezugriffsverbot von der MPU 15 erhält, und er stellt fest, dass kein Zugriffsfehler vorliegt, wenn er die Mitteilung über die Lesezugriffserlaubnis von der MPU 15 erhält.Then in S620 , determines the processor core 12 whether there is an access error. Specifically, the processor core provides 12 determines that there is an access error when receiving the read access prohibition notification from the MPU 15th and it determines that there is no access error when it receives the read access permission notification from the MPU 15th receives.

Hier setzt der Prozessorkern 12 bei einem Zugriffsfehler „Leseanforderung vorhanden“ in den Handshake-Daten 41 in S630. Dann, in S640, bestimmt der Prozessorkern 12, ob „Leseanforderung vorhanden“ in den Handshake-Daten 41 gesetzt ist. Wenn hier „Leseanforderung vorhanden“ eingestellt ist, wartet der Prozessorkern 12, bis „Leseanforderung nicht vorhanden“ in den Handshake-Daten 41 eingestellt ist, indem er die Verarbeitung in S640 wiederholt.This is where the processor core sets in 12 in the event of an access error "read request present" in the handshake data 41 in S630 . Then in S640 , determines the processor core 12 Whether "read request exists" in the handshake data 41 is set. If "Read request exists" is set here, the processor core waits 12 until "Read request not available" in the handshake data 41 is set by having processing in S640 repeated.

Wenn dann in den Handshake-Daten 41 „Leseanforderung vorhanden“ eingestellt ist, geht der Prozess zu S650 über. Wenn kein Zugriffsfehler in S620 vorliegt, fährt der Prozess mit S650 fort.If then in the handshake data 41 "Read request available" is set, the process goes to S650 about. If there is no access error in S620 is present, the process continues S650 away.

Wenn dann zu S650 übergegangen wird, greift der Prozessorkern 12 auf die Aktualisierungsdaten 31 zu und liest die Daten aus den Aktualisierungsdaten 31. Dann prüft der Prozessorkern 12 in S660 die Handshake-Daten 51.If then to S650 is passed over, the processor core takes over 12 on the update data 31 and reads the data from the update data 31 . Then the processor core checks 12 in S660 the handshake data 51 .

Dann bestimmt in S670 der Prozessorkern 12, ob in den Handshake-Daten 51 „Leseanforderung vorhanden“ eingestellt ist. Wenn „Leseanforderung nicht vorhanden“ in den Handshake-Daten 51 gesetzt ist, setzt der Prozessorkern 12 die Leseberechtigung für den Prozessorkern 13 in S680 und beendet den Datenlesevorgang.Then definitely in S670 the processor core 12 whether in the handshake data 51 "Read request available" is set. If “read request does not exist” in the handshake data 51 is set, the processor core resets 12 the read authorization for the processor core 13th in S680 and terminates the data reading.

Wenn „Leseanforderung vorhanden“ in den Handshake-Daten 51 in S670 eingestellt ist, bezieht sich der Prozessorkern 12 auf die Prioritätstabelle TB2 in S690. Dann setzt der Prozessorkern 12 in S700 eine Leseberechtigung für den Prozessorkern mit der höchsten Priorität unter den Prozessorkernen, die den Handshake-Daten entsprechen, für die „Leseanforderung vorhanden“ gesetzt ist. Wenn z.B. der Prozessorkern, der den Handshake-Daten entspricht, für die „Leseanforderung vorhanden“ gesetzt ist, der Prozessorkern 13 ist, setzt der Prozessorkern 12 die Leseberechtigung für den Prozessorkern 13.If "read request exists" in the handshake data 51 in S670 is set, refers to the processor core 12 on the priority table TB2 in S690. Then the processor core continues 12 in S700 Read authorization for the processor core with the highest priority among the processor cores that correspond to the handshake data for which "read request exists" is set. If, for example, the processor core that corresponds to the handshake data is set for the "read request available", the processor core 13th is, resets the processor core 12 the read authorization for the processor core 13th .

Darüber hinaus setzt der Prozessorkern 12 in S710 die „Leseanforderung nicht vorhanden“ auf die Handshake-Daten für den Prozessorkern mit der höchsten Priorität unter den Prozessorkernen, die den Handshake-Daten entsprechen, für die die „Leseanforderung vorhanden“ eingestellt ist. Dann endet der Datenleseprozess.In addition, the processor core continues 12 in S710 the “read request not available” to the handshake data for the processor core with the highest priority among the processor cores that correspond to the handshake data for which the “read request available” is set. Then the data reading process ends.

Der vom Prozessorkern 13 ausgeführte Datenleseprozess ist derselbe wie der vom Prozessorkern 12 ausgeführte Datenleseprozess mit dem Unterschied, dass die Handshake-Daten 41 in die Handshake-Daten 51 geändert werden und somit die detaillierte Beschreibung wegfällt.The one from the processor core 13th The data reading process performed is the same as that by the processor core 12 executed data reading process with the difference that the handshake data 41 into the handshake data 51 can be changed and the detailed description is omitted.

Sodann wird ein konkretes Beispiel für eine Zugriffsentscheidung durch die MPU 15 nach der zweiten Ausführungsform beschrieben. Wie in 13 dargestellt, setzt der Prozessorkern 11 zunächst ein Lesezugriffsverbot, um einen Lesezugriff auf die Aktualisierungsdaten 31 von den Prozessorkernen 12 und 13 zu verbieten. Der Pfeil L31 zeigt an, dass der Prozessorkern 11 eine Aufforderung zum Setzen eines Verbots an die MPU 15 ausgibt.A concrete example of an access decision by the MPU is then given 15th described according to the second embodiment. As in 13th shown, the processor core is set 11 first a read access prohibition in order to allow read access to the update data 31 from the processor cores 12 and 13th to disallow. The arrow L31 indicates that the processor core 11 a request to set a ban on the MPU 15th issues.

Dann beginnt der Prozessorkern 11 mit der sequentiellen Ausführung der N Teilungsprozesse. Das Quadrat SQ3 zeigt an, dass der Prozessorkern 11 sequentiell N Teilungsprozesse ausführt. Nachdem die sequentielle Ausführung der N Teilungsprozesse gestartet wurde, gibt der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L32 zeigt an, dass der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 anfordert.Then the processor core begins 11 with the sequential execution of the N division processes. The square SQ3 indicates that the processor core 11 sequentially executes N division processes. After the sequential execution of the N division processes has started, the processor core gives 12 a read access request to the update data 31 to the MPU 15th out. The arrow L32 indicates that the processor core 12 a read access request to the update data 31 requests.

Da hier das Lesezugriffsverbot in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsverbotsmeldung an den Prozessorkern 12 aus, was durch den Pfeil L33 angezeigt wird. Nach Erhalt der Lesezugriffsverbotsmeldung von der MPU 15 setzt der Prozessorkern 12 „Leseanforderung vorhanden“ auf die Handshake-Daten 41, wie durch den Pfeil L34 angezeigt.Since here the read access prohibition in the MPU 15th is set, the MPU 15th a read access prohibition message to the processor core 12 from what by the arrow L33 is shown. After receiving the read access prohibition message from the MPU 15th sets the processor core 12 "Read request available" on the handshake data 41 as by the arrow L34 displayed.

Danach bestätigt der Prozessorkern 12 die Handshake-Daten 41, wie durch das Quadrat SQ4 und den Pfeil L35 angezeigt, und wartet, bis in den Handshake-Daten 41 „Leseanforderung nicht vorhanden“ eingestellt ist.Then the processor core confirms 12 the handshake data 41 as by the square SQ4 and the arrow L35 appears and waits for the handshake data 41 "Read request not available" is set.

Ferner gibt der Prozessorkern 13 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L36 zeigt an, dass der Prozessorkern 13 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 anfordert.There is also the processor core 13th a read access request to the update data 31 to the MPU 15th out. The arrow L36 indicates that the processor core 13th a read access request to the update data 31 requests.

Da hier das Lesezugriffsverbot in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsverbotsmeldung an den Prozessorkern 13 aus, wie durch den Pfeil L37 angezeigt wird. Nach Erhalt der Lesezugriffsverbotsmeldung von der MPU 15 setzt der Prozessorkern 13 „Leseanforderung vorhanden“ auf die Handshake-Daten 51, wie durch den Pfeil L38 angezeigt.Since here the read access prohibition in the MPU 15th is set, the MPU 15th a read access prohibition message to the processor core 13th out as by the arrow L37 is shown. After receiving the read access prohibition message from the MPU 15th sets the processor core 13th "Read request available" on the handshake data 51 as by the arrow L38 displayed.

Danach bestätigt der Prozessorkern 13 die Handshake-Daten 51, wie durch das Quadrat SQ5 und den Pfeil L39 angezeigt, und wartet, bis in den Handshake-Daten 51 „Leseanforderung nicht vorhanden“ eingestellt ist.Then the processor core confirms 13th the handshake data 51 as by the square SQ5 and the arrow L39 appears and waits for the handshake data 51 "Read request not available" is set.

Auf der anderen Seite führt der Prozessorkern 11 sequentiell die N-Abteilungsprozesse aus und aktualisiert die Aktualisierungsdaten 31, wie durch den Pfeil L40 angezeigt. Ferner bestimmt der Prozessorkern 11, wie durch den Pfeil L41 angezeigt, ob in den Handshake-Daten 41 und 51 „Leseanforderung vorhanden“ gesetzt ist.On the other hand, the processor core leads 11 sequentially executes the N division processes and updates the update data 31 as by the arrow L40 displayed. The processor core also determines 11 as by the arrow L41 indicated whether in the handshake data 41 and 51 "Read request available" is set.

Da hier in den Handshake-Daten 41 und 51 „Leseanforderung vorhanden“ eingestellt ist, bezieht sich der Prozessorkern 11 auf die im ROM 14 gespeicherte Prioritätstabelle TB2, wie durch den Pfeil L42 angezeigt.Because here in the handshake data 41 and 51 "Read request present" is set, the processor core refers 11 to those in the ROM 14th saved priority table TB2 as by the arrow L42 displayed.

Dann legt der Prozessorkern 11 die Lesezugriffsberechtigung fest, um den Lesezugriff von dem Prozessorkern 12 zu erlauben, der unter den Prozessorkernen 12 und 13 die höchste Priorität hat. Der Pfeil L43 zeigt an, dass der Prozessorkern 11 eine Berechtigungseinstellanforderung des Prozessorkerns 12 an die MPU 15 ausgibt.Then the processor core attaches 11 Set the read access permission to read access from the processor core 12 to allow who among the processor cores 12 and 13th has the highest priority. The arrow L43 indicates that the processor core 11 an authorization setting request of the processor core 12 to the MPU 15th issues.

Dann setzt der Prozessorkern 11 „Leseanforderung nicht vorhanden“ in den Handshake-Daten 41, wie durch den Pfeil L44 angezeigt. Wenn „Leseanforderung nicht vorhanden“ in den Handshake-Daten 41 eingestellt ist, gibt der Prozessorkern 12 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L45 zeigt an, dass der Prozessorkern 12 einen Lesezugriff auf die Aktualisierungsdaten 31 anfordert.Then the processor core continues 11 "Read request not available" in the handshake data 41 as by the arrow L44 displayed. If “read request does not exist” in the handshake data 41 is set, gives the processor core 12 a read access request to the update data 31 to the MPU 15th out. The arrow L45 indicates that the processor core 12 read access to the update data 31 requests.

Da hier die Lesezugriffsberechtigung in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsberechtigungsmeldung an den Prozessorkern 12 aus. Beim Erwerb der Lesezugriffsberechtigungsmeldung von der MPU 15 greift der Prozessorkern 12 auf die Aktualisierungsdaten 31 zu und liest die Daten aus den Aktualisierungsdaten 31. Der Pfeil L46 zeigt an, dass der Prozessorkern 12 die Daten aus den Aktualisierungsdaten 31 liest.Since the read access authorization in the MPU 15th is set, the MPU 15th a read access authorization message to the processor core 12 out. When purchasing the read access authorization message from the MPU 15th the processor core engages 12 on the update data 31 and reads the data from the update data 31 . The arrow L46 indicates that the processor core 12 the data from the update data 31 read.

Da hier „Leseanforderung vorhanden“ in den Handshake-Daten 51 eingestellt ist, bezieht sich der Prozessorkern 12 auf die im ROM 14 gespeicherte Prioritätstabelle TB2, wie durch den Pfeil L47 angezeigt.Since there is “read request” in the handshake data 51 is set, refers to the processor core 12 to those in the ROM 14th saved priority table TB2 as by the arrow L47 displayed.

Dann legt der Prozessorkern 12 eine Lesezugriffsberechtigung fest, um einen Lesezugriff vom Prozessorkern 13 zu ermöglichen. Der Pfeil L48 zeigt an, dass der Prozessorkern 12 eine Berechtigungseinstellanforderung des Prozessorkerns 13 an die MPU 15 ausgibt.Then the processor core attaches 12 set a read access authorization to read access from the processor core 13th to enable. The arrow L48 indicates that the processor core 12 an authorization setting request of the processor core 13th to the MPU 15th issues.

Dann setzt der Prozessorkern 12 „Leseanforderung nicht vorhanden“ auf die Handshake-Daten 51, wie durch den Pfeil L49 angezeigt. Wenn „Leseanforderung nicht vorhanden“ in den Handshake-Daten 51 eingestellt ist, gibt der Prozessorkern 13 eine Lesezugriffsanforderung auf die Aktualisierungsdaten 31 an die MPU 15 aus. Der Pfeil L50 zeigt an, dass der Prozessorkern 13 einen Lesezugriff auf die Aktualisierungsdaten 31 anfordert.Then the processor core continues 12 "Read request not available" on the handshake data 51 as by the arrow L49 displayed. If “read request does not exist” in the handshake data 51 is set, gives the processor core 13th a read access request to the update data 31 to the MPU 15th out. The arrow L50 indicates that the processor core 13th read access to the update data 31 requests.

Da hier die Lesezugriffsberechtigung in der MPU 15 eingestellt ist, gibt die MPU 15 eine Lesezugriffsberechtigungsmeldung an den Prozessorkern 13 aus. Beim Erwerb der Lesezugriffsberechtigungsmeldung von der MPU 15 greift der Prozessorkern 13 auf die Aktualisierungsdaten 31 zu und liest die Daten aus den Aktualisierungsdaten 31. Der Pfeil L51 zeigt an, dass der Prozessorkern 13 die Daten aus den Aktualisierungsdaten 31 liest.Since the read access authorization in the MPU 15th is set, the MPU 15th a read access authorization message to the processor core 13th out. When purchasing the read access authorization message from the MPU 15th the processor core engages 13th on the update data 31 and reads the data from the update data 31 . The arrow L51 indicates that the processor core 13th the data from the update data 31 read.

Der wie oben beschrieben konfigurierte ECU 1 enthält eine Prioritätstabelle TB2, in der die Priorität für jeden der Prozessorkerne 11, 12 und 13 festgelegt ist. Dann setzt der Prozessorkern 11 auf der Grundlage der Prioritätstabelle TB2 die MPU 15 auf Lesezugriffsberechtigung für den Prozessorkern 12 mit der höchsten Priorität unter den Prozessorkernen 12 und 13, die die Lesezugriffsanforderung an die MPU 15 ausgeben.The ECU configured as described above 1 contains a priority table TB2 in which the priority for each of the processor cores 11 , 12 and 13th is fixed. Then the processor core continues 11 based on the priority table TB2 the MPU 15th to read access authorization for the processor core 12 with the highest priority among the processor cores 12 and 13th making the read access request to the MPU 15th output.

Ferner setzt der Prozessorkern 11 in den Handshake-Daten 41, die für den Handshake zwischen dem Prozessorkern 11 und dem Prozessorkern 12 verwendet werden, „Leseanforderung nicht vorhanden“. Auf diese Weise kann die ECU 1 dem Prozessorkern 12 mit einer höheren Priorität den Zugriff auf die Aktualisierungsdaten 31 anstelle des Prozessorkerns 13 mit einer niedrigeren Priorität ermöglichen. Auf diese Weise kann die ECU 1 das Auftreten einer Situation unterdrücken, in der die Ausführung des Prozesses mit der höheren Priorität aufgrund der Ausführung des Prozesses mit der niedrigeren Priorität verzögert wird, und die Reaktionsfähigkeit der ECU 1 kann verbessert werden.The processor core also sets 11 in the handshake data 41 responsible for the handshake between the processor core 11 and the processor core 12 are used, "read request does not exist". In this way the ECU 1 the processor core 12 access to the update data with a higher priority 31 instead of the processor core 13th with a lower priority. In this way the ECU 1 suppress the occurrence of a situation in which the execution of the higher priority process is delayed due to the execution of the lower priority process, and the responsiveness of the ECU 1 can be improved.

In der oben beschriebenen Ausführungsform entspricht S410 der Verarbeitung als Verbotseinstelleinheit; S480 entspricht der Verarbeitung als Erlaubniseinstelleinheit. Außerdem entspricht S630 der Verarbeitung als Einstelleinheit; S640 entspricht der Verarbeitung als Einheit für den erneuten Zugriff.In the embodiment described above corresponds to S410 processing as a prohibition setting unit; S480 corresponds to processing as a permission setting unit. Also corresponds to S630 the processing as a setting unit; S640 corresponds to processing as a unit for re-access.

Darüber hinaus entspricht S460 der Verarbeitung als Anforderungsbestimmungseinheit, S460, S490 und S500 entsprechen der Verarbeitung als Unterbrechungseinheit; S510 entspricht der Verarbeitung als Anforderungsabwesenheitseinstelleinheit. „Beenden eines Teilungsprozesses“ entspricht einer Bestätigungsbedingung; der Teilungsprozess entspricht einem Zugriffsprozess.In addition, corresponds S460 the processing as a requirement determination unit, S460 , S490 and S500 correspond to processing as an interruption unit; S510 corresponds to processing as a request absence setting unit. “Ending a sharing process” corresponds to a confirmation condition; the sharing process corresponds to an access process.

[Dritte Ausführungsform][Third embodiment]

Im Folgenden wird eine dritte Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. In der dritten Ausführungsform werden Teile beschrieben, die sich von der ersten Ausführungsform unterscheiden. Gemeinsame Komponenten werden mit den gleichen Bezugszeichen versehen.A third embodiment of the present disclosure will now be described with reference to the drawings. In the third embodiment, parts different from the first embodiment will be described. Common components are given the same reference symbols.

Wie in 14 dargestellt, unterscheidet sich die ECU 1 gemäß der dritten Ausführungsform von der ersten Ausführungsform in (i) dem Punkt, dass ein Peripheriegerät 17 hinzugefügt wird, (ii) dem Punkt, dass die RAMs 21, 22, 23 weggelassen werden, während ein RAM 26 hinzugefügt wird, und (iii) dem Punkt, dass das ROM 14 ein Peripheriegerät-Steuerprogramm 71 zur Steuerung eines Peripheriegeräts 17 speichert.As in 14th shown, the ECU is different 1 according to the third embodiment from the first embodiment in (i) the point that a peripheral device 17th is added, (ii) the point that the RAMs 21st , 22nd , 23 can be omitted while a RAM 26th is added, and (iii) the point that the ROM 14th a peripheral device control program 71 to control a peripheral device 17th saves.

Das Peripheriegerät 17 und das RAM 26 sind an den Systembus 16 angeschlossen. Das Peripheriegerät 17 gibt ein PWM-Signal an das Stellglied 4 entsprechend einer Anweisung von den Prozessorkernen 11, 12 und 13 aus. PWM ist eine Abkürzung für Pulsweitenmodulation. In der vorliegenden Ausführungsform ist das Stellglied 4 eine elektronische Drosselklappe.The peripheral device 17th and the RAM 26th are on the system bus 16 connected. The peripheral device 17th sends a PWM signal to the actuator 4th according to an instruction from the processor cores 11 , 12 and 13th out. PWM is an abbreviation for pulse width modulation. In the present embodiment, the actuator is 4th an electronic throttle.

Der RAM 26 speichert die Handshake-Daten 61, 62, 63. Die Handshake-Daten 61 sind Daten, in denen die Anwesenheit (auch Vorhandensein genannt) oder die Abwesenheit (auch Nichtvorhandensein genannt) der Ausführungsanforderung des Peripheriegerät-Steuerprogramms 71 durch den Prozessorkern 11 festgelegt wird. Bei den Handshake-Daten 62 handelt es sich um Daten, in denen das Vorhandensein oder Nichtvorhandensein der Ausführungsanforderung des Peripheriegerät-Steuerprogramms 71 durch den Prozessorkern 12 festgelegt wird. Die Handshake-Daten 63 sind Daten, in denen das Vorhandensein oder Nichtvorhandensein der Ausführungsanforderung des Peripheriegerät-Steuerprogramms 71 durch den Prozessorkern 13 festgelegt wird.The RAM 26th saves the handshake data 61 , 62 , 63 . The handshake data 61 are data in which the presence (also called the presence) or the absence (also called the absence) of the execution request of the peripheral device control program 71 through the processor core 11 is determined. With the handshake data 62 it is data in which the presence or absence of the execution request of the peripheral device control program 71 through the processor core 12 is determined. The handshake data 63 is data in which the presence or absence of the execution request of the peripheral device control program 71 through the processor core 13th is determined.

Darüber hinaus unterscheiden sich bei der ECU 1 der dritten Ausführungsform die folgenden ersten und zweiten Unterschiede von der ersten Ausführungsform beim Datenzugriff. Der erste Unterschied besteht darin, dass die Prozessorkerne 11, 12 und 13 auf das Peripheriegerätesteuerprogramm 71 im ROM 14 zugreifen, anstatt auf die Aktualisierungsdaten 31 im RAM 21 zuzugreifen. Der zweite Unterschied besteht darin, dass die Prozessorkerne 12 und 13 auf die Handshake-Daten 62 und 63 im RAM 26 zugreifen, anstatt auf die Handshake-Daten 41 und 51 im RAM 21 zuzugreifen.They also differ at the ECU 1 The third embodiment has the following first and second differences from the first embodiment in data access. The first difference is that the processor cores 11 , 12 and 13th on the peripheral device control program 71 in the ROM 14th instead of accessing the update data 31 in RAM 21st to access. The second difference is that the processor cores 12 and 13th on the handshake data 62 and 63 in RAM 26th access instead of the handshake data 41 and 51 in RAM 21st to access.

Wie oben beschrieben, ähnelt die ECU 1 nach der dritten Ausführungsform der ersten Ausführungsform in Bezug auf den Datenzugriff, weshalb auf die Beschreibung eines Verarbeitungsverfahrens anhand eines Flussdiagramms verzichtet wird. Als nächstes wird ein erstes konkretes Beispiel für eine Execution Access Arbitration durch die MPU 15 beschrieben.As described above, the ECU is similar 1 according to the third embodiment of the first embodiment with respect to data access, which is why a description of a processing method based on a flowchart is omitted. A first concrete example of execution access arbitration by the MPU is presented next 15th described.

Wie in 15 gezeigt, legt der Prozessorkern 11 zunächst ein Ausführungszugriffsverbot fest, um einen Ausführungszugriff von den Prozessorkernen 12 und 13 auf das Peripheriegerätesteuerungsprogramm 71 zu verbieten. Der Pfeil L61 zeigt an, dass der Prozessorkern 11 eine Verbotseinstellanforderung an die MPU 15 ausgibt.As in 15th shown, lays the processor core 11 First, an execution access prohibition is set in order to allow execution access from the processor cores 12 and 13th on the peripheral device control program 71 to disallow. The arrow L61 indicates that the processor core 11 a prohibition setting request to the MPU 15th issues.

Als nächstes holt der Prozessorkern 11 das Peripheriegerät-Steuerprogramm 71 aus dem ROM 14, wie durch den Pfeil L62 angezeigt. Dann führt der Prozessorkern 11 die Steuerung zur Ausgabe eines PWM-Signals an das Stellglied 4 aus, wie durch den Pfeil L63 angezeigt. Ferner legt der Prozessorkern 11, wie durch den Pfeil L64 angezeigt, eine Ausführungszugriffsberechtigung fest, um einen Ausführungszugriff von den Prozessorkernen 12 und 13 auf das Peripheriegerät-Steuerprogramm 71 zu ermöglichen. Der Pfeil L64 zeigt an, dass der Prozessorkern 11 eine Berechtigungseinstellanforderung an die MPU 15 ausgibt.Next, the processor core picks up 11 the peripheral control program 71 from the ROM 14th as by the arrow L62 displayed. Then the processor core performs 11 the controller for outputting a PWM signal to the actuator 4th out as by the arrow L63 displayed. Furthermore, the processor core sets 11 as by the arrow L64 displayed, an Execute Access permission is set to allow execution access from the processor cores 12 and 13th on the peripheral device control program 71 to enable. The arrow L64 indicates that the processor core 11 an authorization setting request to the MPU 15th issues.

Danach gibt der Prozessorkern 12 eine Abrufanforderung an das Peripheriegerätesteuerungsprogramm 71 an die MPU 15 aus. Der Pfeil L65 zeigt an, dass der Prozessorkern 12 den Abruf an das Peripheriegerät-Steuerprogramm 71 anfordert.Then there is the processor core 12 a polling request to the peripheral control program 71 to the MPU 15th out. The arrow L65 indicates that the processor core 12 the call to the peripheral device control program 71 requests.

Da hier die Ausführungszugriffsberechtigung in der MPU 15 festgelegt ist, gibt die MPU 15 eine Benachrichtigung über die Ausführungszugriffsberechtigung an den Prozessorkern 12 aus. Nach Erwerb der Ausführungszugriffsberechtigung von der MPU 15 greift der Prozessorkern 12 auf das ROM 14 zu, holt das Peripheriegerät-Steuerprogramm 71 und führt die Steuerung aus, um ein PWM-Signal an das Stellglied 4 auszugeben, wie durch den Pfeil L66 angezeigt.Since the execution access authorization in the MPU 15th is set, gives the MPU 15th a notification of execution access to the processor core 12 out. After obtaining execution access authorization from the MPU 15th the processor core engages 12 on the ROM 14th to, fetches the peripheral device control program 71 and executes the control to send a PWM signal to the actuator 4th output as indicated by the arrow L66 displayed.

Außerdem gibt der Prozessorkern 13 eine Abrufanforderung an das Peripheriegerätesteuerungsprogramm 71 an die MPU 15 aus. Der Pfeil L67 zeigt an, dass der Prozessorkern 13 den Abruf an das Peripheriegerät-Steuerprogramm 71 anfordert.There is also the processor core 13th a polling request to the peripheral control program 71 to the MPU 15th out. The arrow L67 indicates that the processor core 13th the call to the peripheral device control program 71 requests.

Da hier die Ausführungszugriffsberechtigung in der MPU 15 festgelegt wird, gibt die MPU 15 eine Benachrichtigung über die Ausführungszugriffsberechtigung an den Prozessorkern 13 aus. Nach Erhalt der Ausführungszugriffsberechtigung von der MPU 15 greift der Prozessorkern 13 auf das ROM 14 zu, holt das Peripheriegerät-Steuerprogramm 71 und führt die Steuerung aus, um ein PWM-Signal an das Stellglied 4 auszugeben, wie durch den Pfeil L68 angezeigt.Since the execution access authorization in the MPU 15th is set, gives the MPU 15th a notification of execution access to the processor core 13th out. After receiving execution access authorization from the MPU 15th the processor core engages 13th on the ROM 14th to, fetches the peripheral device control program 71 and executes the control to send a PWM signal to the actuator 4th output as indicated by the arrow L68 displayed.

Als nächstes wird ein zweites konkretes Beispiel für eine Execution Access Arbitration durch die MPU 15 beschrieben. Wie in 16 gezeigt, legt der Prozessorkern 11 zunächst ein Ausführungszugriffsverbot fest, um einen Ausführungszugriff von den Prozessorkernen 12 und 13 auf das Peripheriegerätesteuerungsprogramm 71 zu verbieten. Der Pfeil L71 zeigt an, dass der Prozessorkern 11 eine Verbotseinstellanforderung an die MPU 15 ausgibt.A second concrete example of execution access arbitration by the MPU is presented next 15th described. As in 16 shown, lays the processor core 11 First, an execution access prohibition is set in order to allow execution access from the processor cores 12 and 13th on the peripheral device control program 71 to disallow. The arrow L71 indicates that the processor core 11 a prohibition setting request to the MPU 15th issues.

Dann beginnt der Prozessorkern 11 mit der Ausführung eines Aktuatorsteuerungsprozesses zur Steuerung des Aktors 4. Nach dem Start des Aktuatorsteuerungsprozesses gibt der Prozessorkern 12 eine Abrufanforderung an das Peripheriegerätesteuerungsprogramm 71 an die MPU 15 aus. Der Pfeil L72 zeigt an, dass der Prozessorkern 12 die Abrufanforderung an das Peripheriegerätesteuerprogramm 71 anfordert.Then the processor core begins 11 with the execution of an actuator control process to control the actuator 4th . After starting the actuator control process, the processor core gives 12 a polling request to the peripheral control program 71 to the MPU 15th out. The arrow L72 indicates that the processor core 12 the polling request to the peripheral device control program 71 requests.

Da hier das Ausführungszugriffsverbot in der MPU 15 festgelegt ist, gibt die MPU 15 eine Mitteilung über das Ausführungszugriffsverbot an den Prozessorkern 12 aus, wie durch den Pfeil L73 angezeigt wird. Nach Erhalt der Ausführungszugriffsverbotsmeldung von der MPU 15 setzt der Prozessorkern 12 „Ausführungszugriffsanforderung vorhanden“ in die Handshake-Daten 62, wie durch den Pfeil L74 angezeigt.Since the execution access prohibition in the MPU 15th is set, gives the MPU 15th a notification of the prohibition of execution access to the processor core 12 out as by the arrow L73 is shown. After receiving the execution access prohibition message from the MPU 15th sets the processor core 12 "Execution access request present" in the handshake data 62 as by the arrow L74 displayed.

Danach bestätigt der Prozessorkern 12 die Handshake-Daten 62, wie durch das Quadrat SQ7 und den Pfeil L75 angezeigt, und wartet, bis „Ausführungszugriffsanforderung nicht vorhanden“ in den Handshake-Daten 62 eingestellt ist.Then the processor core confirms 12 the handshake data 62 as by the square SQ7 and the arrow L75 appears and waits until "Execution Access Request Not Present" in the handshake data 62 is set.

Andererseits wiederholt der Prozessorkern 11, wenn die Ausführung der Aktor-Steuerungsverarbeitung gestartet wird, die durch die Pfeile L76, L77, L78 und L80 im Quadrat SQ6 angezeigte Verarbeitung. Der Pfeil L76 zeigt einen Prozess zur Diagnose des Aktors 4 an. Der Pfeil L77 zeigt einen Prozess zum Abrufen des Peripheriegerät-Steuerprogramms 71 aus dem ROM 14 an. Der Pfeil L78 ist ein Prozess zur Ausgabe eines Ausgabebefehlswerts an das Peripheriegerät 17. Der Pfeil L80 ist ein Prozess zum Bestätigen der Handshake-Daten 61, 62, 63.On the other hand, the processor core repeats 11 when the execution of the actuator control processing is started indicated by the arrows L76 , L77 , L78 and L80 in the square SQ6 displayed processing. The arrow L76 shows a process for diagnosing the actuator 4th at. The arrow L77 Fig. 10 shows a process of calling the peripheral device control program 71 from the ROM 14th at. The arrow L78 is a process of issuing an output command value to the peripheral device 17th . The arrow L80 is a process of confirming the handshake data 61 , 62 , 63 .

Wenn der Ausgangsbefehlswert vom Prozessorkern 11 erfasst wird, gibt das Peripheriegerät 17 ein PWM-Signal an das Stellglied 4 aus, wie durch den Pfeil L79 angezeigt. Wenn dann „Ausführungszugriffsanforderung vorhanden“ in den Handshake-Daten 62 eingestellt ist, legt der Prozessorkern 11 eine Ausführungszugriffsberechtigung fest, um einen Ausführungszugriff von den Prozessorkernen 12 und 13 auf das Peripheriegerät-Steuerprogramm 71 zu erlauben. Der Pfeil L81 zeigt an, dass der Prozessorkern 11 eine Berechtigungseinstellanforderung an die MPU 15 ausgibt.When the output command value from the processor core 11 is detected, gives the peripheral device 17th a PWM signal to the actuator 4th out as by the arrow L79 displayed. If then “execution access request exists” in the handshake data 62 is set, sets the processor core 11 set an execution access permission to execute access from the processor cores 12 and 13th on the peripheral device control program 71 to allow. The arrow L81 indicates that the processor core 11 an authorization setting request to the MPU 15th issues.

Darüber hinaus setzt der Prozessorkern 11 „Ausführungszugriffsanforderung nicht vorhanden“ in den Handshake-Daten 62, wie durch den Pfeil L82 angezeigt. Wenn „Ausführungszugriffsanforderung nicht vorhanden“ (Abwesenheit der Ausführungszugriffsanforderung) in den Handshake-Daten 62 eingestellt ist, gibt der Prozessorkern 12 eine Abrufanforderung an das Peripheriegerät-Steuerprogramm 71 an die MPU 15 aus. Der Pfeil L83 zeigt an, dass der Prozessorkern 12 die Abrufanforderung an das Peripheriegerät-Steuerprogramm 71 anfordert.In addition, the processor core continues 11 "Execution access request not available" in the handshake data 62 as by the arrow L82 displayed. When “Execution Access Request Not Present” (absence of Execution Access Request) in the handshake data 62 is set, gives the processor core 12 a polling request to the peripheral device control program 71 to the MPU 15th out. The arrow L83 indicates that the processor core 12 the polling request to the peripheral device control program 71 requests.

Da hier die Ausführungszugriffsberechtigung in der MPU 15 festgelegt ist, gibt die MPU 15 eine Benachrichtigung über die Ausführungszugriffsberechtigung an den Prozessorkern 12 aus. Nach Erwerb der Ausführungszugriffsberechtigung von der MPU 15 greift der Prozessorkern 12 auf das ROM 14 zu, holt das Peripheriegerät-Steuerprogramm 71 und gibt einen Ausgabebefehlswert an das Peripheriegerät 17 aus, wie durch den Pfeil L84 angezeigt.Since the execution access authorization in the MPU 15th is set, gives the MPU 15th a notification of execution access to the processor core 12 out. After obtaining execution access authorization from the MPU 15th the processor core engages 12 on the ROM 14th to, fetches the peripheral device control program 71 and gives an output command value to the peripheral device 17th out as by the arrow L84 displayed.

Nachdem der Ausgangsbefehlswert vom Prozessorkern 12 erfasst wurde, gibt das Peripheriegerät 17 ein PWM-Signal an das Stellglied 4 aus, wie durch den Pfeil L85 angezeigt. Die wie oben beschrieben konfigurierte ECU 1 umfasst die Prozessorkerne 11, 12 und 13, das ROM 14 und die MPU 15.After the output command value from the processor core 12 the peripheral device 17th a PWM signal to the actuator 4th out as by the arrow L85 displayed. The ECU configured as described above 1 includes the processor cores 11 , 12 and 13th , the ROM 14th and the MPU 15th .

Das ROM 14 speichert das Peripheriegerät-Steuerprogramm 71, auf das von jedem der Prozessorkerne 11, 12 und 13 lesbar zugegriffen werden kann. Die MPU 15 steuert die Prozessorkerne 11, 12, 13, so dass die Prozessorkerne 12, 13 nicht auf das Peripheriegerätesteuerprogramm 71 zugreifen können, wenn der Prozessorkern 11 auf das Peripheriegerätesteuerprogramm 71 zugreift.The ROM 14th saves the peripheral control program 71 , to that of each of the processor cores 11 , 12 and 13th can be read legibly. The MPU 15th controls the processor cores 11 , 12 , 13th so that the processor cores 12 , 13th not on the peripheral device control program 71 can access if the processor core 11 on the peripheral device control program 71 accesses.

Wie oben beschrieben, steuert in der ECU 1 die MPU 15 die Prozessorkerne 11, 12, 13, so dass die Prozessorkerne 12, 13 nicht auf das Peripheriegerätesteuerprogramm 71 zugreifen können, wenn der Prozessorkern 11 auf das Peripheriegerätesteuerprogramm 71 zugreift. Das heißt, da das Steuergerät 1 die MPU 15 anstelle einer Semaphore verwendet, ist auf der Seite des Prozessorkerns, die auf das Programm zugreift, keine spezielle Schnittstelle erforderlich. Infolgedessen kann die ECU 1 aufgrund der ausschließlichen Steuerung zwischen den Prozessorkernen einen Anstieg des Overheads und eine Zunahme des Programmcodes unterdrücken.As described above, controls in the ECU 1 the MPU 15th the processor cores 11 , 12 , 13th so that the processor cores 12 , 13th not on the peripheral device control program 71 can access if the processor core 11 on the peripheral device control program 71 accesses. That is, there the control unit 1 the MPU 15th used instead of a semaphore, no special interface is required on the side of the processor core that accesses the program. As a result, the ECU 1 suppress an increase in overhead and an increase in program code due to the exclusive control between the processor cores.

Wenn die Verarbeitung zwischen den Prozessorkernen 11, 12 und 13 nicht synchronisiert ist, greifen die Prozessorkerne 11, 12 und 13 außerdem gleichzeitig auf das Peripheriegerät 17 zu, und es kommt zu Fehlfunktionen im Peripheriegerät 17. Eine solche Fehlfunktion kann von der ECU 1 unterdrückt werden. Darüber hinaus kann das Steuergerät 1 eine schnelle Übertragung des Rechts zur Nutzung des Peripheriegeräts 17 zwischen den Prozessorkernen 11, 12 und 13 realisieren, wodurch die Zuverlässigkeit und Reaktionsfähigkeit eines Systems mit dem Steuergerät 1 und dem Stellglied 4 verbessert wird.When processing between processor cores 11 , 12 and 13th is not synchronized, the processor cores attack 11 , 12 and 13th also at the same time on the peripheral device 17th and the peripheral device malfunctions 17th . Such malfunction can be caused by the ECU 1 be suppressed. In addition, the control unit 1 a fast transfer of the right to use the peripheral device 17th between the processor cores 11 , 12 and 13th realize, increasing the reliability and responsiveness of a system with the control unit 1 and the actuator 4th is improved.

Der Prozessorkern 11 setzt die MPU 15 auf ein Ausführungszugriffsverbot, das die Prozessorkerne 12 und 13 daran hindert, während eines Zeitraums, in dem der Prozessorkern 11 auf das Peripheriegerätesteuerungsprogramm 71 zugreift, einen Ausführungszugriff auf das Peripheriegerätesteuerungsprogramm 71 durchzuführen. Weiterhin setzt der Prozessorkern 11 die MPU 15 auf eine Ausführungszugriffsberechtigung, die es den Prozessorkernen 12 und 13 erlaubt, einen Ausführungszugriff auf das Peripheriegerätesteuerungsprogramm 71 während eines Zeitraums durchzuführen, in dem der Prozessorkern 11 nicht auf das Peripheriegerätesteuerungsprogramm 71 zugreift.The processor core 11 sets the MPU 15th on an execution access prohibition that the processor cores 12 and 13th prevents during a period when the processor core 11 on the peripheral device control program 71 accesses, execute access to the peripheral device control program 71 perform. The processor core continues 11 the MPU 15th to an Execution Access Permit it to the processor cores 12 and 13th allows execution access to the peripheral device control program 71 perform during a period in which the processor core 11 not on the peripheral device control program 71 accesses.

Wie oben beschrieben, verwendet der ECU 1 die MPU 15 zur Erkennung einer beabsichtigten Ausführungszugriffsanforderung, indem er absichtlich einen Ausführungszugriff von einem anderen Prozessorkern verbietet. Infolgedessen kann die ECU 1 den Overhead reduzieren, der bei jeder Verwendung einer Semaphore ständig erzeugt wird.As described above, the ECU uses 1 the MPU 15th to detect an intended execution access request by deliberately prohibiting execution access from another processor core. As a result, the ECU 1 reduce the overhead that is constantly generated each time a semaphore is used.

Im RAM 26 des Steuergeräts 1 werden die Handshake-Daten 62, 63 gespeichert, die für das Handshake zwischen den Prozessorkernen 11, 12, 13 verwendet werden und auf die von jedem der Prozessorkerne 11, 12, 13 lesbar und aktualisierbar zugegriffen werden kann.In RAM 26th of the control unit 1 are the handshake data 62 , 63 saved for the handshake between the processor cores 11 , 12 , 13th used and on by each of the processor cores 11 , 12 , 13th readable and updatable.

Die Prozessorkerne 12 und 13 geben jeweils innerhalb eines Zeitraums, in dem der Prozessorkern 11 auf das Peripheriegerätesteuerungsprogramm 71 zugreift, eine Abrufanforderung an das Peripheriegerätesteuerungsprogramm 71 an die MPU 15 aus. In einem solchen Fall gibt die MPU 15 eine Ausführungszugriffsverbotsmeldung an die Prozessorkerne 12 und 13 aus.The processor cores 12 and 13th give each within a period in which the processor core 11 on the peripheral device control program 71 accesses, a polling request to the peripheral device control program 71 to the MPU 15th out. In such a case the MPU 15th an execution access prohibition message to the processor cores 12 and 13th out.

Die Prozessorkerne 12 und 13 erhalten jeweils eine Ausführungszugriffsverbotsmeldung von der MPU 15 und setzen „Ausführungszugriffsanforderung vorhanden“. Hier zeigt „Ausführungszugriffsanforderung vorhanden“ an, dass in den Handshaking-Daten 62 und 63, die für das Handshaking zwischen dem Prozessorkern 11 und den Prozessorkernen 12 und 13 verwendet werden, eine Ausführungszugriffsanforderung vorhanden ist.The processor cores 12 and 13th each receive an execution access prohibition message from the MPU 15th and set "Execution access request present". Here, "Execution Access Request Present" indicates that in the handshaking data 62 and 63 responsible for handshaking between the processor core 11 and the processor cores 12 and 13th be used, there is an execution access request.

Die Handshake-Daten 62, 63 wechseln von dem Zustand, in dem „Ausführungszugriffsanforderung vorhanden“ (Anwesenheit von „Ausführungszugriffsanforderung“) auf den Zustand, in dem „Ausführungszugriffsanforderung nicht vorhanden“ (Abwesenheit von „Ausführungszugriffsanforderung“) gesetzt ist. In diesem Fall gibt jeder der Prozessorkerne 12 und 13 eine Abrufanforderung an das Peripheriegerätesteuerprogramm 71 an die MPU 15 wieder aus.The handshake data 62 , 63 change from the state in which "execution access request exists" (presence of "execution access request") to the state in which "execution access request does not exist" (absence of "execution access request") is set. In this case, each of the processor cores gives 12 and 13th a polling request to the peripheral device control program 71 to the MPU 15th out again.

Der Prozessorkern 11 bestätigt wiederholt die Handshake-Daten 62 und 63 jedes Mal, wenn der Prozess der Ausgabe des Ausgabebefehlswerts an das Peripheriegerät 17 innerhalb des Zeitraums abgeschlossen ist, in dem der Prozessorkern 11 auf das Peripheriegerät-Steuerprogramm 71 zugreift. Der Prozessorkern 11 bestimmt dann, ob in den Handshake-Daten 62, 63 das Vorhandensein einer „Ausführungszugriffsanforderung“ eingestellt ist.The processor core 11 repeatedly confirms the handshake data 62 and 63 every time the process of issuing the output command value to the peripheral device 17th is completed within the period in which the processor core 11 on the peripheral device control program 71 accesses. The processor core 11 then determines whether in the handshake data 62 , 63 the presence of an "execution access request" is set.

Der Prozessorkern 11 bestimmt, dass „Ausführungszugriffsanforderung vorhanden“ in den Handshake-Daten 62, 63 gesetzt wird. In diesem Fall unterbricht der Prozessorkern 11 den Prozess des Abrufs des Peripheriegerät-Steuerprogramms 71 und der Ausgabe des Ausgabebefehlswerts an das Peripheriegerät 17 und setzt die MPU 15 auf die Ausführungszugriffsberechtigung.The processor core 11 determines that "Execution Access Request Present" in the handshake data 62 , 63 is set. In this case the processor core interrupts 11 the process of getting the peripheral device control program 71 and outputting the output command value to the peripheral device 17th and resets the MPU 15th on the execution access privilege.

Der Prozessorkern 11 bestimmt, dass in den Handshake-Daten 62, 63 die „Leseanforderung vorhanden“ eingestellt ist. In diesem Fall legt der Prozessorkern 11 „Ausführungszugriffsanforderung nicht vorhanden“ fest, was anzeigt, dass in den Handshake-Daten 62, 63 keine Ausführungszugriffsanforderung vorhanden ist.The processor core 11 determines that in the handshake data 62 , 63 the "read request available" is set. In this case, the processor core sets 11 "Execution Access Request Not Present", which indicates that the handshake data 62 , 63 there is no execution access request.

Infolgedessen erkennt der Prozessorkern 11 die Ausführungszugriffsanforderung von den Prozessorkernen 12 und 13. In diesem Fall unterbricht das Steuergerät 1 den Prozess des Abrufs des Peripheriegerät-Steuerprogramms 71 und der Ausgabe des Ausgabebefehlswerts an das Peripheriegerät 17 und veranlasst die Prozessorkerne 12 und 13, den Ausführungszugriff auf das Peripheriegerät-Steuerprogramm 71 durchzuführen. Aus diesem Grund kann das Steuergerät 1 die Zeit verkürzen, die die Prozessorkerne 12 und 13 auf den Ausführungszugriff auf das Peripheriegerät-Steuerprogramm 71 warten, und kann die Verarbeitungseffizienz der Prozessorkerne 12 und 13 verbessern.As a result, the processor core recognizes 11 the execution access request from the processor cores 12 and 13th . In this case, the control unit interrupts 1 the process of getting the peripheral device control program 71 and outputting the output command value to the peripheral device 17th and causes the processor cores 12 and 13th , the Execute access to the peripheral device control program 71 perform. Because of this, the control unit can 1 shorten the time that the processor cores 12 and 13th on execution access to the peripheral device control program 71 wait, and can improve the processing efficiency of the processor cores 12 and 13th improve.

In der oben beschriebenen Ausführungsform entspricht das ROM 14 einer gemeinsam genutzten Datenspeichereinheit, das Peripheriegerät-Steuerprogramm 71 entspricht einer gemeinsam genutzten Dateneinheit und das RAM 26 entspricht einer Handshake-Speichereinheit. Das Ausführungszugriffsverbot entspricht einem Zugriffsverbot; die Ausführungszugriffserlaubnis entspricht einer Zugriffserlaubnis.In the embodiment described above, the ROM corresponds to 14th a shared data storage unit, the peripheral device control program 71 corresponds to a shared data unit and the RAM 26th corresponds to a handshake memory unit. The execution access prohibition corresponds to an access prohibition; the execution access permit corresponds to an access permit.

Der RAM 26 entspricht einer Handshake-Speichereinheit; eine Ausgabe der Ausführungszugriffsverbotsmeldung entspricht einem Speicherzugriffsverletzungsprozess; und „Ausführungszugriffsanforderung vorhanden“ entspricht einem Vorhandensein einer Zugriffsanforderung.The RAM 26th corresponds to a handshake storage unit; an output of the execution access prohibition message corresponds to a memory access violation process; and “Execution Access Request Present” corresponds to the presence of an access request.

Ferner entspricht „Beendigung des Prozesses der Ausgabe des Ausgabebefehlswerts an das Peripheriegerät 17“ einer Bestätigungsbedingung. „Der Prozess des Abrufens des Peripheriegerät-Steuerprogramms 71 und der Ausgabe des Ausgabebefehlswerts an das Peripheriegerät 17“ ist ein Zugriffsprozess. Die „Ausführungszugriffsanforderung nicht vorhanden“ entspricht der Abwesenheit einer Zugriffsanforderung.Further, “finishing the process corresponds to outputting the output command value to the peripheral device 17th “A confirmation condition. "The process of getting the peripheral device control program 71 and outputting the output command value to the peripheral device 17th “Is an access process. The “execution access request absent” corresponds to the absence of an access request.

[Vierte Ausführungsform][Fourth embodiment]

Im Folgenden wird eine vierte Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. Beachten Sie, dass in der vierten Ausführungsform Teile beschrieben werden, die sich von der dritten Ausführungsform unterscheiden. Gemeinsame Komponenten werden mit den gleichen Bezugszeichen beschrieben.A fourth embodiment of the present disclosure will now be described with reference to the drawings. Note that parts different from the third embodiment will be described in the fourth embodiment. Common components are described with the same reference symbols.

Die ECU 1 der vierten Ausführungsform unterscheidet sich von der dritten Ausführungsform dadurch, dass die in der zweiten Ausführungsform dargestellte Prioritätstabelle TB2 im ROM 14 gespeichert ist. Als nächstes wird ein konkretes Beispiel für eine Execution Access Arbitration durch die MPU 15 der vierten Ausführungsform beschrieben.The ECU 1 The fourth embodiment differs from the third embodiment in that the priority table shown in the second embodiment TB2 in the ROM 14th is stored. Next is a concrete example of execution access arbitration by the MPU 15th of the fourth embodiment.

Wie in 17 dargestellt, legt der Prozessorkern 11 zunächst ein Ausführungszugriffsverbot fest, das den Ausführungszugriff von den Prozessorkernen 12 und 13 auf das Peripheriegerätesteuerungsprogramm 71 verbietet. Der Pfeil L91 zeigt an, dass der Prozessorkern 11 eine Verbotseinstellanforderung an die MPU 15 ausgibt.As in 17th shown, sets the processor core 11 First of all, an execution access prohibition is established that prevents execution access from the processor cores 12 and 13th on the peripheral device control program 71 forbids. The arrow L91 indicates that the processor core 11 a prohibition setting request to the MPU 15th issues.

Dann beginnt der Prozessorkern 11 mit der Ausführung eines Aktuatorsteuerungsprozesses zur Steuerung des Aktors 4. Nach dem Start des Aktuatorsteuerungsprozesses gibt der Prozessorkern 12 eine Abrufanforderung an das Peripheriegerätesteuerungsprogramm 71 an die MPU 15 aus. Der Pfeil L92 zeigt an, dass der Prozessorkern 12 den Abruf an das Peripheriegerät-Steuerprogramm 71 angefordert hat.Then the processor core begins 11 with the execution of an actuator control process to control the actuator 4th . After starting the actuator control process, the processor core gives 12 a polling request to the peripheral control program 71 to the MPU 15th out. The arrow L92 indicates that the processor core 12 the call to the peripheral device control program 71 has requested.

Da hier das Ausführungszugriffsverbot in der MPU 15 festgelegt ist, gibt die MPU 15 eine Mitteilung über das Ausführungszugriffsverbot an den Prozessorkern 12 aus, wie durch den Pfeil L93 angezeigt wird. Nach Erhalt der Mitteilung über das Ausführungszugriffsverbot von der MPU 15 setzt der Prozessorkern 12 „Ausführungszugriffsanforderung vorhanden“ in die Handshake-Daten 62, wie durch den Pfeil L94 angezeigt.Since the execution access prohibition in the MPU 15th is set, gives the MPU 15th a notification of the prohibition of execution access to the processor core 12 out as by the arrow L93 is shown. After receiving the execution access prohibition notification from the MPU 15th sets the processor core 12 "Execution access request present" in the handshake data 62 as by the arrow L94 displayed.

Danach bestätigt der Prozessorkern 12 die Handshake-Daten 62, wie durch das Quadrat SQ9 und den Pfeil L95 angezeigt, und wartet, bis in den Handshake-Daten 62 „Ausführungszugriffsanforderung nicht vorhanden“ eingestellt ist.Then the processor core confirms 12 the handshake data 62 , as indicated by the square SQ9 and the arrow L95 appears and waits for the handshake data 62 "Execution access request does not exist" is set.

Ferner gibt der Prozessorkern 13 nach dem Start des Stellantriebs-Steuerungsprozesses eine Abrufanforderung an das Peripheriegerät-Steuerungsprogramm 71 an die MPU 15 aus. Der Pfeil L96 zeigt an, dass der Prozessorkern 13 den Abruf an das Peripheriegerät-Steuerprogramm 71 angefordert hat.There is also the processor core 13th after the start of the actuator control process, a request to the peripheral device control program 71 to the MPU 15th out. The arrow L96 indicates that the processor core 13th the call to the peripheral device control program 71 has requested.

Da hier das Ausführungszugriffsverbot in der MPU 15 festgelegt ist, gibt die MPU 15 eine Mitteilung über das Ausführungszugriffsverbot an den Prozessorkern 13 aus, wie durch den Pfeil L97 angezeigt wird. Nach Erhalt der Ausführungszugriffsverbotsmeldung von der MPU 15 setzt der Prozessorkern 13 „Ausführungszugriffsanforderung vorhanden“ in die Handshake-Daten 63, wie durch den Pfeil L98 angezeigt.Since the execution access prohibition in the MPU 15th is set, gives the MPU 15th a notification of the prohibition of execution access to the processor core 13th out as by the arrow L97 is shown. After receiving the execution access prohibition message from the MPU 15th sets the processor core 13th "Execution access request present" in the handshake data 63 as by the arrow L98 displayed.

Danach bestätigt der Prozessorkern 13 die Handshake-Daten 63, wie durch das Quadrat SQ10 und den Pfeil L99 angezeigt, und wartet, bis in den Handshake-Daten 63 „Ausführungszugriffsanforderung nicht vorhanden“ eingestellt ist.Then the processor core confirms 13th the handshake data 63 , as indicated by the square SQ10 and the arrow L99 appears and waits for the handshake data 63 "Execution access request does not exist" is set.

Andererseits wiederholt der Prozessorkern 11, wenn die Ausführung der Aktor-Steuerungsverarbeitung gestartet wird, die Verarbeitung, die durch die Pfeile L100, L101 und L102 im Quadrat SQ8 angezeigt wird. Der Pfeil L100 zeigt einen Vorgang zum Abrufen des Peripheriegerät-Steuerprogramms 71 aus dem ROM 14 an. Der Pfeil L101 ist ein Prozess der Ausgabe eines PWM-Signals an das Stellglied 4. Der Pfeil L102 ist ein Prozess zum Bestätigen der Handshake-Daten 61, 62, 63.On the other hand, the processor core repeats 11 when the execution of the actuator control processing is started, the processing indicated by the arrows L100 , L101 and L102 is displayed in the square SQ8. The arrow L100 Fig. 11 shows a process for calling the peripheral device control program 71 from the ROM 14th at. The arrow L101 is a process of outputting a PWM signal to the actuator 4th . The arrow L102 is a process of confirming the handshake data 61 , 62 , 63 .

Wenn dann „Ausführungszugriffsanforderung vorhanden“ in den Handshake-Daten 62 eingestellt ist, wird auf die im ROM 14 gespeicherte Prioritätstabelle TB2 verwiesen, wie durch den Pfeil L103 angezeigt.If then “execution access request exists” in the handshake data 62 is set to the one in ROM 14th saved priority table TB2 referenced as by the arrow L103 displayed.

Als nächstes legt der Prozessorkern 11 eine Ausführungszugriffsberechtigung fest, um einen Ausführungszugriff vom Prozessorkern 12 auf das Peripheriegerätesteuerungsprogramm 71 zu ermöglichen. Der Pfeil L104 zeigt an, dass der Prozessorkern 11 eine Berechtigungseinstellanforderung an die MPU 15 ausgibt.Next lays the processor core 11 Set an execution access permission to execute access from the processor core 12 on the peripheral device control program 71 to enable. The arrow L104 indicates that the processor core 11 an authorization setting request to the MPU 15th issues.

Darüber hinaus setzt der Prozessorkern 11 „Ausführungszugriffsanforderung nicht vorhanden“ in den Handshake-Daten 62, wie durch den Pfeil L105 angezeigt. Wenn „Ausführungszugriffsanforderung nicht vorhanden“ (Abwesenheit der Ausführungszugriffsanforderung) in den Handshake-Daten 62 eingestellt ist, gibt der Prozessorkern 12 eine Abrufanforderung an das Peripheriegerät-Steuerprogramm 71 an die MPU 15 aus. Der Pfeil L106 zeigt an, dass der Prozessorkern 12 eine Fetch-Anforderung an das Peripheriegerät-Steuerprogramm 71 ausgibt.In addition, the processor core continues 11 "Execution access request not available" in the handshake data 62 as by the arrow L105 displayed. When “Execution Access Request Not Present” (absence of Execution Access Request) in the handshake data 62 is set, gives the processor core 12 a polling request to the peripheral device control program 71 to the MPU 15th out. The arrow L106 indicates that the processor core 12 a fetch request to the peripheral device control program 71 issues.

Da hier die Ausführungszugriffsberechtigung in der MPU 15 festgelegt ist, gibt die MPU 15 eine Benachrichtigung über die Ausführungszugriffsberechtigung an den Prozessorkern 12 aus. Nach Erwerb der Ausführungszugriffsberechtigung von der MPU 15 greift der Prozessorkern 12 auf das ROM 14 zu, holt das Peripheriegerät-Steuerprogramm 71 und gibt ein PWM-Signal an den Stellantrieb 4 aus, wie durch den Pfeil L107 angezeigt.Since the execution access authorization in the MPU 15th is set, gives the MPU 15th a notification of execution access to the processor core 12 out. After obtaining execution access authorization from the MPU 15th the processor core engages 12 on the ROM 14th to, fetches the peripheral device control program 71 and sends a PWM signal to the actuator 4th out as by the arrow L107 displayed.

Dann verweist der Prozessorkern 12 auf die im ROM 14 gespeicherte Prioritätstabelle TB2, wie durch den Pfeil L108 angezeigt. Als nächstes setzt der Prozessorkern 12 eine Ausführungszugriffsberechtigung, um einen Ausführungszugriff vom Prozessorkern 13 auf das Peripheriegerätesteuerungsprogramm 71 zu erlauben. Der Pfeil L109 zeigt an, dass der Prozessorkern 11 eine Berechtigungseinstellanforderung an die MPU 15 ausgibt.Then the processor core refers 12 to those in the ROM 14th saved priority table TB2 as by the arrow L108 displayed. Next up is the processor core 12 an execute access privilege to execute an execution access from the processor core 13th on the peripheral device control program 71 to allow. The arrow L109 indicates that the processor core 11 an authorization setting request to the MPU 15th issues.

Darüber hinaus setzt der Prozessorkern 12 „Ausführungszugriffsanforderung nicht vorhanden“ in den Handshake-Daten 63, wie durch den Pfeil L110 angezeigt. Wenn „Ausführungszugriffsanforderung nicht vorhanden“ (Abwesenheit der Ausführungszugriffsanforderung) in den Handshake-Daten 63 eingestellt ist, gibt der Prozessorkern 13 eine Abrufanforderung an das Peripheriegerät-Steuerprogramm 71 an die MPU 15 aus. Der Pfeil L111 zeigt an, dass der Prozessorkern 13 den Abruf an das Peripheriegerät-Steuerprogramm 71 angefordert hat.In addition, the processor core continues 12 "Execution access request not available" in the handshake data 63 as by the arrow L110 displayed. When “Execution Access Request Not Present” (absence of Execution Access Request) in the handshake data 63 is set, gives the processor core 13th a polling request to the peripheral device control program 71 to the MPU 15th out. The arrow L111 indicates that the processor core 13th the call to the peripheral device control program 71 has requested.

Da hier die Ausführungszugriffsberechtigung in der MPU 15 festgelegt wird, gibt die MPU 15 eine Benachrichtigung über die Ausführungszugriffsberechtigung an den Prozessorkern 13 aus. Nach Erhalt der Ausführungszugriffsberechtigung von der MPU 15 greift der Prozessorkern 13 auf das ROM 14 zu, holt das Peripheriegerät-Steuerprogramm 71 ab und gibt ein PWM-Signal an das Stellglied 4 aus, wie durch den Pfeil L112 angezeigt.Since the execution access authorization in the MPU 15th is set, gives the MPU 15th a notification of execution access to the processor core 13th out. After receiving execution access authorization from the MPU 15th the processor core engages 13th on the ROM 14th to, fetches the peripheral device control program 71 and sends a PWM signal to the actuator 4th out as by the arrow L112 displayed.

Die wie oben beschrieben konfigurierte ECU 1 enthält die Prioritätstabelle TB2, in der die Priorität für jeden der Prozessorkerne 11, 12 und 13 festgelegt ist. Dann setzt der Prozessorkern 11 auf der Grundlage der Prioritätstabelle TB2 die MPU 15 auf eine Ausführungszugriffsberechtigung für den Prozessorkern 12, der die höchste Priorität unter den Prozessorkernen 12 und 13 hat, die die Abrufanforderung an die MPU 15 ausgeben.The ECU configured as described above 1 contains the priority table TB2 in which the priority for each of the processor cores 11 , 12 and 13th is fixed. Then the processor core continues 11 based on the priority table TB2 the MPU 15th an execution access authorization for the processor core 12 , which is the highest priority among processor cores 12 and 13th that made the request to the MPU 15th output.

Ferner setzt der Prozessorkern 11 „Ausführungszugriffsanforderung nicht vorhanden“ in den Handshake-Daten 62, die für den Handshake zwischen dem Prozessorkern 11 und dem Prozessorkern 12 verwendet werden.The processor core also sets 11 "Execution access request not available" in the handshake data 62 responsible for the handshake between the processor core 11 and the processor core 12 be used.

So kann das Steuergerät 1 den Prozessorkern 12 mit der höheren Priorität veranlassen, auf das Peripheriegerätesteuerprogramm 71 zuzugreifen, bevor der Prozessorkern 13 die niedrigere Priorität hat. Auf diese Weise kann das Steuergerät 1 das Auftreten einer Situation unterdrücken, in der die Ausführung des Prozesses mit der höheren Priorität aufgrund der Ausführung des Prozesses mit der niedrigeren Priorität verzögert wird. Die Reaktionsfähigkeit der ECU 1 kann so verbessert werden.So can the control unit 1 the processor core 12 with the higher priority to the peripheral device control program 71 access before the processor core 13th which has lower priority. In this way the control unit can 1 suppress the occurrence of a situation in which the execution of the higher priority process is delayed due to the execution of the lower priority process. The responsiveness of the ECU 1 can thus be improved.

Wie oben beschrieben, sind die Ausführungsformen der vorliegenden Offenbarung beschrieben worden, aber die vorliegende Offenbarung ist nicht auf die oben genannten Ausführungsformen beschränkt und kann mit verschiedenen Modifikationen umgesetzt werden. Die ECU 1 und ihre Techniken gemäß der vorliegenden Bekanntmachung können durch einen oder mehrere speziell dafür vorgesehene Computer implementiert werden. Ein solcher Computer mit besonderer Zweckbestimmung kann (i) durch Konfiguration (a) eines Prozessors und eines Speichers, der so programmiert ist, dass er eine oder mehrere durch ein Computerprogramm auszuführende Funktionen ausführt, oder (ii) durch Konfiguration (b) eines Prozessors, der eine oder mehrere dedizierte Hardware-Logikschaltungen enthält, oder (iii) durch Konfiguration einer Kombination aus (a) einem Prozessor und einem Speicher, der so programmiert ist, dass er eine oder mehrere durch ein Computerprogramm auszuführende Funktionen ausführt, und (b) einem Prozessor, der eine oder mehrere dedizierte Hardware-Logikschaltungen enthält, bereitgestellt werden. Ferner kann das Computerprogramm in einem computerlesbaren, nicht vorübergehenden materiellen Speichermedium als von einem Computer auszuführende Befehle gespeichert werden. Die Technik zur Realisierung der Funktionen jeder in der ECU 1 enthaltenen Einheit muss nicht notwendigerweise Software enthalten, und alle Funktionen können unter Verwendung einer oder mehrerer Hardwareschaltungen realisiert werden.As described above, the embodiments of the present disclosure have been described, but the present disclosure is not limited to the above embodiments and can be implemented with various modifications. The ECU 1 and their techniques according to the present announcement can be implemented by one or more dedicated computers. Such a special purpose computer can be configured (i) by configuring (a) a processor and memory programmed to perform one or more functions to be performed by a computer program, or (ii) by configuring (b) a processor, that includes one or more dedicated hardware logic circuits, or (iii) by configuring a combination of (a) a processor and memory programmed to perform one or more functions to be performed by a computer program, and (b) a Processor containing one or more dedicated hardware logic circuits can be provided. Furthermore, the computer program can be stored in a computer-readable, non-transitory tangible storage medium as a Commands to be executed by the computer. The technology for realizing the functions of each in the ECU 1 The unit contained therein does not necessarily have to contain software, and all functions can be realized using one or more hardware circuits.

Eine Vielzahl von Funktionen einer Komponente in den oben beschriebenen Ausführungsformen kann durch eine Vielzahl von Komponenten realisiert werden, oder eine Funktion einer Komponente kann durch eine Vielzahl von Komponenten realisiert werden. Zusätzlich kann eine Vielzahl von Funktionen einer Vielzahl von Komponenten durch eine Komponente realisiert werden, oder eine Funktion, die durch eine Vielzahl von Komponenten realisiert wird, kann durch eine Komponente realisiert werden. Ferner kann ein Teil der Konfiguration der obigen Ausführungsformen weggelassen werden. Ferner kann zumindest ein Teil der Konfiguration der oben beschriebenen Ausführungsform zu der Konfiguration einer anderen oben beschriebenen Ausführungsform hinzugefügt oder durch diese ersetzt werden.A plurality of functions of a component in the above-described embodiments can be realized by a plurality of components, or a function of a component can be realized by a plurality of components. In addition, a plurality of functions of a plurality of components can be realized by one component, or a function that is realized by a plurality of components can be realized by one component. Further, part of the configuration of the above embodiments can be omitted. Further, at least a part of the configuration of the embodiment described above can be added to or replaced with the configuration of another embodiment described above.

Die vorliegende Offenbarung kann zusätzlich zu der oben beschriebenen ECU 1 in verschiedenen Formen umgesetzt werden, wie z.B. ein System, das die ECU 1 als Komponente enthält, ein Programm, das bewirkt, dass ein Computer als ECU 1 funktioniert, ein nicht vorübergehendes materielles Speichermedium mit einem Halbleiterspeicher, der das Programm speichert, ein Zugriffssteuerungsverfahren.The present disclosure may, in addition to the ECU described above 1 be implemented in various forms, such as a system that includes the ECU 1 contains as a component, a program that causes a computer to function as an ECU 1 works, a non-temporary tangible storage medium with a semiconductor memory that stores the program, an access control method.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED 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 was 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 PatentliteraturPatent literature cited

  • WO 2017/056725 A1 [0003]WO 2017/056725 A1 [0003]

Claims (5)

Elektronische Steuereinheit, umfassend: eine Vielzahl von Prozessorkernen (11, 12, 13), wobei einer der Vielzahl von Prozessorkernen als ein spezifischer Prozessorkern (11) definiert ist, während mindestens ein Prozessorkern der Vielzahl von Prozessorkernen, der nicht der spezifische Prozessorkern ist, als ein anderer Prozessorkern (12, 13) definiert ist; eine gemeinsam genutzte Datenspeichereinheit (21, 14), die konfiguriert ist, gemeinsam genutzte Daten zu speichern, auf die von jedem der Vielzahl von Prozessorkernen lesbar zugegriffen werden kann; und eine Speicherschutzeinheit (15), die konfiguriert ist, die Vielzahl von Prozessoren oder Prozessorkernen so zu steuern, dass der andere Prozessorkern deaktiviert wird, um auf die gemeinsam genutzten Daten zuzugreifen, wenn der spezifische Prozessorkern auf die gemeinsam genutzten Daten zugreift.Electronic control unit comprising: a plurality of processor cores (11, 12, 13), one of the plurality of processor cores being defined as a specific processor core (11), while at least one of the plurality of processor cores other than the specific processor core is defined as another processor core (12 , 13) is defined; a shared data storage unit (21, 14) configured to store shared data that can be readably accessed by each of the plurality of processor cores; and a memory protection unit (15) configured to control the plurality of processors or processor cores so that the other processor core is deactivated to access the shared data when the specific processor core accesses the shared data. Elektronische Steuereinheit nach Anspruch 1, wobei der spezifische Prozessorkern enthält: eine Verbotseinstelleinheit (S110, S410), die konfiguriert ist, die Speicherschutzeinheit auf ein Zugriffsverbot einzustellen, das dem anderen Prozessorkern den Zugriff auf die gemeinsam genutzten Daten während eines Zeitraums verbietet, in welchem der spezifische Prozessorkern auf die gemeinsam genutzten Daten zugreift; und eine Berechtigungseinstelleinheit (S180, S480), die konfiguriert ist, die Speicherschutzeinheit auf eine Zugriffsberechtigung einzustellen, die dem anderen Prozessorkern den Zugriff auf die gemeinsam genutzten Daten während eines Zeitraums erlaubt, in welchem der spezifische Prozessorkern nicht auf die gemeinsam genutzten Daten zugreift.Electronic control unit according to Claim 1 , wherein the specific processor core includes: a prohibition setting unit (S110, S410) configured to set the memory protection unit to an access prohibition that prohibits the other processor core from accessing the shared data during a period in which the specific processor core accesses the shared data used data accesses; and an authorization setting unit (S180, S480) configured to set the memory protection unit to an access authorization that allows the other processor core to access the shared data during a period in which the specific processor core does not access the shared data. Elektronische Steuereinheit nach Anspruch 2, ferner umfassend: eine Handshake-Speichereinheit (21, 26), die konfiguriert ist, Handshake-Daten (41, 51, 62, 63) zu speichern, welche zum Handshaking zwischen der Vielzahl von Prozessorkernen verwendet werden und welche von jedem der Vielzahl von Prozessorkernen gelesen und aktualisiert werden können, wobei die Speicherschutzeinheit konfiguriert ist, einen Speicherzugriffsverletzungsprozess auf dem anderen Prozessorkern durchzuführen, wenn der andere Prozessorkern versucht, auf die gemeinsam genutzten Daten innerhalb des Zeitraums zuzugreifen, in welchem der spezifische Prozessorkern auf die gemeinsam genutzten Daten zugreift, wobei der andere Prozessorkern enthält: eine Anforderungsanwesenheitseinstelleinheit (S310, S630), die konfiguriert ist, eine Zugriffsanforderungsanwesenheit einzustellen, die anzeigt, dass eine Zugriffsanforderung in Verletzungsziel-Handshake-Daten vorhanden ist, welche zum Handshake zwischen dem spezifischen Prozessorkern und dem anderen Prozessorkern verwendet wird, wenn der Speicherzugriffsverletzungsprozess durchgeführt wird; und eine Wiederzugriffseinheit (S320, S330, S640), die konfiguriert ist, einen Zugriff auf die gemeinsam genutzten Daten erneut zu versuchen, wenn sich die Verletzungsziel-Handshake-Daten von einem Zustand, in welchem die Zugriffsanforderungsanwesenheit eingestellt ist, in einen Zustand ändert, in welchem eine Zugriffsanforderungsabwesenheit, die anzeigt, dass keine Zugriffsanforderung vorliegt, eingestellt ist, wobei der spezifische Prozessorkern enthält: eine Anforderungsbestimmungseinheit (S150, S460), die konfiguriert ist, zu bestimmen, ob die Zugriffsanforderungsanwesenheit in den Verletzungsziel-Handshake-Daten eingestellt ist, indem die Verletzungsziel-Handshake-Daten jedes Mal wiederholt bestätigt werden, wenn eine voreingestellte Bestätigungsbedingung innerhalb des Zeitraums erfüllt ist, in welchem der spezifische Prozessorkern auf die gemeinsam genutzten Daten zugreift; eine Unterbrechungseinheit (S150, S460, S490, S500), die konfiguriert ist, einen Zugriffsprozess für den spezifischen Prozessorkern zu unterbrechen, um auf die gemeinsam genutzten Daten zuzugreifen, und die Berechtigungseinstelleinheit veranlasst, die Speicherschutzeinheit auf die Zugriffsberechtigung einzustellen, wenn die Anforderungsbestimmungseinheit bestimmt, dass die Zugriffsanforderungsanwesenheit in den Verletzungsziel-Handshake-Daten eingestellt ist; und eine Anforderungsabwesenheitseinstelleinheit (S190, S510), die konfiguriert ist, eine Zugriffsanforderungsabwesenheit auf die Verletzungsziel-Handshake-Daten einzustellen, wenn die Anforderungsbestimmungseinheit bestimmt, dass die Zugriffsanforderungsanwesenheit in den Verletzungsziel-Handshake-Daten eingestellt ist.Electronic control unit according to Claim 2 further comprising: a handshake storage unit (21, 26) configured to store handshake data (41, 51, 62, 63) which are used for handshaking between the plurality of processor cores and which are from each of the plurality of Processor cores can be read and updated, wherein the memory protection unit is configured to perform a memory access violation process on the other processor core if the other processor core tries to access the shared data within the period in which the specific processor core is accessing the shared data, wherein the other processor core includes: a request presence setting unit (S310, S630) configured to set an access request presence indicating that there is an access request in violation target handshake data used for handshaking between the specific processor core and the other processor core is det when the memory access violation process is performed; and a re-access unit (S320, S330, S640) configured to retry access to the shared data when the violation target handshake data changes from a state in which the access request presence is set to a state, in which an access request absence indicating that there is no access request is set, the specific processor core including: a request determination unit (S150, S460) configured to determine whether the access request presence is set in the violation target handshake data, by repeatedly confirming the violation target handshake data every time a preset confirmation condition is met within the period in which the specific processor core accesses the shared data; an interruption unit (S150, S460, S490, S500) configured to interrupt an access process for the specific processor core to access the shared data and cause the authorization setting unit to set the memory protection unit to the access authorization when the request determination unit determines that the access request presence is set in the violation target handshake data; and a request absence setting unit (S190, S510) configured to set an access request absence to the violation target handshake data when the request determination unit determines that the access request presence is set in the violation target handshake data. Elektronische Steuereinheit nach einem der Ansprüche 1 bis 3, wobei ein Prozess, in welchem der spezifische Prozessorkern auf die gemeinsam genutzten Daten zugreift, ein Test des Lesens von Daten aus den gemeinsam genutzten Daten und des Schreibens von Daten in die gemeinsam genutzten Daten ist.Electronic control unit according to one of the Claims 1 to 3 , wherein a process in which the specific processor core accesses the shared data is a test of reading data from the shared data and writing data to the shared data. Elektronische Steuereinheit nach Anspruch 3, ferner umfassend: eine Prioritätstabelle (TB2), in welcher jeweilige Prioritäten für die Vielzahl von Prozessorkernen eingestellt sind, wobei: basierend auf der Prioritätstabelle, die Unterbrechungseinheit (S460, S490, S500) konfiguriert ist, die Berechtigungseinstelleinheit zu veranlassen, die Speicherschutzeinheit auf eine Zugriffsberechtigung auf einen Prozessorkern hoher Priorität einzustellen, wobei der andere Prozessorkern, der unter der Vielzahl anderer Prozessorkerne, die versucht haben, auf die gemeinsam genutzten Daten zuzugreifen, die höchste Priorität hat; und die Zugriffsanforderungsabwesenheitseinstelleinheit (S510) konfiguriert ist, die Zugriffsanforderungsabwesenheit auf die Verletzungsziel-Handshake-Daten einzustellen, die zum Handshake zwischen dem spezifischen Prozessorkern und dem Prozessorkern hoher Priorität verwendet werden.Electronic control unit according to Claim 3 , further comprising: a priority table (TB2) in which respective priorities are set for the plurality of processor cores, wherein: based on the priority table, the interruption unit (S460, S490, S500) is configured to cause the authorization setting unit to set the memory protection unit to a Set access authorization to a high-priority processor core, the other processor core having the highest priority among the plurality of other processor cores that have attempted to access the shared data; and the access request absence setting unit (S510) is configured to set the access request absence to the violation target handshake data used for handshaking between the specific processor core and the high priority processor core.
DE102020208367.3A 2019-07-17 2020-07-03 ELECTRONIC CONTROL UNIT Pending DE102020208367A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-132040 2019-07-17
JP2019132040A JP7268516B2 (en) 2019-07-17 2019-07-17 electronic controller

Publications (1)

Publication Number Publication Date
DE102020208367A1 true DE102020208367A1 (en) 2021-01-21

Family

ID=74093398

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020208367.3A Pending DE102020208367A1 (en) 2019-07-17 2020-07-03 ELECTRONIC CONTROL UNIT

Country Status (2)

Country Link
JP (1) JP7268516B2 (en)
DE (1) DE102020208367A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4465905B2 (en) 2001-04-16 2010-05-26 株式会社デンソー Electronic control unit
JP2007328647A (en) 2006-06-09 2007-12-20 Meidensha Corp Data transfer method between cpus
WO2010119932A1 (en) 2009-04-17 2010-10-21 日本電気株式会社 Multi-processor system, and memory management method and communication program in multi-processor system
JP6056509B2 (en) 2013-01-30 2017-01-11 富士通株式会社 Information processing apparatus and information processing apparatus control method
JP6654230B2 (en) 2018-09-27 2020-02-26 日立オートモティブシステムズ株式会社 Vehicle control device

Also Published As

Publication number Publication date
JP7268516B2 (en) 2023-05-08
JP2021018475A (en) 2021-02-15

Similar Documents

Publication Publication Date Title
DE69233655T2 (en) Microprocessor architecture with the possibility to support several different processors
DE4104781C2 (en) Memory access control
DE102017113435A1 (en) Vehicle gateway network protection
DE2847216A1 (en) DATA PROCESSING SYSTEM WITH MULTIPROGRAM OPERATION
DE102017121073A1 (en) DIAGNOSTIC METHODS AND APPARATUSES IN VEHICLE NETWORK
DE112006002237T5 (en) Method of self-initiating synchronization in a computer system
DE102014209752A1 (en) relay means
DE112007002201T5 (en) Quality of service implementation for platform resources
DE102017117355A1 (en) Onboard vehicle communication system
DE112017003302T5 (en) Method, apparatus and system for dynamically optimizing signal integrity on a bus
DE112010005609T5 (en) Storing data in one of a plurality of buffers in a memory controller
DE102020122489A1 (en) ACCESS AUTHORIZATION FOR DISTRIBUTED VEHICLE NETWORK
DE102006009034B3 (en) Bus system method for operating a bus system has transmission channels for linking masters and slaves to each other and linking each master to an arbiter
DE102020121540A1 (en) Determination device, determination system, storage medium storing a program, and determination method
DE102020208367A1 (en) ELECTRONIC CONTROL UNIT
DE10392810T5 (en) System and method for filtering processors for integrity during early firmware for a split-partition architecture
DE102020205765A1 (en) System component and use of a system component
DE112019007853T5 (en) CONTROL DEVICE
DE102019217015A1 (en) Communication device
DE10306285A1 (en) Microcomputer system
DE102022110251A1 (en) OTA MASTER, CENTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE19905541A1 (en) Control of memory access in a machine with a memory with non uniform access
DE112020005466T5 (en) BUS SYSTEM AND METHOD OF OPERATING A BUS SYSTEM
DE102020205069A1 (en) RELAY DEVICE
DE202015103866U1 (en) Engine control for a vehicle and vehicle with selbiger

Legal Events

Date Code Title Description
R012 Request for examination validly filed