JP2021018475A - Electronic control apparatus - Google Patents

Electronic control apparatus Download PDF

Info

Publication number
JP2021018475A
JP2021018475A JP2019132040A JP2019132040A JP2021018475A JP 2021018475 A JP2021018475 A JP 2021018475A JP 2019132040 A JP2019132040 A JP 2019132040A JP 2019132040 A JP2019132040 A JP 2019132040A JP 2021018475 A JP2021018475 A JP 2021018475A
Authority
JP
Japan
Prior art keywords
processor core
access
data
mpu
processor
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.)
Granted
Application number
JP2019132040A
Other languages
Japanese (ja)
Other versions
JP7268516B2 (en
Inventor
浩生 国部
Hiroo 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
Priority to JP2019132040A priority Critical patent/JP7268516B2/en
Priority to DE102020208367.3A priority patent/DE102020208367A1/en
Publication of JP2021018475A publication Critical patent/JP2021018475A/en
Application granted granted Critical
Publication of JP7268516B2 publication Critical patent/JP7268516B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)

Abstract

To suppress increase of overhead resulting from exclusive control between processor cores.SOLUTION: An ECU 1 has processor cores 11, 12, 13, a RAM 21, and an MPU 15. The RAM 21 stores update data 31 to which each of the processor cores 11, 12, 13 can access for reading. The MPU 15 controls the processor cores 11, 12, 13 so that when the processor core 11 accesses to the update data 31, the processor cores 12, 13 should not access to the update data 31.SELECTED DRAWING: Figure 1

Description

本開示は、複数のプロセッサコアを備える電子制御装置に関する。 The present disclosure relates to an electronic control device including a plurality of processor cores.

特許文献1には、第一コアと第二コアと共有メモリとを備え、DMA等のハードウェア機能を使用して第二コアのデータを共有メモリへ直接コピーし、第一コアが共有メモリへアクセスしてデータを取得するように構成された車載制御装置が記載されている。DMAは、Direct Memory Accessの略である。 Patent Document 1 includes a first core, a second core, and a shared memory, and uses a hardware function such as DMA to directly copy the data of the second core to the shared memory, and the first core is transferred to the shared memory. An in-vehicle control device configured to access and acquire data is described. DMA is an abbreviation for Direct Memory Access.

再公表特許第2017/056725号Republished Patent No. 2017/056725

プロセッサコア間の排他制御は、一般的には、セマフォを用いて行われる。しかし、セマフォを用いる場合には、アクセスする側のプロセッサコアは、必ず、セマフォ獲得用およびセマフォ解放用のインターフェースを使う必要があり、オーバーヘッドの増加が生じる。 Exclusive control between processor cores is generally performed using a semaphore. However, when using a semaphore, the processor core on the accessing side must always use the interface for acquiring the semaphore and the interface for releasing the semaphore, which increases the overhead.

本開示は、プロセッサコア間の排他制御に起因したオーバーヘッドの増加を抑制することを目的とする。 An object of the present disclosure is to suppress an increase in overhead due to exclusive control between processor cores.

本開示の一態様は、複数のプロセッサコア(11,12,13)と、共有データ記憶部(21,14)と、メモリ保護部(15)とを備える電子制御装置(1)である。
共有データ記憶部は、複数のプロセッサコアのそれぞれが読出可能にアクセスすることができる共有データ(31,71)を記憶するように構成される。
One aspect of the present disclosure is an electronic control device (1) including a plurality of processor cores (11, 12, 13), a shared data storage unit (21, 14), and a memory protection unit (15).
The shared data storage unit is configured to store shared data (31, 71) that can be readably accessed by each of the plurality of processor cores.

メモリ保護部は、特定プロセッサコア(11)が共有データへアクセスしている場合には他プロセッサコア(12,13)が共有データへアクセスすることができないように複数のプロセッサコアを制御するように構成される。特定プロセッサコアは、複数のプロセッサコアのうちの一つのプロセッサコアである。他プロセッサコアは、特定プロセッサコア以外のプロセッサコアである。 The memory protection unit controls a plurality of processor cores so that when the specific processor core (11) is accessing the shared data, the other processor cores (12, 13) cannot access the shared data. It is composed. The specific processor core is one of a plurality of processor cores. The other processor core is a processor core other than the specific processor core.

このように構成された本開示の電子制御装置では、メモリ保護部が、特定プロセッサコアが共有データへアクセスしている場合には他プロセッサコアが共有データへアクセスすることができないように複数のプロセッサコアを制御する。すなわち、本開示の電子制御装置は、セマフォの代わりにメモリ保護部を使用するため、アクセスするプロセッサコア側において特殊なインターフェースが必要にならない。これにより、本開示の電子制御装置は、プロセッサコア間の排他制御に起因したオーバーヘッドの増加を抑制することができる。 In the electronic control device of the present disclosure configured in this way, the memory protection unit has a plurality of processors so that when a specific processor core is accessing the shared data, other processor cores cannot access the shared data. Control the core. That is, since the electronic control device of the present disclosure uses a memory protection unit instead of the semaphore, a special interface is not required on the accessing processor core side. Thereby, the electronic control device of the present disclosure can suppress an increase in overhead due to exclusive control between processor cores.

第1,2実施形態のECUの構成を示すブロック図である。It is a block diagram which shows the structure of the ECU of 1st and 2nd Embodiment. テストブロックIDテーブルの構成を示す図である。It is a figure which shows the structure of the test block ID table. 初期設定処理を示すフローチャートである。It is a flowchart which shows the initial setting process. RAMテスト処理を示すフローチャートである。It is a flowchart which shows a RAM test process. アクセスエラー処理を示すフローチャートである。It is a flowchart which shows the access error processing. 第1実施形態のMPUによるアクセス調停の第1の具体例を示すシーケンス図である。It is a sequence diagram which shows 1st specific example of access arbitration by MPU of 1st Embodiment. 第1実施形態のMPUによるアクセス調停の第2の具体例を示すシーケンス図である。It is a sequence diagram which shows the 2nd specific example of the access arbitration by MPU of 1st Embodiment. セマフォによる排他制御を説明する図である。It is a figure explaining exclusive control by a semaphore. 第1実施形態のマイコンによる排他制御を説明する図である。It is a figure explaining exclusive control by the microcomputer of 1st Embodiment. 優先度テーブルの構成を示す図である。It is a figure which shows the structure of a priority table. 第1プロセッサ処理を示すフローチャートである。It is a flowchart which shows the 1st processor processing. データ読出処理を示すフローチャートである。It is a flowchart which shows the data reading process. 第2実施形態のMPUによるアクセス調停の具体例を示すシーケンス図である。It is a sequence diagram which shows the specific example of access arbitration by MPU of the 2nd Embodiment. 第3,4実施形態のECUの構成を示すブロック図である。It is a block diagram which shows the structure of the ECU of 3rd and 4th Embodiment. 第3実施形態のMPUによる実行アクセス調停の第1の具体例を示すシーケンス図である。It is a sequence diagram which shows 1st specific example of execution access arbitration by MPU of 3rd Embodiment. 第3実施形態のMPUによる実行アクセス調停の第2の具体例を示すシーケンス図である。It is a sequence diagram which shows the 2nd specific example of execution access arbitration by MPU of 3rd Embodiment. 第4実施形態のMPUによる実行アクセス調停の具体例を示すシーケンス図である。It is a sequence diagram which shows the specific example of execution access arbitration by MPU of 4th Embodiment.

[第1実施形態]
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態の電子制御装置1(以下、ECU1)は、図1に示すように、マイクロコンピュータ2(以下、マイコン2)を備える。ECUは、Electronic Control Unitの略である。
[First Embodiment]
The first embodiment of the present disclosure will be described below together with the drawings.
As shown in FIG. 1, the electronic control device 1 (hereinafter, ECU 1) of the present embodiment includes a microcomputer 2 (hereinafter, microcomputer 2). ECU is an abbreviation for Electronic Control Unit.

マイコン2は、プロセッサコア11,12,13と、ROM14と、メモリ保護装置15(以下、MPU15)と、システムバス16と、RAM21,22,23とを備える。MPUは、Memory Protection Unitの略である。 The microcomputer 2 includes processor cores 11, 12, and 13, a ROM 14, a memory protection device 15 (hereinafter, MPU 15), a system bus 16, and RAMs 21, 22, and 23. MPU is an abbreviation for Memory Protection Unit.

マイコン2の各種機能は、プロセッサコア11,12,13が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM14が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、プロセッサコア11,12,13が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、ECU1を構成するマイクロコンピュータの数は1つでも複数でもよい。 Various functions of the microcomputer 2 are realized by the processor cores 11, 12, and 13 executing a program stored in a non-transitional substantive recording medium. In this example, ROM 14 corresponds to a non-transitional substantive recording medium in which a program is stored. In addition, by executing this program, the method corresponding to the program is executed. Note that some or all of the functions executed by the processor cores 11, 12, and 13 may be configured in hardware by one or a plurality of ICs or the like. Further, the number of microcomputers constituting the ECU 1 may be one or a plurality.

プロセッサコア11,12,13は、プログラムを実行するための演算ユニットおよびレジスタなどを備える。プロセッサコア11,12,13は、図示しないエンジンを制御するための各種制御処理を分散して実行する。 The processor cores 11, 12, and 13 include arithmetic units, registers, and the like for executing a program. The processor cores 11, 12, and 13 distribute and execute various control processes for controlling an engine (not shown).

ROM14は、データの書き換えが不能な不揮発性メモリである。ROM14は、プロセッサコア11,12,13が実行するプログラム等を記憶する。
MPU15は、RAM21,22,23に対するデータの書き込みと読み込みとを制御する。
The ROM 14 is a non-volatile memory in which data cannot be rewritten. The ROM 14 stores programs and the like executed by the processor cores 11, 12, and 13.
The MPU 15 controls writing and reading of data to the RAMs 21, 22, and 23.

システムバス16は、プロセッサコア11,12,13、ROM14、MPU15およびRAM21,22,23を、互いにデータ入出力可能に接続する。
RAM21,22,23は、揮発性メモリである。RAM21,22,23はそれぞれ、プロセッサコア11,12,13の演算結果等を一時的に記憶する。
The system bus 16 connects the processor cores 11, 12, 13, the ROM 14, the MPU 15, and the RAMs 21, 22, and 23 to each other so that data can be input and output.
The RAMs 21, 22, and 23 are volatile memories. The RAMs 21, 22, and 23 temporarily store the calculation results of the processor cores 11, 12, and 13, respectively.

RAM21は、更新データ31と、ハンドシェーク用データ41,51とを記憶する。更新データ31は、プロセッサコア11が専用で更新するデータである。ハンドシェーク用データ41は、プロセッサコア12が更新データ31へアクセスする場合に利用されるデータである。ハンドシェーク用データ51は、プロセッサコア13が更新データ31へアクセスする場合に利用されるデータである。 The RAM 21 stores the update data 31 and the handshake data 41 and 51. The update data 31 is data that the processor core 11 exclusively updates. The handshake data 41 is data used when the processor core 12 accesses the update data 31. The handshake data 51 is data used when the processor core 13 accesses the update data 31.

RAM22は、更新データ32と、ハンドシェーク用データ42,52とを記憶する。更新データ32は、プロセッサコア12が専用で更新するデータである。ハンドシェーク用データ42は、プロセッサコア11が更新データ32へアクセスする場合に利用されるデータである。ハンドシェーク用データ52は、プロセッサコア13が更新データ32へアクセスする場合に利用されるデータである。 The RAM 22 stores the update data 32 and the handshake data 42 and 52. The update data 32 is data that the processor core 12 exclusively updates. The handshake data 42 is data used when the processor core 11 accesses the update data 32. The handshake data 52 is data used when the processor core 13 accesses the update data 32.

RAM23は、更新データ33と、ハンドシェーク用データ43,53とを記憶する。更新データ33は、プロセッサコア13が専用で更新するデータである。ハンドシェーク用データ43は、プロセッサコア11が更新データ33へアクセスする場合に利用されるデータである。ハンドシェーク用データ53は、プロセッサコア12が更新データ33へアクセスする場合に利用されるデータである。 The RAM 23 stores the update data 33 and the handshake data 43 and 53. The update data 33 is data that the processor core 13 exclusively updates. The handshake data 43 is data used when the processor core 11 accesses the update data 33. The handshake data 53 is data used when the processor core 12 accesses the update data 33.

MPU15は、RAM21の更新データ31に対してはプロセッサコア11のみが更新することができるように、プロセッサコア11,12,13を制御する。同様にMPU15は、RAM22の更新データ32に対してはプロセッサコア12のみが更新することができるように、プロセッサコア11,12,13を制御する。またMPU15は、RAM23の更新データ33に対してはプロセッサコア13のみが更新することができるように、プロセッサコア11,12,13を制御する。 The MPU 15 controls the processor cores 11, 12, and 13 so that only the processor core 11 can update the update data 31 of the RAM 21. Similarly, the MPU 15 controls the processor cores 11, 12, and 13 so that only the processor core 12 can update the update data 32 of the RAM 22. Further, the MPU 15 controls the processor cores 11, 12, and 13 so that only the processor core 13 can update the update data 33 of the RAM 23.

さらにMPU15は、RAM21,22,23への読出アクセス要求がプロセッサコア11,12,13から入力されると、読出アクセスを許可するか禁止するかを判断する。そしてMPU15は、読出アクセスを許可する場合には読出アクセス許可通知を、読出アクセスを禁止する場合には読出アクセス禁止通知を、アクセス要求元へ出力する。 Further, the MPU 15 determines whether to allow or prohibit read access when the read access request to the RAMs 21, 22, and 23 is input from the processor cores 11, 12, and 13. Then, the MPU 15 outputs a read access permission notification when the read access is permitted, and a read access prohibition notification when the read access is prohibited, to the access request source.

そしてプロセッサコア11,12,13は、MPU15から入力された読出アクセス許可通知または読出アクセス禁止通知に基づいて、読出アクセスを実行するか否かを判断する。 Then, the processor cores 11, 12, and 13 determine whether or not to execute the read access based on the read access permission notification or the read access prohibition notification input from the MPU 15.

またROM14は、テストブロックIDテーブルTB1を記憶する。テストブロックIDテーブルTB1は、プロセッサコア11がRAM21に対してRAMテストを実行するときにプロセッサコア11により参照される。テストブロックIDテーブルTB1は、図2に示すように、複数のテストブロックを識別するためのID番号と、ID番号に対応するテストブロックのアドレス範囲とを記憶するテーブルである。図2に示すテストブロックIDテーブルTB1では、テーブルの左の列に記載されている「1」,「2」,「3」,「4」,「5」がID番号である。 The ROM 14 also stores the test block ID table TB1. The test block ID table TB1 is referenced by the processor core 11 when the processor core 11 performs a RAM test on the RAM 21. As shown in FIG. 2, the test block ID table TB1 is a table that stores an ID number for identifying a plurality of test blocks and an address range of the test block corresponding to the ID number. In the test block ID table TB1 shown in FIG. 2, "1", "2", "3", "4", and "5" described in the left column of the table are ID numbers.

次に、プロセッサコア11が実行する初期設定処理の手順を説明する。初期設定処理は、プロセッサコア11が起動した直後に開始される処理である。
初期設定処理が実行されると、プロセッサコア11は、図3に示すように、S10にて、RAM21に設けられたブロック指示値TestBlockに1を格納し、初期設定処理を終了する。
Next, the procedure of the initial setting process executed by the processor core 11 will be described. The initial setting process is a process started immediately after the processor core 11 is started.
When the initial setting process is executed, as shown in FIG. 3, the processor core 11 stores 1 in the block instruction value TestBlock provided in the RAM 21 in S10, and ends the initial setting process.

次に、プロセッサコア11が実行するRAMテスト処理の手順を説明する。RAMテスト処理は、予め設定された実行周期が経過する毎に開始される処理である。本実施形態では、RAMテスト処理の実行周期は、例えば10msに設定されている。 Next, the procedure of the RAM test process executed by the processor core 11 will be described. The RAM test process is a process that is started every time a preset execution cycle elapses. In the present embodiment, the execution cycle of the RAM test process is set to, for example, 10 ms.

RAMテスト処理が実行されると、プロセッサコア11は、図4に示すように、まずS110にて、プロセッサコア12,13に対する読出禁止設定を行う。具体的には、プロセッサコア11は、RAM21の更新データ31に対するプロセッサコア12,13からの読出アクセスを禁止するための禁止設定要求をMPU15へ出力する。この禁止設定要求がMPU15に入力されると、MPU15は、MPU15に設けられたメモリ保護設定レジスタに、RAM21の更新データ31に対するプロセッサコア12,13からの読出アクセスを禁止する旨(以下、読出アクセス禁止)を設定する。 When the RAM test process is executed, the processor core 11 first sets read prohibition for the processor cores 12 and 13 in S110 as shown in FIG. Specifically, the processor core 11 outputs a prohibition setting request for prohibiting read access from the processor cores 12 and 13 to the update data 31 of the RAM 21 to the MPU 15. When this prohibition setting request is input to the MPU 15, the MPU 15 prohibits read access from the processor cores 12 and 13 to the update data 31 of the RAM 21 to the memory protection setting register provided in the MPU 15 (hereinafter, read access). Prohibition) is set.

次にプロセッサコア11は、S120にて、ROM14に記憶されているテストブロックIDテーブルTB1を参照して、ブロック指示値TestBlockに格納されている値に一致するID番号に対応するテストブロックのアドレス範囲を取得する。 Next, in S120, the processor core 11 refers to the test block ID table TB1 stored in the ROM 14, and refers to the address range of the test block corresponding to the ID number corresponding to the value stored in the block instruction value TestBlock. To get.

そしてプロセッサコア11は、S130にて、S120で取得したアドレス範囲について、RAM21に対するRAMテストを実行する。RAMテストでは、プロセッサコア11は、RAM21から読み出したデータの値を反転させた反転データをRAM21に書き込んだ後に、書き込んだ書込データを読み出し、読み込んだ反転データが書込データと一致しているか否かを判断することにより、RAM21の故障を診断する。そしてプロセッサコア11は、診断を行った後に、元の値をRAM21に書き込む。 Then, the processor core 11 executes a RAM test on the RAM 21 in S130 with respect to the address range acquired in S120. In the RAM test, the processor core 11 writes the inverted data obtained by inverting the value of the data read from the RAM 21 to the RAM 21, then reads the written written data, and whether the read inverted data matches the written data. The failure of the RAM 21 is diagnosed by determining whether or not it is. Then, the processor core 11 writes the original value to the RAM 21 after performing the diagnosis.

次にプロセッサコア11は、S140にて、ブロック指示値TestBlockに格納されている値に1を加算した加算値をブロック指示値TestBlockに格納する。
そしてプロセッサコア11は、S150にて、ハンドシェーク用データ41,51に「読出要求あり」が設定されているか否かを判断する。ここで、ハンドシェーク用データ41,51に「読出要求なし」が設定されている場合には、プロセッサコア11は、S160にて、ブロック指示値TestBlockに格納されている値が予め設定されているテーブルブロック数MaxBlockより大きいか否かを判断する。本実施形態では、テーブルブロック数MaxBlockは、5に設定されている。
Next, in S140, the processor core 11 stores the added value obtained by adding 1 to the value stored in the block indicated value TestBlock in the block indicated value TestBlock.
Then, the processor core 11 determines in S150 whether or not "with read request" is set in the handshake data 41 and 51. Here, when "no read request" is set for the handshake data 41 and 51, the processor core 11 is a table in which the value stored in the block instruction value TestBlock is preset in S160. Determine if the number of blocks is larger than MaxBlock. In the present embodiment, the number of table blocks MaxBlock is set to 5.

ここで、ブロック指示値TestBlockに格納されている値がテーブルブロック数MaxBlock以下である場合には、プロセッサコア11は、S120に移行する。一方、ブロック指示値TestBlockに格納されている値がテーブルブロック数MaxBlockより大きい場合には、プロセッサコア11は、S170にて、ブロック指示値TestBlockに1を格納し、S180に移行する。 Here, when the value stored in the block instruction value TestBlock is less than or equal to the number of table blocks MaxBlock, the processor core 11 shifts to S120. On the other hand, when the value stored in the block indicated value TestBlock is larger than the number of table blocks MaxBlock, the processor core 11 stores 1 in the block indicated value TestBlock in S170 and shifts to S180.

またS150にて、ハンドシェーク用データ41,51の少なくとも一方に「読出要求あり」が設定されている場合には、プロセッサコア11は、S180に移行する。
そして、S180に移行すると、プロセッサコア11は、プロセッサコア12,13に対する読出許可設定を行う。具体的には、プロセッサコア11は、RAM21の更新データ31に対するプロセッサコア12,13からの読出アクセスを許可するための許可設定要求をMPU15へ出力する。この許可設定要求がMPU15に入力されると、MPU15は、MPU15に設けられたメモリ保護設定レジスタに、RAM21の更新データ31に対するプロセッサコア12,13からの読出アクセスを許可する旨(以下、読出アクセス許可)を設定する。
Further, in S150, when "Read request" is set for at least one of the handshake data 41 and 51, the processor core 11 shifts to S180.
Then, upon shifting to S180, the processor core 11 sets read permission for the processor cores 12 and 13. Specifically, the processor core 11 outputs a permission setting request for permitting read access from the processor cores 12 and 13 to the update data 31 of the RAM 21 to the MPU 15. When this permission setting request is input to the MPU 15, the MPU 15 permits the memory protection setting register provided in the MPU 15 to read access from the processor cores 12 and 13 to the update data 31 of the RAM 21 (hereinafter, read access). Allow) is set.

さらにプロセッサコア11は、S190にて、ハンドシェーク用データ41,51に「読出要求なし」を設定し、RAMテスト処理を終了する。
次に、プロセッサコア12が実行するアクセスエラー処理の手順を説明する。アクセスエラー処理は、MPU15から読出アクセス禁止通知が入力された場合に開始される処理である。
Further, the processor core 11 sets “no read request” for the handshake data 41 and 51 in S190, and ends the RAM test process.
Next, the procedure of access error processing executed by the processor core 12 will be described. The access error processing is a processing started when a read access prohibition notification is input from the MPU 15.

アクセスエラー処理が実行されると、プロセッサコア12は、図5に示すように、まずS310にて、ハンドシェーク用データ41に「読出要求あり」を設定する。
そしてプロセッサコア12は、S320にて、ハンドシェーク用データ41に「読出要求あり」が設定されているか否かを判断する。ここで、「読出要求あり」が設定されている場合には、プロセッサコア12は、S320の処理を繰り返すことにより、ハンドシェーク用データ41に「読出要求なし」が設定されるまで待機する。
When the access error processing is executed, the processor core 12 first sets "read request" in the handshake data 41 in S310 as shown in FIG.
Then, the processor core 12 determines in S320 whether or not "read request" is set in the handshake data 41. Here, when "with read request" is set, the processor core 12 waits until "without read request" is set in the handshake data 41 by repeating the process of S320.

そして、ハンドシェーク用データ41に「読出要求なし」が設定されると、プロセッサコア12は、S330にて、エラーが発生した処理(すなわち、入力された読出アクセス禁止通知の原因となった処理)に戻って、アクセスエラー処理を終了する。 Then, when "no read request" is set in the handshake data 41, the processor core 12 performs the process in which the error occurred (that is, the process that caused the input read access prohibition notification) in S330. Go back and finish the access error processing.

プロセッサコア13が実行するアクセスエラー処理は、ハンドシェーク用データ41がハンドシェーク用データ51に変更された点以外は、プロセッサコア12が実行するアクセスエラー処理と同一であるため、詳細な説明を省略する。 Since the access error processing executed by the processor core 13 is the same as the access error processing executed by the processor core 12 except that the handshake data 41 is changed to the handshake data 51, detailed description thereof will be omitted.

また、プロセッサコア12,13も、初期設定処理およびRAMテスト処理を実行する。
プロセッサコア12の初期設定処理およびRAMテスト処理は、RAM21の更新データ31およびハンドシェーク用データ41,51の代わりにRAM22の更新データ32およびハンドシェーク用データ42,52を対象とする点がプロセッサコア11の初期設定処理およびRAMテスト処理と異なる。
The processor cores 12 and 13 also execute the initial setting process and the RAM test process.
The point that the initial setting process and the RAM test process of the processor core 12 targets the update data 32 of the RAM 22 and the handshake data 42 and 52 instead of the update data 31 and the handshake data 41 and 51 of the RAM 21 is the processor core 11. It is different from the initial setting process and RAM test process.

同様に、プロセッサコア13の初期設定処理およびRAMテスト処理は、RAM21の更新データ31およびハンドシェーク用データ41,51の代わりにRAM23の更新データ33およびハンドシェーク用データ43,53を対象とする点がプロセッサコア11の初期設定処理およびRAMテスト処理と異なる。 Similarly, the initial setting process and the RAM test process of the processor core 13 target the update data 33 of the RAM 23 and the handshake data 43 and 53 instead of the update data 31 and the handshake data 41 and 51 of the RAM 21. It is different from the initial setting process and RAM test process of the core 11.

プロセッサコア11,13は、RAM21を対象とするアクセスエラー処理をプロセッサコア12,13が実行するのと同様に、RAM22を対象とするアクセスエラー処理を実行する。同様にプロセッサコア11,12は、RAM23を対象とするアクセスエラー処理を実行する。 The processor cores 11 and 13 execute the access error processing targeting the RAM 22 in the same manner as the processor cores 12 and 13 execute the access error processing targeting the RAM 21. Similarly, the processor cores 11 and 12 execute access error processing for the RAM 23.

次に、MPU15によるアクセス調停の第1の具体例を説明する。
図6に示すように、プロセッサコア11は、まず、更新データ31に対するプロセッサコア12,13からの読出アクセスを禁止する読出アクセス禁止を設定する。矢印L1は、プロセッサコア11が禁止設定要求をMPU15へ出力することを示す。
Next, a first specific example of access arbitration by MPU 15 will be described.
As shown in FIG. 6, the processor core 11 first sets read access prohibition prohibiting read access from the processor cores 12 and 13 to the update data 31. The arrow L1 indicates that the processor core 11 outputs a prohibition setting request to the MPU 15.

次にプロセッサコア11は、矢印L2で示すように、更新データ31に対してデータ更新を行う。そしてプロセッサコア11は、矢印L3で示すように、更新データ31に対するプロセッサコア12,13からの読出アクセスを許可する読出アクセス許可を設定する。矢印L3は、プロセッサコア11が許可設定要求をMPU15へ出力することを示す。 Next, the processor core 11 updates the update data 31 as shown by the arrow L2. Then, as shown by the arrow L3, the processor core 11 sets the read access permission for permitting the read access from the processor cores 12 and 13 to the update data 31. The arrow L3 indicates that the processor core 11 outputs a permission setting request to the MPU 15.

その後にプロセッサコア12は、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L4は、プロセッサコア12が更新データ31への読出アクセスを要求していることを示す。 After that, the processor core 12 outputs a read access request to the update data 31 to the MPU 15. The arrow L4 indicates that the processor core 12 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス許可が設定されているため、MPU15はプロセッサコア12へ読出アクセス許可通知を出力する。
プロセッサコア12は、MPU15から読出アクセス許可通知を取得すると、更新データ31へアクセスして、更新データ31からデータを読み出す。矢印L5は、プロセッサコア12が更新データ31からデータを読み出すことを示す。
Here, since the read access permission is set in the MPU 15, the MPU 15 outputs the read access permission notification to the processor core 12.
When the processor core 12 obtains the read access permission notification from the MPU 15, it accesses the update data 31 and reads the data from the update data 31. The arrow L5 indicates that the processor core 12 reads data from the update data 31.

さらにプロセッサコア13は、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L6は、プロセッサコア13が更新データ31への読出アクセスを要求していることを示す。 Further, the processor core 13 outputs a read access request to the update data 31 to the MPU 15. The arrow L6 indicates that the processor core 13 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス許可が設定されているため、MPU15はプロセッサコア13へ読出アクセス許可通知を出力する。
プロセッサコア13は、MPU15から読出アクセス許可通知を取得すると、更新データ31へアクセスして、更新データ31からデータを読み出す。矢印L7は、プロセッサコア13が更新データ31からデータを読み出すことを示す。
Here, since the read access permission is set in the MPU 15, the MPU 15 outputs the read access permission notification to the processor core 13.
When the processor core 13 obtains the read access permission notification from the MPU 15, it accesses the update data 31 and reads the data from the update data 31. The arrow L7 indicates that the processor core 13 reads data from the update data 31.

次に、MPU15によるアクセス調停の第2の具体例を説明する。
図7に示すように、プロセッサコア11は、まず、更新データ31に対するプロセッサコア12,13からの読出アクセスを禁止する読出アクセス禁止を設定する。矢印L11は、プロセッサコア11が禁止設定要求をMPU15へ出力することを示す。
Next, a second specific example of access arbitration by MPU 15 will be described.
As shown in FIG. 7, the processor core 11 first sets read access prohibition prohibiting read access from the processor cores 12 and 13 to the update data 31. The arrow L11 indicates that the processor core 11 outputs a prohibition setting request to the MPU 15.

そしてプロセッサコア11は、RAMテスト処理の実行を開始する。四角形SQ1は、プロセッサコア11がRAMテスト処理を実行していることを示す。
RAMテスト処理が開始された後に、プロセッサコア12が、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L12は、プロセッサコア12が更新データ31への読出アクセスを要求していることを示す。
Then, the processor core 11 starts executing the RAM test process. The rectangle SQ1 indicates that the processor core 11 is executing the RAM test process.
After the RAM test process is started, the processor core 12 outputs a read access request to the update data 31 to the MPU 15. The arrow L12 indicates that the processor core 12 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス禁止が設定されているため、矢印L13で示すように、MPU15はプロセッサコア12へ読出アクセス禁止通知を出力する。
プロセッサコア12は、MPU15から読出アクセス禁止通知を取得すると、アクセスエラー処理の実行を開始し、まず、矢印L14で示すように、ハンドシェーク用データ41に「読出要求あり」を設定する。
Here, since the read access prohibition is set in the MPU 15, the MPU 15 outputs the read access prohibition notification to the processor core 12 as shown by the arrow L13.
When the processor core 12 obtains the read access prohibition notification from the MPU 15, the processor core 12 starts executing the access error processing, and first sets "read request" in the handshake data 41 as shown by the arrow L14.

その後にプロセッサコア12は、四角形SQ2および矢印L15で示すように、ハンドシェーク用データ41を確認して、ハンドシェーク用データ41に「読出要求なし」が設定されるまで待機する。 After that, the processor core 12 confirms the handshake data 41 and waits until "no read request" is set in the handshake data 41, as shown by the rectangle SQ2 and the arrow L15.

一方、プロセッサコア11は、矢印L16で示すように、更新データ31に対するRAMテストを実行する。さらにプロセッサコア11は、矢印L17で示すように、ハンドシェーク用データ41,51に「読出要求あり」が設定されているか否かを判断する。 On the other hand, the processor core 11 executes a RAM test on the update data 31 as shown by the arrow L16. Further, the processor core 11 determines whether or not “with read request” is set in the handshake data 41 and 51 as indicated by the arrow L17.

ここで、ハンドシェーク用データ41に「読出要求あり」が設定されているため、プロセッサコア11は、更新データ31に対するプロセッサコア12,13からの読出アクセスを許可する読出アクセス許可を設定する。矢印L18は、プロセッサコア11が許可設定要求をMPU15へ出力することを示す。 Here, since "read request" is set in the handshake data 41, the processor core 11 sets a read access permission for permitting read access from the processor cores 12 and 13 to the update data 31. The arrow L18 indicates that the processor core 11 outputs a permission setting request to the MPU 15.

そしてプロセッサコア11は、矢印L19で示すように、ハンドシェーク用データ41に「読出要求なし」を設定する。
ハンドシェーク用データ41に「読出要求なし」が設定されると、プロセッサコア12は、アクセスエラー処理を終了し、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L20は、プロセッサコア12が更新データ31への読出アクセスを要求していることを示す。
Then, the processor core 11 sets “no read request” in the handshake data 41 as indicated by the arrow L19.
When "no read request" is set for the handshake data 41, the processor core 12 ends the access error processing and outputs a read access request to the update data 31 to the MPU 15. The arrow L20 indicates that the processor core 12 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス許可が設定されているため、MPU15はプロセッサコア12へ読出アクセス許可通知を出力する。
プロセッサコア12は、MPU15から読出アクセス許可通知を取得すると、更新データ31へアクセスして、更新データ31からデータを読み出す。矢印L21は、プロセッサコア12が更新データ31からデータを読み出すことを示す。
Here, since the read access permission is set in the MPU 15, the MPU 15 outputs the read access permission notification to the processor core 12.
When the processor core 12 obtains the read access permission notification from the MPU 15, it accesses the update data 31 and reads the data from the update data 31. The arrow L21 indicates that the processor core 12 reads data from the update data 31.

さらにプロセッサコア13は、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L22は、プロセッサコア13が更新データ31への読出アクセスを要求していることを示す。 Further, the processor core 13 outputs a read access request to the update data 31 to the MPU 15. The arrow L22 indicates that the processor core 13 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス許可が設定されているため、MPU15はプロセッサコア13へ読出アクセス許可通知を出力する。
プロセッサコア13は、MPU15から読出アクセス許可通知を取得すると、更新データ31へアクセスして、更新データ31からデータを読み出す。矢印L23は、プロセッサコア13が更新データ31からデータを読み出すことを示す。
Here, since the read access permission is set in the MPU 15, the MPU 15 outputs the read access permission notification to the processor core 13.
When the processor core 13 obtains the read access permission notification from the MPU 15, it accesses the update data 31 and reads the data from the update data 31. The arrow L23 indicates that the processor core 13 reads data from the update data 31.

次に、セマフォによる排他制御を説明する。なお、マイコン2はセマフォを備えていないが、セマフォの説明を簡略化するために、プロセッサコア11,12がセマフォの獲得および解放を行うとして説明する。 Next, exclusive control by the semaphore will be described. Although the microcomputer 2 does not have a semaphore, it will be described that the processor cores 11 and 12 acquire and release the semaphore in order to simplify the explanation of the semaphore.

図8に示すように、まず、時刻t0では、セマフォが解放されている。ブロックB1は、セマフォが解放されている期間を示す。
そして時刻t1に、プロセッサコア11がセマフォを獲得し、プロセッサコア11は、時刻t1から時刻t2までの間に、ID番号が1であるテストブロックに対してRAMテストを実行する。ブロックB2は、セマフォがプロセッサコア11により獲得されている期間を示す。ブロックB3は、ID番号が1であるテストブロックに対してRAMテストが行われている期間を示す。
As shown in FIG. 8, first, at time t0, the semaphore is released. Block B1 indicates the period during which the semaphore is released.
Then, at time t1, the processor core 11 acquires the semaphore, and the processor core 11 executes a RAM test on the test block having the ID number 1 between the time t1 and the time t2. Block B2 indicates the period during which the semaphore is acquired by the processor core 11. Block B3 indicates the period during which the RAM test is performed on the test block having the ID number 1.

プロセッサコア11は、時刻t2から時刻t3までの間に、ID番号が2であるテストブロックに対してRAMテストを実行する。ブロックB4は、ID番号が2であるテストブロックに対してRAMテストが行われている期間を示す。 The processor core 11 executes a RAM test on a test block having an ID number of 2 between time t2 and time t3. Block B4 indicates the period during which the RAM test is performed on the test block having the ID number 2.

プロセッサコア11は、時刻t3から時刻t4までの間に、ID番号が3であるテストブロックに対してRAMテストを実行する。ブロックB5は、ID番号が3であるテストブロックに対してRAMテストが行われている期間を示す。 The processor core 11 executes a RAM test on a test block having an ID number of 3 between time t3 and time t4. Block B5 indicates the period during which the RAM test is performed on the test block having the ID number 3.

プロセッサコア11は、時刻t4から時刻t5までの間に、ID番号が4であるテストブロックに対してRAMテストを実行する。ブロックB6は、ID番号が4であるテストブロックに対してRAMテストが行われている期間を示す。 The processor core 11 executes a RAM test on the test block having the ID number 4 between the time t4 and the time t5. Block B6 indicates the period during which the RAM test is performed on the test block having the ID number 4.

プロセッサコア11は、時刻t5から時刻t6までの間に、ID番号が5であるテストブロックに対してRAMテストを実行する。ブロックB7は、ID番号が5であるテストブロックに対してRAMテストが行われている期間を示す。 The processor core 11 executes a RAM test on the test block having the ID number 5 between the time t5 and the time t6. Block B7 indicates the period during which the RAM test is performed on the test block having the ID number 5.

時刻t6に、ID番号が5であるテストブロックに対するRAMテストが終了すると、プロセッサコア11は、セマフォを解放する。
プロセッサコア12は、時刻t1から時刻t6までの間に、セマフォを獲得しようとして、失敗する。ブロックB8は、プロセッサコア12がセマフォを獲得するまで待機している期間を示す。
When the RAM test for the test block having the ID number 5 is completed at time t6, the processor core 11 releases the semaphore.
The processor core 12 attempts to acquire a semaphore between time t1 and time t6 and fails. Block B8 indicates the period of time that the processor core 12 waits until it acquires the semaphore.

そして時刻t7に、プロセッサコア12がセマフォを獲得し、プロセッサコア12は、時刻t7から時刻t8までの間に、更新データ31からデータを読み出す。ブロックB9は、セマフォが解放されている期間を示す。ブロックB10は、セマフォがプロセッサコア12により獲得されている期間を示す。ブロックB11は、プロセッサコア12がデータ読出を行っている期間を示す。 Then, at time t7, the processor core 12 acquires the semaphore, and the processor core 12 reads data from the update data 31 between the time t7 and the time t8. Block B9 indicates the period during which the semaphore is released. Block B10 indicates the period during which the semaphore is acquired by the processor core 12. Block B11 indicates a period during which the processor core 12 is reading data.

時刻t8に、データ読出が終了すると、プロセッサコア12は、セマフォを解放する。ブロックB12は、セマフォが解放されている期間を示す。
次に、本実施形態のマイコン2による排他制御を説明する。
When the data reading is completed at time t8, the processor core 12 releases the semaphore. Block B12 indicates the period during which the semaphore is released.
Next, exclusive control by the microcomputer 2 of the present embodiment will be described.

図9に示すように、まず、時刻t20では、MPU15において読出アクセス許可が設定されている。ブロックB21は、読出アクセス許可が設定されている期間を示す。
そして時刻t21に、プロセッサコア11が禁止設定要求をMPU15へ出力する。これにより、MPU15は、読出アクセス禁止を設定する。そしてプロセッサコア11は、時刻t22まで、ID番号が1であるテストブロックに対してRAMテストを実行する。
As shown in FIG. 9, first, at time t20, the read access permission is set in the MPU 15. Block B21 indicates a period in which read access permission is set.
Then, at time t21, the processor core 11 outputs a prohibition setting request to the MPU 15. As a result, the MPU 15 sets read access prohibition. Then, the processor core 11 executes the RAM test on the test block having the ID number 1 until the time t22.

ID番号が1であるテストブロックに対するRAMテストが終了すると、プロセッサコア11は、許可設定要求をMPU15へ出力する。これにより、MPU15は、読出アクセス許可を設定する。ブロックB22は、ID番号が1であるテストブロックに対してRAMテストが行われている期間を示す。ブロックB23は、読出アクセス禁止が設定されている期間を示す。 When the RAM test for the test block having the ID number 1 is completed, the processor core 11 outputs a permission setting request to the MPU 15. As a result, the MPU 15 sets the read access permission. Block B22 indicates the period during which the RAM test is performed on the test block having the ID number 1. Block B23 indicates a period in which read access prohibition is set.

プロセッサコア11は、時刻t21から時刻t22までの間に、読出アクセス要求をMPU15へ出力する。しかし、MPU15において読出アクセス禁止が設定されているため、プロセッサコア12は、読出アクセスが許可されるまで待機する。そしてプロセッサコア12は、時刻t23に、読出アクセス要求をMPU15へ出力する。時刻t23では、MPU15において読出アクセス許可が設定されているため、プロセッサコア12は、更新データ31からデータを読み出す。ブロックB24は、読出アクセスが許可されるまで待機している期間を示す。ブロックB25は、読出アクセス許可が設定されている期間を示す。ブロックB26は、プロセッサコア12がデータ読出を行っている期間を示す。 The processor core 11 outputs a read access request to the MPU 15 between the time t21 and the time t22. However, since the read access prohibition is set in the MPU 15, the processor core 12 waits until the read access is permitted. Then, the processor core 12 outputs a read access request to the MPU 15 at time t23. At time t23, since the read access permission is set in the MPU 15, the processor core 12 reads data from the update data 31. Block B24 indicates a period of waiting until read access is granted. Block B25 indicates a period in which read access permission is set. Block B26 indicates a period during which the processor core 12 is reading data.

そしてプロセッサコア11は、時刻t24に、ID番号が2であるテストブロックに対してRAMテストを開始する。さらにプロセッサコア11は、時刻t25に、ID番号が3であるテストブロックに対してRAMテストを開始する。ブロックB27は、ID番号が2であるテストブロックに対してRAMテストが行われている期間を示す。 Then, the processor core 11 starts the RAM test on the test block having the ID number 2 at time t24. Further, the processor core 11 starts a RAM test on the test block having the ID number 3 at time t25. Block B27 indicates the period during which the RAM test is performed on the test block having the ID number 2.

このように構成されたECU1は、プロセッサコア11,12,13と、RAM21と、MPU15とを備える。
RAM21は、プロセッサコア11,12,13のそれぞれが読出可能にアクセスすることができる更新データ31を記憶する。
The ECU 1 configured in this way includes processor cores 11, 12, and 13, a RAM 21, and an MPU 15.
The RAM 21 stores update data 31 that can be readably accessed by each of the processor cores 11, 12, and 13.

MPU15は、プロセッサコア11が更新データ31へアクセスしている場合にはプロセッサコア12,13が更新データ31へアクセスすることができないようにプロセッサコア11,12,13を制御する。 The MPU 15 controls the processor cores 11, 12 and 13 so that the processor cores 12 and 13 cannot access the update data 31 when the processor core 11 is accessing the update data 31.

このようにECU1では、MPU15が、プロセッサコア11が更新データ31へアクセスしている場合にはプロセッサコア12,13が更新データ31へアクセスすることができないようにプロセッサコア11,12,13を制御する。すなわち、ECU1は、セマフォの代わりにMPU15を使用するため、アクセスするプロセッサコア側において特殊なインターフェースが必要にならない。これにより、ECU1は、プロセッサコア間の排他制御に起因したオーバーヘッドの増加とプログラムコードの増加とを抑制することができる。 In this way, in the ECU 1, the MPU 15 controls the processor cores 11, 12, 13 so that the processor cores 12, 13 cannot access the update data 31 when the processor core 11 is accessing the update data 31. To do. That is, since the ECU 1 uses the MPU 15 instead of the semaphore, a special interface is not required on the accessing processor core side. As a result, the ECU 1 can suppress an increase in overhead and an increase in program code due to exclusive control between processor cores.

またECU1は、プロセッサコア11とプロセッサコア12,13との間のデータ授受のために専用の共有メモリを備える必要がなく、プロセッサコア11,12,13のそれぞれがRAM21に直接アクセスすることによりプロセッサコア11とプロセッサコア12,13との間でデータを授受することができる。 Further, the ECU 1 does not need to be provided with a dedicated shared memory for exchanging data between the processor core 11 and the processor cores 12 and 13, and each of the processor cores 11, 12 and 13 directly accesses the RAM 21 to obtain the processor core. Data can be exchanged between 11 and the processor cores 12 and 13.

またプロセッサコア11は、プロセッサコア11が更新データ31へアクセスする期間内に、MPU15を、プロセッサコア12,13からの更新データ31への読出アクセスを禁止する読出アクセス禁止に設定する。またプロセッサコア11は、プロセッサコア11が更新データ31へアクセスしない期間内に、MPU15を、プロセッサコア12,13からの更新データ31への読出アクセスを許可する読出アクセス許可に設定する。 Further, the processor core 11 sets the MPU 15 to read access prohibition which prohibits read access to the update data 31 from the processor cores 12 and 13 within the period when the processor core 11 accesses the update data 31. Further, the processor core 11 sets the MPU 15 to a read access permission that allows read access to the update data 31 from the processor cores 12 and 13 within a period in which the processor core 11 does not access the update data 31.

データ更新が特定のプロセッサコアによって行われる場合には、通常は、他のプロセッサコアからのデータ書込は禁止されても、データ読出までは禁止されない。データ読出がデータ書込に影響しないためである。 When data update is performed by a specific processor core, normally, even if data writing from other processor cores is prohibited, data reading is not prohibited. This is because reading data does not affect writing data.

これに対し、ECU1は、他のプロセッサコアからのデータ読出を敢えて禁止にすることで、MPU15を、意図した読出アクセス要求の検出に用いる。通常は、意図しない不正なアクセスを検出するためにMPUが用いられる。ECU1は、意図したアクセスを検出するためにMPU15を用いることにより、セマフォを用いた場合においてアクセスの度に常時発生するオーバーヘッドを低減することができる。 On the other hand, the ECU 1 intentionally prohibits reading data from other processor cores, so that the MPU 15 is used to detect an intended read access request. Usually, the MPU is used to detect unintended unauthorized access. By using the MPU 15 to detect the intended access, the ECU 1 can reduce the overhead that always occurs at each access when the semaphore is used.

また、ECU1のRAM21は、プロセッサコア11,12,13間のハンドシェークに用いられ、且つ、プロセッサコア11,12,13のそれぞれが読出可能および更新可能にアクセスすることができるハンドシェーク用データ41,51を記憶する。 Further, the RAM 21 of the ECU 1 is used for handshaking between the processor cores 11, 12, and 13, and the handshake data 41, 51, which can be readably and updated by each of the processor cores 11, 12, and 13, respectively. Remember.

MPU15は、プロセッサコア11が更新データ31へアクセスする期間内にプロセッサコア12,13が更新データ31への読出アクセス要求をMPU15へ出力した場合には、プロセッサコア12,13へ読出アクセス禁止通知を出力する。 If the processor cores 12 and 13 output a read access request to the update data 31 to the MPU 15 within the period in which the processor core 11 accesses the update data 31, the MPU 15 notifies the processor cores 12 and 13 of the read access prohibition. Output.

プロセッサコア12,13はそれぞれ、MPU15から読出アクセス禁止通知を取得すると、プロセッサコア11とプロセッサコア12,13との間のハンドシェークに用いられるハンドシェーク用データ41,51に、読出アクセス要求が有ることを示す「読出要求あり」を設定する。 When the processor cores 12 and 13 each acquire the read access prohibition notification from the MPU 15, the handshake data 41 and 51 used for the handshake between the processor core 11 and the processor cores 12 and 13 have a read access request. Set "Read request" to indicate.

プロセッサコア12,13はそれぞれ、ハンドシェーク用データ41,51が、「読出要求あり」が設定されている状態から、「読出要求なし」が設定されている状態に変化した場合に、更新データ31への読出アクセス要求をMPU15へ再度出力する。 The processor cores 12 and 13 move to the update data 31 when the handshake data 41 and 51 change from the state in which "with read request" is set to the state in which "without read request" is set, respectively. The read access request of is output to the MPU 15 again.

プロセッサコア11は、プロセッサコア11が更新データ31へアクセスしている期間内において、1つのテストブロックに対するRAMテストが終了する毎に繰り返しハンドシェーク用データ41,51を確認し、ハンドシェーク用データ41,51に「読出要求あり」が設定されているか否かを判断する。 The processor core 11 repeatedly confirms the handshake data 41, 51 every time the RAM test for one test block is completed within the period in which the processor core 11 is accessing the update data 31, and the handshake data 41, 51. Judges whether or not "Read request" is set in.

プロセッサコア11は、ハンドシェーク用データ41,51に「読出要求あり」が設定されていると判断した場合に、RAMテストを中断して、MPU15を読出アクセス許可に設定する。 When the processor core 11 determines that the handshake data 41 and 51 are set to "read request", the processor core 11 interrupts the RAM test and sets the MPU 15 to read access permission.

プロセッサコア11は、ハンドシェーク用データ41,51に「読出要求あり」が設定されていると判断した場合に、ハンドシェーク用データ41,51に、読出アクセス要求が無いことを示す「読出要求なし」を設定する。 When the processor core 11 determines that "with read request" is set for the handshake data 41 and 51, the processor core 11 displays "no read request" indicating that there is no read access request for the handshake data 41 and 51. Set.

これにより、ECU1は、プロセッサコア11がプロセッサコア12,13からの読出アクセス要求を検出した場合に、RAMテストを中断して、プロセッサコア12,13に更新データ31への読出アクセスを実行させることができる。このため、ECU1は、プロセッサコア12,13が更新データ31への読出アクセスのために待機する時間を短縮することができ、プロセッサコア12,13の処理効率を向上させることができる。 As a result, when the processor core 11 detects the read access request from the processor cores 12 and 13, the ECU 1 interrupts the RAM test and causes the processor cores 12 and 13 to execute read access to the update data 31. Can be done. Therefore, the ECU 1 can shorten the time for the processor cores 12 and 13 to wait for read access to the update data 31, and can improve the processing efficiency of the processor cores 12 and 13.

以上説明した実施形態において、ECU1は電子制御装置に相当し、RAM21は共有データ記憶部に相当し、MPU15はメモリ保護部に相当する。
また、更新データ31は共有データに相当し、プロセッサコア11は特定プロセッサコアに相当し、プロセッサコア12,13は他プロセッサコアに相当する。
In the embodiment described above, the ECU 1 corresponds to an electronic control device, the RAM 21 corresponds to a shared data storage unit, and the MPU 15 corresponds to a memory protection unit.
Further, the update data 31 corresponds to shared data, the processor core 11 corresponds to a specific processor core, and the processor cores 12 and 13 correspond to other processor cores.

また、S110は禁止設定部としての処理に相当し、S180は許可設定部としての処理に相当し、読出アクセス禁止はアクセス禁止に相当し、読出アクセス許可はアクセス許可に相当する。 Further, S110 corresponds to processing as a prohibition setting unit, S180 corresponds to processing as a permission setting unit, read access prohibition corresponds to access prohibition, and read access permission corresponds to access permission.

また、RAM21はハンドシェーク記憶部に相当し、読出アクセス禁止通知の出力はメモリアクセス違反処理に相当し、S310は有設定部としての処理に相当し、S320,S330は再アクセス部としての処理に相当し、「読出要求あり」はアクセス要求有に相当する。 Further, the RAM 21 corresponds to the handshake storage unit, the output of the read access prohibition notification corresponds to the memory access violation processing, S310 corresponds to the processing as the setting unit, and S320 and S330 correspond to the processing as the re-access unit. However, "with read request" corresponds to having access request.

また、S150は要求判断部および中断部としての処理に相当し、S190は無設定部としての処理に相当し、「1つのテストブロックに対するRAMテストが終了すること」は確認条件に相当し、RAMテストはアクセス処理に相当し、「読出要求なし」はアクセス要求無に相当する。 Further, S150 corresponds to the processing as the request judgment unit and the interruption unit, S190 corresponds to the processing as the non-setting unit, and "the RAM test for one test block is completed" corresponds to the confirmation condition, and the RAM The test corresponds to access processing, and "no read request" corresponds to no access request.

[第2実施形態]
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
[Second Embodiment]
The second embodiment of the present disclosure will be described below together with the drawings. In the second embodiment, a part different from the first embodiment will be described. The same reference numerals are given to common configurations.

第2実施形態のECU1は、優先度テーブルTB2と、第1プロセッサ処理およびデータ読出処理とが追加された点が第1実施形態と異なる。
ROM14は、優先度テーブルTB2を記憶する。優先度テーブルTB2は、図10に示すように、プロセッサコア11,12,13を識別するためのプロセッサコア番号と、プロセッサコア番号に対応する優先度とを記憶するテーブルである。プロセッサコア番号「1」,「2」,「3」はそれぞれ、プロセッサコア11,12,13に対応する。図10に示す優先度テーブルTB2では、プロセッサコア11の優先度が「高」、プロセッサコア12の優先度が「中」、プロセッサコア13の優先度が「低」に設定されている。
The ECU 1 of the second embodiment is different from the first embodiment in that the priority table TB2 and the first processor process and the data read process are added.
The ROM 14 stores the priority table TB2. As shown in FIG. 10, the priority table TB2 is a table that stores the processor core numbers for identifying the processor cores 11, 12, and 13 and the priorities corresponding to the processor core numbers. The processor core numbers "1", "2", and "3" correspond to the processor cores 11, 12, and 13, respectively. In the priority table TB2 shown in FIG. 10, the priority of the processor core 11 is set to “high”, the priority of the processor core 12 is set to “medium”, and the priority of the processor core 13 is set to “low”.

次に、プロセッサコア11が実行する第1プロセッサ処理の手順を説明する。第1プロセッサ処理は、予め設定された実行周期が経過する毎に開始される処理である。本実施形態では、第1プロセッサ処理の実行周期は、例えば10msに設定されている。また第1プロセッサ処理は、分割されたN個の処理(以下、分割処理)を順次実行するための処理である。Nは、2以上の整数である。 Next, the procedure of the first processor processing executed by the processor core 11 will be described. The first processor process is a process that is started every time a preset execution cycle elapses. In the present embodiment, the execution cycle of the first processor processing is set to, for example, 10 ms. The first processor process is a process for sequentially executing N divided processes (hereinafter, divided processes). N is an integer of 2 or more.

第1プロセッサ処理が実行されると、プロセッサコア11は、図11に示すように、まずS410にて、S110と同様にして、プロセッサコア12,13に対する読出禁止設定を行う。 When the first processor processing is executed, as shown in FIG. 11, the processor core 11 first sets read prohibition for the processor cores 12 and 13 in S410 in the same manner as in S110.

またプロセッサコア11は、S420にて、RAM21に設けられた処理指示値iに1を格納する。
そしてプロセッサコア11は、S430にて、i番目の分割処理を実行する。さらにプロセッサコア11は、S440にて、処理指示値iに格納されている値に1を加算した加算値を処理指示値iに格納する。
Further, the processor core 11 stores 1 in the processing instruction value i provided in the RAM 21 in S420.
Then, the processor core 11 executes the i-th division process in S430. Further, in S440, the processor core 11 stores the added value obtained by adding 1 to the value stored in the processing instruction value i in the processing instruction value i.

次にプロセッサコア11は、S450にて、ハンドシェーク用データ41,51を確認する。
そしてプロセッサコア11は、S460にて、ハンドシェーク用データ41,51の少なくとも一方に「読出要求あり」が設定されているか否かを判断する。ここで、ハンドシェーク用データ41,51に「読出要求なし」が設定されている場合には、プロセッサコア11は、S470にて、処理指示値iに格納されている値が予め設定されている分割処理数Nより大きいか否かを判断する。
Next, the processor core 11 confirms the handshake data 41 and 51 in S450.
Then, the processor core 11 determines in S460 whether or not "with read request" is set for at least one of the handshake data 41 and 51. Here, when "no read request" is set for the handshake data 41 and 51, the processor core 11 divides the data 41 and 51 in which the value stored in the processing instruction value i is preset in S470. It is determined whether or not the number of processes is larger than N.

ここで、処理指示値iに格納されている値が分割処理数N以下である場合には、プロセッサコア11は、S430に移行する。一方、処理指示値iに格納されている値が分割処理数より大きい場合には、プロセッサコア11は、S480にて、S180と同様にして、プロセッサコア12,13に対する読出許可設定を行い、第1プロセッサ処理を終了する。 Here, when the value stored in the processing instruction value i is the number of division processes N or less, the processor core 11 shifts to S430. 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 11 sets the read permission for the processor cores 12 and 13 in S480 in the same manner as in S180, and sets the read permission. 1 Terminates processor processing.

またS460にて、ハンドシェーク用データ41,51の少なくとも一方に「読出要求あり」が設定されている場合には、プロセッサコア11は、S490にて、優先度テーブルTB2を参照する。 Further, in S460, when "Read request" is set in at least one of the handshake data 41 and 51, the processor core 11 refers to the priority table TB2 in S490.

そしてプロセッサコア11は、S500にて、「読出要求あり」が設定されているハンドシェーク用データに対応するプロセッサコアのうち、優先度が最も高いプロセッサコアに対する読出許可設定を行う。例えば、「読出要求あり」が設定されているハンドシェーク用データに対応するプロセッサコアが、プロセッサコア12,13である場合には、プロセッサコア11は、プロセッサコア12に対する読出許可設定を行う。 Then, in S500, the processor core 11 sets read permission for the processor core having the highest priority among the processor cores corresponding to the handshake data for which "read request is made" is set. For example, when the processor cores corresponding to the handshake data for which "with read request" is set are the processor cores 12 and 13, the processor core 11 sets the read permission for the processor core 12.

さらにプロセッサコア11は、S510にて、「読出要求あり」が設定されているハンドシェーク用データに対応するプロセッサコアのうち、優先度が最も高いプロセッサコアに対するハンドシェーク用データに「読出要求なし」を設定し、第1プロセッサ処理を終了する。 Further, the processor core 11 sets "no read request" for the handshake data for the processor core having the highest priority among the processor cores corresponding to the handshake data for which "read request is present" is set in S510. Then, the first processor processing is terminated.

次に、プロセッサコア12が実行するデータ読出処理の手順を説明する。データ読出処理は、プロセッサコア12において更新データ31へのデータ読出要求が発生した場合に開始される処理である。 Next, the procedure of the data reading process executed by the processor core 12 will be described. The data read process is a process started when a data read request to the update data 31 occurs in the processor core 12.

データ読出処理が実行されると、プロセッサコア12は、図12に示すように、まずS610にて、データ読出アクセスを行う。具体的には、プロセッサコア12は、更新データ31への読出アクセス要求をMPU15へ出力する。 When the data read process is executed, the processor core 12 first performs data read access in S610 as shown in FIG. Specifically, the processor core 12 outputs a read access request to the update data 31 to the MPU 15.

そしてプロセッサコア12は、S620にて、アクセスエラーがあるか否かを判断する。具体的には、プロセッサコア12は、MPU15から読出アクセス禁止通知を取得した場合に、アクセスエラーがあると判断し、MPU15から読出アクセス許可通知を取得した場合に、アクセスエラーがないと判断する。 Then, the processor core 12 determines in S620 whether or not there is an access error. Specifically, the processor core 12 determines that there is an access error when the read access prohibition notification is acquired from the MPU 15, and determines that there is no access error when the read access permission notification is acquired from the MPU 15.

ここで、アクセスエラーがある場合には、プロセッサコア12は、S630にて、ハンドシェーク用データ41に「読出要求あり」を設定する。
そしてプロセッサコア12は、S640にて、ハンドシェーク用データ41に「読出要求あり」が設定されているか否かを判断する。ここで、「読出要求あり」が設定されている場合には、プロセッサコア12は、S640の処理を繰り返すことにより、ハンドシェーク用データ41に「読出要求なし」が設定されるまで待機する。
Here, when there is an access error, the processor core 12 sets "read request" in the handshake data 41 in S630.
Then, the processor core 12 determines in S640 whether or not "read request" is set in the handshake data 41. Here, when "with read request" is set, the processor core 12 waits until "no read request" is set in the handshake data 41 by repeating the process of S640.

そして、ハンドシェーク用データ41に「読出要求なし」が設定されると、S650に移行する。
またS620にて、アクセスエラーがない場合には、S650に移行する。
Then, when "no read request" is set in the handshake data 41, the process proceeds to S650.
If there is no access error in S620, the process proceeds to S650.

そしてS650に移行すると、プロセッサコア12は、更新データ31にアクセスして、更新データ31からデータを読み出す。
そしてプロセッサコア12は、S660にて、ハンドシェーク用データ51を確認する。
Then, when shifting to S650, the processor core 12 accesses the update data 31 and reads data from the update data 31.
Then, the processor core 12 confirms the handshake data 51 in S660.

そしてプロセッサコア11は、S670にて、ハンドシェーク用データ51に「読出要求あり」が設定されているか否かを判断する。ここで、ハンドシェーク用データ51に「読出要求なし」が設定されている場合には、プロセッサコア12は、S680にて、プロセッサコア13に対する読出許可設定を行い、データ読出処理を終了する。 Then, the processor core 11 determines in S670 whether or not "read request" is set in the handshake data 51. Here, when "no read request" is set for the handshake data 51, the processor core 12 sets read permission for the processor core 13 in S680, and ends the data read process.

またS670にて、ハンドシェーク用データ51に「読出要求あり」が設定されている場合には、プロセッサコア12は、S690にて、優先度テーブルTB2を参照する。
そしてプロセッサコア12は、S700にて、「読出要求あり」が設定されているハンドシェーク用データに対応するプロセッサコアのうち、優先度が最も高いプロセッサコアに対する読出許可設定を行う。例えば、「読出要求あり」が設定されているハンドシェーク用データに対応するプロセッサコアが、プロセッサコア13である場合には、プロセッサコア12は、プロセッサコア13に対する読出許可設定を行う。
Further, in S670, when "Read request" is set in the handshake data 51, the processor core 12 refers to the priority table TB2 in S690.
Then, in S700, the processor core 12 sets read permission for the processor core having the highest priority among the processor cores corresponding to the handshake data for which "read request is present" is set. For example, when the processor core corresponding to the handshake data for which "with read request" is set is the processor core 13, the processor core 12 sets read permission for the processor core 13.

さらにプロセッサコア12は、S710にて、「読出要求あり」が設定されているハンドシェーク用データに対応するプロセッサコアのうち、優先度が最も高いプロセッサコアに対するハンドシェーク用データに「読出要求なし」を設定し、データ読出処理を終了する。 Further, the processor core 12 sets "no read request" for the handshake data for the processor core having the highest priority among the processor cores corresponding to the handshake data for which "read request is present" is set in S710. Then, the data reading process is terminated.

プロセッサコア13が実行するデータ読出処理は、ハンドシェーク用データ41がハンドシェーク用データ51に変更された点以外は、プロセッサコア12が実行するデータ読出処理と同一であるため、詳細な説明を省略する。 Since the data reading process executed by the processor core 13 is the same as the data reading process executed by the processor core 12 except that the handshake data 41 is changed to the handshake data 51, detailed description thereof will be omitted.

次に、第2実施形態のMPU15によるアクセス調停の具体例を説明する。
図13に示すように、プロセッサコア11は、まず、更新データ31に対するプロセッサコア12,13からの読出アクセスを禁止する読出アクセス禁止を設定する。矢印L31は、プロセッサコア11が禁止設定要求をMPU15へ出力することを示す。
Next, a specific example of access arbitration by the MPU 15 of the second embodiment will be described.
As shown in FIG. 13, the processor core 11 first sets read access prohibition prohibiting read access from the processor cores 12 and 13 to the update data 31. The arrow L31 indicates that the processor core 11 outputs a prohibition setting request to the MPU 15.

そしてプロセッサコア11は、N個の分割処理の順次実行を開始する。四角形SQ3は、プロセッサコア11がN個の分割処理を順次実行していることを示す。
N個の分割処理の順次実行が開始された後に、プロセッサコア12が、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L32は、プロセッサコア12が更新データ31への読出アクセスを要求していることを示す。
Then, the processor core 11 starts the sequential execution of N division processes. The quadrangle SQ3 indicates that the processor core 11 is sequentially executing N division processes.
After the sequential execution of the N division processes is started, the processor core 12 outputs a read access request to the update data 31 to the MPU 15. The arrow L32 indicates that the processor core 12 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス禁止が設定されているため、矢印L33で示すように、MPU15はプロセッサコア12へ読出アクセス禁止通知を出力する。
プロセッサコア12は、MPU15から読出アクセス禁止通知を取得すると、矢印L34で示すように、ハンドシェーク用データ41に「読出要求あり」を設定する。
Here, since the read access prohibition is set in the MPU 15, the MPU 15 outputs the read access prohibition notification to the processor core 12 as shown by the arrow L33.
When the processor core 12 obtains the read access prohibition notification from the MPU 15, the processor core 12 sets "read request" in the handshake data 41 as indicated by the arrow L34.

その後にプロセッサコア12は、四角形SQ4および矢印L35で示すように、ハンドシェーク用データ41を確認して、ハンドシェーク用データ41に「読出要求なし」が設定されるまで待機する。 After that, the processor core 12 confirms the handshake data 41 and waits until "no read request" is set in the handshake data 41, as shown by the rectangle SQ4 and the arrow L35.

またプロセッサコア13が、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L36は、プロセッサコア13が更新データ31への読出アクセスを要求していることを示す。 Further, the processor core 13 outputs a read access request to the update data 31 to the MPU 15. The arrow L36 indicates that the processor core 13 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス禁止が設定されているため、矢印L37で示すように、MPU15はプロセッサコア13へ読出アクセス禁止通知を出力する。
プロセッサコア13は、MPU15から読出アクセス禁止通知を取得すると、矢印L38で示すように、ハンドシェーク用データ51に「読出要求あり」を設定する。
Here, since the read access prohibition is set in the MPU 15, the MPU 15 outputs the read access prohibition notification to the processor core 13 as shown by the arrow L37.
When the processor core 13 acquires the read access prohibition notification from the MPU 15, the processor core 13 sets “read request available” in the handshake data 51 as indicated by the arrow L38.

その後にプロセッサコア13は、四角形SQ5および矢印L39で示すように、ハンドシェーク用データ51を確認して、ハンドシェーク用データ51に「読出要求なし」が設定されるまで待機する。 After that, the processor core 13 confirms the handshake data 51 and waits until "no read request" is set in the handshake data 51, as shown by the rectangle SQ5 and the arrow L39.

一方、プロセッサコア11は、N個の分割処理の順次実行し、矢印L40で示すように、更新データ31のデータを更新する。さらにプロセッサコア11は、矢印L41で示すように、ハンドシェーク用データ41,51に「読出要求あり」が設定されているか否かを判断する。 On the other hand, the processor core 11 sequentially executes N division processes and updates the data of the update data 31 as indicated by the arrow L40. Further, the processor core 11 determines whether or not "read request" is set in the handshake data 41 and 51 as indicated by the arrow L41.

ここで、ハンドシェーク用データ41,51に「読出要求あり」が設定されているため、プロセッサコア11は、矢印L42で示すように、ROM14に記憶されている優先度テーブルTB2を参照する。 Here, since "read request" is set for the handshake data 41 and 51, the processor core 11 refers to the priority table TB2 stored in the ROM 14 as shown by the arrow L42.

そしてプロセッサコア11は、プロセッサコア12,13のうち、優先度が最も高いプロセッサコア12からの読出アクセスを許可する読出アクセス許可を設定する。矢印L43は、プロセッサコア11が、プロセッサコア12の許可設定要求をMPU15へ出力することを示す。 Then, the processor core 11 sets a read access permission for permitting read access from the processor core 12 having the highest priority among the processor cores 12 and 13. The arrow L43 indicates that the processor core 11 outputs the permission setting request of the processor core 12 to the MPU 15.

そしてプロセッサコア11は、矢印L44で示すように、ハンドシェーク用データ41に「読出要求なし」を設定する。
ハンドシェーク用データ41に「読出要求なし」が設定されると、プロセッサコア12は、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L45は、プロセッサコア12が更新データ31への読出アクセスを要求していることを示す。
Then, the processor core 11 sets “no read request” in the handshake data 41 as indicated by the arrow L44.
When "no read request" is set for the handshake data 41, the processor core 12 outputs a read access request to the update data 31 to the MPU 15. Arrow L45 indicates that the processor core 12 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス許可が設定されているため、MPU15はプロセッサコア12へ読出アクセス許可通知を出力する。
プロセッサコア12は、MPU15から読出アクセス許可通知を取得すると、更新データ31へアクセスして、更新データ31からデータを読み出す。矢印L46は、プロセッサコア12が更新データ31からデータを読み出すことを示す。
Here, since the read access permission is set in the MPU 15, the MPU 15 outputs the read access permission notification to the processor core 12.
When the processor core 12 obtains the read access permission notification from the MPU 15, it accesses the update data 31 and reads the data from the update data 31. Arrow L46 indicates that the processor core 12 reads data from the update data 31.

ここで、ハンドシェーク用データ51に「読出要求あり」が設定されているため、プロセッサコア12は、矢印L47で示すように、ROM14に記憶されている優先度テーブルTB2を参照する。 Here, since the handshake data 51 is set to "read request", the processor core 12 refers to the priority table TB2 stored in the ROM 14 as shown by the arrow L47.

そしてプロセッサコア12は、プロセッサコア13からの読出アクセスを許可する読出アクセス許可を設定する。矢印L48は、プロセッサコア12が、プロセッサコア13の許可設定要求をMPU15へ出力することを示す。 Then, the processor core 12 sets a read access permission for permitting read access from the processor core 13. The arrow L48 indicates that the processor core 12 outputs the permission setting request of the processor core 13 to the MPU 15.

そしてプロセッサコア11は、矢印L49で示すように、ハンドシェーク用データ51に「読出要求なし」を設定する。
ハンドシェーク用データ51に「読出要求なし」が設定されると、プロセッサコア13は、更新データ31への読出アクセス要求をMPU15へ出力する。矢印L50は、プロセッサコア13が更新データ31への読出アクセスを要求していることを示す。
Then, the processor core 11 sets “no read request” in the handshake data 51 as indicated by the arrow L49.
When "no read request" is set for the handshake data 51, the processor core 13 outputs a read access request to the update data 31 to the MPU 15. The arrow L50 indicates that the processor core 13 is requesting read access to the update data 31.

ここで、MPU15では読出アクセス許可が設定されているため、MPU15はプロセッサコア13へ読出アクセス許可通知を出力する。
プロセッサコア13は、MPU15から読出アクセス許可通知を取得すると、更新データ31へアクセスして、更新データ31からデータを読み出す。矢印L51は、プロセッサコア13が更新データ31からデータを読み出すことを示す。
Here, since the read access permission is set in the MPU 15, the MPU 15 outputs the read access permission notification to the processor core 13.
When the processor core 13 obtains the read access permission notification from the MPU 15, it accesses the update data 31 and reads the data from the update data 31. The arrow L51 indicates that the processor core 13 reads data from the update data 31.

このように構成されたECU1は、プロセッサコア11,12,13のそれぞれに対する優先度が設定された優先度テーブルTB2を備える。
そしてプロセッサコア11は、優先度テーブルTB2に基づいて、MPU15を、読出アクセス要求をMPU15へ出力したプロセッサコア12,13の中で優先度が最も高いプロセッサコア12について読出アクセス許可に設定する。
The ECU 1 configured in this way includes a priority table TB2 in which priorities are set for each of the processor cores 11, 12, and 13.
Then, the processor core 11 sets the MPU 15 to read access permission for the processor core 12 having the highest priority among the processor cores 12 and 13 that output the read access request to the MPU 15 based on the priority table TB2.

またプロセッサコア11は、プロセッサコア11とプロセッサコア12との間のハンドシェークに用いられるハンドシェーク用データ41に「読出要求なし」を設定する。
これにより、ECU1は、優先度が高いプロセッサコア12が、優先度が低いプロセッサコア13よりも優先して、更新データ31へアクセスするようにすることができる。これにより、ECU1は、優先度が高い処理の実行が、優先度が低い処理の実行のために遅れてしまう事態の発生を抑制することができ、ECU1の応答性を向上させることができる。
Further, the processor core 11 sets "no read request" for the handshake data 41 used for handshaking between the processor core 11 and the processor core 12.
As a result, the ECU 1 can allow the processor core 12 having a high priority to access the update data 31 in preference to the processor core 13 having a low priority. As a result, the ECU 1 can suppress the occurrence of a situation in which the execution of the high-priority process is delayed due to the execution of the low-priority process, and the responsiveness of the ECU 1 can be improved.

以上説明した実施形態において、S410は禁止設定部としての処理に相当し、S480は許可設定部としての処理に相当する。
また、S630は有設定部としての処理に相当し、S640は再アクセス部としての処理に相当する。
In the embodiment described above, S410 corresponds to the process as the prohibition setting unit, and S480 corresponds to the process as the permission setting unit.
Further, S630 corresponds to the process as the set unit, and S640 corresponds to the process as the re-access unit.

また、S460は要求判断部としての処理に相当し、S460,S490,S500は中断部としての処理に相当し、S510は無設定部としての処理に相当する。
「1つの分割処理が終了すること」は確認条件に相当し、分割処理はアクセス処理に相当する。
Further, S460 corresponds to the processing as the request determination unit, S460, S490, and S500 correspond to the processing as the interruption unit, and S510 corresponds to the processing as the non-setting unit.
"The end of one division process" corresponds to the confirmation condition, and the division process corresponds to the access process.

[第3実施形態]
以下に本開示の第3実施形態を図面とともに説明する。なお第3実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
[Third Embodiment]
The third embodiment of the present disclosure will be described below together with the drawings. In the third embodiment, a part different from the first embodiment will be described. The same reference numerals are given to common configurations.

第3実施形態のECU1は、図14に示すように、周辺装置17が追加された点と、RAM21,22,23が省略されてRAM26が追加された点と、周辺装置17を制御するための周辺装置制御プログラム71をROM14が記憶する点とが第1実施形態と異なる。 As shown in FIG. 14, the ECU 1 of the third embodiment is for controlling the peripheral device 17, the point where the peripheral devices 17 are added, the points where the RAMs 21, 22, and 23 are omitted and the RAM 26 is added, and the peripheral device 17. The point that the ROM 14 stores the peripheral device control program 71 is different from the first embodiment.

周辺装置17およびRAM26は、システムバス16に接続される。
周辺装置17は、プロセッサコア11,12,13からの指示に従って、アクチュエータ4へPWM信号を出力する。PWMは、Pulse Width Modulationの略である。本実施形態では、アクチュエータ4は電子スロットルである。
The peripheral device 17 and the RAM 26 are connected to the system bus 16.
The peripheral device 17 outputs a PWM signal to the actuator 4 according to the instructions from the processor cores 11, 12, and 13. PWM is an abbreviation for Pulse Width Modulation. In this embodiment, the actuator 4 is an electronic throttle.

RAM26は、ハンドシェーク用データ61,62,63を記憶する。ハンドシェーク用データ61は、プロセッサコア11による周辺装置制御プログラム71の実行要求の有無が設定されるデータである。ハンドシェーク用データ62は、プロセッサコア12による周辺装置制御プログラム71の実行要求の有無が設定されるデータである。ハンドシェーク用データ63は、プロセッサコア13による周辺装置制御プログラム71の実行要求の有無が設定されるデータである。 The RAM 26 stores handshake data 61, 62, 63. The handshake data 61 is data in which the presence / absence of an execution request of the peripheral device control program 71 by the processor core 11 is set. The handshake data 62 is data in which the presence / absence of an execution request of the peripheral device control program 71 by the processor core 12 is set. The handshake data 63 is data in which the presence / absence of an execution request of the peripheral device control program 71 by the processor core 13 is set.

また、第3実施形態のECU1では、データアクセスに関しては、以下の第1相違点および第2相違点が第1実施形態と異なる。
第1相違点は、プロセッサコア11,12,13が、RAM21の更新データ31へアクセスする代わりに、ROM14の周辺装置制御プログラム71へアクセスすることである。第2相違点は、プロセッサコア12,13が、RAM21のハンドシェーク用データ41,51にアクセスする代わりに、RAM26のハンドシェーク用データ62,63にアクセスする点である。
Further, in the ECU 1 of the third embodiment, the following first and second differences are different from those of the first embodiment in terms of data access.
The first difference is that the processor cores 11, 12, and 13 access the peripheral device control program 71 of the ROM 14 instead of accessing the update data 31 of the RAM 21. The second difference is that the processor cores 12 and 13 access the handshake data 62 and 63 of the RAM 26 instead of accessing the handshake data 41 and 51 of the RAM 21.

このように、第3実施形態のECU1は、データアクセスに関しては、第1実施形態と類似しているため、フローチャートを用いた処理手順の説明を省略する。
次に、MPU15による実行アクセス調停の第1の具体例を説明する。
As described above, since the ECU 1 of the third embodiment is similar to the first embodiment in terms of data access, the description of the processing procedure using the flowchart is omitted.
Next, a first specific example of execution access arbitration by MPU 15 will be described.

図15に示すように、プロセッサコア11は、まず、周辺装置制御プログラム71に対するプロセッサコア12,13からの実行アクセスを禁止する実行アクセス禁止を設定する。矢印L61は、プロセッサコア11が禁止設定要求をMPU15へ出力することを示す。 As shown in FIG. 15, the processor core 11 first sets the execution access prohibition that prohibits the execution access from the processor cores 12 and 13 to the peripheral device control program 71. The arrow L61 indicates that the processor core 11 outputs a prohibition setting request to the MPU 15.

次にプロセッサコア11は、矢印L62で示すように、ROM14から周辺装置制御プログラム71をフェッチする。そしてプロセッサコア11は、矢印L63で示すように、アクチュエータ4へPWM信号を出力する制御を実行する。さらにプロセッサコア11は、矢印L64で示すように、周辺装置制御プログラム71に対するプロセッサコア12,13からの実行アクセスを許可する実行アクセス許可を設定する。矢印L64は、プロセッサコア11が許可設定要求をMPU15へ出力することを示す。 Next, the processor core 11 fetches the peripheral device control program 71 from the ROM 14, as shown by the arrow L62. Then, the processor core 11 executes control to output a PWM signal to the actuator 4 as shown by an arrow L63. Further, as shown by the arrow L64, the processor core 11 sets the execution access permission for permitting the execution access from the processor cores 12 and 13 to the peripheral device control program 71. The arrow L64 indicates that the processor core 11 outputs a permission setting request to the MPU 15.

その後にプロセッサコア12は、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L65は、プロセッサコア12が周辺装置制御プログラム71へのフェッチを要求していることを示す。 After that, the processor core 12 outputs a fetch request to the peripheral device control program 71 to the MPU 15. The arrow L65 indicates that the processor core 12 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス許可が設定されているため、MPU15はプロセッサコア12へ実行アクセス許可通知を出力する。
プロセッサコア12は、MPU15から実行アクセス許可通知を取得すると、ROM14へアクセスして、周辺装置制御プログラム71をフェッチし、矢印L66で示すように、アクチュエータ4へPWM信号を出力する制御を実行する。
Here, since the execution access permission is set in the MPU 15, the MPU 15 outputs the execution access permission notification to the processor core 12.
When the processor core 12 obtains the execution access permission notification from the MPU 15, the processor core 12 accesses the ROM 14, fetches the peripheral device control program 71, and executes a control to output a PWM signal to the actuator 4 as shown by an arrow L66.

さらにプロセッサコア13は、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L67は、プロセッサコア13が周辺装置制御プログラム71へのフェッチを要求していることを示す。 Further, the processor core 13 outputs a fetch request to the peripheral device control program 71 to the MPU 15. The arrow L67 indicates that the processor core 13 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス許可が設定されているため、MPU15はプロセッサコア13へ実行アクセス許可通知を出力する。
プロセッサコア13は、MPU15から実行アクセス許可通知を取得すると、ROM14へアクセスして、周辺装置制御プログラム71をフェッチし、矢印L68で示すように、アクチュエータ4へPWM信号を出力する制御を実行する。
Here, since the execution access permission is set in the MPU 15, the MPU 15 outputs the execution access permission notification to the processor core 13.
When the processor core 13 obtains the execution access permission notification from the MPU 15, the processor core 13 accesses the ROM 14, fetches the peripheral device control program 71, and executes a control to output a PWM signal to the actuator 4 as shown by an arrow L68.

次に、MPU15による実行アクセス調停の第2の具体例を説明する。
図16に示すように、プロセッサコア11は、まず、周辺装置制御プログラム71に対するプロセッサコア12,13からの実行アクセスを禁止する実行アクセス禁止を設定する。矢印L71は、プロセッサコア11が禁止設定要求をMPU15へ出力することを示す。
Next, a second specific example of execution access arbitration by MPU 15 will be described.
As shown in FIG. 16, the processor core 11 first sets the execution access prohibition that prohibits the execution access from the processor cores 12 and 13 to the peripheral device control program 71. The arrow L71 indicates that the processor core 11 outputs a prohibition setting request to the MPU 15.

そしてプロセッサコア11は、アクチュエータ4を制御するアクチュエータ制御処理の実行を開始する。
アクチュエータ制御処理が開始された後に、プロセッサコア12が、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L72は、プロセッサコア12が周辺装置制御プログラム71へのフェッチを要求していることを示す。
Then, the processor core 11 starts executing the actuator control process for controlling the actuator 4.
After the actuator control process is started, the processor core 12 outputs a fetch request to the peripheral device control program 71 to the MPU 15. The arrow L72 indicates that the processor core 12 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス禁止が設定されているため、矢印L73で示すように、MPU15はプロセッサコア12へ実行アクセス禁止通知を出力する。
プロセッサコア12は、MPU15から実行アクセス禁止通知を取得すると、矢印L74で示すように、ハンドシェーク用データ62に「実行アクセス要求あり」を設定する。
Here, since the execution access prohibition is set in the MPU 15, the MPU 15 outputs the execution access prohibition notification to the processor core 12 as shown by the arrow L73.
When the processor core 12 obtains the execution access prohibition notification from the MPU 15, the processor core 12 sets “execution access requested” in the handshake data 62 as indicated by the arrow L74.

その後にプロセッサコア12は、四角形SQ7および矢印L75で示すように、ハンドシェーク用データ62を確認して、ハンドシェーク用データ62に「実行アクセス要求なし」が設定されるまで待機する。 After that, the processor core 12 confirms the handshake data 62 and waits until “no execution access request” is set in the handshake data 62, as shown by the rectangle SQ7 and the arrow L75.

一方、プロセッサコア11は、アクチュエータ制御処理の実行が開始されると、四角形SQ6内において矢印L76,L77,L78,L80で示す処理を繰り返す。矢印L76は、アクチュエータ4を診断する処理である。矢印L77は、ROM14から周辺装置制御プログラム71をフェッチする処理である。矢印L78は、周辺装置17へ出力指示値を出力する処理である。矢印L80は、ハンドシェーク用データ61,62,63を確認する処理である。 On the other hand, when the execution of the actuator control process is started, the processor core 11 repeats the processes indicated by the arrows L76, L77, L78, and L80 in the quadrangle SQ6. The arrow L76 is a process for diagnosing the actuator 4. The arrow L77 is a process of fetching the peripheral device control program 71 from the ROM 14. The arrow L78 is a process of outputting an output instruction value to the peripheral device 17. The arrow L80 is a process for confirming the handshake data 61, 62, 63.

なお、周辺装置17は、プロセッサコア11からの出力指示値を取得すると、矢印L79で示すように、アクチュエータ4へPWM信号を出力する。
そして、ハンドシェーク用データ62に「実行アクセス要求あり」が設定されると、プロセッサコア11は、周辺装置制御プログラム71に対するプロセッサコア12,13からの実行アクセスを許可する実行アクセス許可を設定する。矢印L81は、プロセッサコア11が許可設定要求をMPU15へ出力することを示す。
When the peripheral device 17 acquires the output instruction value from the processor core 11, it outputs a PWM signal to the actuator 4 as shown by the arrow L79.
Then, when "execution access requested" is set in the handshake data 62, the processor core 11 sets an execution access permission for permitting execution access from the processor cores 12 and 13 to the peripheral device control program 71. The arrow L81 indicates that the processor core 11 outputs a permission setting request to the MPU 15.

さらにプロセッサコア11は、矢印L82で示すように、ハンドシェーク用データ62に「実行アクセス要求なし」を設定する。
ハンドシェーク用データ62に「実行アクセス要求なし」が設定されると、プロセッサコア12は、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L83は、プロセッサコア12が周辺装置制御プログラム71へのフェッチを要求していることを示す。
Further, the processor core 11 sets “no execution access request” in the handshake data 62 as indicated by the arrow L82.
When "no execution access request" is set in the handshake data 62, the processor core 12 outputs a fetch request to the peripheral device control program 71 to the MPU 15. The arrow L83 indicates that the processor core 12 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス許可が設定されているため、MPU15はプロセッサコア12へ実行アクセス許可通知を出力する。
プロセッサコア12は、MPU15から実行アクセス許可通知を取得すると、ROM14へアクセスして、周辺装置制御プログラム71をフェッチし、矢印L84で示すように、周辺装置17へ出力指示値を出力する。
Here, since the execution access permission is set in the MPU 15, the MPU 15 outputs the execution access permission notification to the processor core 12.
When the processor core 12 obtains the execution access permission notification from the MPU 15, the processor core 12 accesses the ROM 14, fetches the peripheral device control program 71, and outputs an output instruction value to the peripheral device 17 as shown by the arrow L84.

周辺装置17は、プロセッサコア12からの出力指示値を取得すると、矢印L85で示すように、アクチュエータ4へPWM信号を出力する。
このように構成されたECU1は、プロセッサコア11,12,13と、ROM14と、MPU15とを備える。
When the peripheral device 17 acquires the output instruction value from the processor core 12, it outputs a PWM signal to the actuator 4 as shown by the arrow L85.
The ECU 1 configured in this way includes processor cores 11, 12, and 13, a ROM 14, and an MPU 15.

ROM14は、プロセッサコア11,12,13のそれぞれが読出可能にアクセスすることができる周辺装置制御プログラム71を記憶する。
MPU15は、プロセッサコア11が周辺装置制御プログラム71へアクセスしている場合にはプロセッサコア12,13が周辺装置制御プログラム71へアクセスすることができないようにプロセッサコア11,12,13を制御する。
The ROM 14 stores a peripheral device control program 71 that can be readably accessed by each of the processor cores 11, 12, and 13.
The MPU 15 controls the processor cores 11, 12, 13 so that the processor cores 12 and 13 cannot access the peripheral device control program 71 when the processor core 11 is accessing the peripheral device control program 71.

このようにECU1では、MPU15が、プロセッサコア11が周辺装置制御プログラム71へアクセスしている場合にはプロセッサコア12,13が周辺装置制御プログラム71へアクセスすることができないようにプロセッサコア11,12,13を制御する。すなわち、ECU1は、セマフォの代わりにMPU15を使用するため、アクセスするプロセッサコア側において特殊なインターフェースが必要にならない。これにより、ECU1は、プロセッサコア間の排他制御に起因したオーバーヘッドの増加とプログラムコードの増加とを抑制することができる。 As described above, in the ECU 1, the processor cores 11 and 12 prevent the processor cores 12 and 13 from accessing the peripheral device control program 71 when the processor core 11 is accessing the peripheral device control program 71. , 13 is controlled. That is, since the ECU 1 uses the MPU 15 instead of the semaphore, a special interface is not required on the accessing processor core side. As a result, the ECU 1 can suppress an increase in overhead and an increase in program code due to exclusive control between processor cores.

またECU1は、プロセッサコア11,12,13間で処理が同期していない場合にプロセッサコア11,12,13が同時に周辺装置17へアクセスして、周辺装置17において誤動作が発生するのを抑制することができる。またECU1は、プロセッサコア11,12,13間における周辺装置17の使用権の迅速な移行を実現することができ、ECU1とアクチュエータ4とで構成されるシステムの信頼性と応答性とを向上させることができる。 Further, the ECU 1 suppresses that when the processes are not synchronized between the processor cores 11, 12, and 13, the processor cores 11, 12, and 13 simultaneously access the peripheral device 17 and cause a malfunction in the peripheral device 17. be able to. Further, the ECU 1 can realize a rapid transfer of the usage right of the peripheral device 17 between the processor cores 11, 12, and 13, and improves the reliability and responsiveness of the system composed of the ECU 1 and the actuator 4. be able to.

またプロセッサコア11は、プロセッサコア11が周辺装置制御プログラム71へアクセスする期間内に、MPU15を、プロセッサコア12,13からの周辺装置制御プログラム71への実行アクセスを禁止する実行アクセス禁止に設定する。またプロセッサコア11は、プロセッサコア11が周辺装置制御プログラム71へアクセスしない期間内に、MPU15を、プロセッサコア12,13からの周辺装置制御プログラム71への実行アクセスを許可する実行アクセス許可に設定する。 Further, the processor core 11 sets the MPU 15 to the execution access prohibition prohibiting the execution access to the peripheral device control program 71 from the processor cores 12 and 13 within the period in which the processor core 11 accesses the peripheral device control program 71. .. Further, the processor core 11 sets the MPU 15 to an execution permission that allows execution access to the peripheral device control program 71 from the processor cores 12 and 13 within a period in which the processor core 11 does not access the peripheral device control program 71. ..

このようにECU1は、他のプロセッサコアからの実行アクセスを敢えて禁止にすることで、MPU15を、意図した実行アクセス要求の検出に用いる。これにより、ECU1は、セマフォを用いた場合においてアクセスの度に常時発生するオーバーヘッドを低減することができる。 In this way, the ECU 1 intentionally prohibits execution access from other processor cores, so that the MPU 15 is used for detecting an intended execution access request. As a result, the ECU 1 can reduce the overhead that is always generated every time the semaphore is used.

また、ECU1のRAM26は、プロセッサコア11,12,13間のハンドシェークに用いられ、且つ、プロセッサコア11,12,13のそれぞれが読出可能および更新可能にアクセスすることができるハンドシェーク用データ62,63を記憶する。 Further, the RAM 26 of the ECU 1 is used for handshaking between the processor cores 11, 12, and 13, and the handshake data 62, 63, which can be read and updated by each of the processor cores 11, 12, and 13, respectively. Remember.

MPU15は、プロセッサコア11が周辺装置制御プログラム71へアクセスする期間内にプロセッサコア12,13が周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力した場合には、プロセッサコア12,13へ実行アクセス禁止通知を出力する。 If the processor cores 12 and 13 output a fetch request to the peripheral device control program 71 to the MPU 15 within the period in which the processor core 11 accesses the peripheral device control program 71, the MPU 15 executes execution access to the processor cores 12 and 13. Output a prohibition notification.

プロセッサコア12,13はそれぞれ、MPU15から実行アクセス禁止通知を取得すると、プロセッサコア11とプロセッサコア12,13との間のハンドシェークに用いられるハンドシェーク用データ62,63に、実行アクセス要求が有ることを示す「実行アクセス要求あり」を設定する。 When each of the processor cores 12 and 13 acquires the execution access prohibition notification from the MPU 15, it is determined that the handshake data 62 and 63 used for the handshake between the processor core 11 and the processor cores 12 and 13 have an execution access request. Set "Execution access request" to indicate.

プロセッサコア12,13はそれぞれ、ハンドシェーク用データ62,63が、「実行アクセス要求あり」が設定されている状態から、「実行アクセス要求なし」が設定されている状態に変化した場合に、周辺装置制御プログラム71へのフェッチ要求をMPU15へ再度出力する。 The processor cores 12 and 13, respectively, are peripheral devices when the handshake data 62 and 63 change from the state in which "execution access request is present" to the state in which "execution access request is not set". The fetch request to the control program 71 is output to the MPU 15 again.

プロセッサコア11は、プロセッサコア11が周辺装置制御プログラム71へアクセスしている期間内において、周辺装置17へ出力指示値を出力する処理が終了する毎に繰り返しハンドシェーク用データ62,63を確認し、ハンドシェーク用データ62,63に「実行アクセス要求あり」が設定されているか否かを判断する。 The processor core 11 repeatedly confirms the handshake data 62 and 63 every time the process of outputting the output instruction value to the peripheral device 17 is completed within the period in which the processor core 11 is accessing the peripheral device control program 71. It is determined whether or not "execution access request" is set in the handshake data 62 and 63.

プロセッサコア11は、ハンドシェーク用データ62,63に「実行アクセス要求あり」が設定されていると判断した場合に、周辺装置制御プログラム71をフェッチして周辺装置17へ出力指示値を出力する処理を中断して、MPU15を実行アクセス許可に設定する。 When the processor core 11 determines that "execution access request" is set in the handshake data 62 and 63, the processor core 11 fetches the peripheral device control program 71 and outputs an output instruction value to the peripheral device 17. Suspend and set MPU15 to execute permission.

プロセッサコア11は、ハンドシェーク用データ62,63に「読出要求あり」が設定されていると判断した場合に、ハンドシェーク用データ62,63に、実行アクセス要求が無いことを示す「実行アクセス要求なし」を設定する。 When the processor core 11 determines that the handshake data 62 and 63 are set to "read request", the processor core 11 indicates that the handshake data 62 and 63 do not have an execution access request "no execution access request". To set.

これにより、ECU1は、プロセッサコア11がプロセッサコア12,13からの実行アクセス要求を検出した場合に、周辺装置制御プログラム71をフェッチして周辺装置17へ出力指示値を出力する処理を中断して、プロセッサコア12,13に周辺装置制御プログラム71への実行アクセスを実行させることができる。このため、ECU1は、プロセッサコア12,13が周辺装置制御プログラム71への実行アクセスのために待機する時間を短縮することができ、プロセッサコア12,13の処理効率を向上させることができる。 As a result, when the processor core 11 detects the execution access request from the processor cores 12 and 13, the ECU 1 interrupts the process of fetching the peripheral device control program 71 and outputting the output instruction value to the peripheral device 17. , Processor cores 12 and 13 can be made to execute execution access to the peripheral device control program 71. Therefore, the ECU 1 can shorten the time for the processor cores 12 and 13 to wait for the execution access to the peripheral device control program 71, and can improve the processing efficiency of the processor cores 12 and 13.

以上説明した実施形態において、ROM14は共有データ記憶部に相当し、周辺装置制御プログラム71は共有データに相当し、RAM26はハンドシェーク記憶部に相当する。
また、実行アクセス禁止はアクセス禁止に相当し、実行アクセス許可はアクセス許可に相当する。
In the embodiment described above, the ROM 14 corresponds to the shared data storage unit, the peripheral device control program 71 corresponds to the shared data, and the RAM 26 corresponds to the handshake storage unit.
In addition, execution access prohibition corresponds to access prohibition, and execution access permission corresponds to access permission.

また、RAM26はハンドシェーク記憶部に相当し、実行アクセス禁止通知の出力はメモリアクセス違反処理に相当し、「実行アクセス要求あり」はアクセス要求有に相当する。 Further, the RAM 26 corresponds to a handshake storage unit, the output of the execution access prohibition notification corresponds to the memory access violation processing, and "with execution access request" corresponds to having an access request.

また、「周辺装置17へ出力指示値を出力する処理が終了すること」は確認条件に相当し、「周辺装置制御プログラム71をフェッチして周辺装置17へ出力指示値を出力する処理」はアクセス処理に相当し、「実行アクセス要求なし」はアクセス要求無に相当する。 Further, "the process of outputting the output instruction value to the peripheral device 17 is completed" corresponds to the confirmation condition, and "the process of fetching the peripheral device control program 71 and outputting the output instruction value to the peripheral device 17" is an access. Corresponds to processing, and "no execution access request" corresponds to no access request.

[第4実施形態]
以下に本開示の第4実施形態を図面とともに説明する。なお第4実施形態では、第3実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
[Fourth Embodiment]
The fourth embodiment of the present disclosure will be described below together with the drawings. In the fourth embodiment, a part different from the third embodiment will be described. The same reference numerals are given to common configurations.

第4実施形態のECU1は、第2実施形態で示す優先度テーブルTB2がROM14に記憶されている点が第3実施形態と異なる。
次に、第4実施形態のMPU15による実行アクセス調停の具体例を説明する。
The ECU 1 of the fourth embodiment is different from the third embodiment in that the priority table TB2 shown in the second embodiment is stored in the ROM 14.
Next, a specific example of execution access arbitration by the MPU 15 of the fourth embodiment will be described.

図17に示すように、プロセッサコア11は、まず、周辺装置制御プログラム71に対するプロセッサコア12,13からの実行アクセスを禁止する実行アクセス禁止を設定する。矢印L91は、プロセッサコア11が禁止設定要求をMPU15へ出力することを示す。 As shown in FIG. 17, the processor core 11 first sets the execution access prohibition that prohibits the execution access from the processor cores 12 and 13 to the peripheral device control program 71. The arrow L91 indicates that the processor core 11 outputs a prohibition setting request to the MPU 15.

そしてプロセッサコア11は、アクチュエータ4を制御するアクチュエータ制御処理の実行を開始する。
アクチュエータ制御処理が開始された後に、プロセッサコア12が、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L92は、プロセッサコア12が周辺装置制御プログラム71へのフェッチを要求していることを示す。
Then, the processor core 11 starts executing the actuator control process for controlling the actuator 4.
After the actuator control process is started, the processor core 12 outputs a fetch request to the peripheral device control program 71 to the MPU 15. The arrow L92 indicates that the processor core 12 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス禁止が設定されているため、矢印L93で示すように、MPU15はプロセッサコア12へ実行アクセス禁止通知を出力する。
プロセッサコア12は、MPU15から実行アクセス禁止通知を取得すると、矢印L94で示すように、ハンドシェーク用データ62に「実行アクセス要求あり」を設定する。
Here, since the execution access prohibition is set in the MPU 15, the MPU 15 outputs the execution access prohibition notification to the processor core 12 as shown by the arrow L93.
When the processor core 12 receives the execution access prohibition notification from the MPU 15, the processor core 12 sets “execution access requested” in the handshake data 62 as indicated by the arrow L94.

その後にプロセッサコア12は、四角形SQ9および矢印L95で示すように、ハンドシェーク用データ62を確認して、ハンドシェーク用データ62に「実行アクセス要求なし」が設定されるまで待機する。 After that, the processor core 12 confirms the handshake data 62 and waits until “no execution access request” is set in the handshake data 62, as indicated by the rectangle SQ9 and the arrow L95.

また、プロセッサコア13は、アクチュエータ制御処理が開始された後に、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L96は、プロセッサコア13が周辺装置制御プログラム71へのフェッチを要求していることを示す。 Further, the processor core 13 outputs a fetch request to the peripheral device control program 71 to the MPU 15 after the actuator control process is started. The arrow L96 indicates that the processor core 13 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス禁止が設定されているため、矢印L97で示すように、MPU15はプロセッサコア13へ実行アクセス禁止通知を出力する。
プロセッサコア13は、MPU15から実行アクセス禁止通知を取得すると、矢印L98で示すように、ハンドシェーク用データ63に「実行アクセス要求あり」を設定する。
Here, since the execution access prohibition is set in the MPU 15, the MPU 15 outputs the execution access prohibition notification to the processor core 13 as shown by the arrow L97.
When the processor core 13 receives the execution access prohibition notification from the MPU 15, the processor core 13 sets “execution access requested” in the handshake data 63 as indicated by the arrow L98.

その後にプロセッサコア13は、四角形SQ10および矢印L99で示すように、ハンドシェーク用データ63を確認して、ハンドシェーク用データ63に「実行アクセス要求なし」が設定されるまで待機する。 After that, the processor core 13 confirms the handshake data 63 and waits until "no execution access request" is set in the handshake data 63, as shown by the rectangle SQ10 and the arrow L99.

一方、プロセッサコア11は、アクチュエータ制御処理の実行が開始されると、四角形SQ8内において矢印L100,L101,L102で示す処理を繰り返す。矢印L100は、ROM14から周辺装置制御プログラム71をフェッチする処理である。矢印L101は、アクチュエータ4へPWM信号を出力する処理である。矢印L102は、ハンドシェーク用データ61,62,63を確認する処理である。 On the other hand, when the execution of the actuator control process is started, the processor core 11 repeats the process indicated by the arrows L100, L101, and L102 in the quadrangle SQ8. The arrow L100 is a process of fetching the peripheral device control program 71 from the ROM 14. The arrow L101 is a process of outputting a PWM signal to the actuator 4. The arrow L102 is a process for confirming the handshake data 61, 62, 63.

そして、ハンドシェーク用データ62に「実行アクセス要求あり」が設定されると、矢印L103で示すように、ROM14に記憶されている優先度テーブルTB2を参照する。 Then, when "execution access request" is set in the handshake data 62, the priority table TB2 stored in the ROM 14 is referred to as shown by the arrow L103.

次にプロセッサコア11は、周辺装置制御プログラム71に対するプロセッサコア12からの実行アクセスを許可する実行アクセス許可を設定する。矢印L104は、プロセッサコア11が許可設定要求をMPU15へ出力することを示す。 Next, the processor core 11 sets the execution access permission for permitting the execution access from the processor core 12 to the peripheral device control program 71. The arrow L104 indicates that the processor core 11 outputs a permission setting request to the MPU 15.

さらにプロセッサコア11は、矢印L105で示すように、ハンドシェーク用データ62に「実行アクセス要求なし」を設定する。
ハンドシェーク用データ62に「実行アクセス要求なし」が設定されると、プロセッサコア12は、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L106は、プロセッサコア12が周辺装置制御プログラム71へのフェッチを要求していることを示す。
Further, the processor core 11 sets “no execution access request” in the handshake data 62 as indicated by the arrow L105.
When "no execution access request" is set in the handshake data 62, the processor core 12 outputs a fetch request to the peripheral device control program 71 to the MPU 15. The arrow L106 indicates that the processor core 12 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス許可が設定されているため、MPU15はプロセッサコア12へ実行アクセス許可通知を出力する。
プロセッサコア12は、MPU15から実行アクセス許可通知を取得すると、ROM14へアクセスして、周辺装置制御プログラム71をフェッチし、矢印L107で示すように、アクチュエータ4へPWM信号を出力する。
Here, since the execution access permission is set in the MPU 15, the MPU 15 outputs the execution access permission notification to the processor core 12.
When the processor core 12 obtains the execution access permission notification from the MPU 15, the processor core 12 accesses the ROM 14, fetches the peripheral device control program 71, and outputs a PWM signal to the actuator 4 as shown by the arrow L107.

そしてプロセッサコア12は、矢印L108で示すように、ROM14に記憶されている優先度テーブルTB2を参照する。
次にプロセッサコア12は、周辺装置制御プログラム71に対するプロセッサコア13からの実行アクセスを許可する実行アクセス許可を設定する。矢印L109は、プロセッサコア11が許可設定要求をMPU15へ出力することを示す。
Then, the processor core 12 refers to the priority table TB2 stored in the ROM 14 as shown by the arrow L108.
Next, the processor core 12 sets the execution access permission for permitting the execution access from the processor core 13 to the peripheral device control program 71. The arrow L109 indicates that the processor core 11 outputs a permission setting request to the MPU 15.

さらにプロセッサコア12は、矢印L110で示すように、ハンドシェーク用データ63に「実行アクセス要求なし」を設定する。
ハンドシェーク用データ63に「実行アクセス要求なし」が設定されると、プロセッサコア13は、周辺装置制御プログラム71へのフェッチ要求をMPU15へ出力する。矢印L111は、プロセッサコア13が周辺装置制御プログラム71へのフェッチを要求していることを示す。
Further, the processor core 12 sets “no execution access request” in the handshake data 63 as indicated by the arrow L110.
When "no execution access request" is set in the handshake data 63, the processor core 13 outputs a fetch request to the peripheral device control program 71 to the MPU 15. The arrow L111 indicates that the processor core 13 is requesting a fetch to the peripheral device control program 71.

ここで、MPU15では実行アクセス許可が設定されているため、MPU15はプロセッサコア13へ実行アクセス許可通知を出力する。
プロセッサコア13は、MPU15から実行アクセス許可通知を取得すると、ROM14へアクセスして、周辺装置制御プログラム71をフェッチし、矢印L112で示すように、アクチュエータ4へPWM信号を出力する。
Here, since the execution access permission is set in the MPU 15, the MPU 15 outputs the execution access permission notification to the processor core 13.
When the processor core 13 acquires the execution access permission notification from the MPU 15, it accesses the ROM 14, fetches the peripheral device control program 71, and outputs a PWM signal to the actuator 4 as shown by the arrow L112.

このように構成されたECU1は、プロセッサコア11,12,13のそれぞれに対する優先度が設定された優先度テーブルTB2を備える。
そしてプロセッサコア11は、優先度テーブルTB2に基づいて、MPU15を、フェッチ要求をMPU15へ出力したプロセッサコア12,13の中で優先度が最も高いプロセッサコア12につい実行アクセス許可に設定する。
The ECU 1 configured in this way includes a priority table TB2 in which priorities are set for each of the processor cores 11, 12, and 13.
Then, the processor core 11 sets the MPU 15 to execute permission for the processor core 12 having the highest priority among the processor cores 12 and 13 that output the fetch request to the MPU 15 based on the priority table TB2.

またプロセッサコア11は、プロセッサコア11とプロセッサコア12との間のハンドシェークに用いられるハンドシェーク用データ62に「実行アクセス要求なし」を設定する。 Further, the processor core 11 sets "no execution access request" in the handshake data 62 used for handshaking between the processor core 11 and the processor core 12.

これにより、ECU1は、優先度が高いプロセッサコア12が、優先度が低いプロセッサコア13よりも優先して、周辺装置制御プログラム71へアクセスするようにすることができる。これにより、ECU1は、優先度が高い処理の実行が、優先度が低い処理の実行のために遅れてしまう事態の発生を抑制することができ、ECU1の応答性を向上させることができる。 As a result, the ECU 1 can allow the processor core 12 having a high priority to access the peripheral device control program 71 in preference to the processor core 13 having a low priority. As a result, the ECU 1 can suppress the occurrence of a situation in which the execution of the high-priority process is delayed due to the execution of the low-priority process, and the responsiveness of the ECU 1 can be improved.

以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
本開示に記載のECU1およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のECU1およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のECU1およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。ECU1に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
Although one embodiment of the present disclosure has been described above, the present disclosure is not limited to the above embodiment, and can be implemented in various modifications.
The ECU 1 and its method described in the present disclosure are realized by a dedicated computer provided by configuring a processor and memory programmed to perform one or more functions embodied by a computer program. You may. Alternatively, the ECU 1 and its method described in the present disclosure may be realized by a dedicated computer provided by configuring the processor with one or more dedicated hardware logic circuits. Alternatively, the ECU 1 and its method described in the present disclosure are configured by a combination of a processor and memory programmed to perform one or more functions and a processor composed of one or more hardware logic circuits. It may be realized by one or more dedicated computers. The computer program may also be stored on a computer-readable non-transitional tangible recording medium as an instruction executed by the computer. The method for realizing the functions of each part included in the ECU 1 does not necessarily include software, and all the functions may be realized by using one or a plurality of hardware.

上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。 A plurality of functions possessed by one component in the above embodiment may be realized by a plurality of components, or one function possessed by one component may be realized by a plurality of components. Further, a plurality of functions possessed by the plurality of components may be realized by one component, or one function realized by the plurality of components may be realized by one component. Further, a part of the configuration of the above embodiment may be omitted. In addition, at least a part of the configuration of the above embodiment may be added or replaced with the configuration of the other above embodiment.

上述したECU1の他、当該ECU1を構成要素とするシステム、当該ECU1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、アクセス制御方法など、種々の形態で本開示を実現することもできる。 In addition to the above-mentioned ECU 1, various systems such as a system having the ECU 1 as a component, a program for operating a computer as the ECU 1, a non-transitional actual recording medium such as a semiconductor memory in which this program is recorded, and an access control method are used. The present disclosure can also be realized in the form.

1…ECU、11,12,13…プロセッサコア、14…ROM、15…MPU、21…RAM、31…更新データ、71…周辺装置制御プログラム 1 ... ECU, 11, 12, 13 ... Processor core, 14 ... ROM, 15 ... MPU, 21 ... RAM, 31 ... Update data, 71 ... Peripheral device control program

Claims (5)

複数のプロセッサコア(11,12,13)と、
複数の前記プロセッサコアのそれぞれが読出可能にアクセスすることができる共有データを記憶するように構成された共有データ記憶部(21,14)と、
複数の前記プロセッサコアのうちの一つの前記プロセッサコアを特定プロセッサコア(11)とし、前記特定プロセッサコア以外の前記プロセッサコアを他プロセッサコア(12,13)として、前記特定プロセッサコアが前記共有データへアクセスしている場合には前記他プロセッサコアが前記共有データへアクセスすることができないように複数の前記プロセッサコアを制御するように構成されたメモリ保護部(15)と
を備える電子制御装置(1)。
With multiple processor cores (11, 12, 13),
Shared data storage units (21, 14) configured to store shared data that can be readably accessed by each of the plurality of processor cores.
The processor core of one of the plurality of processor cores is designated as the specific processor core (11), the processor cores other than the specific processor core are designated as other processor cores (12, 13), and the specific processor core is the shared data. An electronic control device (15) including a memory protection unit (15) configured to control a plurality of the processor cores so that the other processor cores cannot access the shared data when accessing the data. 1).
請求項1に記載の電子制御装置であって、
前記特定プロセッサコアは、
前記特定プロセッサコアが前記共有データへアクセスする期間内に、前記メモリ保護部を、前記他プロセッサコアからの前記共有データへのアクセスを禁止するアクセス禁止に設定するように構成された禁止設定部(S110,S410)と、
前記特定プロセッサコアが前記共有データへアクセスしない期間内に、前記メモリ保護部を、前記他プロセッサコアからの前記共有データへのアクセスを許可するアクセス許可に設定するように構成された許可設定部(S180,S480)と
を備える電子制御装置。
The electronic control device according to claim 1.
The specific processor core is
A prohibition setting unit configured to set the memory protection unit to an access prohibition that prohibits access to the shared data from the other processor core within the period during which the specific processor core accesses the shared data. S110, S410) and
A permission setting unit configured to set the memory protection unit to a permission permission to allow access to the shared data from the other processor core within a period in which the specific processor core does not access the shared data. An electronic control device including S180, S480).
請求項2に記載の電子制御装置であって、
複数の前記プロセッサコア間のハンドシェークに用いられ、且つ、複数の前記プロセッサコアのそれぞれが読出可能および更新可能にアクセスすることができるハンドシェーク用データ(41,51,62,63)を記憶するように構成されたハンドシェーク記憶部(21,26)を備え、
前記メモリ保護部は、前記特定プロセッサコアが前記共有データへアクセスする期間内に前記他プロセッサコアが前記共有データへのアクセスを試みた場合には、前記他プロセッサコアに対してメモリアクセス違反処理を実行し、
前記他プロセッサコアは、
前記メモリアクセス違反処理の対象となった場合に、前記特定プロセッサコアと当該他プロセッサコアとの間のハンドシェークに用いられる前記ハンドシェーク用データである違反対象ハンドシェーク用データに、アクセス要求が有ることを示すアクセス要求有を設定するように構成された有設定部(S310,S630)と、
前記違反対象ハンドシェーク用データが、前記アクセス要求有が設定されている状態から、アクセス要求が無いことを示すアクセス要求無が設定されている状態に変化した場合に、前記共有データへのアクセスを再度試みるように構成された再アクセス部(S320,S330,S640)とを備え、
前記特定プロセッサコアは、
前記特定プロセッサコアが前記共有データへアクセスしている期間内において、予め設定された確認条件が成立する毎に繰り返し前記違反対象ハンドシェーク用データを確認し、前記違反対象ハンドシェーク用データに前記アクセス要求有が設定されているか否かを判断するように構成された要求判断部(S150,S460)と、
前記違反対象ハンドシェーク用データに前記アクセス要求有が設定されていると前記要求判断部が判断した場合に、前記特定プロセッサコアが前記共有データへアクセスするアクセス処理を中断して、前記許可設定部に、前記メモリ保護部を前記アクセス許可に設定させるように構成された中断部(S150,S460,S490,S500)と、
前記違反対象ハンドシェーク用データに前記アクセス要求有が設定されていると前記要求判断部が判断した場合に、前記違反対象ハンドシェーク用データに、前記アクセス要求無を設定するように構成された無設定部(S190,S510)と
を備える電子制御装置。
The electronic control device according to claim 2.
To store handshake data (41, 51, 62, 63) that is used for handshaking between the plurality of processor cores and that each of the plurality of processor cores can access readable and updatable. Equipped with a configured handshake storage unit (21, 26)
If the other processor core attempts to access the shared data within the period in which the specific processor core accesses the shared data, the memory protection unit performs memory access violation processing for the other processor core. Run and
The other processor core is
Indicates that there is an access request for the violation target handshake data, which is the handshake data used for the handshake between the specific processor core and the other processor core when the memory access violation processing is targeted. Yes setting units (S310, S630) configured to set access request presence,
When the violation target handshake data changes from the state in which the access request is set to the state in which the access request is not set, which indicates that there is no access request, the access to the shared data is performed again. It is equipped with re-access units (S320, S330, S640) configured to try.
The specific processor core is
Within the period during which the specific processor core is accessing the shared data, the violation target handshake data is repeatedly confirmed every time a preset confirmation condition is satisfied, and the violation target handshake data has the access request. The request determination unit (S150, S460) configured to determine whether or not is set, and
When the request determination unit determines that the access request is set for the violation target handshake data, the access process for the specific processor core to access the shared data is interrupted, and the permission setting unit is notified. , The interruption unit (S150, S460, S490, S500) configured to set the memory protection unit to the access permission, and
When the request determination unit determines that the access request is set in the violation target handshake data, the non-setting unit configured to set the access request non-existence in the violation target handshake data. An electronic control device including (S190, S510).
請求項1〜請求項3の何れか1項に記載の電子制御装置であって、
前記特定プロセッサコアが前記共有データへアクセスする処理は、前記共有データからデータを読み出し、更に前記共有データにデータを書き込むテストである電子制御装置。
The electronic control device according to any one of claims 1 to 3.
The process of accessing the shared data by the specific processor core is an electronic control device which is a test of reading data from the shared data and further writing data to the shared data.
請求項3に記載の電子制御装置であって、
複数の前記プロセッサコアのそれぞれに対する優先度が設定された優先度テーブル(TB2)を備え、
前記中断部(S460,S490,S500)は、前記優先度テーブルに基づいて、前記許可設定部に、前記メモリ保護部を、前記共有データへのアクセスを試みた複数の前記他プロセッサコアの中で前記優先度が最も高い前記他プロセッサコアである高優先度プロセッサコアについて前記アクセス許可に設定させ、
前記無設定部(S510)は、前記特定プロセッサコアと前記高優先度プロセッサコアとの間のハンドシェークに用いられる前記違反対象ハンドシェーク用データに前記アクセス要求無を設定する電子制御装置。
The electronic control device according to claim 3.
It has a priority table (TB2) in which priorities are set for each of the plurality of processor cores.
Based on the priority table, the interruption unit (S460, S490, S500) attaches the memory protection unit to the permission setting unit among the plurality of other processor cores that have attempted to access the shared data. The permission is set for the high priority processor core which is the other processor core having the highest priority.
The non-setting unit (S510) is an electronic control device that sets no access request to the violation target handshake data used for handshaking between the specific processor core and the high priority processor core.
JP2019132040A 2019-07-17 2019-07-17 electronic controller Active JP7268516B2 (en)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2021018475A true JP2021018475A (en) 2021-02-15
JP7268516B2 JP7268516B2 (en) 2023-05-08

Family

ID=74093398

Family Applications (1)

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

Country Status (2)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002314632A (en) * 2001-04-16 2002-10-25 Denso Corp Electronic controller
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
JP2014146254A (en) * 2013-01-30 2014-08-14 Fujitsu Ltd Information processing device and control method of information processing device
JP2019036322A (en) * 2018-09-27 2019-03-07 日立オートモティブシステムズ株式会社 Vehicle controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002314632A (en) * 2001-04-16 2002-10-25 Denso Corp Electronic controller
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
JP2014146254A (en) * 2013-01-30 2014-08-14 Fujitsu Ltd Information processing device and control method of information processing device
JP2019036322A (en) * 2018-09-27 2019-03-07 日立オートモティブシステムズ株式会社 Vehicle controller

Also Published As

Publication number Publication date
DE102020208367A1 (en) 2021-01-21
JP7268516B2 (en) 2023-05-08

Similar Documents

Publication Publication Date Title
US20210011872A1 (en) Multicore bus architecture with non-blocking high performance transaction credit system
US8185683B2 (en) Bridge, information processing system, and access control method
TWI326829B (en) Method for improving flexibility of direct memory access channels
US7581054B2 (en) Data processing system
US8006000B2 (en) Bridge, processor unit, information processing apparatus, and access control method
JP4602403B2 (en) Endianness control method and apparatus in data processing system
EP1938190B1 (en) Method and apparatus to clear semaphore reservation
US20220261373A1 (en) Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels
JP3807250B2 (en) Cluster system, computer and program
KR102212269B1 (en) Register file for I/O packet compression
JP2011508292A (en) Method and apparatus for transfer of secure operating mode access privileges from a processor to a peripheral device
CN114556348A (en) Method and apparatus for operating a computing device
WO2010097925A1 (en) Information processing device
JP4656347B2 (en) Computer system
WO2014080248A1 (en) System on chip
US20140223059A1 (en) Write Transaction Interpretation for Interrupt Assertion
WO2007080718A1 (en) Bridge, information processor, information processing system, and method of managing global address
US20150371060A1 (en) System on chip
US10909056B2 (en) Multi-core electronic system
JP5439808B2 (en) System LSI with multiple buses
JP2008532167A (en) Data processing system having interrupt controller and interrupt control method
JP7268516B2 (en) electronic controller
US7689746B2 (en) Bus system employing an arbiter
JPS6275860A (en) Data transfer controller
EP2538336A2 (en) System and method for allocating memory resources

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R151 Written notification of patent or utility model registration

Ref document number: 7268516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151