JP5699896B2 - Information processing apparatus and abnormality determination method - Google Patents

Information processing apparatus and abnormality determination method Download PDF

Info

Publication number
JP5699896B2
JP5699896B2 JP2011225172A JP2011225172A JP5699896B2 JP 5699896 B2 JP5699896 B2 JP 5699896B2 JP 2011225172 A JP2011225172 A JP 2011225172A JP 2011225172 A JP2011225172 A JP 2011225172A JP 5699896 B2 JP5699896 B2 JP 5699896B2
Authority
JP
Japan
Prior art keywords
data
cpu
core
address
calculation
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.)
Expired - Fee Related
Application number
JP2011225172A
Other languages
Japanese (ja)
Other versions
JP2013084219A (en
Inventor
一美 山田
一美 山田
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2011225172A priority Critical patent/JP5699896B2/en
Publication of JP2013084219A publication Critical patent/JP2013084219A/en
Application granted granted Critical
Publication of JP5699896B2 publication Critical patent/JP5699896B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、複数のコアを有する情報処理装置に関し、コアの動作を監視することが可能な情報処理装置に関する。   The present invention relates to an information processing apparatus having a plurality of cores, and relates to an information processing apparatus capable of monitoring core operations.

燃費向上や運転者の負担軽減、安全性の向上などをもたらすため、車両にはマイコンを応用した多くの電子制御装置が搭載されている。マイコンが故障するとこれらの制御が損なわれるため、マイコンの動作状態を監視してマイコンの動作を保証する対策が講じられている。   In order to improve fuel efficiency, reduce driver's burden, and improve safety, vehicles are equipped with many electronic control devices that apply microcomputers. Since these controls are lost when a microcomputer breaks down, measures are taken to ensure the operation of the microcomputer by monitoring the operation state of the microcomputer.

ところで、マイコンに、コアが複数個含まれるマルチコア型のプロセッサが搭載されるようになってきた(以下、マルチコアマイコンという)。マルチコアマイコンにおいて各コアの動作状態を監視する手法として、一命令を同時に複数のコアで実行して、命令単位で実行結果を比較するロックステップ方式が知られている。しかし、ロックステップ方式では、複数のコアが同じ命令を実行するため同時に1つのタスクしか実行されず処理効率が低下してしまう。   By the way, a multi-core type processor including a plurality of cores has been mounted on a microcomputer (hereinafter referred to as a multi-core microcomputer). As a technique for monitoring the operating state of each core in a multi-core microcomputer, a lockstep method is known in which one instruction is executed simultaneously by a plurality of cores and the execution results are compared in units of instructions. However, in the lockstep method, since a plurality of cores execute the same instruction, only one task is executed at the same time, resulting in a reduction in processing efficiency.

そこで、複数のコアで同じタスクを単発的に実行し、比較回路が処理結果を比較することでコアの異常を検出する手法が知られている(例えば、特許文献1参照。)。特許文献1には、複数の通常タスク処理用プロセッサのうち所定順序で選択されたプロセッサと同一の処理を、選択された通常タスク処理用プロセッサと並行して行う並行同一処理用プロセッサと、順に選択された通常タスク処理用プロセッサによる処理結果と並行同一処理用プロセッサによる処理結果とを比較する比較手段と、を有するマルチプロセッサ装置が開示されている。   Therefore, a technique is known in which the same task is executed on a plurality of cores in a single shot, and a comparison circuit detects the abnormality of the core by comparing the processing results (see, for example, Patent Document 1). In Patent Document 1, the same processing as a processor selected in a predetermined order among a plurality of normal task processing processors is sequentially selected in parallel with the same processor for parallel processing that is performed in parallel with the selected normal task processing processor. There is disclosed a multiprocessor device having comparison means for comparing the processing result of the processed normal task processor and the processing result of the parallel identical processing processor.

特開2011−145900号公報JP 2011-145900 A

しかしながら、特許文献1に開示されたコアの監視方法では、専用の比較手段が必要になるという問題がある。これは複数のコアの処理結果を比較するには、各コアの処理結果をコアの外部に取り出す必要があるためである。   However, the core monitoring method disclosed in Patent Document 1 has a problem that a dedicated comparison means is required. This is because in order to compare the processing results of a plurality of cores, it is necessary to extract the processing results of each core to the outside of the core.

複数のコアのいずれかが他のコアの処理結果と自コアの処理結果を比較すれば、比較回路が不要になるが、比較処理を行うコアは他のコアの処理結果を読み出すなどの余分の処理が必要になってしまう。また、この場合、各コアが使用するRAM領域等が異なるため、同じ入力データを使用し同じ処理を行ったはずでも、処理結果が一致しない場合が生じる可能性がある。   If one of the multiple cores compares the processing result of the other core with the processing result of the own core, the comparison circuit becomes unnecessary, but the core that performs the comparison processing reads extra processing results such as reading the processing result of the other core. Processing is required. In this case, since the RAM area used by each core is different, there is a possibility that the processing results may not match even if the same processing should be performed using the same input data.

本発明は、上記課題に鑑み、比較回路を用いることなく複数のCPUの動作を監視可能な情報処理装置を提供することを目的とする。   An object of the present invention is to provide an information processing apparatus capable of monitoring operations of a plurality of CPUs without using a comparison circuit.

本発明は、複数のCPUと、各CPUがアクセス可能な記憶手段と、第2のCPUが前記記憶手段へデータを書き込むことを禁止するアクセス制御手段と、を有し、各CPUが共通の異常検出プログラムを実行することで各CPUがそれぞれ実現させる手段として、演算用データを前記記憶手段の第1のアドレスに書き込むデータ書き込み手段と、前記記憶手段の前記第1のアドレスから前記演算用データを読み出すデータ読み出し手段と、前記データ読み出し手段が読み出した前記演算用データに演算を施し演算結果データを生成するデータ演算手段と、前記データ書き込み手段が前記記憶手段の第2のアドレスに書き込み前記データ読み出し手段が前記記憶手段の前記第2のアドレスから読み出した演算結果データと、前記データ演算手段が生成した演算結果データを比較する比較手段と、を有し、前記アクセス制御手段により前記第2のCPUが前記記憶手段への書き込みを禁止されている状態で、第1のCPUの前記データ書き込み手段が前記記憶手段の前記第2のアドレスに書き込んだ演算結果データを前記第2のCPUの前記データ読み出し手段が読み出すことで、前記第2のCPUの前記比較手段は前記第1のCPUの前記データ演算手段による演算結果データと、前記第2のCPUの前記データ演算手段による演算結果データとを比較する、ことを特徴とする。 The present invention has a plurality of CPUs, storage means accessible by each CPU , and access control means for prohibiting the second CPU from writing data into the storage means , and each CPU has a common abnormality as means for each CPU to realize each by executing the detecting program, and a data writing means for writing the operation data to the first address of the storage means, the arithmetic data from the first address of said storage means a data reading means for reading a data calculating means for generating an operation result data performing an operation on said calculation data for data reading means has read, the data writing means writing the data read to the second address of said memory means and calculation result data unit read from the second address of said memory means, said data computation hand A state but which has a comparing means for comparing the generated operation result data, and the by the access control means the second CPU is prohibited to write to the storage means, the data writing of the first CPU The data reading means of the second CPU reads out the operation result data written by the means to the second address of the storage means, so that the comparing means of the second CPU is the data of the first CPU. The calculation result data by the data calculation means is compared with the calculation result data by the data calculation means of the second CPU .

比較回路を用いることなく複数のCPUの動作を監視可能な情報処理装置を提供することができる。   An information processing apparatus capable of monitoring the operations of a plurality of CPUs without using a comparison circuit can be provided.

マイコンの概略的な特徴を説明する図の一例である。It is an example of the figure explaining the general | schematic characteristic of a microcomputer. マイコンのハードウェア構成図の一例である。It is an example of the hardware block diagram of a microcomputer. MPUによるRAMへのアクセス制御を説明する図の一例である。It is an example of the figure explaining access control to RAM by MPU. アクセス許否情報の一例を示す図である。It is a figure which shows an example of access permission information. コア1とコア2が実行するタスクの順番を模式的に説明する図の一例である。It is an example of the figure which illustrates typically the order of the task which the core 1 and the core 2 perform. コア1又はコア2が実行する異常判定処理(タスクB)の機能ブロック図の一例を示す。An example of the functional block diagram of the abnormality determination process (task B) which the core 1 or the core 2 performs is shown. コア1,2が異常判定処理を行う手順の一例を示すフローチャート図である。It is a flowchart figure which shows an example of the procedure in which the cores 1 and 2 perform abnormality determination processing.

以下、本発明を実施するための形態について図面を参照しながら説明する。
図1は、本実施形態のマイコンの概略的な特徴を説明する図の一例である。CPUコア1とCPUコア2は(以下、CPUコアを単にコアという)、異常判定処理を異なるタイミングで実行する。この異常判定処理はコア1,2から共通に実行されるタスクである。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
FIG. 1 is an example of a diagram illustrating schematic features of the microcomputer according to the present embodiment. The CPU core 1 and the CPU core 2 (hereinafter, the CPU core is simply referred to as a core) execute the abnormality determination process at different timings. This abnormality determination process is a task that is commonly executed by the cores 1 and 2.

また、多くのマイコンは、MPU(Memory Protection Unit)と呼ばれる回路を有している。MPUはコア1,2のRAMへのアクセスを制御する。ここでは、MPUは以下のようにアクセス制御を行う。
・コア1がRAMのアドレスA、アドレスBにライト/リードすることを許可する。
・コア2がRAMのアドレスA、アドレスBからリードすることは許可するが、ライトすることを禁止する。
A.異常判定処理を開始したコア1は以下のように動作する。
(1) 演算用データをアドレスAに書き込む。
(2) 演算用データをアドレスAから読み出す。
(3) 演算用データを使って演算を実行して比較用データを生成する。比較用データはコア1が保持しておく。
(4) 比較用データをアドレスBに書き込む。
(5) 比較用データをアドレスBから読み出す。
(6) アドレスBから読み出した比較用データと、保持している比較用データを比較して、一致するか否かを判定する。
Many microcomputers have a circuit called MPU (Memory Protection Unit). The MPU controls access to the RAMs of the cores 1 and 2. Here, the MPU performs access control as follows.
The core 1 is allowed to write / read to the RAM address A and address B.
The core 2 is permitted to read from the address A and address B of the RAM, but is prohibited from writing.
A. The core 1 that has started the abnormality determination process operates as follows.
(1) Write operation data to address A.
(2) Read operation data from address A.
(3) Perform calculation using the calculation data to generate comparison data. The core 1 holds the comparison data.
(4) Write the comparison data to address B.
(5) Read the comparison data from address B.
(6) The comparison data read from address B is compared with the held comparison data to determine whether or not they match.

コア1が実行する異常判定処理では、(3)と(5)の比較用データが元々同じものなので、書き込みエラー等が生じない限り、2つの比較用データは一致する。
B.異常判定処理を開始したコア2は以下のように動作する。
(1) 演算用データをアドレスAに書き込む。しかし、コア2はアドレスAに演算用データを書き込むことができない。
(2) 演算用データをアドレスAから読み出す。
(3) 演算用データを使って演算を実行して比較用データを生成する。比較用データはコア2が保持しておく。
(4) 比較用データをアドレスBに書き込む。しかし、コア2はアドレスBに比較用データを書き込むことができない。
(5) 比較用データをアドレスBから読み出す。
(6) アドレスBから読み出した比較用データと、保持している比較用データを比較して、一致するか否かを判定する。
In the abnormality determination process executed by the core 1, since the comparison data of (3) and (5) are originally the same, the two comparison data match unless a write error or the like occurs.
B. The core 2 that has started the abnormality determination process operates as follows.
(1) Write operation data to address A. However, the core 2 cannot write operation data to the address A.
(2) Read operation data from address A.
(3) Perform calculation using the calculation data to generate comparison data. The core 2 holds the comparison data.
(4) Write the comparison data to address B. However, the core 2 cannot write the comparison data at the address B.
(5) Read the comparison data from address B.
(6) The comparison data read from address B is compared with the held comparison data to determine whether or not they match.

つまりコア2は、(1)において演算用データを書き込めないので、(3)においてコア2はコア1と同じ演算用データを用いて演算を実行する。そして、(4)においてコア2は比較用データを書き込めないので、(6)においてコア2は、コア1が実行してアドレスBに書き込んだ比較用データと、コア2が演算を実行して生成した比較用データを比較する。   That is, since the core 2 cannot write the calculation data in (1), the core 2 executes the calculation using the same calculation data as the core 1 in (3). In (4), the core 2 cannot write comparison data. In (6), the core 2 generates the comparison data executed by the core 1 and written to the address B, and the core 2 executes the calculation. Compare the comparison data.

したがって、コア2は、コア1が比較用データを演算するために使用した演算用データを使用して比較用データを生成し、コア1が生成した比較用データと比較することができる。演算用データの同一性が保証されるので、比較用データの不一致からコア1又はコア2の異常を高い確度で検出できる。   Therefore, the core 2 can generate comparison data using the calculation data used by the core 1 to calculate the comparison data, and can compare the comparison data with the comparison data generated by the core 1. Since the identity of the calculation data is guaranteed, the abnormality of the core 1 or the core 2 can be detected with high accuracy from the mismatch of the comparison data.

また、異常判定処理は全く同じ処理なので、ROMには1つの異常判定処理のプログラムを記憶しておけばよい。さらに、異常判定処理の上記のプロセスは、制御用のプログラムでも含まれうるので、制御用のプログラムにいくつかの処理を加えるだけで異常判定処理が可能となる。   Further, since the abnormality determination processing is exactly the same processing, it is sufficient to store one abnormality determination processing program in the ROM. Furthermore, since the above-described process of abnormality determination processing can be included in a control program, the abnormality determination processing can be performed only by adding some processing to the control program.

〔構成例〕
図2は、車両に搭載されるマイコンのハードウェア構成図の一例である。マイコン100は、ECU(Electronic Control Unit)に搭載されることが想定されているがその用途は車両に限定されない。車載されるECUには、その主要な機能により、エンジンECU、ブレーキECU、ボディECU、ナビゲーションECU(AV・情報処理ECU)、ゲートウェイECU等の種類がある。本実施例のマイコン100はECUの機能の違いに影響されず搭載されることが可能である。また、複数の機能が1つに統合されたECUにマイコン100を搭載してもよい。
[Configuration example]
FIG. 2 is an example of a hardware configuration diagram of a microcomputer mounted on the vehicle. The microcomputer 100 is assumed to be mounted on an ECU (Electronic Control Unit), but its application is not limited to a vehicle. There are various types of ECUs mounted on the vehicle, such as an engine ECU, a brake ECU, a body ECU, a navigation ECU (AV / information processing ECU), and a gateway ECU, depending on main functions. The microcomputer 100 of the present embodiment can be mounted without being affected by the difference in ECU functions. Further, the microcomputer 100 may be mounted on an ECU in which a plurality of functions are integrated into one.

マイコン100は、メインバス21に接続されたプロセッサ11、ROM12、INTC13、RAM14、DMAC15、並びに、I/Oブリッジ16を有し、I/Oブリッジ16には周辺バス22を介してADC(Analog to Digital Converter)17及びCANコントローラ18が接続されている。   The microcomputer 100 includes a processor 11, a ROM 12, an INTC 13, a RAM 14, a DMAC 15, and an I / O bridge 16 connected to the main bus 21, and an ADC (Analog to Analog) is connected to the I / O bridge 16 via a peripheral bus 22. Digital Converter) 17 and CAN controller 18 are connected.

プロセッサ11は少なくとも2つ以上のコア1〜nを有する。各コア1〜nは一般的な演算機能(例えば、ALU等の演算装置、命令バッファ、命令デコーダ、レジスタセット等)を有している。1つのチップに複数のコア1〜nを有するプロセッサでなく、CPUが独立にメインバス21に接続されていてもよい。   The processor 11 has at least two or more cores 1 to n. Each of the cores 1 to n has a general arithmetic function (for example, an arithmetic device such as an ALU, an instruction buffer, an instruction decoder, a register set, etc.). Instead of a processor having a plurality of cores 1 to n on one chip, a CPU may be connected to the main bus 21 independently.

MPU20はプロセッサ内に配置されているが、単独で搭載されてもよい。また、MPU20はMMU(Memory Management Unit)として実装されることも多い。MMUはアドレス変換機能、メモリ保護機能、キャッシュ管理機能、及び、バス調停機能等を有し、このメモリ保護機能がMPU20の機能に相当する。   The MPU 20 is disposed in the processor, but may be mounted alone. The MPU 20 is often implemented as an MMU (Memory Management Unit). The MMU has an address conversion function, a memory protection function, a cache management function, a bus arbitration function, and the like, and this memory protection function corresponds to the function of the MPU 20.

ROM12はフラッシュメモリなどの不揮発メモリであり、プロセッサ11が実行するプログラム30や初期値、パラメータ等を記憶している。   The ROM 12 is a nonvolatile memory such as a flash memory, and stores a program 30 executed by the processor 11, initial values, parameters, and the like.

INTC13はIRQやその他の割り込み端子を介して周辺機器から入力された割り込み要求を、周辺機器の優先順位に基づき調停してプロセッサ11に通知する。これによりプロセッサ11は、割り込みした周辺機器に応じて決まったアドレスの命令をROM12から読み出して処理を実行する。   The INTC 13 arbitrates based on the priority of the peripheral device and notifies the processor 11 of the interrupt request input from the peripheral device via the IRQ or other interrupt terminal. As a result, the processor 11 reads an instruction at an address determined according to the interrupted peripheral device from the ROM 12 and executes the process.

RAM14は、プロセッサ11がプログラム30を実行するための作業領域である。プロセッサ11はROM12からプログラム30を読み込み、また、必要であればデータバスを介してRAM14からデータを読み出しプログラム30を実行する。DMAC15は、プロセッサ11からの指示によりRAM14からI/Oブリッジ16を介して周辺機器にデータを送信する。また、周辺機器から割り込みされたプロセッサ11から指示を受けて、I/Oブリッジ16を介して周辺機器からデータを受け取り、RAM14に書き込む。   The RAM 14 is a work area for the processor 11 to execute the program 30. The processor 11 reads the program 30 from the ROM 12, and reads the data from the RAM 14 via the data bus if necessary and executes the program 30. The DMAC 15 transmits data from the RAM 14 to the peripheral device via the I / O bridge 16 according to an instruction from the processor 11. In response to an instruction from the processor 11 interrupted by the peripheral device, data is received from the peripheral device via the I / O bridge 16 and written to the RAM 14.

I/Oブリッジ16は、メインバス21と周辺バス22との周波数の違いを吸収し、メインバス側の回路と周辺バス側の回路のデータを互いに受け渡す。I/Oブリッジ16は、マルチプレクサやブリッジ回路などであり、チャネル毎に、ADC17、及び、CANコントローラ18とそれぞれ接続されており、これらの周辺機器とデータを送受信する。   The I / O bridge 16 absorbs the difference in frequency between the main bus 21 and the peripheral bus 22 and transfers data between the main bus circuit and the peripheral bus circuit to each other. The I / O bridge 16 is a multiplexer, a bridge circuit, or the like, and is connected to the ADC 17 and the CAN controller 18 for each channel, and transmits / receives data to / from these peripheral devices.

ADC17は、各種のセンサが検出したアナログ信号をデジタル信号に変換する。ADC17は変換の終了を、INTC13を介してプロセッサ11に通知する。CANコントローラ18は、車載ネットワークを介して接続された他のECUと通信するための通信装置である。CANコントローラ18は、プロセッサ11から通信データの送信要求を受け付けるとフレームの各フィールドにCAN IDやデータを格納しCANバスに出力する。また、CANコントローラ18は、受信すべきCAN IDの通信データを検出するとそれを取り込みINTC13を介してプロセッサ11に割り込んで通知する。   The ADC 17 converts analog signals detected by various sensors into digital signals. The ADC 17 notifies the end of conversion to the processor 11 via the INTC 13. The CAN controller 18 is a communication device for communicating with other ECUs connected via an in-vehicle network. When receiving a communication data transmission request from the processor 11, the CAN controller 18 stores the CAN ID and data in each field of the frame and outputs them to the CAN bus. Further, when the CAN controller 18 detects the communication data of the CAN ID to be received, the CAN controller 18 captures the data and interrupts it to the processor 11 via the INTC 13 to notify it.

図3は、MPU20によるRAM14へのアクセス制御を説明する図の一例である。コア1,コア2は、アドレス線41、R/W選択信号線42、及び、チップ識別信号線43などを介してMPU20と接続されている。MPU20は、アドレス線41、R/W選択信号線42、及び、R/W許否信号線44などを介してRAM14と接続されている。また、RAM14はデータ線45を介してコア1、コア2と接続されている。   FIG. 3 is an example of a diagram illustrating access control to the RAM 14 by the MPU 20. The cores 1 and 2 are connected to the MPU 20 via an address line 41, an R / W selection signal line 42, a chip identification signal line 43, and the like. The MPU 20 is connected to the RAM 14 via an address line 41, an R / W selection signal line 42, an R / W permission / rejection signal line 44, and the like. The RAM 14 is connected to the core 1 and the core 2 via the data line 45.

コア1又はコア2がRAM14へアクセス要求する際、例えば、不図示のアービタがラウンドロビン方式、固定優先順位方式、又は、重み付けラウンドロビン方式などに基づき、コア1又はコア2にアクセス権を与える。   When the core 1 or the core 2 requests access to the RAM 14, for example, an arbiter (not shown) gives an access right to the core 1 or the core 2 based on a round robin method, a fixed priority method, a weighted round robin method, or the like.

アクセス権を取得したコア1又はコア2は、チップ識別信号線をアサートしてMPU20と接続する。そして、リード要求かライト要求かをR/W選択信号線によりMPU20に通知すると共に、アドレス線によりアドレスを通知する。MPU20がMMUの一機能として搭載されている場合、MMUは仮想アドレスを物理アドレスに変換するが、本実施形態ではアドレスの変換の有無は問わない。   The core 1 or core 2 that has acquired the access right asserts the chip identification signal line and connects to the MPU 20. Then, the MPU 20 is notified of the read request or the write request via the R / W selection signal line, and the address is notified via the address line. When the MPU 20 is mounted as a function of the MMU, the MMU converts a virtual address into a physical address, but in the present embodiment, whether or not the address is converted does not matter.

MPU20は、チップ識別信号線で接続されたコア1又はコア2のアドレス線及びR/W選択信号線をRAM14側にパススルーして、アドレスとリード要求/ライト要求をRAM14に出力する。RAM14からデータのリード又はRAM14へのライトが許可されるか否かは、R/W許否信号線により制御される。   The MPU 20 passes through the address line and R / W selection signal line of the core 1 or core 2 connected by the chip identification signal line to the RAM 14 side, and outputs an address and a read request / write request to the RAM 14. Whether or not reading of data from the RAM 14 or writing to the RAM 14 is permitted is controlled by an R / W permission / rejection signal line.

MPU20はアクセス許否情報23を有している。アクセス許否情報23は、OSやプログラムがマイコンの起動時にMPU20のレジスタに記憶させる。アクセス許否情報23には、RAM14の領域単位に、各コアがリード可能か否か、ライト可能か否かが設定されている。   The MPU 20 has access permission / denial information 23. The access permission / denial information 23 is stored in the register of the MPU 20 when the OS or program starts up the microcomputer. In the access permission / denial information 23, whether or not each core can be read or written is set for each area of the RAM 14.

MPU20は、アクセス許否情報23を参照して、アクセス要求したコアがアドレスの示す領域にリード又はライト可能か否かを判定する。コア1又はコア2がリード要求し、リードが禁止されている場合、MPU20はR/W許否信号線によりリード禁止をRAM14に出力する。この場合、コア1又はコア2はRAM14からデータを読み出すことができない。コア1又はコア2がライト要求し、ライトが禁止されている場合、MPU20はR/W許否信号線によりライト禁止をRAM14に出力する。この場合、コア1又はコア2はRAM14にデータを書き込むことができない。   The MPU 20 refers to the access permission / denial information 23 to determine whether or not the core that has requested access can read or write to the area indicated by the address. When the core 1 or the core 2 requests a read and the read is prohibited, the MPU 20 outputs a read prohibition to the RAM 14 through the R / W permission / rejection signal line. In this case, the core 1 or the core 2 cannot read data from the RAM 14. When the core 1 or the core 2 requests a write and the write is prohibited, the MPU 20 outputs a write prohibition to the RAM 14 through the R / W permission / rejection signal line. In this case, the core 1 or the core 2 cannot write data to the RAM 14.

図4は、アクセス許否情報23の一例を示す図である。アクセス許否情報23はコア毎に設けられている。コア毎かつタスク毎に規定することも可能である。アクセス許否情報23は、「領域番号」、「アドレス」、「サイズ」、「リード」、「ライト」、「モード」の各項目を有する。実際にはMPU20にこのようなラベルが付与されているわけではなく、MPU20のレジスタ番号やレジスタ内のbit位置により格納される情報が予め定められている。   FIG. 4 is a diagram illustrating an example of the access permission information 23. Access permission / denial information 23 is provided for each core. It can also be defined for each core and for each task. The access permission / denial information 23 includes items of “area number”, “address”, “size”, “read”, “write”, and “mode”. Actually, such a label is not assigned to the MPU 20, but information stored by the register number of the MPU 20 and the bit position in the register is determined in advance.

「領域番号」は、RAM14の一部又は全体をいくつかの領域に区分した場合に領域を識別するための識別情報である。「アドレス」は領域が始まるアドレスを示し、「サイズ」は領域の容量を示す。「リード」はその領域のリードが許可されているか否かを示し、「ライト」はその領域へのライトが許可されているか否かを示す。「モード」は、コア1,2の動作モードであり、本実施形態では各コアは特権モードとユーザモードの2つの動作モードを有している。簡単には、特権モードは、コアがOSを実行する動作モードであり、ユーザモードは、コアがアプリケーションを実行する動作モードである。一般に、OSのシステム領域にアクセスできるのはOSだけである。図4では、領域1をシステム領域としたため、領域1は特権モードでのみリード及びライトが許可されている。   The “area number” is identification information for identifying an area when a part or the whole of the RAM 14 is divided into several areas. “Address” indicates the address where the area starts, and “Size” indicates the capacity of the area. “Read” indicates whether or not reading of the area is permitted, and “Write” indicates whether or not writing to the area is permitted. The “mode” is an operation mode of the cores 1 and 2. In the present embodiment, each core has two operation modes of a privilege mode and a user mode. Briefly, the privileged mode is an operation mode in which the core executes an OS, and the user mode is an operation mode in which the core executes an application. Generally, only the OS can access the system area of the OS. In FIG. 4, since the area 1 is the system area, the area 1 is allowed to be read and written only in the privileged mode.

コア1のアクセス許否情報23とコア2のアクセス許否情報23を比較すると、コア2は、領域2においてユーザモードのライトが禁止されている。すなわち、コア2はユーザモードにおいて、領域2にデータを書き込むことができない。したがって、アクセス許否情報23により、コア1には領域2にリード及びライトすることを許可し、コア2には領域2からのリードのみを許可する、というアクセス制御が可能になる。   Comparing the access permission information 23 of the core 1 and the access permission information 23 of the core 2, the core 2 is prohibited from writing in the user mode in the area 2. That is, the core 2 cannot write data in the area 2 in the user mode. Therefore, the access permission information 23 enables access control such that the core 1 is permitted to read and write to the area 2 and the core 2 is permitted only to read from the area 2.

例えば、コア1及びコア2がRAM14にデータを書き込むための命令は以下のようになる。
ST Gr0, @Gr1
この命令は、レジスタGr0のデータをレジスタGr1に格納されているRAM14のアドレス(図1ではアドレスA,及び、アドレスBが相当する)に書き込むというものである(“@”はポインタを意味する)。開発者等は、レジスタGr1に格納されているRAM14のアドレスを把握しておき、このアドレスが含まれる領域のアクセス許否情報23を図4の領域2のように記述する。これにより、コア1はリード/ライト可能だがコア2はリードのみが可能な領域を、異常判定処理により使用されるRAM14の領域として確保することができる。
For example, an instruction for the core 1 and the core 2 to write data to the RAM 14 is as follows.
ST Gr0, @ Gr1
This instruction is to write the data of the register Gr0 to the address of the RAM 14 stored in the register Gr1 (corresponding to the address A and the address B in FIG. 1) (“@” means a pointer). . The developer or the like grasps the address of the RAM 14 stored in the register Gr1, and describes the access permission information 23 of the area including this address as shown in the area 2 in FIG. As a result, an area in which the core 1 can be read / written but the core 2 can only be read can be secured as an area of the RAM 14 used in the abnormality determination process.

なお、MPU20がアクセス許否情報23によりコアのアクセス(リード又はライトのどちらの場合でも)を拒否する場合、一般には例外が発生する。つまりMPU20は、アクセスを拒否するコアに対し例外の発生を知らせる割込みする。コアはこの割込みに対し予め定められた例外ハンドラや例外処理ルーチンを実行するが、本実施形態ではこの例外は想定されている例外なので、例外ハンドラがすぐに元の異常判定処理に戻る処理を実行すればよい。また、この例外による割込みをマスクしておいてもよい。また、MPU20がコア2と接続された場合に、例外の発生をコア2に通知しないようにしてもよい。例えば、MPU20とコアを接続する例外の割込み線にスイッチを配置し、コア2と接続された場合に、コア2又はMPU20がスイッチをオフにする。   When the MPU 20 denies access to the core (whether read or write) by the access permission / denial information 23, an exception generally occurs. That is, the MPU 20 interrupts the core that refuses access to notify the occurrence of an exception. The core executes a predetermined exception handler or exception processing routine for this interrupt. In this embodiment, this exception is an assumed exception, so the exception handler immediately returns to the original abnormality determination process. do it. In addition, an interrupt caused by this exception may be masked. Further, when the MPU 20 is connected to the core 2, the occurrence of an exception may not be notified to the core 2. For example, when a switch is arranged on an exception interrupt line connecting the MPU 20 and the core, and the core 2 or MPU 20 is connected to the core 2, the core 2 or the MPU 20 turns off the switch.

〔タスクスケジュール〕
図5(a)はコア1とコア2が実行するタスクの順番を模式的に説明する図の一例である。タスクとは、Main関数から始まる1つのプログラムに含まれる処理を機能単位で区分したものであり、例えば、Main関数から呼ばれる関数、サブルーチンなどが相当する。また、外部割り込みにより実行されるプログラムもタスクである。
[Task Schedule]
FIG. 5A is an example of a diagram schematically illustrating the order of tasks executed by the core 1 and the core 2. A task is a process in which processing included in one program starting from the Main function is divided into functional units, and corresponds to, for example, a function or a subroutine called from the Main function. A program executed by an external interrupt is also a task.

本実施形態では、例えば図のタスクBが異常判定処理のタスクであるとして説明する。コア1及びコア2のいずれもタスクBを実行するが、完全に同一タイミングで実行することはできない。これは、コア2はコア1のタスクBの処理結果を利用するためである。このため、コア2は、コア1がタスクBの実行を開始してから、少なくともやや遅れてタスクBを実行する必要がある。このようなタスクのスケジューリングは、OSが提供するスケジューラにより行われる。   In the present embodiment, description will be made assuming that, for example, task B in the figure is a task for abnormality determination processing. Although both the core 1 and the core 2 execute the task B, they cannot be executed at the same timing. This is because the core 2 uses the processing result of the task B of the core 1. For this reason, the core 2 needs to execute the task B at least slightly after the core 1 starts executing the task B. Such task scheduling is performed by a scheduler provided by the OS.

図5(b)はタスクのスケジューリングを説明するための図の一例である。タスクは一般に、休止状態、実行可能状態、実行状態、及び、待ち状態の各状態を経る。休止状態は生成直後又は実行が完了したタスクの状態である。実行状態は、コアにより現在、実行されているタスクの状態をいう。実行状態のタスクはコアの数以下しか存在しない。実行可能状態は、周辺機器の入出力などが完了し、実行の準備が整ったタスクの状態をいう。実行可能状態のタスクは、コアが実行状態のタスクを終了させれば(コアが空けば)コアに割り当てられる(ディスパッチされる)。待ち状態は、周辺機器が入出力を完了させるなど、実行に必要な条件が整うまで待機しているタスクの状態をいう。   FIG. 5B is an example of a diagram for explaining task scheduling. In general, a task goes through a dormant state, an executable state, an executing state, and a waiting state. The dormant state is the state of a task that has just been created or has completed execution. The execution state refers to the state of the task currently being executed by the core. There are less than the number of cores in the running state. The executable state refers to a task state in which input / output of peripheral devices is completed and ready for execution. A task in an executable state is assigned (dispatched) to a core if the core terminates the task in the execution state (if the core is free). The wait state is a state of a task that is waiting until a necessary condition for execution is satisfied, such as a peripheral device completing input / output.

例えば、各タスクは、プログラムのシステムコールにより生成され休止状態になり、システムコールにより休止状態から実行可能状態になる。タスクが生成されると、スケジューラ(又はOS)はタスクの状態等をTCB(Task Control Block)に登録し、以降はTCBに基づきタスクを管理する。   For example, each task is generated by a system call of a program and enters a dormant state. The system call is changed from the dormant state to an executable state. When a task is generated, the scheduler (or OS) registers the task status and the like in a TCB (Task Control Block), and thereafter manages the task based on the TCB.

TCBには、タスク識別番号、タスクの優先度、タスクの現在の状態、タスクの開始アドレスやスタック領域のアドレスなどが登録されている。タスクの優先度は予めプログラムに記述されている。タスクの識別番号、タスクの現在の状態、タスクの開始アドレスやスタック領域のアドレスはOSが登録する。   In the TCB, a task identification number, task priority, task current state, task start address, stack area address, and the like are registered. The task priority is described in advance in the program. The OS registers the task identification number, the current state of the task, the task start address, and the stack area address.

ここで、マルチコアのプロセッサ11のプログラム実行態様が、各コアのOSとタスクの実行形態により分類されることが知られている。このプログラム実行態様には、コアに特定のOSとタスクを割り当てるAMP(Asymmetric Multiprocessing)」と、各コアが共通のOSを実行しコアとタスクの関係が動的に変動しうるSMP(Symmetric Multi-processing)」、AMPとSMPの双方の性質をもつBMP(Bound Multiprocessing)がある。   Here, it is known that the program execution mode of the multi-core processor 11 is classified according to the OS and task execution mode of each core. This program execution mode includes AMP (Asymmetric Multiprocessing) in which a specific OS and task are assigned to the core, and SMP (Symmetric Multi-processing) in which each core executes a common OS and the relationship between the core and the task can dynamically change. processing) ”, there is BMP (Bound Multiprocessing) having both AMP and SMP properties.

AMPではシングルコアと同様に、スケジューラはコア毎に用意され、SMPでは複数のコアに1つ用意される。AMPでは、それぞれのコアで固有のタスクが動作するため、スケジューラは1つのコアだけをスケジューリングすればよい。SMPではコアが実行するタスクが固定でなく動的に切り換えることができるため、スケジューラはコア1,2に対し実行可能状態のタスクを割り当てる。本実施形態では、コア1,2が実行タイミングをずらしてタスクBを実行するので、SMP又はBMPの方がスケジューリングが容易である。しかし、プロセッサ11がAMPで動作した場合でも、コア2のスケジューラがコア1によるタスクBの実行タイミングを監視するなどして、コア1とコア2が適切なタイミングでそれぞれタスクBを実行することも可能である。   Similar to a single core in AMP, a scheduler is prepared for each core, and in SMP, one scheduler is prepared for a plurality of cores. In AMP, a unique task operates in each core, so the scheduler need only schedule one core. In SMP, the tasks executed by the core are not fixed and can be switched dynamically. Therefore, the scheduler assigns tasks in an executable state to the cores 1 and 2. In the present embodiment, since the cores 1 and 2 execute the task B with the execution timing shifted, scheduling is easier with SMP or BMP. However, even when the processor 11 operates by AMP, the scheduler of the core 2 may monitor the execution timing of the task B by the core 1, and the core 1 and the core 2 may execute the task B at appropriate timing, respectively. Is possible.

スケジューラは、所定の規則に従って、実行可能状態のタスクからコア1又はコア2に割り当てるタスクを決定する。例えば、優先度の高い順に割り当てる場合、スケジューラは、実行可能状態のタスクから最も優先度の高いタスクを、コア1又はコア2に割り当てる。最も優先度の高いタスクが複数ある場合は、より早く実行可能状態になったタスクを優先する。   The scheduler determines a task to be assigned to the core 1 or the core 2 from the tasks in the executable state according to a predetermined rule. For example, when assigning in order of high priority, the scheduler assigns the task with the highest priority to the core 1 or the core 2 from the tasks in the executable state. When there are a plurality of tasks with the highest priority, priority is given to a task that has become ready for execution earlier.

タスクBは、例えば、タイマ割込みにより定期的に生成又は生成・起動される。また、タスクBはコア1とコア2がそれぞれ実行できるように、ある時間間隔をおいて2つ起動される。または、コア1がタスクBの実行途中又は実行完了時に、コア2が実行するためのタスクBを生成・起動してもよい。   The task B is generated or generated and started periodically by a timer interrupt, for example. In addition, two tasks B are started at certain time intervals so that the core 1 and the core 2 can be executed. Or, when the core 1 is executing the task B or when the execution is completed, the task B for the core 2 to execute may be generated and activated.

そして、スケジューラは、タスクBをコア1とコア2の順に交互に割り当てる。これにより、コア1がタスクBを実行した後、コア2がタスクBを実行できる。ある時間間隔は、コア1が少なくとも演算用データをRAM14に書き込むために必要な時間、又は、演算用データ及び比較用データをRAM14に書き込むために必要な時間である。したがって、この時間間隔があいていれば、コア1とコア2は並行してタスクBを実行できる。   Then, the scheduler alternately assigns task B in the order of core 1 and core 2. Thereby, after the core 1 executes the task B, the core 2 can execute the task B. The certain time interval is a time required for the core 1 to write at least calculation data to the RAM 14 or a time required to write calculation data and comparison data to the RAM 14. Therefore, if this time interval is sufficient, the core 1 and the core 2 can execute the task B in parallel.

なお、定期的に異常判定処理が実行されるのであれば、スケジューラがコア1,2に異常判定処理を割り当てるタイミングを厳密に制御しなくても、いずれは、コア1の後にコア2が異常判定処理を実行する状況が得られる。しかし、コア1が異常判定処理を実行してからコア2が異常判定処理を実行するまでに、コア1の別のタスクがRAM14の演算用データや比較用データを書き換えるおそれがある。このため、好ましくは、コア1が異常判定処理を実行した後、他のタスクを実行するまでに,コア2に異常判定処理を割り当てる。   If the abnormality determination process is periodically executed, the core 2 is determined to be abnormal after the core 1 without strictly controlling the timing at which the scheduler assigns the abnormality determination process to the cores 1 and 2. A situation for executing the processing is obtained. However, there is a possibility that another task of the core 1 rewrites the operation data and comparison data in the RAM 14 after the core 1 executes the abnormality determination process and before the core 2 executes the abnormality determination process. For this reason, preferably, after the core 1 executes the abnormality determination process, the abnormality determination process is assigned to the core 2 before another task is executed.

なお、コア1及びコア2がタスクBの実行を終了すると、タスクBは休止状態になるか又は消滅し、次回の処理タイミングになると生成、又は、生成・起動される。   Note that when the core 1 and the core 2 finish the execution of the task B, the task B enters a dormant state or disappears, and is generated or generated / activated at the next processing timing.

図6は、コア1又はコア2が実行する異常判定処理(タスクB)の機能ブロック図の一例を示す。コア1とコア2で機能ブロックは同一である。異常判定処理は、データ演算部31、データ比較部36、異常処理部33、データ書き込み部34、データ読み出し部35、及び、データ保持部32を有する。   FIG. 6 shows an example of a functional block diagram of the abnormality determination process (task B) executed by the core 1 or the core 2. The functional blocks of core 1 and core 2 are the same. The abnormality determination process includes a data calculation unit 31, a data comparison unit 36, an abnormality processing unit 33, a data writing unit 34, a data reading unit 35, and a data holding unit 32.

データ書き込み部34は、上記のような命令を使用して演算用データ及び比較用データをRAM14に書き込む。
ST Gr0, @Gr1
演算用データを書き込む際、Gr0には、異常判定処理のプログラムに記述されている演算用データが格納されており、Gr1には上述した領域2のRAM14のアドレス(図1のアドレスAが相当し、以下「演算データ記憶アドレス」という)が格納されている。
The data writing unit 34 writes the calculation data and the comparison data in the RAM 14 using the instruction as described above.
ST Gr0, @ Gr1
When the calculation data is written, the calculation data described in the abnormality determination processing program is stored in Gr0, and Gr1 corresponds to the address of the RAM 14 in the area 2 described above (corresponding to address A in FIG. 1). , Hereinafter referred to as “calculation data storage address”).

また、比較用データをRAM14に書き込む際、Gr0には、データ演算部31が演算用データを用いて演算することで生成した比較用データが格納されている。Gr1には上述した領域2のRAM14のアドレス(図1のアドレスBが相当し、以下「比較データ記憶アドレス」という)が格納されている。   Further, when writing the comparison data into the RAM 14, Gr0 stores comparison data generated by the data calculation unit 31 using the calculation data. Gr1 stores the address of the RAM 14 in the area 2 described above (corresponding to the address B in FIG. 1 and hereinafter referred to as “comparison data storage address”).

データ読み出し部35は、演算用データ及び比較用データをRAM14から読み出す。
LD @Gr1,Gr0
この命令は、レジスタGr1に格納されているRAM14のアドレスから読み出したデータを、レジスタGr0に格納するというものである。演算用データを読み出す際、Gr1にはST命令で使用した演算データ記憶アドレスが格納されている。よって、Gr0には演算用データが記憶される。比較用データを読み出す際、Gr1にはST命令で使用した比較データ記憶アドレスが格納されている。よって、Gr0には比較用データが記憶される。
The data reading unit 35 reads calculation data and comparison data from the RAM 14.
LD @ Gr1, Gr0
This instruction stores data read from the address of the RAM 14 stored in the register Gr1 in the register Gr0. When the calculation data is read, the calculation data storage address used in the ST instruction is stored in Gr1. Therefore, calculation data is stored in Gr0. When reading the comparison data, Gr1 stores the comparison data storage address used in the ST instruction. Therefore, comparison data is stored in Gr0.

データ演算部31は、演算用データに予め定められた演算F(x)を施す。演算F(x)の内容は、コア1及びコア2のALUが実装する、算術シフト、論理シフト、加算器、乗算器、除算器等が作動するように定められている。こうすることで、ALUに一部でも異常があれば検出しやすくなる。   The data calculation unit 31 performs a predetermined calculation F (x) on the calculation data. The contents of the operation F (x) are determined so that arithmetic shifts, logical shifts, adders, multipliers, dividers, and the like, which are implemented by the core 1 and core 2 ALUs, operate. This makes it easier to detect any abnormality in the ALU.

データ演算部31が行った演算結果は比較用データとして、データ書き込み部34によりRAM14に書き込まれると共に、データ保持部32が保持する。保持するのは、データ読み出し部35がRAM14から読み出した比較用データとの比較のためである。したがって、保持とは、データ読み出し部35による読み出しや不図示の他の処理により破壊されなければよい。C言語などの高級言語によるプログラムの記述上、演算結果は戻り値という変数に格納されているので、保持のための特別な記述は不要である。ニーモニックで表せば、演算結果をGr2などの汎用レジスタに退避しておく記述や、スタック領域に記憶する記述で表すことができる。
MOV Gr0,Gr2
PUSH Gr0
データ比較部36は、データ保持部32が保持する比較用データと、データ読み出し部35がRAM14から読み出した比較用データを比較する。高級言語によるプログラムの記述では、適宜、2つの変数を比較するための命令が用意されている。データ保持部32が保持する比較用データがGr2に記憶され、データ読み出し部35が、RAM14から読み出した比較用データをGr0に格納した場合、ニーモニックでは以下のように表すことができる。
CMP Gr0,Gr2
比較結果は、ステータスフラグに反映される。
The calculation result performed by the data calculation unit 31 is written as comparison data into the RAM 14 by the data writing unit 34 and held by the data holding unit 32. The data is held for comparison with the comparison data read from the RAM 14 by the data reading unit 35. Therefore, the retention may not be destroyed by reading by the data reading unit 35 or other processing (not shown). In the description of a program in a high-level language such as C language, the operation result is stored in a variable called a return value, so no special description for holding is required. If expressed in mnemonics, the result of the operation can be expressed by a description saved in a general-purpose register such as Gr2 or a description stored in the stack area.
MOV Gr0, Gr2
PUSH Gr0
The data comparison unit 36 compares the comparison data held by the data holding unit 32 with the comparison data read from the RAM 14 by the data reading unit 35. In the description of a program in a high-level language, instructions for comparing two variables are prepared as appropriate. When the comparison data held by the data holding unit 32 is stored in Gr2 and the data reading unit 35 stores the comparison data read from the RAM 14 in Gr0, the mnemonic can be expressed as follows.
CMP Gr0, Gr2
The comparison result is reflected in the status flag.

異常処理部33は、データ保持部32が保持する比較用データと、データ読み出し部35がRAM14から読み出した比較用データが一致しない場合、異常処理を行う。MPU20が上記のアクセス許否情報23を適用する場合、コア1が異常判定処理(タスクB)を実行した時点で、コア1のデータ比較部36が不一致を検出することはないとしてよい。   The abnormality processing unit 33 performs abnormality processing when the comparison data held by the data holding unit 32 and the comparison data read from the RAM 14 by the data reading unit 35 do not match. When the MPU 20 applies the access permission information 23 described above, the data comparison unit 36 of the core 1 may not detect a mismatch when the core 1 executes the abnormality determination process (task B).

これに対し、コア2のデータ比較部36は不一致を検出することがあるが、不一致になるのは、コア1に異常がある場合とコア2に異常がある場合の2つの場合がある。このため、不一致の場合、データ比較部36はさらに、定数として予め有している期待値データと、データ保持部32が保持している比較用データを比較することが有効である。期待値データは、正常なコアが演算用データに演算F(x)を施して得られるデータである。
・期待値データとデータ保持部32が保持している比較用データが一致する場合、コア1に異常があると判定する。
・期待値データとデータ保持部32が保持している比較用データが一致しない場合、少なくともコア2に異常があるが、コア1とコア2の両方に異常がある可能性が残る。
On the other hand, the data comparison unit 36 of the core 2 may detect a mismatch, but there are two cases where the mismatch occurs when the core 1 has an abnormality and the core 2 has an abnormality. For this reason, in the case of mismatch, it is effective for the data comparison unit 36 to further compare the expected value data previously held as a constant with the comparison data held by the data holding unit 32. Expected value data is data obtained by a normal core performing calculation F (x) on calculation data.
When the expected value data matches the comparison data held by the data holding unit 32, it is determined that the core 1 has an abnormality.
If the expected value data and the comparison data held in the data holding unit 32 do not match, at least the core 2 has an abnormality, but there is a possibility that both the core 1 and the core 2 have an abnormality.

このため、期待値データとデータ読み出し部35が読み出した比較用データ(コア1の演算結果)を比較する。   Therefore, the expected value data is compared with the comparison data (calculation result of the core 1) read by the data reading unit 35.

・比較結果が一致すれば、コア2に異常があることを確定できる。   -If the comparison result matches, it can be determined that the core 2 is abnormal.

・比較結果が不一致の場合、コア1及びコア2の両方に異常があることを確定できる。
(i) コア1に異常があると判定した場合、監視用のコア(コア2)が被監視コア(コア1)を監視した態様になるので、異常処理は容易である。コア2の異常処理部33は例えば、以下のようなフェールセーフ処理を行う。
-If the comparison results do not match, it can be determined that both the core 1 and the core 2 are abnormal.
(i) When it is determined that there is an abnormality in the core 1, since the monitoring core (core 2) monitors the monitored core (core 1), the abnormality processing is easy. For example, the abnormality processing unit 33 of the core 2 performs the following fail-safe processing.

(a) コア1をリセットする。復帰しても同様の異常が検出される場合、コア1への電源を遮断し待機しているコアnを起動させ、コア1のタスクをコアnに割り当てる。このようなコアnがない場合、コア1のタスクをコア2に割り当てる。コア3など動作している他のコアがあればコア1が停止したことを通知する。   (a) Core 1 is reset. If the same abnormality is detected even after returning, the power supply to the core 1 is cut off and the standby core n is activated, and the task of the core 1 is assigned to the core n. If there is no such core n, the task of core 1 is assigned to core 2. If there are other operating cores such as the core 3, the fact that the core 1 has stopped is notified.

(b) 車載ネットワークを介して他のECUに通知する。他のECUは、異常検出を記録したり、警告ランプを点灯するなどの処理を行う。
(ii) コア2に異常があると判定した場合、監視用のコア(コア2)がコア2自身を監視した態様になるので、コア2の異常処理部33は例えば、コア1又は待機しているコアnを起動させこれらのコアに異常を通知する。これにより、コア1又はコアnはコア2と同様のフェールセーフ処理が可能になる。
(iii) コア1とコア2の両方に異常があると判定した場合、マイコン全体をリセットする。または、コアm、nなど待機しているコア、又は、コア3,4など他に動作しているコアがあればコア1,2を停止させ、これらのコアにコア1,2のタスクを割り当てる。
(b) Notify other ECUs via the in-vehicle network. Other ECUs perform processing such as recording abnormality detection and turning on a warning lamp.
(ii) When it is determined that there is an abnormality in the core 2, the monitoring core (core 2) is in a mode in which the core 2 itself is monitored. The core n is activated, and an abnormality is notified to these cores. Thereby, the core 1 or the core n can perform the same fail-safe process as the core 2.
(iii) If it is determined that both core 1 and core 2 are abnormal, the entire microcomputer is reset. Or, if there are other cores that are operating, such as cores m and n, or cores 3 and 4, stop cores 1 and 2 and assign the tasks of cores 1 and 2 to these cores. .

なお、例外処理部37は、例外ハンドラや例外処理ルーチンが相当し、例外発生の次の命令(ST命令の次の命令)に戻す処理を行う。具体的には、例外発生によりコンテキストを退避し、コンテキストを復帰させる。または、例外による割込みをマスクする処理を行う。   The exception processing unit 37 corresponds to an exception handler or an exception processing routine, and performs processing to return to the instruction next to the exception occurrence (the instruction next to the ST instruction). Specifically, when an exception occurs, the context is saved and the context is restored. Alternatively, a process for masking an interrupt due to an exception is performed.

〔動作手順〕
図7は、コア1,2が異常判定処理を行う手順の一例を示すフローチャート図である。コア1とコア2の異常判定処理の手順は同一だが、説明のためそれぞれを別に示している。コア1の処理から説明する。
S10-1:まず、データ書き込み部34は演算用データをアドレスAに書き込む。これにより、コア1はコア2に演算用データを渡すことができる。なお、コア1はアクセス許否情報23により書き込みが許可されている。
S20-1:データ読み出し部35は演算用データをアドレスAから読み出す。この処理は、コア1にとっては不要だがコア2に必要なため、異常判定処理に含まれている。こうすることで、コア1とコア2が実行する異常判定処理を同一にできる。
S30-1:データ演算部31は、読み出した演算用データを使って演算を実行して比較用データを生成する。
S40-1:データ保持部32が比較用データを保持しておく。
S50-1:データ書き込み部34は、比較用データをアドレスBに書き込む。これにより、コア1はコア2に演算結果である比較用データを渡すことができる。
S60-1:データ読み出し部35は比較用データをアドレスBから読み出す。この処理は、コア1にとっては不要だがコア2に必要なため、異常判定処理に含まれている。
S70-1:データ比較部36はアドレスBから読み出した比較用データと、保持している比較用データを比較して、一致するか否かを判定する。
S80-1:一致しない場合、異常処理部33はフェールセーフ処理を行う。一致する場合は、異常判定処理は終了する。
[Operation procedure]
FIG. 7 is a flowchart illustrating an example of a procedure in which the cores 1 and 2 perform the abnormality determination process. The procedure of the abnormality determination process for the core 1 and the core 2 is the same, but each is shown separately for explanation. The processing of the core 1 will be described.
S10-1: First, the data writing unit 34 writes operation data to the address A. As a result, the core 1 can pass the calculation data to the core 2. The core 1 is permitted to write by the access permission / denial information 23.
S20-1: The data reading unit 35 reads calculation data from the address A. This process is unnecessary for the core 1 but is necessary for the core 2 and is therefore included in the abnormality determination process. By doing so, the abnormality determination process executed by the core 1 and the core 2 can be made the same.
S30-1: The data calculation unit 31 performs calculation using the read calculation data and generates comparison data.
S40-1: The data holding unit 32 holds the comparison data.
S50-1: The data writing unit 34 writes the comparison data to the address B. As a result, the core 1 can pass the comparison data as the calculation result to the core 2.
S60-1: The data reading unit 35 reads the comparison data from the address B. This process is unnecessary for the core 1 but is necessary for the core 2 and is therefore included in the abnormality determination process.
S70-1: The data comparison unit 36 compares the comparison data read from the address B with the held comparison data and determines whether or not they match.
S80-1: If they do not match, the abnormality processing unit 33 performs fail-safe processing. If they match, the abnormality determination process ends.

次に、コア2に異常判定処理(タスクB)が割り当てられる。
S10-2:まず、データ書き込み部34は演算用データをアドレスAに書き込む。コア2はアクセス許否情報23により書き込みが許可されていないので例外が発生するが、その後、処理はS20-2に戻る。
S20-2:データ読み出し部35は演算用データをアドレスAから読み出す。これにより、コア1とコア2が同じ演算用データを用いて演算することができる。
S30-2:データ演算部31は、読み出した演算用データを使って演算を実行して比較用データを生成する。
S40-2:データ保持部32が比較用データを保持しておく。
S50-2:データ書き込み部34は、比較用データをアドレスBに書き込む。コア2はMPU20により書き込みが許可されていないので例外が発生するが、その後、処理はS60-2に戻る。
S60-2:データ読み出し部35は比較用データをアドレスBから読み出す。これにより、コア2はコア1の演算結果を取得できる。
S70-2:データ比較部36はアドレスBから読み出した比較用データと、保持している比較用データを比較して、一致するか否かを判定する。
S80-2:一致しない場合、異常処理部33はフェールセーフ処理を行う。一致する場合は、異常判定処理は終了する。
Next, an abnormality determination process (task B) is assigned to the core 2.
S10-2: First, the data writing unit 34 writes the calculation data to the address A. Since the core 2 is not permitted to write by the access permission / rejection information 23, an exception occurs. Thereafter, the process returns to S20-2.
S20-2: The data reading unit 35 reads calculation data from the address A. Thereby, the core 1 and the core 2 can be calculated using the same calculation data.
S30-2: The data calculation unit 31 performs calculation using the read calculation data and generates comparison data.
S40-2: The data holding unit 32 holds the comparison data.
S50-2: The data writing unit 34 writes the comparison data to the address B. Since the core 2 is not permitted to be written by the MPU 20, an exception occurs. Thereafter, the process returns to S60-2.
S60-2: The data reading unit 35 reads the comparison data from the address B. Thereby, the core 2 can acquire the calculation result of the core 1.
S70-2: The data comparison unit 36 compares the comparison data read from the address B with the held comparison data, and determines whether or not they match.
S80-2: If they do not match, the abnormality processing unit 33 performs fail-safe processing. If they match, the abnormality determination process ends.

以上説明したように、本実施形態のマイコンは、コアが比較処理を行うので、特定の比較回路などを必要としない。また、コア1,コア2は、異常判定処理以外は制御タスクを実行できるので、ロックステップCPUなどのように1つのコアが異常監視に占有されない。   As described above, the microcomputer of this embodiment does not require a specific comparison circuit or the like because the core performs comparison processing. Further, since the core 1 and the core 2 can execute control tasks other than the abnormality determination process, one core is not occupied by abnormality monitoring unlike the lockstep CPU.

また、同一の異常判定処理をコア1,2が実行しても、MPU20の機能を利用してコア2の書き込みを禁止すること及びコア1が演算用データをRAM14に書き込みコア2がそれを読み出すことにより、コア1,2が同じ演算用データを使用して演算できる。また、同様に、コア1が比較用データをRAM14に書き込みコア2がそれを読み出すため、コア2はコア1の演算結果と自コアの演算結果を比較できる。   Even if the cores 1 and 2 execute the same abnormality determination process, the core 2 is prohibited from writing using the function of the MPU 20, and the core 1 writes the operation data to the RAM 14 and the core 2 reads it. Thus, the cores 1 and 2 can perform calculations using the same calculation data. Similarly, since the core 1 writes the comparison data to the RAM 14 and the core 2 reads the data, the core 2 can compare the calculation result of the core 1 with the calculation result of the own core.

また、MPU20の機能を利用してコア2の書き込みを禁止すること、及び、RAMへの書き込みや読み出しなど両方のコア1,2に必要な処理が異常判定処理に記述されていることにより、コア1とコア2が全く同じ異常判定処理を実行できプログラムサイズ(ROM容量)を節約できる。   In addition, by prohibiting the writing of the core 2 by using the function of the MPU 20 and the processing necessary for both the cores 1 and 2 such as writing to and reading from the RAM being described in the abnormality determination processing, the core 1 and the core 2 can execute the same abnormality determination process, and the program size (ROM capacity) can be saved.

また、本実施形態では、説明のため、タスクBを異常判定処理とした。しかし、制御タスクに、演算用データと演算処理があれば、RAM14への書き込み、読み出し、及び、比較処理を加えるだけで、異常判定処理となるので、制御タスクを利用した異常判定処理も可能である。   In the present embodiment, for the sake of explanation, task B is determined to be abnormality determination processing. However, if the control task has calculation data and calculation processing, it is possible to perform abnormality determination processing simply by adding, reading, and comparing to the RAM 14, and therefore abnormality determination processing using the control task is also possible. is there.

〔その他の例〕
コアが3つ以上ある場合も同様に異常判定することができる。例えば、コア2を監視用のコアとする。この場合、MPU20のアクセス許否情報23には、コア1とコア3〜nのリード及びライトを許可するがコア2のライトを禁止するというアクセス制限が記述される。
[Other examples]
When there are three or more cores, an abnormality can be similarly determined. For example, the core 2 is a monitoring core. In this case, the access permission / denial information 23 of the MPU 20 describes an access restriction that permits reading and writing of the core 1 and cores 3 to n but prohibits writing of the core 2.

スケジューラは、コア1に異常判定処理を割り当てた後、コア2に異常判定処理を割り当てる。これにより、コア1又はコア2の異常を検出できる。また、スケジューラはコア3に異常判定処理を割り当てた後、コア2に異常判定処理を割り当てる。これにより、コア3又はコア2の異常を検出できる。   The scheduler assigns the abnormality determination process to the core 1 after assigning the abnormality determination process to the core 1. Thereby, the abnormality of the core 1 or the core 2 can be detected. The scheduler assigns the abnormality determination process to the core 3 and then assigns the abnormality determination process to the core 2. Thereby, the abnormality of the core 3 or the core 2 can be detected.

スケジューラは同様の処理をコアnに達するまで繰り返す。このように、複数のコアのうち任意の1つのコアに異常判定処理を割り当てた後、MPU20によりライトが禁止されたコア2に異常判定処理を割り当てれば、コアが3つ以上あっても各コアの異常を検出できる。   The scheduler repeats the same processing until the core n is reached. As described above, after assigning the abnormality determination process to any one of the plurality of cores, if the abnormality determination process is assigned to the core 2 for which writing is prohibited by the MPU 20, each of the cores can be detected even if there are three or more cores. A core abnormality can be detected.

また、上記のアクセス許否情報23では固定的に、コア1はリード及びライトが許可され、コア2はライトが禁止されていることが定めらている。しかしながら、アクセス許否情報23におけるコア1とコア2のアクセス許否を逆にすることもできる。例えば、マイコンの起動時にOSがコア1のアクセス許否情報23をコア2に、コア2のアクセス許否情報23をコア1に書き換えることで、コア1を監視用のコアとすることができる。この場合、スケジューラは、コア2に異常判定処理を割り当てた後に、コア1に異常判定処理を割り当てれば、コア1がコア2を監視することができる。   Further, the access permission information 23 described above stipulates that the core 1 is permitted to read and write, and the core 2 is prohibited from writing. However, the access permission / rejection of the core 1 and the core 2 in the access permission / denial information 23 can be reversed. For example, when the microcomputer is activated, the OS rewrites the access permission information 23 of the core 1 to the core 2 and the access permission information 23 of the core 2 to the core 1, so that the core 1 can be used as a monitoring core. In this case, if the scheduler assigns the abnormality determination process to the core 1 after assigning the abnormality determination process to the core 2, the core 1 can monitor the core 2.

3つ以上のコアがある場合も同様で、マイコンの起動時に例えばOSがアクセス許否情報23を書き換えることで監視用のコアを切り換えることができる。   The same applies to the case where there are three or more cores. For example, when the microcomputer is activated, the OS can rewrite the access permission information 23 to switch the monitoring core.

11 プロセッサ
12 ROM
14 RAM
20 MPU(Memory Protection Unit)
31 データ演算部
32 データ保持部
34 データ書き込み部
35 データ読み出し部
36 データ比較部
100 マイコン
11 processor 12 ROM
14 RAM
20 MPU (Memory Protection Unit)
31 Data Calculation Unit 32 Data Holding Unit 34 Data Writing Unit 35 Data Reading Unit 36 Data Comparison Unit 100 Microcomputer

Claims (5)

複数のCPUと、各CPUがアクセス可能な記憶手段と、
第2のCPUが前記記憶手段へデータを書き込むことを禁止するアクセス制御手段と、を有し、
各CPUが共通の異常検出プログラムを実行することで各CPUがそれぞれ実現させる手段として、
演算用データを前記記憶手段の第1のアドレスに書き込むデータ書き込み手段と、
前記記憶手段の前記第1のアドレスから前記演算用データを読み出すデータ読み出し手段と、
前記データ読み出し手段が読み出した前記演算用データに演算を施し演算結果データを生成するデータ演算手段と、
前記データ書き込み手段が前記記憶手段の第2のアドレスに書き込み前記データ読み出し手段が前記記憶手段の前記第2のアドレスから読み出した演算結果データと、前記データ演算手段が生成した演算結果データを比較する比較手段と、を有し、
前記アクセス制御手段により前記第2のCPUが前記記憶手段への書き込みを禁止されている状態で、第1のCPUの前記データ書き込み手段が前記記憶手段の前記第2のアドレスに書き込んだ演算結果データを前記第2のCPUの前記データ読み出し手段が読み出すことで、前記第2のCPUの前記比較手段は前記第1のCPUの前記データ演算手段による演算結果データと、前記第2のCPUの前記データ演算手段による演算結果データとを比較する、情報処理装置。
A plurality of CPUs and storage means accessible by each CPU;
An access control means for prohibiting the second CPU from writing data into the storage means ,
As a means for each CPU to realize each CPU by executing a common abnormality detection program,
Data writing means for writing operation data to the first address of the storage means;
A data reading means for reading the operational data from the first address of said storage means,
A data calculating means for generating an operation result data performing an operation on said calculation data for data reading means has read,
The data writing means writes to the second address of the storage means, and the data reading means compares the calculation result data read from the second address of the storage means with the calculation result data generated by the data calculation means. A comparison means ,
Operation result data written by the data writing unit of the first CPU to the second address of the storage unit in a state where the second CPU is prohibited from writing to the storage unit by the access control unit Is read by the data reading means of the second CPU, so that the comparing means of the second CPU is operated by the data calculating means of the first CPU and the data of the second CPU. An information processing apparatus that compares calculation result data obtained by calculation means .
前記第1のCPUの前記データ書き込み手段が演算用データを前記記憶手段の前記第1のアドレスに書き込み、
前記第1のCPUの前記データ読み出し手段が前記記憶手段の前記第1のアドレスから演算用データを読み出し、
前記第1のCPUの前記データ演算手段が、前記データ読み出し手段が読み出した演算用データに演算を施し演算結果データを生成し、
前記第1のCPUの前記データ書き込み手段が演算結果データを前記記憶手段の前記第2のアドレスに書き込み、
前記アクセス制御手段により前記第2のCPUによる前記記憶手段への書き込みが禁止された状態で、前記第2のCPUの前記データ書き込み手段が演算用データを前記記憶手段の前記第1のアドレスに書き込みを試みるが書き込めず
前記第2のCPUの前記データ読み出し手段が前記記憶手段の前記第1のアドレスから演算用データを読み出し、
前記第2のCPUの前記データ演算手段が、前記第2のCPUの前記データ読み出し手段が読み出した演算用データに演算を施し演算結果データを生成し、
前記アクセス制御手段により前記第2のCPUによる前記記憶手段への書き込みが禁止された状態で、前記第2のCPUの前記データ書き込み手段が演算結果データを前記記憶手段の前記第2のアドレスに書き込みを試みるが書き込めず
前記第2のCPUの前記データ読み出し手段が前記記憶手段の前記第2のアドレスから演算結果データを読み出し、
前記第2のCPUの前記比較手段は、前記第2のCPUの前記データ読み出し手段が読み出した演算結果データと、前記第2のCPUの前記データ演算手段が生成した演算結果データを比較する、ことを特徴とする請求項1記載の情報処理装置。
It said data writing means of the first CPU writes the calculation data to the first address of said storage means,
Wherein said data reading means in the first CPU reads the operation data from the first address of said storage means,
The data arithmetic unit of the first CPU generates a operation result data subjected to the arithmetic operation to the arithmetic data which the data reading means has read,
It said data writing means of the first CPU writes the calculation result data to said second address of said storage means,
The data writing unit of the second CPU writes the operation data to the first address of the storage unit in a state where writing to the storage unit by the second CPU is prohibited by the access control unit. I can't write ,
Wherein said data reading means of the second CPU reads the operation data from the first address of said storage means,
The data arithmetic unit of the second CPU generates a operation result data performing an operation on said data reading means has read arithmetic data of the second CPU,
The data writing unit of the second CPU writes the operation result data to the second address of the storage unit in a state where the writing to the storage unit by the second CPU is prohibited by the access control unit. I can't write ,
Said data reading means of said second CPU reads the operation result data from the second address of said storage means,
Wherein the comparison means of the second CPU compares the calculation result data by the data reading means of the second CPU has read, the operation result data, wherein the data calculation means is generated in the second CPU, it The information processing apparatus according to claim 1.
前記第2のCPUの前記比較手段は、前記第2のCPUの前記データ読み出し手段が読み出した演算結果データと、前記第2のCPUの前記データ演算手段が生成した演算結果データが一致しない場合、
さらに、正常な演算結果である期待値データと前記第2のCPUの前記データ演算手段が生成した演算結果データ、又は、前記期待値データと前記第2のCPUの前記データ読み出し手段が前記記憶手段の前記第2のアドレスから読み出した演算結果データを比較し、前記第1のCPU又は前記第2のCPUのどちらに異常があるかを判定する、
ことを特徴とする請求項1又は2いずれか1項記載の情報処理装置。
If the said comparison means of the second CPU is that the calculation result data by the data reading means of the second CPU has read, the second of said operation result data the data computing means is generated by the CPU do not match,
Furthermore, a normal operation result expected value data and the second of said data arithmetic means has generated operation result data of the CPU, or the expected value data and the data reading means said memory means of said second CPU said second comparing operation result data read from the address to determine which of whether there is abnormality in the first CPU or said second CPU,
The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
前記アクセス制御手段は、前記記憶手段からの読み出し、又は、前記記憶手段への書き込みの許否をCPU毎に規定したアクセス許否情報を有し、
読み書きが許可されたCPUと書き込みが禁止されたCPUが切り換わるように、アクセス許否情報を書き換える、ことを特徴とする請求項1〜3いずれか1項記載の情報処理装置。
The access control means has access permission information that defines, for each CPU, permission to read from or write to the storage means,
The information processing apparatus according to any one of claims 1 to 3, wherein the access permission / rejection information is rewritten so that a CPU in which reading and writing is permitted and a CPU in which writing is prohibited are switched.
複数のCPUと、各CPUがアクセス可能な記憶手段と、
第2のCPUが前記記憶手段へデータを書き込むことを禁止するアクセス制御手段と、を有する情報処理装置の異常判定方法であって、
各CPUが共通の異常検出プログラムを実行することで各CPUがそれぞれ実現させる手段が実行するステップとして、
データ書き込み手段が、演算用データを前記記憶手段の第1のアドレスに書き込むステップと、
データ読み出し手段が、前記記憶手段の前記第1のアドレスから演算用データを読み出すステップと、
データ演算手段が、前記データ読み出し手段が読み出した前記演算用データに演算を施し演算結果データを生成するステップと、
比較手段が、前記データ書き込み手段が前記記憶手段の第2のアドレスに書き込み前記データ読み出し手段が前記記憶手段の前記第2のアドレスから読み出した演算結果データと、前記データ演算手段が生成した演算結果データを比較するステップと、を有し、
前記アクセス制御手段により前記第2のCPUが前記記憶手段への書き込みを禁止されている状態で、前記第1のCPUの前記データ書き込み手段が前記記憶手段の前記第2のアドレスに書き込んだ演算結果データを前記第2のCPUの前記データ読み出し手段が読み出すことで、前記第2のCPUの前記比較手段は前記第1のCPUの前記データ演算手段による演算結果データと、前記第2のCPUの前記データ演算手段による演算結果データとを比較する、異常判定方法。
A plurality of CPUs and storage means accessible by each CPU;
An access control means for prohibiting a second CPU from writing data to the storage means, and an abnormality determination method for an information processing apparatus,
As the steps executed by the means realized by each CPU by executing the common abnormality detection program for each CPU,
A step of writing data for calculation to the first address of the storage means;
A step of reading data for operation from the first address of the storage means;
Data calculation means, and generating an operation result data performing an operation on said calculation data for data reading means has read,
Comparing means, the data writing means writes to the second address of the storage means, and the data reading means reads the operation result data read from the second address of the storage means, and the calculation results generated by the data operation means Comparing the data , and
The calculation result written by the data writing unit of the first CPU to the second address of the storage unit in a state where the second CPU is prohibited from writing to the storage unit by the access control unit The data reading means of the second CPU reads the data, so that the comparison means of the second CPU performs calculation result data by the data calculation means of the first CPU and the second CPU. An abnormality determination method for comparing calculation result data by a data calculation means .
JP2011225172A 2011-10-12 2011-10-12 Information processing apparatus and abnormality determination method Expired - Fee Related JP5699896B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011225172A JP5699896B2 (en) 2011-10-12 2011-10-12 Information processing apparatus and abnormality determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011225172A JP5699896B2 (en) 2011-10-12 2011-10-12 Information processing apparatus and abnormality determination method

Publications (2)

Publication Number Publication Date
JP2013084219A JP2013084219A (en) 2013-05-09
JP5699896B2 true JP5699896B2 (en) 2015-04-15

Family

ID=48529328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011225172A Expired - Fee Related JP5699896B2 (en) 2011-10-12 2011-10-12 Information processing apparatus and abnormality determination method

Country Status (1)

Country Link
JP (1) JP5699896B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6471510B2 (en) 2015-01-21 2019-02-20 株式会社デンソー Microcomputer
JP6524989B2 (en) * 2016-11-15 2019-06-05 トヨタ自動車株式会社 Operation guarantee method of arithmetic unit
JP2021076021A (en) * 2019-11-05 2021-05-20 株式会社デンソー Electronic control unit
WO2021192098A1 (en) * 2020-03-25 2021-09-30 三菱電機株式会社 Information processing device, information processing method, and information processing program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58127242A (en) * 1982-01-25 1983-07-29 Nec Corp Logical circuit
WO2007093427A1 (en) * 2006-02-17 2007-08-23 Phoenix Contact Gmbh & Co. Kg Method and apparatus for bus coupling of safety-relevant processes
JP2011145900A (en) * 2010-01-14 2011-07-28 Toyota Motor Corp Multiprocessor device

Also Published As

Publication number Publication date
JP2013084219A (en) 2013-05-09

Similar Documents

Publication Publication Date Title
KR101067264B1 (en) Method and device for controlling a computer system
JP5316718B1 (en) Multi-core processor
JP5745868B2 (en) Multiprocessor system
US9841795B2 (en) Method for resetting an electronic device having independent device domains
JP5699896B2 (en) Information processing apparatus and abnormality determination method
JP4457047B2 (en) Multiprocessor system
US20090113439A1 (en) Method and Apparatus for Processing Data
JP5533789B2 (en) In-vehicle electronic control unit
JP2013161299A (en) Information processing apparatus and interface access method
US20170154480A1 (en) Information processing apparatus and large scale integrated circuit
JP5999216B2 (en) Data processing device
JP5532144B2 (en) Processor, electronic control device, creation program
JP2008186212A (en) Data processing system
JP2011216004A (en) Microprocessor, electronic control unit, execution ratio switching method
JP2009175960A (en) Virtual multiprocessor system
JP2011150532A (en) Information processing apparatus
JP7236811B2 (en) Information processing equipment
JP7095513B2 (en) Multi-core microcomputers and in-vehicle devices
JP5703505B2 (en) Computer with bus partition structure
US20230409403A1 (en) Control device and control method
JP2008225710A (en) Computer system and process-switching method used in the system
JP2011233085A (en) Processor, electronic control unit, and load distribution method
US9342359B2 (en) Information processing system and information processing method
JP2012053817A (en) Multiprocessor system and control method
JP2013125305A (en) Multiprocessor device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141218

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: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R151 Written notification of patent or utility model registration

Ref document number: 5699896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees