JP6360387B2 - プロセッサシステム、エンジン制御システム及び制御方法 - Google Patents

プロセッサシステム、エンジン制御システム及び制御方法 Download PDF

Info

Publication number
JP6360387B2
JP6360387B2 JP2014166615A JP2014166615A JP6360387B2 JP 6360387 B2 JP6360387 B2 JP 6360387B2 JP 2014166615 A JP2014166615 A JP 2014166615A JP 2014166615 A JP2014166615 A JP 2014166615A JP 6360387 B2 JP6360387 B2 JP 6360387B2
Authority
JP
Japan
Prior art keywords
task
processor
lock step
control
tasks
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.)
Active
Application number
JP2014166615A
Other languages
English (en)
Other versions
JP2016042336A (ja
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2014166615A priority Critical patent/JP6360387B2/ja
Priority to EP15175642.6A priority patent/EP3065054B1/en
Priority to US14/804,970 priority patent/US9823957B2/en
Priority to KR1020150105025A priority patent/KR20160022245A/ko
Priority to CN201510509719.2A priority patent/CN105373455B/zh
Publication of JP2016042336A publication Critical patent/JP2016042336A/ja
Priority to US15/793,170 priority patent/US10394644B2/en
Application granted granted Critical
Publication of JP6360387B2 publication Critical patent/JP6360387B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Description

本発明はプロセッサシステム、エンジン制御システム及び制御方法に関し、例えばロックステップ動作を行うプロセッサシステム、エンジン制御システム及び制御方法に関する。
近年、車載電子機器等の機能安全規格として、国際標準化機構のISO26262が、注目を集めている。機能安全とは、車載電子機器の構成要素であるマイコン(例えばMCU:Micro Control Unit)等に故障が発生したとしても、機能的な工夫を施すことによって最低限の許容可能な安全を確保することである。例えば、故障が発生したとしても、故障が発生してから予め定められた期間内で故障を検出することが求められる。
機能的な工夫の一例として、複数のプロセッサコアを用いたロックステップ方式がある。この技術に関連し、特許文献1には、ロックステップ方式を用いたプロセッサシステムに関する技術が記載されている。ロックステップ方式においては、複数のプロセッサコアにおいて同一の処理(タスク)が実行され、これらの実行結果を比較することによって故障(エラー)が検知される。
一般に、ロックステップ方式の場合、複数のプロセッサコアが同時に動作するため、マイコンにおける消費電流が増大する。そのため、ロックステップ方式を用いたマイコンでは、発熱量が増大するといった問題が生じる。ここで、特許文献2には、発熱量を抑えたロックステップ方式に関する技術が記載されている。
特開2010−198131号公報 特開2008−217051号公報
上述したように、車載システム等で用いられるマイコンにおいては、故障が発生したとしても、故障が発生してから予め定められた期間内で故障を検出することが求められる。一方、特許文献2では、プロセッサの温度に応じて、2つのプロセッサのうち一方を停止させたり、再開させたりしている。しかしながら、このような構成では、単一のプロセッサのみが動作している間は、そのプロセッサの故障を検出することはできない可能性があった。また、特許文献1においては、ロックステップ方式が実行されると、プロセッサシステムの発熱量が増大する可能性があった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、プロセッサシステムは、複数のタスクを順次処理するマスタプロセッサと、前記複数のタスクのうちの少なくとも1つを順次処理するチェッカプロセッサと、前記マスタプロセッサ及び前記チェッカプロセッサがそれぞれ同じタスクを処理するロックステップ動作を行う場合に前記チェッカプロセッサを動作させるように制御し、前記ロックステップ動作を行わない場合に前記チェッカプロセッサを停止させるように制御する制御回路とを有し、前記制御回路は、前記ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、予め定められた、システムに許容されるテスト間隔である最大テスト間隔以下となるように制御するプロセッサシステムである。
なお、上記実施の形態の装置を方法やシステムに置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラム、該装置を備えた撮像装置なども、本発明の態様としては有効である。
前記一実施の形態によれば、発熱量を抑制しつつ、予め定められた期間内で故障を検出することができる。
本実施の形態にかかるプロセッサシステムの概要を示す図である。 本実施の形態にかかる最大プルーフテスト間隔を説明するための図である。 実施の形態1にかかるプロセッサシステムの構成を示す図である。 実施の形態1にかかる制御回路の処理を示すフローチャートである。 実施の形態1にかかるタイミングチャートを例示する図である。 実施の形態1にかかる、タスク処理とチップ温度との関係を例示するグラフである。 実施の形態2にかかるプロセッサシステムの構成を示す図である。 実施の形態2にかかる、タスク処理とチップ温度との関係を例示するグラフである。 実施の形態3にかかるプロセッサシステムの構成を示す図である。 実施の形態3にかかる制御回路の処理を示すフローチャートである。 実施の形態3にかかる、タスク処理とチップ温度との関係を例示するグラフである。 実施の形態4にかかるプロセッサシステムの構成を示す図である。 実施の形態4にかかる比較ユニットの構成を示す図である。 実施の形態5にかかるプロセッサシステムの構成を示す図である。 実施の形態5にかかる制御回路の処理を示すフローチャートである。 実施の形態5にかかる、タスク処理とチップ温度との関係を例示するグラフである。 実施の形態6にかかるプロセッサシステムの構成を示す図である。 実施の形態6にかかる制御回路の処理を示すフローチャートである。 実施の形態6にかかる、タスク処理とチップ温度との関係を例示するグラフである。
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
(実施の形態の概要)
本実施の形態の説明に先立って、本実施の形態の概要について説明する。図1は、本実施の形態にかかるプロセッサシステム1の概要を示す図である。図1に示すように、プロセッサシステム1は、制御回路2と、メモリ4と、比較器6と、プロセッサユニット10とを有する。プロセッサユニット10は、マスタプロセッサ12と、チェッカプロセッサ14とを有する。なお、チェッカプロセッサ14の回路構成(ハードウェア構成)は、マスタプロセッサ12の回路構成と同一であってもよい。また、マスタプロセッサ12及びチェッカプロセッサ14は、後述するように、複数のタスクをロックステップで処理可能な第1のプロセッサ及び第2のプロセッサとして機能する。なお、マスタプロセッサ12を第1のプロセッサとし、チェッカプロセッサを第2のプロセッサとしてもよいし、マスタプロセッサ12を第2のプロセッサとし、チェッカプロセッサを第1のプロセッサとしてもよい。
プロセッサシステム1は、例えば、自動車等の車両の原動機(エンジン等)を制御するマイコン(マイクロコンピュータ)チップであるが、これに限定されない。つまり、プロセッサシステム1は、車両の原動機等の、制御対象システムを制御する。例えば、プロセッサシステム1は、エンジンを制御するエンジン制御システムであってもよい。プロセッサシステム1は、これらの構成要素により、予め定められた場合に、ロックステップ動作を行う。ロックステップ動作とは、マスタプロセッサ12とチェッカプロセッサ14とが同一のタスクを処理する動作をいう。なお、メモリ4及び比較器6は、プロセッサシステム1に設けられていなくてもよい。つまり、メモリ4及び比較器6は、プロセッサシステム1の外部にあってもよい。
メモリ4は、エンジンを制御するためのタスクであるエンジン制御用タスク等の、プロセッサユニット10が処理すべき複数のタスク(データ)を記憶している。プロセッサユニット10は、メモリ4に記憶されたタスクを読み出して(フェッチして)処理する。マスタプロセッサ12は、取り出された複数のタスクを順次処理する。一方、チェッカプロセッサ14は、制御回路2による制御により、ロックステップ動作を行う場合に、マスタプロセッサ12が処理するタスクと同一のタスクを処理する。比較器6は、ロックステップ動作が行われた場合に、マスタプロセッサ12の処理結果(マスタ処理結果)と、チェッカプロセッサ14の処理結果(チェッカ処理結果)とを比較する。そして、比較器6は、マスタ処理結果とチェッカ処理結果とが異なる場合に、エラー通知を発信する。
チェッカプロセッサ14が処理するタスクは、マスタプロセッサ12が処理するタスクと同一である。したがって、通常であれば、チェッカ処理結果は、マスタ処理結果と同じとなるはずである。しかしながら、マスタプロセッサ12(またはチェッカプロセッサ14)が故障している場合は、チェッカ処理結果は、マスタ処理結果と異なってしまう。したがって、比較器6による比較処理の結果、マスタ処理結果とチェッカ処理結果とが異なる場合には、プロセッサユニット10に故障(エラー)が発生したことが検出されることとなる。つまり、ロックステップ動作は、マスタプロセッサ12(又はチェッカプロセッサ14)の故障を検出するためのテスト処理として機能する。
制御回路2(制御部)は、ロックステップ動作を行うか否かを判断する。言い換えると、制御回路2は、ロックステップを有効または無効に制御する。制御回路2は、ロックステップ動作を行う場合(ロックステップを有効にする場合)には、チェッカプロセッサ14を動作させるように制御する。一方、制御回路2は、ロックステップ動作を行わない場合(ロックステップを無効にする場合)には、チェッカプロセッサ14を停止させるように制御する。ここで、制御回路2は、ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、最大プルーフテスト間隔(最大テスト間隔)以下となるように制御する。つまり、制御回路2は、第1のロックステップ処理と、第1のロックステップ処理の後の第2のロックステップ処理との間隔が、最大プルーフテスト間隔以下となるように、予め定められたタイミングにおいて、ロックステップを有効にする。
この最大プルーフテスト間隔は、システムごとに許容される値が定められているプルーフテスト間隔(テスト間隔)である。また、プルーフテストとは、プロセッサシステム1の機能が正常に動作しているかを確認するために行われる機能確認試験をいう。そして、プルーフテスト間隔(Proof Test Period:PTP)は、そのプルーフテストを行う間隔をいう。また、最大プルーフテスト間隔(PTPmax)は、システムに許容されるプルーフテスト間隔の最大値である。ここで、本実施の形態にかかるプロセッサシステム1において、プルーフテストは、ロックステップ動作を行って故障を検出する処理に対応する。以下、詳述する。
図2は、本実施の形態にかかる最大プルーフテスト間隔を説明するための図である。機能安全の1つの方法として、故障が発生した場合にシステムを停止状態に移行する方法がある。本実施の形態にかかるプロセッサシステム1においては、プロセッサユニット10(マスタプロセッサ12)に発生した故障は(矢印A)、テスト処理(ロックステップ動作)が実行されて、検出される(矢印B)。そして、比較器6がエラー通知を発信すると、制御対象システムは、停止状態に移行する(矢印C)。
故障が発生してから停止状態に移行するまでの期間を、フォールトトレラント時間間隔(Fault Tolerant Time Interval)という。また、故障が発生してから故障が検出されるまでの期間を、診断テスト間隔(Diagnosis Test Interval)という。また、故障が検出されてから停止状態に移行するまでの時間を、故障反応時間(Fault Reaction Time)という。PTPmaxは、診断テスト間隔から、テスト処理に要する時間を差し引いた期間のことをいう。
ここで、故障反応時間(例えば300ms(ミリ秒))は、制御対象システムの仕様及び性能等によって定められ得る。また、フォールトトレラント時間間隔(例えば500ms)は、制御対象システムの製造者によって定められ得る。これにより、診断テスト間隔(例えば200ms)が予め定められ得る。そして、テスト処理に要する時間(例えば5ms)は、プロセッサシステム1ごとに予め定められ得る。これにより、PTPmax(例えば195ms)が予め定められる。したがって、PTPmaxは、制御対象システムに許容される、予め定められたテスト間隔である。
テスト処理が行われてから次にテスト処理が行われるまでの期間が、PTPmaxを超える場合を仮定する。この場合、前のテスト処理が終了した直後に故障(エラー)が発生すると、故障が発生してから、次にテスト処理が行われて故障が検出までの期間が、図2に示した、予め定められた診断テスト間隔を超過する。一方、本実施の形態においては、制御回路2が、ロックステップ動作(テスト処理)でタスクが処理されてから次にロックステップ動作でタスクが処理されるまでの期間が、PTPmax以下となるように制御する。したがって、本実施の形態にかかるプロセッサシステム1は、予め定められた期間内で故障を検出することが可能となる。
また、全てのタスクについてロックステップ動作が行われれば、全てのタスクについてテスト処理が実行される。したがって、予め定められた期間内で故障が検出され得る。しかしながら、常にロックステップ動作が行われると、2つのプロセッサ(マスタプロセッサ12及びチェッカプロセッサ14)の両方が、常に動作することとなる。これにより、プロセッサシステム1における発熱量が増大するおそれがある。一方、本実施の形態においては、常にロックステップ動作が行われるわけではなく、ロックステップ動作でタスクが処理されてから次にロックステップ動作でタスクが処理されるまでの期間がPTPmax以下となるという条件を満たす範囲で、ロックステップ動作が停止する。つまり、常にチェッカプロセッサ14が動作するわけではない。したがって、システムに要求される機能安全仕様を満たし、かつ、プロセッサシステム1における発熱量を抑制することが可能となる。
(実施の形態1)
図3は、実施の形態1にかかるプロセッサシステム100の構成を示す図である。実施の形態1においては、プロセッサシステム100の制御対象システムは、車両等のエンジンシステムとしているが、これに限られない(後述する他の実施の形態も同様)。プロセッサシステム100は、メモリ104と、比較器106と、プロセッサユニット110と、制御回路122,124と、CGC(Clock Gating Cell:クロックゲーティングセル)132,134とを有する。プロセッサユニット110は、マスタプロセッサ112と、チェッカプロセッサ114とを有する。
さらに、プロセッサシステム100は、割込コントローラ140と、センサ入力インタフェース(IF)152,154と、走行ログタイマ156と、エンジン制御出力インタフェース(IF)162,164と、走行ログ制御出力インタフェース(IF)166と、タイマ170とを有する。また、プロセッサシステム100に設けられた各構成要素は、バス102に接続されている。つまり、プロセッサシステム100に設けられた各構成要素は、バス102を介して互いに接続されている。
メモリ104は、図1に示したメモリ4に対応する。メモリ104は、プロセッサユニット110が処理すべき複数のタスク(データ)を記憶している。実施の形態1においては、メモリ104は、例えば、エンジン点火制御タスク(タスクA)と、燃料制御タスク(タスクB)と、走行ログ制御タスク(タスクC)と、アイドルタスク(タスクD)と、故障診断タスク(タスクE)とを記憶している。また、少なくともエンジン点火制御タスク(タスクA)及び燃料制御タスク(タスクB)は、エンジン制御用タスクである。
プロセッサユニット110は、例えばロックステップCPU等である。プロセッサユニット110は、図1に示したプロセッサユニット10に対応する。同様に、マスタプロセッサ112及びチェッカプロセッサ114は、それぞれ、マスタプロセッサ12及びチェッカプロセッサ14に対応する。なお、チェッカプロセッサ114の回路構成は、マスタプロセッサ112の回路構成と同一であってもよい。
CGC132は、内部クロックを受信して、制御回路122の制御によって、クロック信号Sg11をマスタプロセッサ112に供給し、または、クロック信号Sg11の供給を停止する。CGC134は、内部クロックを受信して、制御回路124の制御によって、クロック信号Sg12をチェッカプロセッサ114に供給し、または、クロック信号Sg12の供給を停止する。
制御回路122,124は、図1に示した制御回路2に対応する。制御回路122は、CGC132に対して、クロック信号Sg11をマスタプロセッサ112に供給するか否かを制御する。具体的には、制御回路122は、クロック信号Sg11をマスタプロセッサ112に供給する場合には、マスタ用クロックイネーブル信号Sg31を有効化(High,アサート)する。一方、制御回路122は、クロック信号Sg11をマスタプロセッサ112に供給しない場合には、マスタ用クロックイネーブル信号Sg31を無効化(Low,ネゲート)する。
CGC132は、マスタ用クロックイネーブル信号Sg31が有効化されている場合は、クロック信号Sg11をマスタプロセッサ112に供給する。これにより、マスタプロセッサ112が動作する。一方、CGC132は、マスタ用クロックイネーブル信号Sg31が無効化されている場合は、クロック信号Sg11をマスタプロセッサ112に供給することを停止する。これにより、マスタプロセッサ112の動作が停止する。
制御回路124は、CGC134に対して、クロック信号Sg12をチェッカプロセッサ114に供給するか否かを制御する。具体的には、制御回路124は、クロック信号Sg12をチェッカプロセッサ114に供給する場合には、チェッカ用クロックイネーブル信号Sg32を有効化する。一方、制御回路124は、クロック信号Sg12をチェッカプロセッサ114に供給しない場合には、チェッカ用クロックイネーブル信号Sg32を無効化する。
CGC134は、チェッカ用クロックイネーブル信号Sg32が有効化されている場合は、クロック信号Sg12をチェッカプロセッサ114に供給する。これにより、チェッカプロセッサ114が動作する。一方、CGC134は、チェッカ用クロックイネーブル信号Sg32が無効化されている場合は、クロック信号Sg12をチェッカプロセッサ114に供給することを停止する。これにより、チェッカプロセッサ114の動作が停止する。
制御回路124(制御部)は、割込コントローラ140からの割り込み要求信号Sg30に応じて、ロックステップ動作を行うか否かを判断する。言い換えると、制御回路124は、ロックステップを有効にするか無効にするかを判断する。この、ロックステップ動作を行うか否かの判断については後述する。制御回路124は、ロックステップ動作を行う場合には、チェッカ用クロックイネーブル信号Sg32を有効化して、チェッカプロセッサ114を動作させるように制御する。一方、制御回路124は、ロックステップ動作を行わない場合には、チェッカ用クロックイネーブル信号Sg32を無効化して、チェッカプロセッサ114を停止させるように制御する。ここで、後述するように、制御回路124は、ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、PTPmax(最大プルーフテスト間隔)以下となるように制御する。つまり、制御回路124は、第1のロックステップ処理と、第1のロックステップ処理の後の第2のロックステップ処理との間隔が、PTPmax(最大プルーフテスト間隔)となるように、予め定められたタイミングにおいて、ロックステップを有効にする。
プロセッサユニット110は、割込コントローラ140からの割り込み要求信号Sg30に応じて、その割り込み要求信号Sg30に対応するタスクを、メモリ104から読み出す(フェッチする)。そして、プロセッサユニット110は、読み出されたタスクを処理する。マスタプロセッサ112は、取り出された複数のタスク(タスクA〜E)を順次処理する。一方、チェッカプロセッサ114は、制御回路124による制御により、ロックステップ動作を行う場合に、マスタプロセッサ12が処理するタスクと同一のタスクを処理する。言い換えると、制御回路124による制御によりチェッカプロセッサ114が停止している場合は、ロックステップ動作を行わないで、マスタプロセッサ112のみが、タスクを処理する。一方、制御回路124による制御によりチェッカプロセッサ114が動作している場合は、ロックステップ動作を行って、マスタプロセッサ112及びチェッカプロセッサ114が、同一のタスクを処理する。
また、制御回路124は、ロックステップ動作を行う場合に、比較イネーブル信号Sg33を有効化する。一方、制御回路124は、ロックステップ動作を行わない場合に、比較イネーブル信号Sg33を無効化する。比較器106は、図1に示した比較器6に対応する。比較器106は、比較イネーブル信号Sg33が有効化された場合に、マスタプロセッサ112の処理結果(マスタ処理結果)と、チェッカプロセッサ114の処理結果(チェッカ処理結果)とを比較する。そして、比較器106は、マスタ処理結果とチェッカ処理結果とが異なる場合に、エラー通知を発信する。エラー通知が発信されると、制御対象システムであるエンジンシステムは、エンジンが停止するように制御し(図2の故障反応時間に対応)、エンジンを停止させる。
センサ入力インタフェース152は、例えばエンジンシステムに設けられたノックセンサからノックセンサ信号を受信する。センサ入力インタフェース152は、ノックセンサ信号を受信すると、ノックセンサ信号に対応するセンサ入力割り込み要求信号Sg21を、割込コントローラ140に対して出力する。センサ入力インタフェース154は、例えばエンジンシステムに設けられた酸素センサから酸素センサ信号を受信する。センサ入力インタフェース154は、酸素センサ信号を受信すると、酸素センサ信号に対応するセンサ入力割り込み要求信号Sg22を、割込コントローラ140に対して出力する。
走行ログタイマ156は、例えば期間Tlogごとに、走行ログを記録させるための走行ログ割り込み要求信号Sg23を、割込コントローラ140に対して出力する。ここで、期間Tlogは、一定である必要はなく、走行ログ(走行時間)を記録するために適した期間であればよい。
タイマ170は、時間をカウントする。そして、タイマ170は、予め定められた期間Tdtごとに、故障診断タイマ割り込み要求信号Sg24を、割込コントローラ140に対して出力する。ここで、期間Tdtは、PTPmax以下である。つまり、タイマ170は、PTPmax以下の間隔で、故障診断タイマ割り込み要求信号Sg24を、割込コントローラ140に対して出力する。なお、期間Tdtは、常に一定である必要はなく、PTPmax以下の期間で適宜変動してもよい。また、PTPmax以下の設定値(期間Tdt)が、タイマ170に設けられたレジスタ172に設定される。これにより、予め定められたタイミングで(つまり期間Tdtごとに)、故障診断タスクが起動される。
割込コントローラ140は、上述した信号Sg21〜Sg24を受信する。そして、割込コントローラ140は、信号Sg21〜Sg24に応じて、割り込み要求信号Sg30を、プロセッサユニット110及び制御回路124に対して出力する。この割り込み要求信号Sg30は、割り込ませるべきタスクの識別情報を含み得る。具体的には、割込コントローラ140は、例えば、信号Sg21,Sg22に応じて、エンジン点火制御タスク(タスクA)又は燃料制御タスク(タスクB)の識別情報を含む割り込み要求信号Sg30を出力する。つまり、エンジン制御タスク(エンジン点火制御タスク及び燃料制御タスク)は、センサ入力インタフェース152,154からの入力信号(Sg21,Sg22)に応じて起動される。これにより、制御対象であるエンジンに設けられたセンサを用いて、エンジン制御タスクを起動させることができ、それによって、エンジンを制御することが可能となる。また、割込コントローラ140は、信号Sg23に応じて、走行ログ制御タスク(タスクC)の識別情報を含む割り込み要求信号Sg30を出力する。また、割込コントローラ140は、信号Sg24に応じて、故障診断タスク(タスクE)の識別情報を含む割り込み要求信号Sg30を出力する。また、割込コントローラ140は、信号Sg21〜Sg24を受信しない場合には、アイドルタスク(タスクD)の識別情報を含む割り込み要求信号Sg30を出力してもよい。
プロセッサユニット110は、エンジン点火制御タスク(タスクA)の識別情報を含む割り込み要求信号Sg30を受信した場合は、メモリ104から、エンジン点火制御タスクを読み出す。そして、プロセッサユニット110は、エンジン点火制御タスクを処理し、処理結果を、エンジン制御出力インタフェース162に対して出力する。このとき、エンジン制御出力インタフェース162は、エンジン点火制御を行うためのエンジン点火制御信号を、エンジンシステムに対して出力する。
プロセッサユニット110は、燃料制御タスク(タスクB)の識別情報を含む割り込み要求信号Sg30を受信した場合は、メモリ104から、燃料制御タスクを読み出す。そして、プロセッサユニット110は、燃料制御タスクを処理し、処理結果を、エンジン制御出力インタフェース164に対して出力する。このとき、エンジン制御出力インタフェース164は、燃料制御を行うための燃料制御信号を、エンジンシステムに対して出力する。
プロセッサユニット110は、走行ログ制御タスク(タスクC)の識別情報を含む割り込み要求信号Sg30を受信した場合は、メモリ104から、走行ログ制御タスクを読み出す。プロセッサユニット110は、走行ログ制御タスクを処理し、処理結果を、走行ログ制御出力インタフェース166に対して出力する。このとき、走行ログ制御出力インタフェース166は、走行ログを記録するための走行ログ制御信号を、エンジンシステムに対して出力する。
プロセッサユニット110は、故障診断タスク(タスクE)の識別情報を含む割り込み要求信号Sg30を受信した場合は、メモリ104から、故障診断タスクを読み出す。そして、プロセッサユニット110は、故障診断タスクを処理する。この故障診断タスクは、プロセッサユニット110における故障が検出され得るタスクである。故障診断タスクは、できる限り短い時間で処理されることが望ましい。
また、プロセッサユニット110は、アイドルタスク(タスクD)の識別情報を含む割り込み要求信号Sg30を受信した場合、又は割り込み要求信号Sg30を受信しない場合、メモリ104から、アイドルタスク(タスクD)を読み出す。そして、プロセッサユニット110は、アイドルタスクを処理する。
図4は、実施の形態1にかかる制御回路124の処理を示すフローチャートである。制御回路124は、割込コントローラ140から、割り込み要求信号Sg30を受信する(S102)。制御回路124は、割り込み要求信号Sg30が、故障診断タスク(タスクE)を示すか否かを判断する(S104)。割り込み要求信号Sg30が故障診断タスクを示さない場合(S104のNO)、制御回路124は、チェッカプロセッサ114に対するクロックの供給を停止して、ロックステップ動作を行わないように制御する(S112)。具体的には、制御回路124は、チェッカ用クロックイネーブル信号Sg32を無効化して、チェッカプロセッサ114を停止させるように制御する。また、制御回路124は、比較イネーブル信号Sg33を無効化して、比較器106の動作を無効化する(S114)。
一方、割り込み要求信号Sg30が故障診断タスクを示す場合(S104のYES)、制御回路124は、チェッカプロセッサ114に対してクロックを供給して、ロックステップ動作を行うように制御する(S122)。具体的には、制御回路124は、チェッカ用クロックイネーブル信号Sg32を有効化して、チェッカプロセッサ114を動作させるように制御する。また、制御回路124は、比較イネーブル信号Sg33を有効化して、比較器106の動作を有効化する(S124)。
実施の形態1においては、上述した処理により、故障診断タスク(タスクE)については、ロックステップ動作が行われ、マスタプロセッサ112及びチェッカプロセッサ114によって処理される。一方、それ以外のタスク(タスクA〜D)については、ロックステップ動作が行われず、マスタプロセッサ112のみによって処理される。そして、比較器106は、故障診断タスクについてのマスタ処理結果及びチェッカ処理結果を比較して、両者が異なる場合には、エラー通知を発信する。これにより、故障診断タスクを用いて故障診断が実行され、故障が発生している場合は、エラーが検出される。
図5は、実施の形態1にかかるタイミングチャートを例示する図である。全期間において、クロック信号Sg11はオンとなっており、したがって、マスタプロセッサ112は、データD1〜D9を処理する。ここで、データD1〜D3及びデータD8〜D9は故障診断タスクに関するデータである。したがって、時刻t0〜t1の間は、クロック信号Sg12もオンとなり、チェッカプロセッサ114は、データD1〜D3を処理する。つまり、時刻t0〜t1の間、ロックステップ状態は「動作状態」となる。
時刻t1〜t3において、故障診断タスクではないタスクに関するデータD4〜D7が処理対象となる。したがって、制御回路124によって、チェッカ用クロックイネーブル信号Sg32が無効化される。これにより、クロック信号Sg12はオフとなる。つまり、ロックステップ状態は「停止状態」となる。
時刻t2において、タイマ170から故障診断タイマ割り込み要求信号Sg24が出力されると、時刻t3において、制御回路124によって、チェッカ用クロックイネーブル信号Sg32が有効化される。これにより、クロック信号Sg12はオンとなり、チェッカプロセッサ114は、データD8〜D9を処理する。つまり、ロックステップ状態は「動作状態」となる。この、ロックステップ状態が停止状態となった時刻t1から、ロックステップ状態が動作状態となった時刻t3までの期間Tdtが、PTPmax以下となっている。
図6は、実施の形態1にかかる、タスク処理とチップ温度との関係を例示するグラフである。図6において、実線は、全てのタスク(タスクA〜D)についてロックステップ動作を行った場合(以下、比較例とする)のチップの温度を示す。一方、一点鎖線は、本実施の形態1にかかるプロセッサシステム100のチップの温度を示す。また、T1は、例えば、エンジン制御における1サイクル(又は1工程)に要する期間に対応するが、これに限られない。また、T2は、プロセッサシステム100がエンジン制御に関するタスクを処理するために許容される期間である。よって、このT2の間に、プロセッサシステム100は、エンジン制御に関するタスクA〜Cを処理する。またT2<T1である。
また、図6においては、タスクA、タスクB、及びタスクCが、この順序で処理され、その後、アイドルタスクであるタスクDが処理されている。なお、この処理されるタスクの順序は、図6の例に限られない。割込コントローラ140の割り込み処理によって、この順序は変動する。また、実施の形態1においては、上述したように、期間Tdtごとに、タスクE(故障診断タスク)が割り込まれる。なお、図6の例では、タスクEは、タスクCの後(図6の左側)及びタスクDの途中(図6の右側)に割り込まれているが、これに限られない。例えば、タスクEは、タスクAとタスクBとの間に割り込まれてもよいし、タスクCの途中に割り込まれてもよい。
全てのタスク(タスクA〜D)についてロックステップ動作を行った場合、プロセッサシステム(マイコン)がタスクA、タスクB、タスクCを順次処理すると、マスタプロセッサだけでなくチェッカプロセッサも全てのタスクを処理するので、マイコンの処理負荷が増大する。そのため、図6の実線で示すように、チップ温度は、タスクCの処理期間で、温度閾値を超過してしまう。そのため、チップ温度が温度閾値を超えないように制御しようとすると、タスクCを処理することができない。
一方、実施の形態1にかかるプロセッサシステム100は、タスクE(故障診断タスク)のみをロックステップ動作で処理するように構成されている。この場合、チェッカプロセッサ114は、タスクEのみを処理する。言い換えると、タスクA〜Dは、ロックステップ動作で処理されない。つまり、タスクA〜Dは、マスタプロセッサ112のみによって処理され、チェッカプロセッサ114によって処理されない。したがって、タスクA〜Dの処理によって上昇するチップ温度は、比較例と比較して、およそ半減する。
ここで、実施の形態1において、タスクEが割り込まれた期間は、マスタプロセッサ112だけでなくチェッカプロセッサ114もタスクEを処理するので、チップ温度が上昇する。しかしながら、タスクEの処理期間は、故障を検出し得る最低限の時間となっている。したがって、タスクEの処理期間における温度上昇は、最小限に留められる。これにより、実施の形態1においては、全てのタスクの処理期間において、チップ温度は、温度閾値を超過しない。したがって、実施の形態1にかかるプロセッサシステム100は、発熱量を抑制することが可能となる。
さらに、実施の形態1においては、上述したように、タスクEが処理されてから次にタスクEが処理されるまでの期間(つまり、ロックステップ動作を行ってから次にロックステップ動作を行うまでの期間)Tdtが、PTPmax以下となっている。また、上述したように、ロックステップ動作を行っている間は、故障を検出することが可能である。したがって、実施の形態1にかかるプロセッサシステム100は、予め定められた期間(PTPmax)内で故障を検出することが可能となる。つまり、実施の形態1にかかるプロセッサシステム100は、発熱量を抑制しつつ、予め定められた期間(PTPmax)内で故障を検出することが可能となる。
(実施の形態2)
次に、実施の形態2について説明する。上述した実施の形態1においては、故障診断タスク(タスクE)を割り込ませるためのタイマ170は1個であった。一方、実施の形態2においては、故障診断タスク(タスクE)を割り込ませるためのタイマは、複数設けられている。つまり、実施の形態2においては、複数の種類の故障診断タスクが割り込まれる。また、以下、すでに説明した構成要素と実質的に同じ構成要素については、同じ符号を付し、説明を省略する。
図7は、実施の形態2にかかるプロセッサシステム200の構成を示す図である。実施の形態2にかかるプロセッサシステム200は、実施の形態1にかかるプロセッサシステム100のタイマ170を、2個のタイマ270A,270Bに置き換えた構成を有している。実施の形態2にかかるプロセッサシステム200において、タイマ270A,270B以外の構成については、実施の形態1と同様である。
タイマ270Aは、時間をカウントする。そして、タイマ270Aは、予め定められた期間TdtAごとに、故障診断タイマ割り込み要求信号Sg24Aを、割込コントローラ140に対して出力する。ここで、期間TdtAは、PTPmax以下である。つまり、タイマ270Aは、PTPmax以下の間隔で、故障診断タイマ割り込み要求信号Sg24Aを、割込コントローラ140に対して出力する。なお、期間TdtAは、常に一定である必要はなく、PTPmax以下の期間で変動してもよい。また、PTPmax以下の設定値(期間TdtA)が、タイマ270Aに設けられたレジスタ272Aに設定される。これにより、予め定められたタイミングで(つまり期間TdtAごとに)、故障診断タスクAが起動される。
タイマ270Bは、時間をカウントする。そして、タイマ270Bは、予め定められた期間TdtBごとに、故障診断タイマ割り込み要求信号Sg24Bを、割込コントローラ140に対して出力する。ここで、期間TdtBは、PTPmax以下である。つまり、タイマ270Bは、PTPmax以下の間隔で、故障診断タイマ割り込み要求信号Sg24Bを、割込コントローラ140に対して出力する。なお、期間TdtBは、常に一定である必要はなく、PTPmax以下の期間で変動してもよい。また、PTPmax以下の設定値(期間TdtB)が、タイマ270Bに設けられたレジスタ272Bに設定される。これにより、予め定められたタイミングで(つまり期間TdtBごとに)、故障診断タスクBが起動される。
割込コントローラ140は、信号Sg21〜Sg23に加えて、信号Sg24A,Sg24Bを受信する。割込コントローラ140は、信号Sg24Aに応じて、故障診断タスクA(タスクEA)の識別情報を含む割り込み要求信号Sg30を出力する。同様に、割込コントローラ140は、信号Sg24Bに応じて、故障診断タスクB(タスクEB)の識別情報を含む割り込み要求信号Sg30を出力する。
制御回路124は、割込コントローラ140からの割り込み要求信号Sg30が故障診断タスクA(タスクEA;第1の故障診断タスク)又は故障診断タスクB(タスクEB;第2の故障診断タスク)を示す場合、図4に示したS122及びS124の処理を行う。一方、制御回路124は、割込コントローラ140からの割り込み要求信号Sg30が故障診断タスクA(タスクEA)及び故障診断タスクB(タスクEB)のいずれも示さない場合、図4に示したS112及びS114の処理を行う。つまり、実施の形態2においては、故障診断タスクA(タスクEA)及び故障診断タスクB(タスクEB)は、ロックステップ動作によって処理される。言い換えれば、故障診断タスクA(タスクEA)及び故障診断タスクB(タスクEB)は、マスタプロセッサ112だけでなくチェッカプロセッサ114によって処理される。これによって、故障診断タスクA(タスクEA)及び故障診断タスクB(タスクEB)を用いて、ロックステップ動作によって、故障診断が実行される。
プロセッサユニット110は、故障診断タスクA(タスクEA)の識別情報を含む割り込み要求信号Sg30を受信した場合は、メモリ104から、故障診断タスクAを読み出す。そして、プロセッサユニット110は、故障診断タスクAを処理する。この故障診断タスクAは、マスタプロセッサ112の領域A(第1の領域)及びチェッカプロセッサ114の領域A(第1の領域)を用いて処理されるタスクである。つまり、故障診断タスクAは、マスタプロセッサ112の領域A(第1の領域)及びチェッカプロセッサ114の領域A(第1の領域)における故障が検出され得るタスクである。故障診断タスクAは、できる限り短い時間で処理されることが望ましい。
プロセッサユニット110は、故障診断タスクB(タスクEB)の識別情報を含む割り込み要求信号Sg30を受信した場合は、メモリ104から、故障診断タスクBを読み出す。そして、プロセッサユニット110は、故障診断タスクBを処理する。この故障診断タスクBは、マスタプロセッサ112の領域B(第2の領域)及びチェッカプロセッサ114の領域B(第2の領域)を用いて処理されるタスクである。つまり、故障診断タスクBは、マスタプロセッサ112の領域B(第2の領域)及びチェッカプロセッサ114の領域B(第2の領域)における故障が検出され得るタスクである。故障診断タスクBは、できる限り短い時間で処理されることが望ましい。
ここで、故障診断タスクAは、マスタプロセッサ112の領域A及びチェッカプロセッサ114の領域Aにおける素子を使用して処理され得るように構成されている。つまり、故障診断タスクAが処理されている間、マスタプロセッサ112の領域A以外の素子については、動作しなくてもよく、チェッカプロセッサ114の領域A以外の素子については、動作しなくてもよい。同様に、故障診断タスクBは、マスタプロセッサ112の領域B及びチェッカプロセッサ114の領域Bにおける素子を使用して処理され得るように構成されている。つまり、故障診断タスクBが処理されている間、マスタプロセッサ112の領域B以外の素子については、動作しなくてもよく、チェッカプロセッサ114の領域B以外の素子については、動作しなくてもよい。なお、領域A及び領域Bは、分離していてもよいし、互いに重複してもよい。
図8は、実施の形態2にかかる、タスク処理とチップ温度との関係を例示するグラフである。図8において、実線は、全てのタスク(タスクA〜D)についてロックステップ動作を行った比較例のチップの温度を示す。一方、一点鎖線は、本実施の形態2にかかるプロセッサシステム200のチップの温度を示す。図8の例においては、タスクDの途中に、タスクEA及びタスクEBが割り込まれているが、これに限られない。タスクEA,EBは、タスクAとタスクBとの間に割り込まれてもよいし、タスクCの途中に割り込まれてもよい。
実施の形態1と同様に、実施の形態2にかかるプロセッサシステム200は、タスクEA,EB(故障診断タスク)のみをロックステップ動作で処理するように構成されている。この場合、チェッカプロセッサ114は、タスクEA,EBのみを処理する。言い換えると、タスクA〜Dは、ロックステップ動作で処理されない。つまり、タスクA〜Dは、マスタプロセッサ112のみによって処理され、チェッカプロセッサ114によって処理されない。したがって、タスクA〜Dによって上昇するチップ温度は、比較例と比較して、およそ半減する。
ここで、実施の形態2において、タスクEA,EBが割り込まれた期間は、マスタプロセッサ112だけでなくチェッカプロセッサ114もタスクEA,EBを処理するので、温度が上昇する。しかしながら、タスクEA,EBの処理期間は、故障を検出し得る最低限の時間となっている。したがって、タスクEA,EBの処理期間における温度上昇Tmp2は、最小限に留められる。さらに、実施の形態2においては、タスクEAにおいては、マスタプロセッサ112及びチェッカプロセッサ114の領域Aのみが動作する。同様に、タスクEBにおいては、マスタプロセッサ112及びチェッカプロセッサ114の領域Bのみが動作する。つまり、実施の形態2において故障診断タスクが実行されている間に動作している素子は、実施の形態1と比較して減少している。したがって、タスクEA,EBの処理期間における温度上昇Tmp2は、実施の形態1において故障診断タスク(タスクE)の処理期間における温度上昇Tmp1よりも小さくなる。よって、実施の形態2にかかるプロセッサシステム200は、実施の形態1よりもさらに発熱量を抑制することが可能となる。
さらに、実施の形態2と同様に、実施の形態2においても、上述したように、タスクEAが処理されてから次にタスクEAが処理されるまでの期間TdtA、及び、タスクEBが処理されてから次にタスクEBが処理されるまでの期間TdtBが、PTPmax以下となっている。これにより、タスクEAが処理されてからタスクEBが処理されるまでの期間、及び、タスクEBが処理されてからタスクEAが処理されるまでの期間(つまり、ロックステップ動作を行ってから次にロックステップ動作を行うまでの期間)は、PTPmax以下となっている。したがって、実施の形態2にかかるプロセッサシステム200も、発熱量を抑制しつつ、予め定められた期間(PTPmax)内で故障を検出することが可能となる。
(実施の形態3)
次に、実施の形態3について説明する。実施の形態3においては、故障診断タスクが割り込まれない点で、上述した実施の形態と異なる。以下に説明するように、実施の形態3においては、エンジン制御に関するタスクの種類に応じて、ロックステップ動作を行うか否かが決定される。
実施の形態3においては、タスクA(エンジン点火制御タスク),タスクB(燃料制御タスク)及びタスクD(アイドルタスク)は、「高重要タスク」(第1のタスク)と分類される。一方、タスクC(走行ログ制御タスク)は、「低重要タスク」(第2のタスク)と分類される。しかしながら、分類の方法は、これに限られない。ここで、「高重要タスク」とは、プロセッサシステムの制御対象であるシステム(エンジンシステム等)において、安全性及び信頼性等に関して重要度が高いタスクである。「低重要タスク」とは、プロセッサシステムの制御対象であるシステムにおいて、安全性及び信頼性等に関して重要度が低いタスクである。後述するように、実施の形態3にかかるプロセッサシステムは、高重要タスクを処理する際にロックステップ動作を行い、低重要タスクを処理する際にはロックステップ動作を行わないように構成されている。つまり、高重要タスクは、実行中に故障が発生した場合に故障の検出が要求されるタスクである。
図9は、実施の形態3にかかるプロセッサシステム300の構成を示す図である。実施の形態3にかかるプロセッサシステム300は、実施の形態1にかかるプロセッサシステム100に設けられているタイマ170がなく、制御回路124を制御回路324(制御部)に置き換えたように構成されている。実施の形態3にかかるプロセッサシステム300において、上記以外の構成については、実施の形態1と同様である。
制御回路324は、制御回路124と同様に、割込コントローラ140からの割り込み要求信号Sg30に応じて、ロックステップ動作を行うか否かを判断する。そして、制御回路324は、制御回路124と同様に、チェッカ用クロックイネーブル信号Sg32を有効化又は無効化することによって、CGC134に対して、クロック信号Sg12をチェッカプロセッサ114に供給するか否かを制御する。さらに、制御回路324は、制御回路124と同様に、ロックステップ動作を行う場合に、比較イネーブル信号Sg33を有効化し、ロックステップ動作を行わない場合に、比較イネーブル信号Sg33を無効化する。
図10は、実施の形態3にかかる制御回路324の処理を示すフローチャートである。制御回路324は、割込コントローラ140から、割り込み要求信号Sg30を受信する(S202)。制御回路324は、割り込み要求信号Sg30が、高重要タスク(例えばタスクA,B)を示すか否かを判断する(S204)。割り込み要求信号Sg30が高重要タスクを示さない場合(S204のNO)、制御回路324は、チェッカプロセッサ114に対するクロックの供給を停止して、ロックステップ動作を行わないように制御する(S212)。具体的には、制御回路324は、チェッカ用クロックイネーブル信号Sg32を無効化して、チェッカプロセッサ114を停止させるように制御する。また、制御回路324は、比較イネーブル信号Sg33を無効化して、比較器106の動作を無効化する(S214)。つまり、制御回路324は、エンジン制御用タスク以外のタスク(例えば走行ログ制御タスク)について、ロックステップを無効にする。
一方、割り込み要求信号Sg30が高重要タスクを示す場合(S204のYES)、制御回路324は、チェッカプロセッサ114に対してクロックを供給して、ロックステップ動作を行うように制御する(S222)。具体的には、制御回路324は、チェッカ用クロックイネーブル信号Sg32を有効化して、チェッカプロセッサ114を動作させるように制御する。また、制御回路324は、比較イネーブル信号Sg33を有効化して、比較器106の動作を有効化する(S224)。つまり、制御回路324は、エンジン制御用タスク(例えばエンジン点火制御タスク及び燃料制御タスク)について、ロックステップを有効にする。
実施の形態3においては、上述した処理により、高重要タスク(タスクA,B,D)については、ロックステップ動作が行われ、マスタプロセッサ112及びチェッカプロセッサ114によって処理される。一方、それ以外のタスク(タスクC)については、ロックステップ動作が行われず、マスタプロセッサ112のみによって処理される。そして、比較器106は、高重要タスクについてのマスタ処理結果及びチェッカ処理結果を比較して、両者が異なる場合には、エラー通知を発信する。これにより、高重要タスクを用いて故障診断が実行され、故障が発生している場合は、エラーが検出される。
図11は、実施の形態3にかかる、タスク処理とチップ温度との関係を例示するグラフである。図11において、実線は、全てのタスク(タスクA〜D)についてロックステップ動作を行った場合(以下、比較例とする)のチップの温度を示す。一方、一点鎖線は、本実施の形態3にかかるプロセッサシステム300のチップの温度を示す。
また、図11においては、タスクA、タスクB、及びタスクCが、この順序で処理され、その後、アイドルタスクであるタスクDが処理されている。なお、この処理されるタスクの順序は、図11の例に限られない。割込コントローラ140の割り込み処理によって、この順序は変動する。
上述した他の実施の形態と同様に、比較例においては、全てのタスクについてロックステップ動作が行われるので、マイコンの処理負荷が増大する。そのため、図11の実線で示すように、チップ温度は、タスクCの処理期間で、温度閾値を超過してしまう。そのため、チップ温度が温度閾値を超えないように制御しようとすると、タスクCを処理することができない。
一方、本実施の形態3にかかるプロセッサシステム300は、低重要タスク(タスクC)を処理する際にロックステップ動作を行わないように構成されている。つまり、チェッカプロセッサ114は、低重要タスク(タスクC)を処理しない。これにより、タスクCの処理によって上昇するチップ温度は、比較例と比較して、およそ半減する。これにより、実施の形態3においては、全てのタスクの処理期間において、チップ温度は、温度閾値を超過しないようにすることが可能となる。したがって、実施の形態3にかかるプロセッサシステム100は、発熱量を抑制することが可能となる。
ここで、最大プルーフテスト間隔(PTPmax)を満たすように故障を検出するようにすることは、最低限、高重要タスクが処理されているときになされればよい。言い換えると、低重要タスクが処理されているときは、最大プルーフテスト間隔(PTPmax)を満たすように故障を検出するようにすることは、必ずしも要求されない。ここで、本実施の形態3においては、高重要タスクが処理される場合に、必ずロックステップ動作が行われる。つまり、この場合、ロックステップ動作が行われてから次にロックステップ動作が行われるまでの期間は、ほぼ0である。したがって、実施の形態3にかかるプロセッサシステム300は、予め定められた期間(PTPmax)内で故障を検出することが可能となる。つまり、実施の形態3にかかるプロセッサシステム300は、発熱量を抑制しつつ、予め定められた期間(PTPmax)内で故障を検出することが可能となる。さらに、実施の形態3においては、実施の形態1等と比較して、故障診断タスクを、エンジン制御に必要なタスク(タスクA,タスクB)と別個に割り込ませることが不要となる。
なお、実施の形態1等においては、タスクA〜Dが高重要タスクか低重要タスクかを区別していない。しかしながら、実施の形態1等においては、ロックステップ動作によって故障診断タスクが処理されてから次にロックステップ動作によって故障診断タスクが処理されるまでの間に、全て、高重要タスクが割り込まれる場合であっても、予め定められた期間(PTPmax)内で故障を検出することが可能となる。
(実施の形態4)
次に、実施の形態4について説明する。実施の形態4においては、制御回路がプロセッサユニット110(マスタプロセッサ112)のフェッチアドレスを用いてロックステップ動作を行うか否かを判断する点で、実施の形態3と異なる。
図12は、実施の形態4にかかるプロセッサシステム400の構成を示す図である。実施の形態4にかかるプロセッサシステム400は、実施の形態3にかかるプロセッサシステム300の制御回路324を制御回路424(制御部)に置き換えたように構成されている。また、実施の形態4にかかるプロセッサシステム400は、フェッチアドレスとメモリ104における高重要タスクのアドレス情報とを比較する比較ユニット410を有している。さらに、制御回路424は、割込コントローラ140から割り込み要求信号Sg30を受信しない。その代わり、制御回路424は、比較ユニット410から、アドレスマッチ信号Sg41を受信する。実施の形態4にかかるプロセッサシステム400において、上記以外の構成については、実施の形態3と同様である。
図13は、実施の形態4にかかる比較ユニット410の構成を示す図である。比較ユニット410は、アドレス情報抽出部412(412A,412B,412D)と、アドレス比較部414(414A,414B,414D)とを有する。アドレス情報抽出部412は、メモリ104において高重要タスクが格納されたアドレス情報を抽出する。具体的には、アドレス情報抽出部412Aは、エンジン点火制御タスク(タスクA)のアドレス情報(アドレス情報A)を抽出する。アドレス情報抽出部412Bは、燃料制御タスク(タスクB)のアドレス情報(アドレス情報B)を抽出する。アドレス情報抽出部412Dは、アイドルタスク(タスクD)のアドレス情報(アドレス情報D)を抽出する。
アドレス比較部414は、プロセッサユニット110のフェッチアドレスと、高重要タスクのアドレス情報とを比較する。そして、アドレス比較部414は、両者が一致する場合は、アドレスマッチ信号Sg41を、制御回路424に対して出力する。具体的には、アドレス比較部414Aは、フェッチアドレスと、アドレス情報抽出部412Aによって抽出されたアドレス情報Aとを比較する。そして、アドレス比較部414Aは、フェッチアドレスとアドレス情報Aとが一致する場合に、アドレスマッチ信号Sg41Aを、制御回路424に対して出力する。
同様に、アドレス比較部414Bは、フェッチアドレスと、アドレス情報抽出部412Bによって抽出されたアドレス情報Bとを比較する。そして、アドレス比較部414Bは、フェッチアドレスとアドレス情報Bとが一致する場合に、アドレスマッチ信号Sg41Bを、制御回路424に対して出力する。また、アドレス比較部414Dは、フェッチアドレスと、アドレス情報抽出部412Dによって抽出されたアドレス情報Dとを比較する。そして、アドレス比較部414Dは、フェッチアドレスとアドレス情報Dとが一致する場合に、アドレスマッチ信号Sg41Dを、制御回路424に対して出力する。
制御回路424は、アドレスマッチ信号Sg41(Sg41A,Sg41B,Sg41D)に応じて、ロックステップ動作を行うか否かを判断する。具体的には、制御回路424は、アドレスマッチ信号Sg41(Sg41A,Sg41B,Sg41D)を受信した場合に、プロセッサユニット110が高重要タスクを処理すると判断する。この場合、制御回路424は、ロックステップ動作を行うための処理(図10のS222,S224の処理)を行う。一方、制御回路424は、アドレスマッチ信号Sg41(Sg41A,Sg41B,Sg41D)を受信しない場合に、プロセッサユニット110が低重要タスクを処理すると判断する。この場合、制御回路424は、ロックステップ動作を行わないための処理(図10のS212,S214の処理)を行う。
実施の形態4においても、実施の形態3と同様に、高重要タスクが処理される場合に、ロックステップ動作が行われ、低重要タスクが処理される場合に、ロックステップ動作が行われない。したがって、実施の形態3と同様に、実施の形態4にかかるプロセッサシステム400は、発熱量を抑制しつつ、予め定められた期間(PTPmax)内で故障を検出することが可能となる。さらに、実施の形態4にかかるプロセッサシステム400は、フェッチアドレスを用いて処理されるタスクの種類を判断する。したがって、実施の形態4にかかるプロセッサシステム400は、割込コントローラ140による割り込み要求信号Sg30によらないで、プロセッサユニット110が処理するタスクの種類に応じてロックステップ動作を行うか否かを判断することが可能となる。
(実施の形態5)
次に、実施の形態5について説明する。実施の形態5においては、通常は、任意のタスクについてロックステップ動作が行われるが、プロセッサユニット110が高負荷となった場合に、低重要タスクについてはロックステップ動作が行われない点で、実施の形態3と異なる。
図14は、実施の形態5にかかるプロセッサシステム500の構成を示す図である。実施の形態5にかかるプロセッサシステム500は、実施の形態3にかかるプロセッサシステム300の制御回路324を制御回路524(制御部)に置き換えたように構成されている。また、実施の形態5にかかるプロセッサシステム500は、周期モニタ570(周期モニタ570A,570B)を有している。実施の形態5にかかるプロセッサシステム500において、上記以外の構成については、実施の形態3と同様である。
周期モニタ570は、高重要タスク(タスクA,B)の割り込み頻度を検出する。そして、周期モニタ570は、割り込み頻度が予め定められた基準を超過した場合に、周期モニタ割り込み要求信号Sg51を、制御回路524に対して出力する。
具体的には、周期モニタ570Aは、センサ入力割り込み要求信号Sg21の割り込み間隔(割り込み周期)を監視する。周期モニタ570Aは、センサ入力割り込み要求信号Sg21の割り込み間隔が予め定められた基準間隔よりも短くなった場合に、周期モニタ割り込み要求信号Sg51Aを、制御回路524に対して出力する。言い換えると、周期モニタ570Aは、センサ入力割り込み要求信号Sg21の割り込み周期が予め定められた基準周期を超過した場合に、周期モニタ割り込み要求信号Sg51Aを、制御回路524に対して出力する。
同様に、周期モニタ570Bは、センサ入力割り込み要求信号Sg22の割り込み間隔(割り込み周期)を監視する。周期モニタ570Bは、センサ入力割り込み要求信号Sg22の割り込み間隔が予め定められた基準間隔よりも短くなった場合に、周期モニタ割り込み要求信号Sg51Bを、制御回路524に対して出力する。言い換えると、周期モニタ570Bは、センサ入力割り込み要求信号Sg22の割り込み周期が予め定められた基準周期を超過した場合に、周期モニタ割り込み要求信号Sg51Bを、制御回路524に対して出力する。
ここで、上記基準間隔、及び基準周期は、周期モニタ570の監視対象の信号がどれだけの頻度で割り込まれることによって、プロセッサユニット110が高負荷となり、これによりチップ温度が温度閾値(図6及び後述する図16等に示す)を超えるか否かに応じて定められる。つまり、センサ入力割り込み要求信号の割り込み間隔が基準間隔以上であれば(つまり割り込み周期が基準周期以下であれば)、プロセッサユニット110は、チップ温度が温度閾値を超えるほど高負荷となっていない。
一方、センサ入力割り込み要求信号の割り込み間隔が基準間隔未満となる場合(つまり割り込み周期が基準周期を超える場合)に、プロセッサユニット110が高負荷となっていることにより、チップ温度が温度閾値を超える可能性がある。したがって、周期モニタ570は、プロセッサユニット110が高負荷となった場合に、周期モニタ割り込み要求信号Sg51(Sg51A,Sg51B)を、制御回路524に対して出力する。なお、周期モニタ570は、周期モニタ割り込み要求信号Sg51を出力した後の任意のタイミングで、割り込み周期のカウントをキャンセルしてもよい。
制御回路524は、制御回路124と同様に、割込コントローラ140からの割り込み要求信号Sg30に応じて、ロックステップ動作を行うか否かを判断する。ここで、制御回路524は、後述するように、プロセッサユニット110が高負荷となったか否かに応じて、ロックステップ動作を行うか否かを判断する。言い換えると、制御回路524は、少なくとも高重要タスクの処理頻度に応じて、ロックステップ動作を行うか否かを判断する。
そして、制御回路524は、制御回路124と同様に、チェッカ用クロックイネーブル信号Sg32を有効化又は無効化することによって、CGC134に対して、クロック信号Sg12をチェッカプロセッサ114に供給するか否かを制御する。さらに、制御回路524は、制御回路124と同様に、ロックステップ動作を行う場合に、比較イネーブル信号Sg33を有効化し、ロックステップ動作を行わない場合に、比較イネーブル信号Sg33を無効化する。
図15は、実施の形態5にかかる制御回路524の処理を示すフローチャートである。制御回路524は、割込コントローラ140から、割り込み要求信号Sg30を受信する(S302)。制御回路524は、このときに、周期モニタ割り込み要求信号Sg51(Sg51A,Sg51B)を周期モニタ570から受信していたか否かを判断する(S304)。制御回路524が周期モニタ割り込み要求信号Sg51を受信していない場合(S304のNO)、高重要タスクの処理頻度は高くなく、したがってプロセッサユニット110は高負荷とはなっていない。したがって、制御回路524は、チェッカプロセッサ114に対してクロックを供給して、ロックステップ動作を行うように制御する(S322)。具体的には、制御回路524は、チェッカ用クロックイネーブル信号Sg32を有効化して、チェッカプロセッサ114を動作させるように制御する。また、制御回路524は、比較イネーブル信号Sg33を有効化して、比較器106の動作を有効化する(S324)。
一方、制御回路524が周期モニタ割り込み要求信号Sg51を受信していた場合(S304のYES)、高重要タスクの処理頻度は高くなっており、したがってプロセッサユニット110は高負荷となっている。このとき、制御回路524は、S302で受信した割り込み要求信号Sg30が低重要タスクを示すか否かを判断する(S306)。割り込み要求信号Sg30が低重要タスクを示さない場合(S306のNO)、処理すべきタスクは高重要タスクである。したがって、制御回路524は、ロックステップ動作を行うように制御する(S322,S324)。
一方、割り込み要求信号Sg30が低重要タスクを示す場合(S306のYES)、制御回路524は、チェッカプロセッサ114に対するクロックの供給を停止して、ロックステップ動作を行わないように制御する(S312)。具体的には、制御回路524は、チェッカ用クロックイネーブル信号Sg32を無効化して、チェッカプロセッサ114を停止させるように制御する。また、制御回路524は、比較イネーブル信号Sg33を無効化して、比較器106の動作を無効化する(S314)。
図16は、実施の形態5にかかる、タスク処理とチップ温度との関係を例示するグラフである。図16において、実線は、全てのタスク(タスクA〜D)について常にロックステップ動作を行った場合(以下、比較例とする)のチップの温度を示す。一方、一点鎖線は、本実施の形態5にかかるプロセッサシステム500のチップの温度を示す。
また、図16においては、タスクA、タスクB、及びタスクCが、この順序で処理され、その後、アイドルタスクであるタスクDが処理されている。なお、この処理されるタスクの順序は、図16の例に限られない。割込コントローラ140の処理によって、この順序は変動する。また、図16においては、前のサイクルCy1及び後のサイクルCy2が例示されている。ここで、図16の例においては、サイクルCy2においてタスクBが処理されているときに、周期モニタ割り込み要求信号Sg51が、周期モニタ570から出力されている。
図16に例示するように、サイクルCy1においては、周期モニタ割り込み要求信号Sg51は出力されていないので、プロセッサユニット110は高負荷となっていない。したがって、チップ温度は、温度閾値を超えていない。一方、サイクルCy2においては、タスクBが処理されているときに、周期モニタ割り込み要求信号Sg51が出力されている。したがって、プロセッサユニット110は高負荷となっている。
ここで、比較例(実線)においては、引き続きロックステップ動作が行われる。したがって、タスクCが処理されているときに、チップ温度は温度閾値を超過してしまう。一方、本実施の形態5にかかるプロセッサシステム500は、このとき、サイクルCy2において、低重要タスクであるタスクCを処理する際にロックステップ動作を行わないように構成されている。つまり、このとき、チェッカプロセッサ114は、低重要タスク(タスクC)を処理しない。これにより、タスクCの処理によって上昇するチップ温度は、比較例と比較して、およそ半減する。これにより、実施の形態5においては、全てのタスクの処理期間において、チップ温度は、温度閾値を超過しないようにすることが可能となる。したがって、実施の形態5にかかるプロセッサシステム500は、発熱量を抑制することが可能となる。
さらに、実施の形態5においても、実施の形態3と同様に、高重要タスクが処理される場合に、必ずロックステップ動作が行われる。したがって、実施の形態5にかかるプロセッサシステム500は、発熱量を抑制しつつ、予め定められた期間(PTPmax)内で故障を検出することが可能となる。
なお、図14においては、周期モニタ570は、周期モニタ570A及び周期モニタ570Bと別個に設けられているが、周期モニタ570Aと周期モニタ570Bとを分けなくてもよい。例えば、1個の周期モニタ570が、センサ入力割り込み要求信号Sg21及びセンサ入力割り込み要求信号Sg22の割り込み頻度(割り込み間隔,割り込み周期)を監視してもよい。この場合、周期モニタ570は、上述した実施の形態5と同様に、センサ入力割り込み要求信号Sg21及びセンサ入力割り込み要求信号Sg22の割り込み間隔(割り込み周期)を別個に監視してもよい。一方、周期モニタ570は、センサ入力割り込み要求信号Sg21及びセンサ入力割り込み要求信号Sg22を区別しないで、これらの割り込み要求信号の割り込み間隔(割り込み周期)を監視してもよい。つまり、周期モニタ570は、センサ入力割り込み要求信号Sg21及びセンサ入力割り込み要求信号Sg22を合わせた頻度を監視してもよい。例えば、周期モニタ570は、まずセンサ入力割り込み要求信号Sg21が割り込まれ、次にセンサ入力割り込み要求信号Sg22が割り込まれた場合に、計2カウントとしてもよい。
なお、上述した実施の形態5においては、周期モニタ570は、高重要タスク(タスクA,B)の割り込み間隔を検出するとしたが、これに限られない。周期モニタ570は、低重要タスクのうち、割り込み頻度が高くなるとプロセッサユニット110が高負荷となるタスクについて、割り込み間隔を検出するようにしてもよい。さらに、周期モニタ570は、割り込み要求信号Sg30を監視し、ロックステップ動作が行われるタスク(タスクA,B)を示す割り込み要求信号Sg30の割り込み間隔を検出してもよい。なお、アイドルタスク(タスクD)については、ロックステップ動作が行われても、処理負荷が高くなく、ほとんど温度上昇がない。したがって、周期モニタ570は、(高重要タスクであっても)アイドルタスク(タスクD)を監視しなくてもよい。
(実施の形態6)
次に、実施の形態6について説明する。実施の形態6においては、通常は、任意のタスクについてロックステップ動作が行われない。一方、高重要タスクが処理されてから経過した期間が、最大プルーフテスト間隔(PTPmax)以下のロックステップ動作期間(第1の期間)以上となった場合に、高重要タスクは、ロックステップ動作で処理される。言い換えると、実施の形態6においては、高重要タスクは、常にロックステップ動作で処理されるわけではなく、最大プルーフテスト間隔(PTPmax)を満たすタイミングで、断続的に、ロックステップ動作で処理される。さらに言い換えると、実施の形態6においては、高重要タスクにおけるロックステップ動作が、最大プルーフテスト間隔(PTPmax)を満たす範囲で間引かれている。
図17は、実施の形態6にかかるプロセッサシステム600の構成を示す図である。実施の形態6にかかるプロセッサシステム600は、実施の形態3にかかるプロセッサシステム300の制御回路324を制御回路624(制御部)に置き換えたように構成されている。また、実施の形態6にかかるプロセッサシステム600は、期間モニタ670を有している。実施の形態6にかかるプロセッサシステム600において、上記以外の構成については、実施の形態3と同様である。
期間モニタ670は、前回ロックステップ動作で高重要タスクが処理されてからの時間をカウントする。そして、期間モニタ670は、前回ロックステップ動作で高重要タスクが処理されてからロックステップ動作期間(第1の期間)が経過したときに、制御回路624に対して、期間モニタ割り込み要求信号Sg61を出力する。ここで、ロックステップ動作期間は、予め定められた、PTPmaxよりも短い期間である。また、PTPmaxよりも短い設定値(ロックステップ動作期間)が、期間モニタ670に設けられたレジスタ672に設定される。
制御回路624は、制御回路124と同様に、割込コントローラ140からの割り込み要求信号Sg30に応じて、ロックステップ動作を行うか否かを判断する。ここで、制御回路624は、後述するように、ロックステップ動作期間ごとに、ロックステップ動作を行うように制御する。そして、制御回路624は、制御回路124と同様に、チェッカ用クロックイネーブル信号Sg32を有効化又は無効化することによって、CGC134に対して、クロック信号Sg12をチェッカプロセッサ114に供給するか否かを制御する。さらに、制御回路624は、制御回路124と同様に、ロックステップ動作を行う場合に、比較イネーブル信号Sg33を有効化し、ロックステップ動作を行わない場合に、比較イネーブル信号Sg33を無効化する。
図18は、実施の形態6にかかる制御回路624の処理を示すフローチャートである。制御回路624は、割込コントローラ140から、割り込み要求信号Sg30を受信する(S402)。制御回路624は、このときに、期間モニタ割り込み要求信号Sg61を期間モニタ670から受信していたか否かを判断する(S404)。制御回路624が期間モニタ割り込み要求信号Sg61を受信していない場合(S404のNO)、ロックステップ動作期間を経過していない。したがって、制御回路624は、チェッカプロセッサ114に対するクロックの供給を停止して、ロックステップ動作を行わないように制御する(S412)。具体的には、制御回路624は、チェッカ用クロックイネーブル信号Sg32を無効化して、チェッカプロセッサ114を停止させるように制御する。また、制御回路624は、比較イネーブル信号Sg33を無効化して、比較器106の動作を無効化する(S414)。
一方、制御回路624が期間モニタ割り込み要求信号Sg61を受信していた場合(S404のYES)、ロックステップ動作期間が経過している。このとき、制御回路624は、S402で受信した割り込み要求信号Sg30が高重要タスクを示すか否かを判断する(S406)。割り込み要求信号Sg30が高重要タスクを示さない場合(S406のNO)、処理すべきタスクは低重要タスクである。したがって、制御回路624は、ロックステップ動作を行わないように制御する(S412,S414)。
一方、割り込み要求信号Sg30が高重要タスクを示す場合(S406のYES)、制御回路624は、チェッカプロセッサ114に対してクロックを供給して、ロックステップ動作を行うように制御する(S422)。具体的には、制御回路624は、チェッカ用クロックイネーブル信号Sg32を有効化して、チェッカプロセッサ114を動作させるように制御する。また、制御回路624は、比較イネーブル信号Sg33を有効化して、比較器106の動作を有効化する(S424)。つまり、制御回路624は、予め定められたタイミングで(つまりロックステップ動作期間が経過したタイミングで)発生しているエンジン制御用タスクを、ロックステップで処理させる。
図19は、実施の形態6にかかる、タスク処理とチップ温度との関係を例示するグラフである。図19において、実線は、全てのタスク(タスクA〜D)について常にロックステップ動作を行った場合(以下、比較例とする)のチップの温度を示す。一方、一点鎖線は、本実施の形態6にかかるプロセッサシステム600のチップの温度を示す。
また、図19においては、タスクA、タスクB、及びタスクCが、この順序で処理され、その後、アイドルタスクであるタスクDが処理されている。なお、この処理されるタスクの順序は、図16の例に限られない。割込コントローラ140の処理によって、この順序は変動する。また、図19においては、前のサイクルCy1及び後のサイクルCy2が例示されている。ここで、図19の例においては、サイクルCy2においてタスクAが処理されるときに、期間モニタ割り込み要求信号Sg61が、期間モニタ670から出力されている。
図19に例示するように、サイクルCy1においては、期間モニタ割り込み要求信号Sg61は出力されていないので、前回ロックステップ動作が行われてからロックステップ動作期間は経過していない。したがって、サイクルCy1においては、低重要タスク(タスクC)だけでなく高重要タスク(タスクA,B)についても、ロックステップ動作は行われていない。つまり、サイクルCy1においては、チェッカプロセッサ114は動作しないので、チップ温度の上昇は抑制されている。これに対し、比較例においては、サイクルCy1においてタスクA〜Cを処理する際にロックステップ動作が行われるので、チップ温度は温度閾値を超過してしまっている(サイクルCy2においても同様)。
一方、実施の形態6について、サイクルCy2においては、期間モニタ割り込み要求信号Sg61が出力されている。つまり、前回ロックステップ動作が行われてからロックステップ動作期間が経過している。したがって、このタイミングでロックステップ動作が行われれば、PTPmaxを満たすことが可能となる。このとき、高重要タスクであるタスクA,Bが割り込まれるので、このタスクA,Bを処理する際に、ロックステップ動作が行われる。そして、低重要タスクであるタスクCが割り込まれた際には、ロックステップ動作は行われず、チェッカプロセッサ114は停止する。したがって、サイクルCy2においても、チップ温度は、温度閾値を超えていない。これにより、実施の形態6においては、全てのタスクの処理期間において、チップ温度は、温度閾値を超過しないようにすることが可能となる。したがって、実施の形態6にかかるプロセッサシステム600は、発熱量を抑制することが可能となる。
さらに、実施の形態6においては、ロックステップ動作期間ごとに、高重要タスクについてロックステップ動作が行われる。そして、このロックステップ動作期間は、PTPmaxよりも短い。つまり、ロックステップ動作が行われてから次にロックステップ動作が行われるまでの期間が、PTPmaxよりも短くなっている。上述したように、ロックステップ動作を行っている間は、故障を検出することが可能である。したがって、実施の形態6にかかるプロセッサシステム600は、予め定められた期間(PTPmax)内で故障を検出することが可能となる。つまり、実施の形態6にかかるプロセッサシステム600は、発熱量を抑制しつつ、予め定められた期間(PTPmax)内で故障を検出することが可能となる。
さらに、実施の形態6においては、ロックステップ動作で高重要タスクを処理することによって、故障診断をするように構成されている。したがって、実施の形態1と異なり、故障診断タスクを割り込ませる必要がない。なお、ロックステップ動作期間が経過した際に高重要タスクが割り込まれない(低重要タスクが割り込まれる)場合は、実施の形態1のように、故障診断タスクを割り込ませるようにしてもよい。つまり、高重要タスク(エンジン制御用タスク)が予め定められたタイミング(ロックステップ動作期間が経過したタイミング)で発生していない場合は、故障診断タスクが起動されるようにしてもよい。この場合、制御回路624は、この故障診断タスクをロックステップで処理させるようにしてもよい。これにより、エンジン制御用タスクが予め定められたタイミングで発生していない場合であっても、故障診断を行うことが可能となる。
なお、このロックステップ動作期間は、高重要タスクが割り込まれる頻度に応じて、適宜定められる。例えば、高重要タスクが割り込まれる頻度が大きい場合には、ロックステップ動作期間がPTPmaxと近い値とするように大きくしても、ロックステップ動作期間が経過してから最大プルーフテスト間隔(PTPmax)の期間が経過するまでの間に高重要タスクが割り込まれる可能性が非常に高い。したがって、この場合、PTPmaxを満たすようにロックステップ動作を行うことは可能である。一方、高重要タスクが割り込まれる頻度が小さい場合、ロックステップ動作期間をPTPmaxと近い値とすると、ロックステップ動作期間が経過してから最大プルーフテスト間隔(PTPmax)の期間が経過するまでの間に高重要タスクが割り込まれる可能性が低くなる。したがって、高重要タスクが割り込まれる頻度が少ない場合、ロックステップ動作期間を小さくすることが望ましい。
本実施の形態6は、ほとんど低重要タスクが割り込まれなく、高重要タスクが割り込まれることが非常に多い場合、及び、エンジン制御の1サイクルと比較して、PTPmaxが非常に長い場合に、特に有効である。高重要タスクが割り込まれることが非常に多い場合、上述したように、ロックステップ動作期間を大きくすることが可能となる。この場合、ロックステップ動作を行わない期間が増加するので、チップ温度の上昇を抑制することが可能となる。また、1サイクルと比較してPTPmaxが非常に長い場合は、PTPmaxの期間の間に、多くのサイクルが含まれ得る。この場合、ロックステップ動作を行わなくてよいサイクルが増加するので、チップ温度の上昇を抑制することが可能となる。
なお、上述した実施の形態においては、期間モニタ670は、前回ロックステップ動作で高重要タスクが処理されてからの時間をカウントするとしたが、このような構成に限られない。例えば、期間モニタ670は、高重要タスクが割り込まれる時間のみをカウントしてもよい。この場合、期間モニタ670は、高重要タスクが処理された時間の総計がロックステップ動作期間(第1の期間)を経過したときに、制御回路624に対して、期間モニタ割り込み要求信号Sg61を出力してもよい。また、期間モニタ670を別個に設ける必要はなく、期間モニタ670の機能を制御回路624が実行してもよい。
(変形例)
なお、本実施の形態は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した構成要素の複数を、適宜、一体として構成してもよいし、1つの構成要素の複数の機能を、適宜、別個の構成要素が実行するようにしてもよい。また、上述した実施の形態において、ロックステップ動作が行われていない状態からロックステップ動作を行う場合に、マスタプロセッサ112の処理データを、チェッカプロセッサ114にコピーするようにしてもよい。
また、上記各実施の形態は、互いに組み合わせて適用することも可能である。例えば、実施の形態1と実施の形態6とを組み合わせてもよい。つまり、実施の形態1において故障診断タスクの割り込みタイミングで高重要タスクが割り込まれる場合に、実施の形態6のように、故障診断タスクの代わりに高重要タスクを割り込ませて、ロックステップ動作が行われるようにしてもよい。また、実施の形態1と実施の形態4とを組み合わせ、故障診断タスクが割り込まれたことを、フェッチアドレスを用いて判断するように構成してもよい。
また、上述した実施の形態では、チェッカプロセッサ114にクロックを供給することによってチェッカプロセッサ114を動作させ、クロックの供給を停止することによってチェッカプロセッサ114を停止するようにしたが、このような構成に限られない。つまり、チェッカプロセッサ114を動作させるためにクロックを用いる必要はない。例えば、マスタプロセッサ112とチェッカプロセッサ114とで別個に電源を供給するように構成してもよい。この場合、ロックステップ動作を行うときにチェッカプロセッサ114の電源をオンし、ロックステップ動作を行わないときにチェッカプロセッサ114の電源をオフするように構成してもよい。
また、上述した実施の形態においては、割込コントローラ140からの割り込み要求信号Sg30に割り込まれるべきタスクの識別情報が含まれるとしたが、このような構成に限られない。例えば、各タスク(例えばタスクA〜E)に対応する複数の割り込み線が、割込コントローラ140とプロセッサユニット110との間に設けられてもよい。この場合、各割り込み線の信号が有効化(アサート)された場合に、プロセッサユニット110は、対応するタスクをメモリ104から読み出すようにしてもよい。また、上述した実施の形態においては、制御回路は割込コントローラ140と別個の構成要素としたが、制御回路を割込コントローラ140と一体の構成としてもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 プロセッサシステム
2 制御回路
4 メモリ
6 比較器
10 プロセッサユニット
12 マスタプロセッサ
14 チェッカプロセッサ
100 プロセッサシステム
102 バス
104 メモリ
106 比較器
110 プロセッサユニット
112 マスタプロセッサ
114 チェッカプロセッサ
122 制御回路
124 制御回路
132,134 クロックゲーティングセル(CGC)
140 割込コントローラ
152,154 センサ入力インタフェース
156 走行ログタイマ
162,164 エンジン制御出力インタフェース
166 走行ログ制御出力インタフェース
170 タイマ
172 レジスタ
200 プロセッサシステム
270A,270B タイマ
272A,272B レジスタ
300 プロセッサシステム
324 制御回路
400 プロセッサシステム
410 比較ユニット
412 アドレス情報抽出部
414 アドレス比較部
424 制御回路
500 プロセッサシステム
524 制御回路
570 周期モニタ
600 プロセッサシステム
624 制御回路
670 期間モニタ
672 レジスタ

Claims (20)

  1. 複数のタスクを順次処理するマスタプロセッサと、
    前記複数のタスクのうちの少なくとも1つを順次処理するチェッカプロセッサと、
    前記マスタプロセッサ及び前記チェッカプロセッサがそれぞれ同じタスクを処理するロックステップ動作を行う場合に前記チェッカプロセッサを動作させるように制御し、前記ロックステップ動作を行わない場合に前記チェッカプロセッサを停止させるように制御する制御回路と
    を有し、
    前記制御回路は、前記ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、予め定められた、システムに許容されるテスト間隔である最大テスト間隔以下となるように制御し、
    前記最大テスト間隔以下の間隔で、少なくとも1つの故障診断タスクが割り込まれ、
    前記制御回路は、前記故障診断タスクが割り込まれる場合に、前記ロックステップ動作を行うように制御する
    プロセッサシステム。
  2. 前記制御回路は、前記故障診断タスクが割り込まれない場合に、前記ロックステップ動作を行わないように制御する
    請求項に記載のプロセッサシステム。
  3. 複数の前記故障診断タスクが割り込まれ、
    前記複数の故障診断タスクのうちの第1の故障診断タスクは、前記マスタプロセッサの第1の領域に関する故障診断を行うためのタスクであり、前記複数の故障診断タスクのうちの第2の故障診断タスクは、前記マスタプロセッサの第2の領域に関する故障診断を行うためのタスクである
    請求項に記載のプロセッサシステム。
  4. 複数のタスクを順次処理するマスタプロセッサと、
    前記複数のタスクのうちの少なくとも1つを順次処理するチェッカプロセッサと、
    前記マスタプロセッサ及び前記チェッカプロセッサがそれぞれ同じタスクを処理するロックステップ動作を行う場合に前記チェッカプロセッサを動作させるように制御し、前記ロックステップ動作を行わない場合に前記チェッカプロセッサを停止させるように制御する制御回路と
    を有し、
    前記制御回路は、前記ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、予め定められた、システムに許容されるテスト間隔である最大テスト間隔以下となるように制御し、
    実行中に故障が発生した場合に故障の検出が要求される第1のタスクと、前記第1のタスクとは異なる第2のタスクとが割り込まれ、
    前記制御回路は、前記第1のタスクが割り込まれる場合に、前記ロックステップ動作を行うように制御する
    プロセッサシステム。
  5. 前記制御回路は、前記マスタプロセッサにおけるフェッチアドレスが前記複数のタスクを記憶するメモリにおける前記第1のタスクのアドレスと一致する場合に、前記ロックステップ動作を行うように制御する
    請求項に記載のプロセッサシステム。
  6. 前記制御回路は、前記第1のタスクがロックステップ動作で処理されてから経過した期間が、前記最大テスト間隔より短い第1の期間以上となった場合に、前記第1のタスクを前記ロックステップ動作で処理するように制御する
    請求項に記載のプロセッサシステム。
  7. プロセッサシステムであって、
    複数のタスクを順次処理するマスタプロセッサと、
    前記複数のタスクのうちの少なくとも1つを順次処理するチェッカプロセッサと、
    前記マスタプロセッサ及び前記チェッカプロセッサがそれぞれ同じタスクを処理するロックステップ動作を行う場合に前記チェッカプロセッサを動作させるように制御し、前記ロックステップ動作を行わない場合に前記チェッカプロセッサを停止させるように制御する制御回路と
    を有し、
    前記制御回路は、前記ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、予め定められた、システムに許容されるテスト間隔である最大テスト間隔以下となるように制御し、
    実行中に故障が発生した場合に故障の検出が要求される第1のタスクと、前記第1のタスクとは異なる第2のタスクとが割り込まれ、前記第1のタスク及び前記第2のタスクは、前記ロックステップ動作で処理され、
    前記制御回路は、当該プロセッサシステムが少なくとも前記第1のタスクを処理する頻度に応じて、前記第2のタスクについて前記ロックステップ動作を行わないように制御する
    プロセッサシステム。
  8. 複数のタスクを順次処理するマスタプロセッサ及び前記複数のタスクのうちの少なくとも1つを順次処理するチェッカプロセッサがそれぞれ同じタスクを処理するロックステップ動作を行う場合に前記チェッカプロセッサを動作させるように制御し、
    前記ロックステップ動作を行わない場合に前記チェッカプロセッサを停止させるように制御し、
    前記ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、予め定められた、システムに許容されるテスト間隔である最大テスト間隔以下となるように制御し、
    前記最大テスト間隔以下の間隔で、少なくとも1つの故障診断タスクが割り込まれ、
    前記故障診断タスクが割り込まれる場合に、前記ロックステップ動作を行うように制御する
    制御方法。
  9. 前記故障診断タスクが割り込まれない場合に、前記ロックステップ動作を行わないように制御する
    請求項に記載の制御方法。
  10. 複数の前記故障診断タスクが割り込まれ、
    前記複数の故障診断タスクのうちの第1の故障診断タスクが割り込まれた場合に、前記マスタプロセッサの第1の領域に関する故障診断を行い、
    前記複数の故障診断タスクのうちの第2の故障診断タスクが割り込まれた場合に、前記マスタプロセッサの第2の領域に関する故障診断を行う
    請求項に記載の制御方法。
  11. 複数のタスクを順次処理するマスタプロセッサ及び前記複数のタスクのうちの少なくとも1つを順次処理するチェッカプロセッサがそれぞれ同じタスクを処理するロックステップ動作を行う場合に前記チェッカプロセッサを動作させるように制御し、
    前記ロックステップ動作を行わない場合に前記チェッカプロセッサを停止させるように制御し、
    前記ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、予め定められた、システムに許容されるテスト間隔である最大テスト間隔以下となるように制御し、
    実行中に故障が発生した場合に故障の検出が要求される第1のタスクと、前記第1のタスクとは異なる第2のタスクとが割り込まれ、
    前記第1のタスクが割り込まれる場合に、前記ロックステップ動作を行うように制御する
    制御方法。
  12. 前記マスタプロセッサにおけるフェッチアドレスが前記複数のタスクを記憶するメモリにおける前記第1のタスクのアドレスと一致する場合に、前記ロックステップ動作を行うように制御する
    請求項11に記載の制御方法。
  13. 前記第1のタスクがロックステップ動作で処理されてから経過した期間が、前記最大テスト間隔より短い第1の期間以上となった場合に、前記第1のタスクを前記ロックステップ動作で処理するように制御する
    請求項11に記載の制御方法。
  14. 複数のタスクを順次処理するマスタプロセッサ及び前記複数のタスクのうちの少なくとも1つを順次処理するチェッカプロセッサがそれぞれ同じタスクを処理するロックステップ動作を行う場合に前記チェッカプロセッサを動作させるように制御し、
    前記ロックステップ動作を行わない場合に前記チェッカプロセッサを停止させるように制御し、
    前記ロックステップ動作でタスクが処理されてから次に前記ロックステップ動作でタスクが処理されるまでの期間が、予め定められた、システムに許容されるテスト間隔である最大テスト間隔以下となるように制御し、
    実行中に故障が発生した場合に故障の検出が要求される第1のタスクと、前記第1のタスクとは異なる第2のタスクとが割り込まれ、
    前記第1のタスク及び前記第2のタスクを、前記ロックステップ動作で処理するように制御し、
    少なくとも前記第1のタスクが処理される頻度に応じて、前記第2のタスクについて前記ロックステップ動作を行わないように制御する
    制御方法。
  15. エンジン制御用タスクを含む複数のタスクをロックステップで処理可能な第1及び第2のプロセッサと、
    前記ロックステップを有効または無効に制御する制御部と
    を有し、
    前記制御部は、第1のロックステップ処理と、前記第1のロックステップ処理の後の第2のロックステップ処理との間隔が、システムに許容されるテスト間隔である最大テスト間隔以下となるように、予め定められたタイミングにおいて、前記ロックステップを有効にし、
    前記制御部は、前記予め定められたタイミングにおいて発生している前記エンジン制御用タスクをロックステップで処理させ、
    前記エンジン制御用タスクが前記予め定められたタイミングで発生していない場合は、故障診断タスクが起動され、前記制御部は、当該故障診断タスクをロックステップで処理させる
    エンジン制御システム。
  16. エンジン制御用タスクを含む複数のタスクをロックステップで処理可能な第1及び第2のプロセッサと、
    前記ロックステップを有効または無効に制御する制御部と
    を有し、
    前記制御部は、第1のロックステップ処理と、前記第1のロックステップ処理の後の第2のロックステップ処理との間隔が、システムに許容されるテスト間隔である最大テスト間隔以下となるように、予め定められたタイミングにおいて、前記ロックステップを有効にし、
    前記予め定められたタイミングで故障診断タスクが起動され、前記制御部は当該故障診断タスクをロックステップで処理させる
    エンジン制御システム。
  17. センサ入力インタフェースを更に有し、
    前記エンジン制御用タスクは、前記センサ入力インタフェースからの入力信号に応じて起動される
    請求項15又は16に記載のエンジン制御システム。
  18. 前記制御部は、前記エンジン制御用タスクと故障診断タスクとを除いたタスクについて、ロックステップを無効にする
    請求項17に記載のエンジン制御システム。
  19. エンジン制御用タスクを含む複数のタスクをロックステップで処理可能な第1及び第2のプロセッサと、
    前記ロックステップを有効または無効に制御する制御部と、
    センサ入力インタフェースと
    を有し、
    前記制御部は、第1のロックステップ処理と、前記第1のロックステップ処理の後の第2のロックステップ処理との間隔が、システムに許容されるテスト間隔である最大テスト間隔以下となるように、予め定められたタイミングにおいて、前記ロックステップを有効にし、
    前記エンジン制御用タスクは、前記センサ入力インタフェースからの入力信号に応じて起動され、
    前記制御部は、前記エンジン制御用タスク以外のタスクについて、ロックステップを無効にする
    エンジン制御システム。
  20. エンジン制御用タスクを含む複数のタスクをロックステップで処理可能な第1及び第2のプロセッサと、
    前記ロックステップを有効または無効に制御する制御部と、
    センサ入力インタフェースと
    を有し、
    前記制御部は、第1のロックステップ処理と、前記第1のロックステップ処理の後の第2のロックステップ処理との間隔が、システムに許容されるテスト間隔である最大テスト間隔以下となるように、予め定められたタイミングにおいて、前記ロックステップを有効にし、
    前記制御部は、前記予め定められたタイミングにおいて発生している前記エンジン制御用タスクをロックステップで処理させ、
    前記エンジン制御用タスクは、前記センサ入力インタフェースからの入力信号に応じて起動され、
    前記制御部は、前記エンジン制御用タスク以外のタスクについて、ロックステップを無効にする
    エンジン制御システム。
JP2014166615A 2014-08-19 2014-08-19 プロセッサシステム、エンジン制御システム及び制御方法 Active JP6360387B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2014166615A JP6360387B2 (ja) 2014-08-19 2014-08-19 プロセッサシステム、エンジン制御システム及び制御方法
EP15175642.6A EP3065054B1 (en) 2014-08-19 2015-07-07 Lockstep processor system with maximum test period
US14/804,970 US9823957B2 (en) 2014-08-19 2015-07-21 Processor system, engine control system and control method
KR1020150105025A KR20160022245A (ko) 2014-08-19 2015-07-24 프로세서 시스템, 엔진 제어 시스템 및 제어 방법
CN201510509719.2A CN105373455B (zh) 2014-08-19 2015-08-19 处理器系统,发动机控制系统和控制方法
US15/793,170 US10394644B2 (en) 2014-08-19 2017-10-25 Processor system, engine control system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014166615A JP6360387B2 (ja) 2014-08-19 2014-08-19 プロセッサシステム、エンジン制御システム及び制御方法

Publications (2)

Publication Number Publication Date
JP2016042336A JP2016042336A (ja) 2016-03-31
JP6360387B2 true JP6360387B2 (ja) 2018-07-18

Family

ID=53719625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014166615A Active JP6360387B2 (ja) 2014-08-19 2014-08-19 プロセッサシステム、エンジン制御システム及び制御方法

Country Status (5)

Country Link
US (2) US9823957B2 (ja)
EP (1) EP3065054B1 (ja)
JP (1) JP6360387B2 (ja)
KR (1) KR20160022245A (ja)
CN (1) CN105373455B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033236A (ja) * 2015-07-31 2017-02-09 日立オートモティブシステムズ株式会社 車両制御装置
GB2555628B (en) 2016-11-04 2019-02-20 Advanced Risc Mach Ltd Main processor error detection using checker processors
US10331532B2 (en) * 2017-01-19 2019-06-25 Qualcomm Incorporated Periodic non-intrusive diagnosis of lockstep systems
DE102017208484A1 (de) * 2017-05-19 2018-11-22 Robert Bosch Gmbh Verfahren und Vorrichtung zur Erkennung von Hardwarefehlern in Mikroprozessoren
JP6786448B2 (ja) * 2017-06-28 2020-11-18 ルネサスエレクトロニクス株式会社 半導体装置
US10754740B2 (en) * 2018-02-27 2020-08-25 Nxp Usa, Inc. Dynamic suppression of error detection in processor switch fabric
CN108536045B (zh) * 2018-04-27 2020-12-29 国机智骏汽车有限公司 电动汽车的整车控制器、车辆及方法
JP6981920B2 (ja) * 2018-05-25 2021-12-17 ルネサスエレクトロニクス株式会社 半導体装置、およびデバッグ方法
US11119695B2 (en) * 2019-03-28 2021-09-14 Infineon Technologies Ag Memory dispatcher
GB202019527D0 (en) 2020-12-10 2021-01-27 Imagination Tech Ltd Processing tasks in a processing system
GB2605467B (en) * 2021-06-29 2023-12-06 Imagination Tech Ltd Verifying processing logic of a graphics processing unit

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
JP3982353B2 (ja) * 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7243212B1 (en) * 2004-08-06 2007-07-10 Xilinx, Inc. Processor-controller interface for non-lock step operation
DE102004058288A1 (de) * 2004-12-02 2006-06-08 Robert Bosch Gmbh Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten
US8826288B2 (en) * 2005-04-19 2014-09-02 Hewlett-Packard Development Company, L.P. Computing with both lock-step and free-step processor modes
EP3651027A1 (en) * 2005-07-05 2020-05-13 ViaSat Inc. Synchronized high-assurance circuits
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
JP4470949B2 (ja) 2007-02-28 2010-06-02 日本電気株式会社 フォールトトレラントコンピュータおよびその制御方法
US7673188B2 (en) * 2007-08-09 2010-03-02 Globalfoundries Inc. System and method for controlling synchronous functional microprocessor redundancy during test and method for determining results
US8010846B1 (en) * 2008-04-30 2011-08-30 Honeywell International Inc. Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame
US8291252B2 (en) * 2008-08-27 2012-10-16 Igt Power management in a multi-station gaming machine
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US8275977B2 (en) * 2009-04-08 2012-09-25 Freescale Semiconductor, Inc. Debug signaling in a multiple processor data processing system
US8069367B2 (en) * 2009-05-05 2011-11-29 Lockheed Martin Corporation Virtual lock stepping in a vital processing environment for safety assurance
US8484508B2 (en) * 2010-01-14 2013-07-09 Arm Limited Data processing apparatus and method for providing fault tolerance when executing a sequence of data processing operations
WO2011101707A1 (en) * 2010-02-16 2011-08-25 Freescale Semiconductor, Inc. Data processing method, data processor and apparatus including a data processor
WO2011117155A1 (de) * 2010-03-23 2011-09-29 Continental Teves Ag & Co. Ohg Redundante zwei-prozessor-steuerung und steuerungsverfahren
JP5716824B2 (ja) * 2011-03-28 2015-05-13 富士通株式会社 マルチコアプロセッサシステム
JP5518021B2 (ja) * 2011-09-19 2014-06-11 三菱電機株式会社 情報処理装置
JP6050083B2 (ja) * 2012-10-18 2016-12-21 ルネサスエレクトロニクス株式会社 半導体装置
JP2014109453A (ja) * 2012-11-30 2014-06-12 Renesas Electronics Corp 半導体装置
US9720861B2 (en) * 2014-12-02 2017-08-01 Qualcomm Incorporated Memory access by dual processor systems
GB2549280B (en) * 2016-04-11 2020-03-11 Advanced Risc Mach Ltd Self-testing in a processor core

Also Published As

Publication number Publication date
EP3065054A1 (en) 2016-09-07
CN105373455B (zh) 2020-08-28
US10394644B2 (en) 2019-08-27
KR20160022245A (ko) 2016-02-29
EP3065054B1 (en) 2020-10-28
CN105373455A (zh) 2016-03-02
US20180046530A1 (en) 2018-02-15
JP2016042336A (ja) 2016-03-31
US9823957B2 (en) 2017-11-21
US20160055047A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
JP6360387B2 (ja) プロセッサシステム、エンジン制御システム及び制御方法
US8819485B2 (en) Method and system for fault containment
JP5739290B2 (ja) 電子制御装置
JP5476238B2 (ja) 半導体装置
JP6462870B2 (ja) 半導体装置及び診断テスト方法
KR20190035480A (ko) 마이크로 컨트롤러 및 마이크로 컨트롤러의 제어방법
JP2019095893A (ja) 半導体装置
JP2008225929A (ja) 情報処理装置
CN103176581A (zh) 电源管理装置及电源管理方法
JP6563047B2 (ja) 警報処理回路および警報処理方法
JP2012252373A (ja) 自己診断装置、自己診断方法、及びプログラム
US20100308867A1 (en) Semiconductor device and abnormality prediction method thereof
US11327853B2 (en) Multicore system for determining processor state abnormality based on a comparison with a separate checker processor
JP2018112977A (ja) マイクロコンピュータ
US20190332506A1 (en) Controller and function testing method
JP2010283230A5 (ja) 半導体装置
JP6090094B2 (ja) 情報処理装置
US10719117B2 (en) Control apparatus configured to control clock signal generation, method for controlling the same, storage medium, and computer system
JP2015114847A (ja) 情報処理装置
WO2018179753A1 (ja) マイクロコンピュータ
JP2024014427A (ja) 電子制御装置
WO2008072350A1 (ja) 二重化タイマを用いたシステム監視装置、および監視方法
JP2009093393A (ja) データ処理装置及びデータ処理装置の自己診断方法
JP2012226483A (ja) マイコン、故障判定方法
JP2006227742A (ja) マイクロコンピュータのリセット回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180319

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180622

R150 Certificate of patent or registration of utility model

Ref document number: 6360387

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150