(57)【要約】【課題】全面的に回路の二重化に負うことなく、時間をかけてビルトインセルフテストのためのテストパターンを作成することを要せず、電力消費量を大幅に増やすことなく、割り込み制御系の異常を検出する。【解決手段】割り込みコントローラから中央処理装置までの割り込み信号系に対してタイマなどを用いて定期的にテスト割り込み要求を発生し、その割り込み処理ルーチン内で割り込みコントローラ内の割り込み要求フラグの状態を確認し、同じ割り込み要求フラグが２回以上続けてセット状態にされていることを検出した場合にはその割り込み信号系に故障が発生している可能性が高いと想定して、異常有りとする。【選択図】図１
2018041492.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、割り込み要求フラグを保持する割り込みコントローラと、定期的に所定の間隔でテスト割り込み要求を生成するタイマと、を有するマイクロコンピュータであって、
前記割り込みコントローラは、割り込み要求を受けて割り込み信号を前記中央処理装置へ出力すると共に前記割り込み要求フラグをセットし、前記割り込み要求に対する応答を受けて前記割り込み要求フラグをクリアし、
前記中央処理装置は、前記タイマによって生成される前記テスト割り込み要求に基づいて、前記割り込み要求フラグを参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、異常有りとみなす、マイクロコンピュータ。
【請求項２】
請求項１において、前記割り込みコントローラは、前記テスト割り込み要求が与えられる第１の割り込みコントローラと、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第２の割り込みコントローラとを有する、マイクロコンピュータ。
【請求項３】
請求項１において、前記割り込みコントローラは、
複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って前記中央処理装置に前記割り込み信号を出力するマスタ割り込みコントローラと、
複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って前記マスタ割り込みコントローラに割り込み要求信号を出力するスレーブ割り込みコントローラと、を有する、マイクロコンピュータ。
【請求項４】
請求項３において、前記中央処理装置は、前記テスト割り込み要求に応答して、前記スレーブ割り込みコントローラが保有するスレーブ側割り込み要求フラグと、前記スレーブ割り込みコントローラから前記マスタ割り込みコントローラに供給される割り込み要求信号に対応してセットされる前記マスタ割り込みコントローラが保有するマスタ側割り込み要求フラグと、を参照し、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であること、また、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態であること、を判別することによって、異常有りとみなすマイクロコンピュータ。
【請求項５】
請求項３において、前記マスタ割り込みコントローラに前記テスト割り込み要求を入力する、マイクロコンピュータ。
【請求項６】
請求項３において、前記スレーブ割り込みコントローラは、前記テスト割り込み要求が与えられる第１のスレーブ割り込みコントローラと、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第２のスレーブ割り込みコントローラとを有する、マイクロコンピュータ。
【請求項７】
請求項１において、前記タイマは、前記テスト割り込み要求を生成する間隔を変更する、マイクロコンピュータ。
【請求項８】
請求項１において、参照対象とされる割り込み要求フラグは、機能安全が考慮された安全関連の割り込み要求に対応する割り込み要求フラグである、マイクロコンピュータ。
【請求項９】
請求項８において、前記テスト割り込み要求はユーザーモードにおける前記中央処理装置の制御にしたがって前記タイマから定期的に発生される、マイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り込み要求に基づいて中央処理装置に割り込みを指示する割り込み信号系の故障検出技術に関し、例えばフェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータにおける安全関連の割り込み信号系の故障検出に適用して有効な技術に関する。
【背景技術】
【０００２】
フェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータなどに対しては、人命に強く関係する電子制御装置に利用される関係上、ハードウェア及びソフトウェアが守るべき規約として、例えば機能安全基準のＩＳＯ２６２６２やＩＥＣ６１５０８などが有る。フェイルセーフ機能を実現する手段としてロックステップアーキテクチャが広く適用されている。例えば中央処理装置のコアをデュアルコア化し、夫々のコアに同一ソフトウェアを並列的に実行させ、動作結果に不一致を生ずるか否かによってシステムの故障を逸早く検出可能にするものである。このようなロックステップアーキテクチャはハードウェア規模が大幅に増大する。車載用マイクロコンピュータにおけるロックステップ動作について記載された文献の例として特許文献１が有る。
【０００３】
車載用マイクロコンピュータでは機能安全関連の割り込み要求の数が非常に多い。そのような割り込み要求に対して優先レベルや割り込みマスクに応じた処理を行って中央処理装置に対する割り込み制御を行う割り込みコントローラ及び割り込み信号系の故障を検出可能にすることも、車載用マイクロコンピュータにおけるフェイルセーフ機能を向上させる上で必要になる。割り込み制御機能に関する故障や誤動作を検出する技術として例えば特許文献２乃至４に記載が有る。
【０００４】
特許文献２にはウォッチドッグタイマ監視機能を用いて割り込みコントローラの割り込み要求入力端子に接続されるリアルタイム処理要求の生成に関する故障や誤動作を検出可能にする技術が記載される。
【０００５】
特許文献３には割り込み要求信号を受けた割り込みコントローラがＣＰＵに割り込み信号を出力した後に、ＣＰＵがそれに対する応答信号を返すまでの間に割り込み要求信号が無効化された場合の不都合を解消する技術を開示する。即ち、割り込みコントローラがそのような状態を監視してＣＰＵに通知することにより、ＣＰＵがいつまでもベクタアドレスをリードできずにいる状態を解消するものである。
【０００６】
特許文献４には、テスタを用いて割り込みコントローラをテストする場合には、ＣＰＵの動作との関係でテストパターンを作成するのが容易ではなく、またテストにも時間を要することから、割り込みコントローラの内部データやベクタをＬＳＩの外部に直接出力したり内部バスを通じて必要なデータを割り込みコントローラに供給可能にするというものである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２６２４３２号公報
【特許文献２】特開平９−１９８２８０号公報
【特許文献３】特開２０００−３４７８８０号公報
【特許文献４】特開３−１０９６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明者はマイクロコンピュータにおけるフェイルセーフ機能の向上、特に、割り込みの種類が多数に亘る機能安全関連の割り込み処理の信頼性向上のために、割り込みコントローラ及び割り込み信号系の故障を容易に検出することについて検討した。割り込みコントローラについてもロックステップアーキテクチャを採用することは可能であるが、車載制御用途のマイクロコンピュータのように機能安全関連の割り込み処理の数が非常に多い場合には、二重化によって回路規模が大きくなり過ぎ、チップの大型化、コスト増大を招いてしまう。また、起動時にハードウェアのテストとしてロジックやメモリのビルトインセルフテスト（BIST：Built-In Self-Test）を行うことができるデバイス構造が採用されていれば、割り込み信号系の故障はそのビルトインセルフテストで行うことも可能であるが、そのテスト実行時のカバレッジを上げるためのテストパターンの作成は容易ではなく、また、テストの規模が大きくなることによって電力消費が増え過ぎないように新たな対策も必要になる。特許文献４の場合でも追加のハードウェアによる回路規模の増大は無視し得ない。特に、車載制御用途のマイクロコンピュータのように機能安全関連の割り込み要求の数が非常に多い場合のような、割り込み制御機能の規模が大きい場合にはなお更である。特許文献２，３では割り込みコントローラそれ自体の故障及び誤動作を容易に検出可能にすることを期待し得ない。
【０００９】
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、割り込みコントローラから中央処理装置までの割り込み信号系に対してタイマなどを用いて定期的にテスト割り込み要求を発生し、その割り込み処理ルーチン内で割り込みコントローラ内の割り込み要求フラグの状態を確認し、機能安全関連で同じ割り込み要求フラグが２回以上続けてセット状態にされていることを検出した場合にはその割り込み信号系に故障が発生している可能性が高いと想定して、テストフェイル、即ち異常有りと判定する。
【発明の効果】
【００１２】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１３】
すなわち、全面的に回路の二重化に負うことなく、時間をかけてビルトインセルフテストのためのテストパターンを作成することを要せず、電力消費量を大幅に増やすことなく、割り込み制御系の異常を検出することができる。
【図面の簡単な説明】
【００１４】
【図１】図１はマイクロコンピュータの割り込み制御系における故障検出の第１の実施の形態詳細を例示するブロック図である。
【図２】図２はマイクロコンピュータの構成を例示するブロック図である。
【図３】図３はテスト割り込み要求信号ＯＳＴＭに応答する中央処理装置の動作フローを例示するフローチャートである。
【図４】図４はテスト割り込み要求信号ＯＳＴＭに応答するテスト割り込み処理の動作タイミングを例示するタイミングチャートである。
【図５】図５はマイクロコンピュータの割り込み制御系として第２の実施の形態に係る主な構成を例示するブロック図である。
【図６】図６は二重化されたテスト割り込み要求信号ＯＳＴＭａ，ＯＳＴＭｂに着目したときのスレーブ割り込みコントローラ及びマスタ割り込みコントローラの具体例を例示するブロック図である。
【図７】図７はマイクロコンピュータの割り込み制御系として第３の実施の形態に係る主な構成を例示するブロック図である。
【図８】図８はマイクロコンピュータの割り込み制御系として第４の実施の形態に係る主な構成を例示するブロック図である。
【図９】図９はマイクロコンピュータの割り込み制御系として第５の実施の形態に係る主な構成を例示するブロック図である。
【図１０】図１０はマイクロコンピュータの割り込み制御系として第６の実施の形態に係る主な構成を１個のスレーブ割り込みコントローラと共に例示するブロック図である。
【図１１】図１１はマイクロコンピュータの割り込み制御系として第６の実施の形態に係る主な構成を２個のスレーブ割り込みコントローラと共に例示するブロック図である。
【発明を実施するための形態】
【００１５】
１．実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１６】
〔１〕＜定期的に参照した割り込み要求フラグが連続して複数回セット状態か否かの判別＞
マイクロコンピュータ（１）は、中央処理装置（５）と、割り込みコントローラ（４，１８，２１，２２，２１Ａ）と、を有する。前記中央処理装置は、定期的に所定の間隔で発生される所定のテスト割り込み要求（ＯＳＴＭ）に応答して、前記割り込みコントローラが保有する割り込み要求フラグ（ＩＦＬＧ）を参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、異常有りとみなす。
【００１７】
これによれば、定期的に発生するテスト割り込み要求毎に割り込みコントローラ内の割り込み要求フラグを参照した結果、同じ割り込み要求フラグが２回以上続けてセット状態にされていることを検出した場合には、当該セット状態の割り込み要求フラグによる割り込みが依然として処理されずに残っていることになり、これが長期間であるほどその割り込み信号系に故障が発生している蓋然性が高いと考えられる。この状態を異常有りとみなすことによって、マイクロコンピュータが制御するシステムの機能安全性を向上させることができる。特に、割り込みコントローラを全面的に二重化してロックステップアーキテクチャに全て依存させることをしないので、回路規模の大幅な増大を必要としない。更に、時間をかけてビルトインセルフテストのためのテストパターンを作成することも要せず、また、ビルトインセルフテストによって電力消費量が大幅に増えることもない。このように、回路規模、テストパターン作成時間、及びテストに伴う電力消費量を大幅に増やすことなく割り込み制御系の異常を検出することができる。
【００１８】
〔２〕＜テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを異なる割り込みコントローラに入力＞
項１において、前記割り込みコントローラは、前記テスト割り込み要求が与えられる第１の割り込みコントローラ（２１）と、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第２の割り込みコントローラ（２２）とを有する（図１参照）。
【００１９】
これによれば、割り込み要求に高い機能安全が求められる機能安全関連の割り込み要求と、高い機能安全が求められていない非機能安全関連の割り込み要求とに大別される場合を想定する。このとき、テスト割り込み要求が入力される側と割り込み要求フラグの参照対象とされる割り込み要求が入力される側とで割り込みコントローラを相違させることにより、テスト割り込み要求による割り込み処理で割り込み要求フラグを参照する範囲を機能安全関連の割り込み要求側の第２の割り込みコントローラに限定することができる。そして、異常有りとみなされた場合に、その異常に対する対処の範囲を第２の割り込みコントローラを含む信号系に限定して行うことが可能になる。
【００２０】
〔３〕＜テスト割り込み要求発生回路を二重化＞
項２において、前記テスト割り込み要求を発生するテスト割り込み要求発生回路（１５ａ，１５ｂ）を二重化する（図５参照）。前記第１の割り込みコントローラ（２１Ａ）は二重化されたテスト割り込み要求発生回路から並列に入力したテスト割り込み要求の夫々に対して他の割り込み要求との間の受け付け制御を別々に行い、別々に行われた受け付け制御の結果が一致するか否かを判別する判別回路を更に有する。
【００２１】
これによれば、二重化されたテスト割り込み要求発生回路からの信号の不一致検出可能であるから、テスト割り込み要求による処理の結果に対する妥当性を保証することができる。したがって、テスト割り込み要求に基づく中央処理装置による処理がテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
【００２２】
〔４〕＜第２の割り込みコントローラへの割り込み要求を選択的に第１の割り込みコントローラへ＞
項２において、第２の割り込みコントローラに入力される割り込み要求を選択して第１の割り込みコントローラへ入力させるセレクタ（８０）を更に有する（図７参照）。前記中央処理装置は、前記割り込みコントローラの割り込み要求フラグを参照して異常有りとみなしたとき、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であると判別した当該割り込み要求フラグに対応する割り込み要求を、前記セレクタで選択して第１の割り込みコントローラへ入力させる処理を行う。
【００２３】
これによれば、異常有りとみなされたときでも連続して複数回セット状態であると判別された当該割り込み要求フラグに対応する割り込み要求を第１の割り込みコントローラに与えることによって、当該割り込み要求による本来の処理が継続可能になる。要するに、システム上で問題が発生した際の応急措置として継続的な処理が可能になる。
【００２４】
〔５〕＜割り込みコントローラのカスケード接続＞
項１において、前記割り込みコントローラは、カスケード接続されたマスタ割り込みコントローラ（４）及びスレーブ割り込みコントローラ（１８）を有する。マスタ割り込みコントローラは、複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って中央処理装置に割り込み信号を出力する。スレーブ割り込みコントローラは、複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って前記マスタ割り込みコントローラに割り込み要求信号を出力する。
【００２５】
これによれば、１個の割り込みコントローラで処理しきれない多数の割り込み要求信号に対して、割り込みコントローラのカスケード接続によって対応することができる。
【００２６】
〔６〕＜カスケード接続された割り込み要求についてスレーブとマスタの夫々で割り込み要求フラグを保有し参照対象とする＞
項５において、前記中央処理装置は、定期的に所定の間隔で発生される所定のテスト割り込み要求に応答して、前記スレーブ割り込みコントローラ（２２）が保有するスレーブ側割り込み要求フラグ（ＳＲＳに対応するＩＦＬＧ）と、前記スレーブ割り込みコントローラから前記マスタ割り込みコントローラ（４）に供給される割り込み要求信号に対応してセットされる、前記マスタ割り込みコントローラが保有するマスタ側割り込み要求フラグ（ＩｎｔＳ２に対応するＩＦＬＧ）と、を参照する（図８参照）。中央処理装置は、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であること、また、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態であることまたはセット状態でない、を判別することによって、異常有りとみなす。
【００２７】
これによれば、カスケード接続された割り込み要求についてのスレーブ側とマスタ側の夫々の割り込み要求フラグの状態を参照することによって、故障箇所が例えばマスタ割り込みコントローラの割り込み要求フラグの前か否かを判別可能になる。
【００２８】
〔７〕＜スレーブ割り込みコントローラからマスタ割り込みコントローラの経路の故障＞
項６において、前記中央処理装置は、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であり、且つ、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態であることを判別することによって、スレーブ割り込みコントローラ及びマスタ割り込みコントローラを経由して中央処理装置の入力に至る経路に異常有りとみなす。また、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であり、且つ、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態でないことを判別することによって、スレーブ割り込みコントローラからマスタ割り込みコントローラの入力に至る経路に異常有りとみなす。
【００２９】
これにより、故障箇所がマスタ割り込みコントローラの割り込み要求フラグの前か否かを具体的に判別可能になる。
【００３０】
〔８〕＜マスタ割り込みコントローラに所定のテスト割り込み要求を入力＞
項５において、前記マスタ割り込みコントローラに前記所定のテスト割り込み要求を入力する（図１０、図１１参照）。
【００３１】
これによれば、テスト割り込み要求信号を受け付ける割り込みコントローラは１段であるから、カスケード接続されたスレーブ側にテスト割り込み要求信号を入力する場合に比べて、テスト割り込み要求信号による処理に異常を生ずる可能性を減らすことができる。
【００３２】
〔９〕＜テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを異なるスレーブ割り込みコントローラに入力＞
項５において、前記スレーブ割り込みコントローラは、前記テスト割り込み要求が与えられる第１のスレーブ割り込みコントローラ（２１）と、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第２のスレーブ割り込みコントローラ（２２）とを有する（図１参照）。
【００３３】
これによれば、カスケード接続構成の場合にも、高い機能安全が求められる機能安全関連の割り込み要求と、高い機能安全が求められていない非機能安全関連の割り込み要求とに大別される場合を想定する。このとき、テスト割り込み要求が入力される側と割り込み要求フラグの参照対象とされる割り込み要求が入力される側とでスレーブ割り込みコントローラを相違させることにより、テスト割り込み要求による割り込み処理で割り込み要求フラグを参照する範囲を機能安全関連の割り込み要求側の第２のスレーブ割り込みコントローラに限定することができる。そして、異常有りとみなされた場合に、その異常に対する対処の範囲を第２のスレーブ割り込みコントローラを含む信号系に限定して行うことが可能になる。
【００３４】
〔１０〕＜テスト割り込み要求発生回路を二重化＞
項９において、前記テスト割り込み要求を発生するテスト割り込み要求発生回路（１５ａ，１５ｂ）を二重化する（図５参照）。前記第１のスレーブ割り込みコントローラは二重化されたテスト割り込み要求発生回路から並列に入力したテスト割り込み要求の夫々に対して他の割り込み要求との間の受け付け制御を別々に行い、別々に行われた受け付け制御の結果が一致するか否かを判別する判別回路を更に備える。前記マスタ割り込みコントローラは前記第１のスレーブ割り込みコントローラで別々に行われた受け付け制御の結果に対する論理積信号を一つの割り込み要求として処理する。
【００３５】
これによれば、二重化されたテスト割り込み要求発生回路からの信号の不一致検出可能であるから、テスト割り込み要求による処理の結果に対する妥当性を保証することができる。したがって、テスト割り込み要求に基づく中央処理装置による処理がテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
【００３６】
〔１１〕＜第２のスレーブ割り込みコントローラへの割り込み要求を選択的に第１のスレーブ割り込みコントローラへ＞
項９において、第２のスレーブ割り込みコントローラに入力される割り込み要求を選択して第１のスレーブ割り込みコントローラへ入力させるセレクタ（８０）を更に有する（図７参照）。前記中央処理装置は、前記第２のスレーブ割り込みコントローラの割り込み要求フラグを参照して異常有りとみなしたとき、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であると判別した当該割り込み要求フラグに対応する割り込み要求を、前記セレクタで選択して第１のスレーブ割り込みコントローラへ入力させる処理を行う。
【００３７】
これによれば、異常有りとみなされたときでも連続して複数回セット状態であると判別された当該割り込み要求フラグに対応する割り込み要求を第１のスレーブ割り込みコントローラに与えることによって、当該割り込み要求による本来の処理が継続可能になる。要するに、システム上で問題が発生した際の応急措置として継続的な処理が可能になる。
【００３８】
〔１２〕＜マスタ割り込みコントローラ及び中央処理装置の二重化によるロックステップ＞
項５において、前記マスタ割り込みコントローラ（４）及び前記中央処理装置（５）は、夫々二重化（２，３）されて相互に並列動作されることにより、相互の動作結果の相違に基づく異常の検出を可能にするロックステップアーキテクチャを有する。
【００３９】
これによれば、面積的に許容される一部にロックステップアーキテクチャを採用することによって機能安全性の更なる向上に資することができる。
【００４０】
〔１３〕＜テスト割り込み要求発生回路を二重化し、テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを同じ割り込みコントローラに入力可能とする＞
項１において、前記割り込みコントローラは、前記テスト割り込み要求及び第１の割り込み要求が与えられる第１の割り込みコントローラ（２１Ａ）と、第２の割り込み要求が与えられる第２の割り込みコントローラ（２２）とを有する。前記テスト割り込み要求を発生するテスト割り込み要求発生回路（１５ａ，１５ｂ）は二重化される。前記第１の割り込みコントローラは二重化されたテスト割り込み要求発生回路から並列に入力したテスト割り込み要求の夫々に対して前記第１の割り込み要求との間の受け付け制御を別々に行い、別々に行われた受け付け制御の結果が一致するか否かを判別する判別回路（６０）を更に有する。前記中央処理装置は、定期的に所定の間隔で発生される所定のテスト割り込み要求に応答して、前記第１の割り込みコントローラ及び第２の割り込みコントローラが保有する割り込み要求フラグを参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、異常有りとみなす（図９参照）。
【００４１】
これによれば、テスト割り込み要求の発生からそれの受け付け制御に対する異常の発生を確実に検出することができ、テスト割り込み要求が正常に発生して中央処理装置に受け付け可能にされることを容易に保証することができる。換言すれば、第１の割り込みコントローラによる割り込み要求の受け付け処理と信号経路に対する異常の検出可能になっているから、機能安全関連の割り込み要求信号については第２の割り込みコントローラに限定せず、第１の割り込みコントローラに供給することによって機能安全性の更なる向上に資することができる。その場合においてもテスト割り込み要求に応答して、第１の割り込みコントローラ側の割り込み要求フラグを参照して判別することが機能安全性の更なる向上に資することになる。
【００４２】
〔１４〕＜タイマ割り込み要求＞
項１において、タイマを更に有し、前記所定のテスト割り込み要求は、所定の間隔で前記タイマ（１５）から発生されるタイマ割り込み要求である。
【００４３】
これによれば、テスト割り込み要求を定期的に発生させる間隔を中央処理装置の制御に基づいて任意に決定することができる。
【００４４】
〔１５〕＜安全関連の割り込み要求に対応する割り込み要求フラグ＞
項１４において、参照対象とされる割り込み要求フラグは、機能安全が考慮された安全関連の割り込み要求に対応する割り込み要求フラグである。
【００４５】
これによれば、安全関連の割り込み要求を多用するフェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータに好適である。
【００４６】
〔１６〕＜所定の間隔＞
項１５において、前記所定の間隔は、前記安全関連の割り込み要求によるフェイルセーフ処理で考慮されるＦＴＴＩ（Ｆａｕｌｔ  Ｔｏｌｅｒａｎｔ  Ｔｉｍｅ  Ｉｎｔｅｒｖａｌ）よりも短い時間である。
【００４７】
正常であれば安全関連の割り込み要求による処理はＦＴＴＩ時間よりも早く完了してその割り込み要求フラグはセット状態からクリアされる。これに対して、異常が有れば安全関連の割り込み要求による処理はＦＴＴＩ時間を経過しても完了されず、その割り込み要求フラグはセット状態のままにされる。したがって、テスト割り込み要求の発生間隔をＦＴＴＩ時間よりも短く設定することで、第１回目のテスト割り込み要求の処理と第２回目のテスト割り込み要求の処理で、同一割り込み要求フラグが２回連続してセット状態であることを判別することによって、異常有りとみなすことが可能になる。
【００４８】
〔１７〕＜ユーザーモードにおけるテスト割り込み要求＞
項１５において、前記所定のテスト割り込み要求はユーザーモードにおける中央処理装置の制御にしたがって前記タイマから定期的に発生される。
【００４９】
これによれば、ユーザーモードから特別なテストモードへの遷移を必要とせず、また、テスト割り込みによる処理をユーザーモードにおける一つの割り込み処理として実行することができ、システム上若しくは実機上において経年変化による劣化を検出することができる。
【００５０】
〔１８〕＜既定の処理が想定する故障＞
項１において、前記中央処理装置によって有るとみなされる異常は、前記割り込みコントローラから前記中央処理装置に至る経路で想定される異常である。
【００５１】
これにより、その想定される異常にしたがって、異常有りの判別に対する例外処理やリカバリ処理などを既定することができる。
【００５２】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００５３】
《マイクロコンピュータ》
図２にはマイクロコンピュータの構成が例示される。同図に示されるマイクロコンピュータ（ＭＣＵ）１は、特に制限されないが、単結晶シリコンのような１個の半導体基板にＣＭＯＳ集積回路製造技術によって形成され、半導体集積回路装置として実現されている。
【００５４】
マイクロコンピュータ１は、相互に同じプロセッシングエレメント（ＰＥ０）２とプロセッシングエレメント（ＰＥ１）３とを二重化して持つ。夫々のプロセッシングエレメント２，３はマスタ割り込みコントローラ（ＩＮＴＣ１）４と中央処理装置（ＣＰＵ）５を有する。双方のプロセッシングエレメント２，３の中央処理装置５は同じクロック信号に同期して同じ命令を実行する。双方のプロセッシングエレメント２，３のマスタ割り込みコントローラ４は同じ割り込み要求信号を入力して受け付け処理を行い、対応する中央処理装置５に割り込み信号を出力する。プロセッシングエレメント２，３の並列動作によって夫々で生成される信号やその他の内部情報は比較部（ＣＯＭＰ）６によって例えば中央処理装置５の動作サイクル単位で比較される。比較結果に不一致が有るとエラー信号ＥＲＲによってエラー制御回路（ＥＲＲＣＮＴ）７に通知される。通知の具体的な内容、及び不一致の通知に対する具体的な処理内容は、マイクロコンピュータ１が実行するソフトウェア、若しくはマイクロコンピュータ１が適応されるシステムの内容などに応じて適宜決定されることになり、特に制限される性質のものではない。このようなプロセッシングエレメント２，３の二重化は、フェイルセーフ機能を実現する手段としてのロックステップアーキテクチャの一例であり、マイクロコンピュータ１乃至その応用システムの故障を逸早く検出可能にするものである。但し、このようなロックステップアーキテクチャは当然ハードウェア規模を倍増させることになる。
【００５５】
プロセッシングエレメント２，３には周辺回路として、例えばＳＲＡＭなどのＲＡＭ１０及び電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ（ＦＬＡＳＨ）１１などの記憶装置、更に、内部バス１２を介して複数の回路モジュールが接続される。回路モジュールとして例えば、ディジタル信号をアナログ信号に変換するＤＡ変換回路及びアナログ信号をディジタル信号に変換するＡＤ変換回路などのアナログ回路（ＡＮＬＧ）１３、フェーズドロックループ回路（ＰＬＬ）１４、タイマ回路（ＴＭＲ）１５、シリアルコミュニケーション回路（ＳＲＬＣＯＭ）１６、入出力ポート（Ｉ／Ｏ）１７、及びスレーブ割り込みコントローラ（ＩＮＴＣ２）１８などを有する。尚、上記周辺回路が出力するデータや信号は二重化されたプロセッシングエレメント２，３の双方に供給されるが、上記周辺回路へのデータや信号の供給はマスタとして位置付けられる一方のプロセッシングエレメント２が行うものとする。
【００５６】
ここで、前記スレーブ割り込みコントローラ１８とマスタ割り込みコントローラ４の割り込み信号経路はカスケード接続されている。割り込みコントローラのカスケード接続は、マスタ割り込みコントローラ４の割り込み要求入力端子の数が、処理すべき割り込み要求の数に比べて少ないときに、割り込み制御機能を拡張するために採用するものである。特に制限されないが、前記スレーブ割り込みコントローラ１８は第１のスレーブ割り込みコントローラ（ＩＮＴＣ２＿０）２１と第２のスレーブ割り込みコントローラ（ＩＮＴＣ２＿１）２２によって構成される。
【００５７】
次に、割り込みコントローラ４，２１，２２のカスケード接続の基本的な構成について図１をも参照しながら説明する。
【００５８】
第１のスレーブ割り込みコントローラ２１は、９６個の割り込み要求入力端子から割り込み要求信号ＩＮＴ［１２７：３２］を入力可能にされ、入力した割り込み要求信号に対する受け付け制御の結果に従って割り込み要求出力端子から割り込み信号ＩｎｔＳ１を出力する。
【００５９】
第２のスレーブ割り込みコントローラ２２は、１２８個の割り込み要求入力端子から割り込み要求信号ＩＮＴ［２５５：１２８］を入力可能にされ、入力した割り込み要求信号に対する受け付け制御の結果に従って割り込み要求出力端子から割り込み信号ＩｎｔＳ２を出力する。
【００６０】
マスタ割り込みコントローラ４は、例えば３４個の割り込み要求入力端子から３２本の割り込み要求信号ＩＮＴ＿ＰＥ［３１：０］と前記割り込み信号ＩｎｔＳ１，ＩｎｔＳ２を入力可能にされ、入力した信号に対する受け付け制御の結果に従って割り込み要求出力端子から中央処理装置５に１本の割り込み信号ＩｎｔＲｅｑを出力する。
【００６１】
夫々の割り込みコントローラ４，２１，２２は、割り込み要求信号が入力されると、入力された割り込み要求信号に対応する割り込み要求フラグＩＦＬＧをセットし、セットされた割り込み要求フラグＩＦＬＧによる割り込み要求に対して割り込みマスクの判定と割り込み優先レベルの判定を行う。割り込みマスクの判定と割り込み優先レベルの判定が上記受け付け処理の一例である。即ち、割り込みコントローラ４，２１，２２は、割り込みマスクが解除されていない割り込み要求に対しては対応する割り込み要求フラグＩＦＬＧを無視し、セット状態の割り込み要求フラグＩＦＬＧの中で優先レベルの最も高い割り込み要求を最優先の割り込み要求として受け付けて、割り込み信号ＩｎｔＳ１，ＩｎｔＳ２，ＩｎｔＲｅｑを出力する。このとき、マスタ割り込みコントローラ４は割り込み信号ＩｎｔＳ１，ＩｎｔＳ２を割り込み要求信号と同等に扱って処理する。図２において３１，３２，３３は割り込みコントローラ単位で複数の割り込み要求フラグを総称的に示した割り込み要求フラグ回路である。実際には割り込み要求フラグ回路３１，３２，３３には割り込み要求信号単位で割り込み要求フラグＩＦＬＧが設けられている。ただし、割り込み要求フラグ回路３１は、割り込み信号ＩｎｔＳ１、ＩｎｔＳ２に対応した割り込み要求フラグを持たない。夫々の割り込みコントローラ２１，２２，４における上記割り込み要求に対する上記優先度及びマスク判定の制御は優先度・マスク制御ロジック回路（ＰＭＬＧＣ）５１，５２，５３が行う。
【００６２】
中央処理装置５はマスタ割り込みコントローラ４が出力する割り込み信号ＩｎｔＲｅｑを入力することにより実行途中の命令実行を終了して退避処理を行い、割り込み承認信号ＩｎｔＡｃｋを割り込みコントローラ４，２１，２２に出力する。
【００６３】
マスタ割り込みコントローラ４は中央処理装置５から割り込み承認信号ＩｎｔＡｃｋが返されたとき、上記最優先と判定した割り込み要求がスレーブ側からの割り込み信号ＩｎｔＳ１，ＩｎｔＳ２によるものでなければ、そのとき最優先と判定した割り込み要求に応ずるベクタを中央処理装置５に出力すると共に、当該最優先と判定した割り込み要求に応ずる割り込み要求フラグＩＦＬＧのセット状態をリセット状態にクリアする。一方、マスタ割り込みコントローラ４は上記最優先と判定した割り込み要求がスレーブ側からの割り込み信号ＩｎｔＳ１，ＩｎｔＳ２によるものであれば、その要求元が何れのスレーブ割り込みコントローラであるかを示すカスケードコードＣＳＣＤを例えば内部バス１２を経由してスレーブ割り込みコントローラ２１，２２に通知し、自らはベクタの出力及び割り込み要求フラグのクリアを行わない。その制御は例えばフラグ制御ロジック回路（ＦＬＧＣ）４３で行われる。
【００６４】
スレーブ割り込みコントローラ２１，２２は、割り込み承認信号ＩｎｔＡｃｋが活性化され、且つカスケードコードＣＳＣＤにより自らが指定されることにより、上記最優先と判定した割り込み要求に応ずるベクタを内部バス１２経由で中央処理装置５に供給すると共に、当該最優先と判定した割り込み要求に応ずる割り込み要求フラグＩＦＬＧのセット状態をリセット状態にクリアする。その制御は例えば夫々のスレーブ割り込みコントローラ２１，２２が保有するフラグ制御ロジック回路（ＦＬＧＣ）４１，４２で行われる。
【００６５】
ＦＣＬＲはフラグ制御ロジック回路４１，４２，４３が対応する割り込み要求フラグ回路３１，３２，３３に出力するフラグクリア信号である。フラグクリア信号ＦＣＬＲは割り込み要求フラグ回路３１，３２，３３においてクリアする割り込み要求フラグを指定してクリアする複数ビットの信号である。
【００６６】
中央処理装置５は割り込みコントローラ４，２１，２２の内の一つから供給されたベクタをフェッチし、それに基づいて指定された割り込み処理ルーチンを実行することによって、割り込み要求に応答する割り込み処理を行うことができる。
【００６７】
《割り込み制御系の故障検出》
上記マイクロコンピュータ１は、特に制限されないが、自動車のパワートレイン又はボディー系等の機能安全に係わるＥＣＵなどに搭載して利用されることが想定される。その場合には、機能安全関連の割り込み要求の種類が多数に及び、二重化したマスタ割り込みコントローラ４にその全ての割り込み要求を収容することができない。機能安全関連の割り込み要求を二重化されていないスレーブ割り込みコントローラで受け取る場合でも、多数に亘る機能安全関連の割り込み処理の信頼性向上のために、マイクロコンピュータ１には、割り込みコントローラ及びその割り込み信号系の故障を容易に検出可能なように考慮がなされている。以下、マイクロコンピュータ１におけるその割り込み制御系の故障検出技術について詳細を説明する。
【００６８】
《故障検出の第１の実施の形態》
図１にはマイクロコンピュータ１における割り込み制御系の詳細が示される。
【００６９】
第１のスレーブ割り込みコントローラ２１において、９６本の割り込み要求信号ＩＮＴ［１２７：３２］は割り込み要求フラグ回路３１に供給され、割り込み要求信号ＩＮＴ［１２７：３２］の夫々に対応して割り込み要求フラグＩＦＬＧが設けられている。夫々の割り込み要求フラグＩＦＬＧの出力は優先度・マスク制御ロジック回路５１に供給され、中央処理装置５によって予め設定されたマスク設定及び優先度レベルに基づいて、セット状態のフラグ出力の内の一つに対応する一つの割り込み要求を受け付けて割り込み要求信号ＩｎｔＳ１を出力する。
【００７０】
特に、割り込み要求信号ＩＮＴ［１２７：３２］の内の１本は、タイマ１５から定期的に所定の間隔で発生されるテスト割り込み要求ＯＳＴＭとされる。残りの９５本の割り込み要求信号は、例えば、上記機能安全関連の割り込み処理以外の適宜の処理を要求する非安全関連割り込み要求信号ＮＳＲＳである。
【００７１】
第２のスレーブ割り込みコントローラ２２において、１２８本の割り込み要求信号ＩＮＴ［２５５：１２８］は割り込み要求フラグ回路３２に供給され、割り込み要求信号ＩＮＴ［２５５：１２８］の夫々に対応して割り込み要求フラグＩＦＬＧが設けられている。夫々の割り込み要求フラグＩＦＬＧの出力は優先度・マスク制御ロジック回路５２に供給され、中央処理装置５によって予め設定されたマスク設定及び優先度レベルに基づいて、セット状態のフラグ出力の内の一つに対応する一つの割り込み要求を受け付けて割り込み要求信号ＩｎｔＳ２を出力する。
【００７２】
特に、割り込み要求信号ＩＮＴ［２５５：１２８］の内の一部は上記機能安全関連の割り込み処理を要求する安全関連割り込み要求信号ＳＲＳであり、残りは前記と同様の非安全関連割り込み要求信号ＮＳＲＳとされる。
【００７３】
マスタ割り込みコントローラ４において、３２本の割り込み要求信号ＩＮＴ＿ＰＥ［３１：０］及び前記割り込み信号ＩｎｔＳ１，ＩｎｔＳ２は割り込み要求フラグ回路３３に供給され、割り込み要求信号ＩＮＴ＿ＰＥ［３１：０］及び前記割り込み信号ＩｎｔＳ１，ＩｎｔＳ２の夫々に対応して割り込み要求フラグＩＦＬＧが設けられている。夫々の割り込み要求フラグＩＦＬＧの出力は優先度・マスク制御ロジック回路５３に供給され、中央処理装置５によって予め設定されたマスク設定及び優先度レベルに基づいて、セット状態のフラグ出力の内の一つに対応する一つの割り込み要求を受け付けて割り込み信号ＩｎｔＲｅｑを出力する。割り込み要求信号ＩＮＴ＿ＰＥ［３１：０］は安全関連割り込み要求信号ＳＲＳ又は非安全関連割り込み要求信号ＮＳＲＳの何れであってもよいし、適宜混在されていても良い。マスタ割り込みコントローラ４は二重化によってその信頼性が高度に保証されているからである。
【００７４】
安全関連割り込み要求信号ＳＲＳによる割り込み信号系に対する故障検出について詳述する。中央処理装置５は、タイマ１５を初期設定して定期的に所定の間隔でテスト割り込み要求ＯＳＴＭを発生させる。中央処理装置５は、テスト割り込み要求ＯＳＴＭに応答して、第２のスレーブ割り込みコントローラ２２が保有する安全関連割り込み要求信号ＳＲＳに対応する割り込み要求フラグを参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、安全関連割り込み要求信号ＳＲＳによる割り込み信号系に何らかの異常が有るとみなす。即ち、定期的に発生するテスト割り込み要求ＯＳＴＭ毎に第２のスレーブ割り込みコントローラ２２内の安全関連割り込み要求信号ＳＲＳに対応する割り込み要求フラグＩＦＬＧを参照した結果、同じ割り込み要求フラグＩＦＬＧが２回以上続けてセット状態にされていることを検出した場合には、当該セット状態の割り込み要求フラグＩＦＬＧによる割り込みが依然として処理されずに残っていることになり、これが長期間であるほどその割り込み信号系に故障が発生している蓋然性が高いと考えられる。この状態を異常有りとみなすことによって、マイクロコンピュータ１が制御するシステムの機能安全性を向上させることができる。特に、スレーブ割り込みコントローラ２２を全面的に二重化してロックステップアーキテクチャに全て依存させることをしないので、回路規模の大幅な増大を必要としない。更に、時間をかけてビルトインセルフテストのためのテストパターンを作成することも要せず、また、ビルトインセルフテストによって電力消費量が大幅に増えることもない。このように、回路規模、テストパターン作成時間、及びテストに伴う電力消費量を大幅に増やすことなく割り込み制御系の異常を検出することができる。ここで想定する割り込み制御系の異常は、第２のスレーブ割り込みコントローラ２２の割り込み要求信号の入力からマスタ割り込みコントローラ４を介して中央処理装置５における割り込み信号ＩｎｔＲｅｑの入力に至るまでの経路で想定される異常である。それによって想定される異常に対処可能な例外処理やリカバリ処理などを、異常有りの判別結果に対する中央処理装置５による新たな応答処理として用意していけばよい。その内容については前述のとおり何ら制限されるものではない。
【００７５】
前記テスト割り込み要求ＯＳＴＭはタイマ１５を用いたタイマ割り込み要求を用いるから、テスト割り込み要求ＯＳＴＭを定期的に発生させる間隔を中央処理装置５の制御に基づいて任意に決定することができる。しかも、テスト割り込み要求はユーザーモードにおける中央処理装置５がそのソフトウェア（例えばユーザープログラム）にしたがってタイマ１５から定期的に発生させる。したがって、ユーザーモードから特別なテストモードへの遷移を必要とせず、また、テスト割り込みによる処理をユーザーモードにおける一つの割り込み処理として実行するから、システム上若しくは実機上において経年変化による割り込み制御系の劣化を検出することができる。
【００７６】
定期的にテスト割り込み要求ＯＳＴＭを発生させる間隔は、例えば、安全関連の割り込み要求によるフェイルセーフ処理で考慮されるＦＴＴＩ（Ｆａｕｌｔ  Ｔｏｌｅｒａｎｔ  Ｔｉｍｅ  Ｉｎｔｅｒｖａｌ）よりも短い時間である。正常であれば安全関連の割り込み要求による処理はＦＴＴＩ時間よりも早く完了してその割り込み要求フラグはセット状態からクリアされる。これに対して、異常が有れば安全関連の割り込み要求による処理はＦＴＴＩ時間を経過しても完了されず、その割り込み要求フラグはセット状態のままにされる。したがって、テスト割り込み要求の発生間隔をＦＴＴＩ時間よりも短く設定することで第１回目のテスト割り込み要求の処理と第２回目のテスト割り込み要求の処理で、同一割り込み要求フラグが２回連続してセット状態であることを判別することによって、異常有りとみなすことが可能になる。
【００７７】
図３には前記テスト割り込み要求ＯＳＴＭに応答する中央処理装置５の動作フローが例示される。中央処理装置はテスト割り込み要求ＯＳＴＭによる割り込み信号ＩｎｔＲｅｑが活性化されることによってＯＳＴＭ割り込みルーチンに入ってテストを開始する（Ｓ１）。
【００７８】
先ず、中央処理装置５は、安全関連割り込み要求信号ＳＲＳに応ずる全ての割り込み要求フラグ（安全関連割り込み要求フラグ）を割り込み要求フラグ回路３２から読み出す（Ｓ２）。中央処理装置５は読み出した安全関連割り込み要求フラグがセット状態（例えば論理値１）か否かを判別する（Ｓ３）。中央処理装置は割り込み要求フラグ毎に割り込みステータスを有し、割り込み要求フラグのセット状態を判別する度に対応する割り込みステータスに値１を加算する（Ｓ４）。これによって割り込みステータスの値が２になっているか否かを判別する（Ｓ５）。判別の結果、２になっていればテストフェイルフラグをセットし（Ｓ６）、２になっていなければテストフェイルフラグを操作せずにテストパスとされる（Ｓ８）。ステップＳ３で安全関連割り込み要求フラグがセット状態でなければ（例えば論理値０）対応する割り込みステータスを値０にクリアして（Ｓ７）、テストパスとされる（Ｓ８）。尚、ＦＴＴＩとタイマ１５によるテスト割り込み要求信号ＯＳＴＭの発生間隔の設定との関係などによって、テストフェイルとする割り込みステータスの値を３以上にしてもよいことは言うまでもない。
【００７９】
テストフェイルフラグがセットされると、例えば、それに対応する所定のエラー処理が中央処理装置５によって行われる。例えば、テストフェイルになった場合は、割り込み要求フラグがセットされている割り込み要求が、割り込みの優先度が低いために割り込み処理の実行が開始されていないのか、故障のため割り込み処理の実行が開始されないのかを判定する必要が有る。例えば、中央処理装置５で全ての割り込み要求フラグを確認し、優先度の高い別の割り込み要求がセットされていない場合は、故障と判定することできる。優先度の高い割り込み要求がセットされている場合には、当該高優先度の割り込みの実行完了後に、テストフェイルの原因となった割り込み要求に応ずる割り込み処理が実行されることを確認すればよい。故障と判定された場合、例えば上位のソフトウェアがシステムを安全な状態に移行させるための処理を行えばよい。
【００８０】
図４にはテスト割り込み要求ＯＳＴＭに応答するテスト割り込み処理の動作タイミングが例示される。テスト割り込み要求ＯＳＴＭに応答するＯＳＴＭ割り込み処理ルーチンに入ることで、テストが開始され、中央処理装置５によって安全関連割り込み要求フラグの読出しが行われる。
【００８１】
動作ＡＣＴ１に例示されるように、読み出した安全関連割り込み要求フラグがクリア状態（論理値０、ローレベル）の場合はテストパスになる（ｔ１）。ＯＳＴＭ割り込みルーチンが終了（ｔ２）した後、ＳＲＳ安全関連割り込み要求が有ったときは安全関連割り込み要求フラグがセット状態（論理値１、ハイレベル）にされるが（ｔ３）、当該割り込み要求が中央処理装置５に受け付けられることによって、その安全関連割り込み要求フラグは中央処理装置５によって再びクリアされる（ｔ４）。
【００８２】
動作ＡＣＴ２に例示されるように、ＯＳＴＭ割り込みルーチンの開始（ｔ１１）後に、ＳＲＳ安全関連割り込み要求が有れば、安全関連割り込み要求フラグがセット状態（論理値１、ハイレベル）にされる（ｔ１２）。この場合、読み出した当該安全関連割り込み要求フラグはセット状態になっているが（ｔ１３）、ＯＳＴＭ割り込みルーチンが終了（ｔ１４）した後に、上記セット状態の安全関連割り込み要求フラグに対応する割り込み要求が中央処理装置５に受け付けられることで当該安全関連割り込み要求フラグはクリアされる（ｔ１５）。このようなタイミングで安全関連割り込み要求が発生する場合があるが、対応する安全関連割り込み要求フラグに対して検出されるセット状態は１回であるから、ＯＳＴＭ割り込みルーチンによるテスト結果はテストパスになる。
【００８３】
動作ＡＣＴ３に例示されるように、動作ＡＣＴ２の次のＯＳＴＭ割り込みルーチンで安全関連割り込み要求フラグがセット状態でなければテストパスになるが（ｔ１６＿ａ）、ｔ１６＿ｂに例示されるように２回連続で安全関連割り込み要求フラグがセットされている場合には、前回の割り込み要求が依然として中央処理装置５に受け付けられず、当該安全関連割り込み要求フラグがクリアされずにそのまま残っている、即ち、安全関連割り込み信号系に故障が発生している可能性が高い、と考えられる。したがって、この場合はテストフェイルとする。
【００８４】
第１の実施の形態によれば以下の作用効果を得る。
【００８５】
（１）定期的に発生するテスト割り込み要求ＯＳＴＭ毎にスレーブ割り込みコントローラ２２内の安全関連割り込み要求フラグを参照した結果、同じ安全関連割り込み要求フラグが２回以上続けてセット状態にされていることを検出した場合には、当該セット状態の安全関連割り込み要求フラグによる割り込みが依然として中央処理装置５で処理されずに残っていることになり、その割り込み信号系に故障が発生している蓋然性が高いと考えられる。この状態を異常有りとみなすことによって、マイクロコンピュータ１が制御するシステムの機能安全性を向上させることができる。
【００８６】
（２）スレーブ割り込みコントローラ２２を二重化してロックステップアーキテクチャに全て依存させることをしないので、回路規模の大幅な増大を必要としない。
【００８７】
（３）更に、時間をかけてビルトインセルフテストのためのテストパターンを作成することも要せず、また、ビルトインセルフテストによって電力消費量が大幅に増えることもない。
【００８８】
（４）テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを異なるスレーブ割り込みコントローラ２１，２２に入力することにより、カスケード接続構成の場合にも、テスト割り込み要求による割り込み処理で割り込み要求フラグを参照する範囲を機能安全関連の割り込み要求側の第２のスレーブ割り込みコントローラ２２に限定することができる。そして、異常有りとみなされた場合に、その異常に対する対処の範囲を第２のスレーブ割り込みコントローラ２２を含む割り込み信号系に限定して行うことが可能になる。
【００８９】
（５）マスタ割り込みコントローラ４に対してスレーブ割り込みコントローラ２１，２２をカスケード接続する構成を採用することにより、１個の割り込みコントローラで処理しきれない多数の機能安全関連の割り込み要求信号に対して対応することができる。
【００９０】
（６）マスタ割り込みコントローラ４及び中央処理装置５を二重化してロックステップアーキテクチャを採用することにより、面積的に許容される一部にロックステップアーキテクチャが採用されるから機能安全性の更なる向上に資することができる。
【００９１】
（７）テスト割り込み要求ＯＳＴＭに、所定の間隔でタイマ１５から発生されるタイマ割り込み要求を用いることにより、テスト割り込み要求ＯＳＴＭを定期的に発生させる間隔を中央処理装置５の制御に基づいて任意に決定することができる。
【００９２】
（８）マイクロコンピュータ１は安全関連の割り込み要求を多用するフェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータに好適である。
【００９３】
（９）テスト割り込み要求ＯＳＴＭの発生間隔はＦＴＴＩ時間よりも短く設定される。したがって、第１回目のテスト割り込み要求の処理と第２回目のテスト割り込み要求の処理で、同一割り込み要求フラグが２回連続してセット状態であることを判別して、異常有りとみなすことが可能になる。
【００９４】
（１０)テスト割り込み要求ＯＳＴＭはユーザーモードにおける中央処理装置５の制御にしたがって前記タイマ１５から定期的に発生される。ユーザーモードから特別なテストモードへの遷移を必要とせず、テスト割り込みによる処理をユーザーモードにおける一つの割り込み処理として実行することができる。したがって、システム上若しくは実機上において経年変化による劣化を容易に検出することができる。
【００９５】
《故障検出の第２の実施の形態》
第１の実施の形態で説明したように、安全関連の割り込み要求に対する処理系の故障を中央処理装置５のソフトウェアを用いて検出するには、タイマ割り込みとしてテスト割り込み要求ＯＳＴＭが定期的に発生することを前提とする。したがって、タイマ回路１５においてテスト割り込み要求ＯＳＴＭを発生させるタイマチャネルが故障したり、テスト割り込み要求ＯＳＴＭの経路からスレーブ割り込みコントローラ２１を経由してマスタ割り込みコントローラ４に至るまでの割り込み信号系に故障が発生した場合には、上記ソフトウェアテストを実行することができなくなる。故障検出の第２の実施の形態では、テスト割り込み要求ＯＳＴＭの発生元、更にはその要求信号の処理系も二重化する。
【００９６】
図５にはマイクロコンピュータ１の割り込み制御系として第２の実施の形態に係る主な構成が例示される。図５においてＯＳＴＭａ，ＯＳＴＭｂは二重化されたテスト割り込み要求であり、夫々は二重化された個別のタイマチャネル１５ａ，１５ｂから出力される。タイマ回路１５は夫々個別にタイマ設定可能な複数のタイマチャネルを有し、これを利用してタイマチャネル１５ａ，１５ｂが形成される。タイマチャネル１５ａ，１５ｂには同一タイミングで繰返しタイマ動作が可能なようにタイマ設定され、双方のタイマチャネル１５ａ，１５ｂが正常に動作される限り、二重化されたテスト割り込み要求ＯＳＴＭａ，ＯＳＴＭｂは同じ信号波形を呈する。テスト割り込み要求ＯＳＴＭａ，ＯＳＴＭｂはスレーブ割り込みコントローラ２１Ａに供給され、これによってスレーブ割り込みコントローラ２１Ａの出力はマスタ割り込みコントローラ４Ａに供給される。
【００９７】
図６には二重化されたテスト割り込み要求ＯＳＴＭａ，ＯＳＴＭｂに着目したときのスレーブ割り込みコントローラ２１Ａ及びマスタ割り込みコントローラ４Ａの具体例が示される。スレーブ割り込みコントローラ２１Ａは、テスト割り込み要求ＯＳＴＭａによるテスト割り込み要求と他の割り込み要求とに対する優先度及びマスク判定の制御を行う優先度・マスク制御ロジック回路（ＰＭＬＧＣ）７０と、テスト割り込み要求ＯＳＴＭｂによるテスト割り込み要求と他の割り込み要求とに対する優先度及びマスク判定の制御を行う優先度・マスク制御ロジック回路（ＰＭＬＧＣ）７１とを別々に持つ。優先度・マスク制御ロジック回路（ＰＭＬＧＣ）７０は優先度及びマスク判定の制御の結果として割り込み信号ＩｎｔＳ１ａを出力し、優先度・マスク制御ロジック回路（ＰＭＬＧＣ）７１は優先度及びマスク判定の制御の結果として割り込み信号ＩｎｔＳ１ｂを出力する。
【００９８】
排他的論理和ゲート６０は割り込み信号ＩｎｔＳ１ａとＩｎｔＳ１ｂとが一致するか否かを判別してエラー信号ＥＲＲｔｍｒを生成する。エラー制御回路７はそのエラー信号によってタイマ割り込み信号ＩｎｔＳ１ａとＩｎｔＳ１ｂとの不一致及びタイマチャネル１５ａ，１５ｂの異常を判別する。マスタ割り込みコントローラ４Ａは割り込み信号ＩｎｔＳ１ａとＩｎｔＳ１ｂの双方を論理積ゲート６２に入力し、双方が共に活性化されている場合に活性化された割り込み信号ＩｎｔＳ１を優先度・マスク制御ロジック回路（ＰＭＬＧＣ）６１に供給する。したがって、優先度・マスク制御ロジック回路（ＰＭＬＧＣ）６１は割り込み信号ＩｎｔＳ１ａとＩｎｔＳ１ｂの論理積信号を一つの割り込み要求として処理する。
【００９９】
第２の実施の形態によれば、テスト割り込み要求ＯＳＴＭａ，ＯＳＴＭｂの不一致はエラー制御回路７で検出され、その不一致はＯＳＴＭ割り込み処理ルーチンの開始前に検出可能であるから、テスト割り込み要求による割り込み処理の結果に対する妥当性を保証することができる。したがって、テスト割り込み要求に基づく中央処理装置５によるソフトウェアテストがＯＳＴＭテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
【０１００】
尚、第２の実施の形態におけるその他の構成と作用効果は第１の実施の形態と同じであるからその詳細な説明は省略する。
【０１０１】
《故障検出の第３の実施の形態》
安全関連の割り込み制御系における故障検出は、機能安全を考慮して、安全関連の割り込み要求信号系に故障が発生していないことをシステム通常動作中に中央処理装置５によるソフトウェアテストでチェックするものである。第３の実施の形態では、故障検出結果がテストフェイルである場合に、システムを安全な状態に移行させる処理を行うのではなく、本来の処理を継続しようとするものである。アベイラビリティ（可用性）の観点では、故障が発生した場合でも通常動作の継続が求められる場合があるからである。
【０１０２】
図７にはマイクロコンピュータ１の割り込み制御系として第３の実施の形態に係る主な構成が例示される。第３の実施の形態では安全関連割り込み要求信号ＳＲＳから一つを選択して第１のスレーブ割り込みコントローラ２１に一つの割り込み要求信号として供給するセレクタ８０を設けた。セレクタ８０による選択は例えば中央処理装置５が出力する選択信号ＳＥＬによって行われる。中央処理装置５は、第２のスレーブ割り込みコントローラ２２の安全関連の割り込み要求信号ＳＲＳに係る割り込み要求フラグを参照して異常有りとみなしたとき、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であると判別した当該割り込み要求フラグに対応する割り込み要求を、選択信号ＳＥＬを用いてセレクタ８０で選択し、第１のスレーブ割り込みコントローラ２１へ供給する処理を行う。したがって、割り込み信号系に故障が想定される安全関連の割り込み要求を第１のスレーブ割り込みコントローラ２１を通る割り込み信号系で処理することが可能になる。そのような処理によって当該割り込み要求による本来の処理が継続可能になる。要するに、システム上で問題が発生した際の応急措置として継続的な処理が可能になる。換言すれば、システムのアベイラビリティ（可用性）を向上させることができる。あるいは、フェイルオペレーショナル（フェイルオペラブル）性を高めることができる。尚、その場合に、第２のスレーブ割り込みコントローラにおいて中央処理装置で処理されないことが検出された割り込み要求フラグはクリアしないでそのままにしておくことが望ましい。応急措置が可能になっても当該異常を常に検出可能にしていくことがシステムの安全性と言う点で得策だからである。
【０１０３】
尚、第３の実施の形態におけるその他の構成と作用効果は第１の実施の形態と同じであるからその詳細な説明は省略する。特に図示はしないが、第２の実施の形態に第３の実施の形態を適用することも可能である。
【０１０４】
《故障検出の第４の実施の形態》
図８にはマイクロコンピュータ１の割り込み制御系として第４の実施の形態に係る主な構成が例示される。第１乃至第３の実施の形態ではマスタ割り込みコントローラ４はスレーブ割り込みコントローラ２１，２２からの割り込み信号ＩｎｔＳ１，ＩｎｔＳ２に対して割り込み要求フラグＩＦＬＧを備えていない。第４の実施の形態のマスタ割り込みコントローラ４Ｂには割り込み信号ＩｎｔＳ１，ＩｎｔＳ２に対して割り込み要求フラグＩＦＬＧを設けた割り込み要求フラグ回路３３Ｂを採用する。割り込み信号ＩｎｔＳ１，ＩｎｔＳ２に対応して割り込み要求フラグ回路３３Ｂに設けられた割り込み要求フラグＩＦＬＧは、割り込み信号ＩｎｔＳ１，ＩｎｔＳ２が活性化されることによってセットされる。割り込み信号ＩｎｔＳ１，ＩｎｔＳ２に応ずる割り込みが優先度・マスク制御ロジック回路（ＰＭＬＧＣ）５３に受け付けられて割り込み信号ＩｎｔＲｅｑが活性化されたとき、これに応答して中央処理装置５から割り込み承認信号ＩｎｔＡｃｋが返されると、フラグ制御回路４３Ｂは、ＣＳＣＤをスレーブ割り込みコントローラ２１，２２に向けて出力すると共に、そのとき受け付けられた割り込み信号ＩｎｔＳ１又はＩｎｔＳ２に応ずる割り割り込み要求フラグＩＦＬＧをクリアする。すなわち割り込み信号ＩｎｔＳ１，ＩｎｔＳ２に応ずる割り込み要求フラグＩＦＬＧに対する操作も他の割り込み要求フラグと同様の操作とされる。
【０１０５】
このように、マスタ割り込みコントローラ４Ｂにもスレーブ割り込みコントローラ２１，２２からの割り込み要求信号ＩｎｔＳ１，ＩｎｔＳ２に応ずる割り込み要求フラグを持てば、上述のテスト割り込み要求に基づくＯＳＴＭ割り込み処理ルーチンでテストフェイルした場合に、どの経路が故障しているかを特定するのに役立つ。
テストフェイルした場合にマスタ割り込みコントローラ４Ｂの割り込み信号ＩｎｔＳ１又はＩｎｔＳ２に応ずる割り込み要求フラグＩＦＬＧも読み出して利用すればよい。例えば、複数回のＯＳＴＭ割り込み処理ルーチンで連続して２回、スレーブ割り込みコントローラ２２内の同じ割り込み要求フラグがセット状態であることを判別した場合に、マスタ割り込みコントローラ４Ｂに追加した上記割り込み要求フラグはセット状態にされていない場合は、スレーブ割り込みコントローラからマスタ割り込みコントローラの入力に至る経路が故障していると考えられる。また、スレーブ割り込みコントローラ２２とマスタ割り込みコントローラ４Ｂの双方で当該割り込み要求フラグがセット状態にされている場合は、スレーブ割り込みコントローラ２２の内部、またはマスタ割り込みコントローラ４Ｂをから中央処理装置５の割り込み入力に至る経路に異常有りとみなすことができる。
【０１０６】
これによれば、カスケード接続された割り込み要求についてのスレーブ側とマスタ側の夫々の割り込み要求フラグの状態を参照することによって、故障箇所が例えばマスタ割り込みコントローラの割り込み要求フラグの前か否かを判別可能になる。テストフェイルした場合に、故障経路の特定に資することができる。
【０１０７】
尚、第４の実施の形態におけるその他の構成は第１の実施の形態と同じであるからその詳細な説明は省略する。特に図示はしないが、第２又は第３の実施の形態に第４の実施の形態を適用することも可能である。
【０１０８】
《故障検出の第５の実施の形態》
図９にはマイクロコンピュータ１の割り込み制御系として第５の実施の形態に係る主な構成が例示される。第５の実施の形態は第２の実施の形態に係る構成を流用したものであり、第１のスレーブ割り込みコントローラ２１Ａを非安全関連割り込み要求信号ＮＳＲＳに限定せず、安全関連割り込み要求信号ＳＲＳも供給して利用可能にしたことが第２の実施の形態との相違点である。したがって、ＯＳＴＭ割り込みルーチンにおいて中央処理装置５は第１のスレーブ割り込みコントローラ２１Ａにおける安全関連割り込み要求信号ＳＲＳに応ずる割り込み要求フラグに対しても、連続して複数回セット状態にされているか否かの判別を行うようにされる。尚、図では第１のスレーブ割り込みコントローラ２１Ａには非安全関連割り込み要求信号ＮＳＲＳが入力されていないが、非安全関連割り込み要求信号ＮＳＲＳと安全関連割り込み要求信号ＳＲＳと混在させて入力してよいことは言うまでもない。
【０１０９】
第２の実施の形態のようにテスト割り込み要求ＯＳＴＭの生成系統を二重化すると第１のスレーブ割り込みコントローラ２１Ａから中央処理装置５に至る経路に故障がないことを確認した上でＯＳＴＭ割り込み処理ルーチンによるソフトウェアテストを実施できる。したがって、安全関連の割り込み要求を第２のスレーブ割り込みコントローラ２２に集約する必要はなく、第１のスレーブ割り込みコントローラに入力することも可能になるからである。
【０１１０】
これによれば、テスト割り込み要求の発生からそれの受け付け制御に対する異常の発生を確実に検出することができ、テスト割り込み要求が正常に発生して中央処理装置５に受け付け可能にされることを容易に保証することができる。換言すれば、第１のスレーブ割り込みコントローラ２１Ａによる割り込み要求の受け付け処理とマスタ割り込みコントローラ４への信号経路に対する異常の検出可能になっているから、機能安全関連の割り込み要求信号の入力を第２のスレーブ割り込みコントローラ２２に限定せず、第１のスレーブ割り込みコントローラ２１Ａに供給することによって機能安全性の更なる向上に資することができる。よって、安全関連割り込み要求信号ＳＲＳの本数が多くなって第２のスレーブ割り込みコントローラ２２に収容できなくなった場合に、容易に対応可能になる。
【０１１１】
尚、第５の実施の形態におけるその他の構成は第２の実施の形態と同じであるからその詳細な説明は省略する。
【０１１２】
《故障検出の第６の実施の形態》
図１０及び図１１にはマイクロコンピュータ１の割り込み制御系として第６の実施の形態に係る主な構成が例示される。今までの実施の形態ではテスト割り込み要求ＯＳＴＭをスレーブ割り込みコントローラ１８，２１，２１Ａに供給した。これに限定されず、図１０及び図１１のようにマスタ割り込みコントローラ４に供給しても良い。二重化によってロックステップアーキテクチャが採用されたマスタ割り込みコントローラ４にテスト割り込み要求ＯＳＴＭを供給することにより、テスト割り込み要求ＯＳＴＭの処理経路の異常発生が容易に検出されるので、第２の実施の形態と同様に、テスト割り込み要求に基づく中央処理装置５によるソフトウェアテストがＯＳＴＭテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
【０１１３】
尚、図１１に例示されるように、スレーブ割り込みコントローラ１８を１個のスレーブ割り込みコントローラ２２で実現することも可能である。更に図示はしないが、マスタ割り込みコントローラにカスケード説臆されるスレーブ割り込みコントローラの数は３個以上であっても良いし、マスタ割り込みコントローラに対する複数のスレーブ割り込みコントローラの接続形態は並列的な接続形態に限定されず、階層的なカスケード接続であってもよい。カスケード接続の階層接続段数は当然３段以上であってよいことは言うまでもない。
【０１１４】
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１１５】
例えば、中央処理装置及びマスタ割り込みコントローラは二重化してロックステップアーキテクチャを採用する構成に限定されない。中央処理装置だけを二重化してロックステップアーキテクチャを採用する構成であってもよい。中央処理装置はプロセッサコアと同意義に解釈してもよい。即ち、プロセッサコアは例えば中央処理装置と共に、キャッシュメモリ、ＴＬＢ、及び浮動小数点演算ユニットなどのアクセラレータを含む。
【０１１６】
割り込みコントローラをカスケード接続したときの割り込み要求フラグのクリア手法やベクタの出力手法は上記実施の形態に限定されず適宜変更可能である。コードＣＳＣＤの伝達はスレーブ割り込みコントローラ毎に専用信号で行ってもよいし、フラグクリア信号ＦＣＬＲもその専用信号を流用して良い。
【０１１７】
また、半導体チップの面積効率の点で余裕があれば、一部のスレーブ割り込みコントローラに二重化によるロックステップアーキテクチャを採用することは妨げられない。この場合に問題視する安全関連割り込み信号は当然二重化によるロックステップアーキテクチャを採用していない割り込みコントローラに供給される割り込み要求信号である。
【０１１８】
また、本発明はシングルプロセッサコアのマイクロコンピュータだけでなくマルチプロセッサコアのマイクロコンピュータにも当然適用可能である。又、マイクロコンピュータは、データプロセッサ、マイクロプロセッサ、ＳｏＣ（System On Chip）型半導体デバイスなどのデータ処理デバイスの総称である。１チップデバイスであっても良いし、マルチチップをモジュール化したモジュールデバイスであってもよい。
【０１１９】
また、マイクロコンピュータは車載用途に限定されない。また、テスト割り込み要求に応答する割り込み処理ルーチンで参照する割り込み要求フラグは機能安全関連割り込み要求フラグに限定されない。上記実施の形態でも非機能安全関連割り込み要求フラグを参照の対象に含めて故障検出を行ってもよい。
【符号の説明】
【０１２０】
１  マイクロコンピュータ
２  プロセッシングエレメント（ＰＥ０）
３  プロセッシングエレメント（ＰＥ１）
４、４Ａ、４Ｂ  マスタ割り込みコントローラ（ＩＮＴＣ１）
５  中央処理装置（ＣＰＵ）
６  比較部（ＣＯＭＰ）
７  エラー制御回路（ＥＲＲＣＮＴ）
１５  タイマ回路（ＴＭＲ）
１８  スレーブ割り込みコントローラ（ＩＮＴＣ２）
２１、２１Ａ  第１のスレーブ割り込みコントローラ（ＩＮＴＣ２＿０）
２２  第２のスレーブ割り込みコントローラ（ＩＮＴＣ２＿１）
ＩＦＬＧ  割り込み要求フラグ
ＩｎｔＳ１、ＩｎｔＳ２、ＩｎｔＲｅｑ  割り込み信号
３１、３２、３３、３３Ｂ  割り込み要求フラグ回路
４１、４２、４３、４３Ｂ  フラグ制御ロジック回路（ＦＬＧＣ）
５１、５２、５３、５１Ａ、５３Ａ  優先度・マスク制御ロジック回路（ＰＭＬＧＣ）
ＣＳＣＤ  カスケードコード
ＩＮＴ［１２７：３２］  割り込み要求信号
ＯＳＴＭ  テスト割り込み要求
ＮＳＲＳ  非安全関連割り込み要求信号
ＳＲＳ  安全関連割り込み要求信号
ＩＮＴ［２５５：１２８］  割り込み要求信号
ＩＮＴ＿ＰＥ［３１：０］  割り込み要求信号
ＯＳＴＭａ、ＯＳＴＭｂ  二重化されたテスト割り込み要求
１５ａ、１５ｂ  タイマチャネル
６０  排他的論理和ゲート
６１  優先度・マスク制御ロジック回路（ＰＭＬＧＣ）
６２  論理積ゲート
７０、７１  優先度・マスク制御ロジック回路（ＰＭＬＧＣ）
８０  セレクタ
ＳＥＬ  選択信号
【図１】
2018041492.tif 000003
【図２】
2018041492.tif 000004
【図３】
2018041492.tif 000005
【図４】
2018041492.tif 000006
【図５】
2018041492.tif 000007
【図６】
2018041492.tif 000008
【図７】
2018041492.tif 000009
【図８】
2018041492.tif 000010
【図９】
2018041492.tif 000011
【図１０】
2018041492.tif 000012
【図１１】
2018041492.tif 000013