JP7295780B2 - 半導体装置及びその動作方法 - Google Patents
半導体装置及びその動作方法 Download PDFInfo
- Publication number
- JP7295780B2 JP7295780B2 JP2019200436A JP2019200436A JP7295780B2 JP 7295780 B2 JP7295780 B2 JP 7295780B2 JP 2019200436 A JP2019200436 A JP 2019200436A JP 2019200436 A JP2019200436 A JP 2019200436A JP 7295780 B2 JP7295780 B2 JP 7295780B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- interrupt
- priority determination
- interrupt request
- signals
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0745—Error 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 in an input/output transactions management context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0736—Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Hardware Redundancy (AREA)
- Bus Control (AREA)
Description
本発明は半導体装置及びその動作方法に関し、例えば中央処理装置に割込みを指示する割込み制御回路の動作を監視する半導体装置及びその動作方法に関する。
高い信頼性が要求されるシステムでは、機能安全と呼ばれる仕組みが適用される。例えば車載制御システムでは、機能安全基準としてISO26262が規格化されている。機能安全(具体的にはフェイルセーフ機能)が適用されるシステムでは、想定される故障モードについて高い故障検出率を実現する必要がある。
特許文献1には、割込みコントローラから中央処理装置までの割込み信号系に生じる異常を検出する技術が開示されている。特許文献1に係るマイクロコンピュータは、割込みコントローラから中央処理装置までの割込み信号系に対してタイマなどを用いて定期的にテスト割込み要求を発生し、その割込み処理ルーチン内で割込みコントローラ内の割込み要求フラグの状態を確認し、同じ割込み要求フラグが2回以上続けてセット状態にされていることを検出した場合には、その割込み信号系に故障が発生している可能性が高いと想定して異常ありと判定する。
しかし、特許文献1に係る故障検出方法では、割込み要求フラグをソフトウェアにより読み出して確認する必要がある。割込み要因の数が多い場合、割込み要求フラグの読み出し、及び、前回読み出した割込み要求フラグとの比較に長時間を要するという問題点がある。
本発明の課題は、割込みコントローラ内の優先度判定回路の故障を、迅速に、かつ、ハードウェア量の増大を抑制しつつ、検出する点にある。その他の課題及び新規な特徴は、本明細書の記述及び図面の記載から明らかになるであろう。
一実施の形態に係る半導体装置は、第1の割込み要求信号を受信する第1のプロセッサエレメントと、第2の割込み要求信号を受信する第2のプロセッサエレメントと、複数の割込み信号を受信して、第1のプロセッサエレメントに第1の割込み要求信号を出力する第1の優先度判定回路と、複数の割込み信号を受信して、第2のプロセッサエレメントに第2の割込み要求信号を出力する第2の優先度判定回路と、第1の優先度判定回路と第2の優先度判定回路の故障を検出するためのチェッカ回路と、第1の優先度判定回路または第2の優先度判定回路のいずれかをチェック対象回路として選択する制御回路とを具備する。制御回路は、第1の割込み要求信号と、第2の割込み要求信号とを受信し、第1の割込み要求信号と第2の割込み要求信号に基づいて、チェック対象回路を選択する。
他の実施の形態に係る半導体装置は、N個(Nは、N≧2の自然数)のプロセッサエレメントと、割込み信号を受信してN個のプロセッサエレメントに対してN組の割込み要求信号を出力するN個の優先度判定回路と、N個の優先度判定回路のいずれかと同一の処理を行い割込み要求信号を出力するチェッカ回路と、N組の割込み要求信号に基づいて、N個の優先度判定回路のいずれかをチェック対象回路として選択する制御回路と、チェック対象回路が出力する割込み要求信号とチェッカ回路が出力する割込み要求信号とを比較し、比較結果に基づいてエラー信号を出力する判定回路を具備する。
他の実施の形態に係る半導体装置の動作方法は、複数のプロセッサエレメントと、複数の優先度判定回路と、チェッカ回路と、を具備する半導体装置の動作方法であって、複数の優先度判定回路の各々に対応するプロセッサエレメントに対して割込み要求信号を出力するステップと、複数の優先度判定回路のいずれかをチェック対象回路として選択するステップと、選択するステップの選択結果に基づいて、チェッカ回路に処理を実行させるステップと、チェック対象回路の出力信号とチェッカ回路の出力信号とを比較するステップと、比較するステップの比較結果に基づいてエラー信号を出力するステップと、を含む。選択するステップは、活性化された割込み要求信号を出力する優先度判定回路をチェック対象回路として選択するステップを更に含む。
一実施の形態によれば、半導体装置は、割込みコントローラ内の優先度判定回路の故障を、迅速に、かつ、ハードウェア量の増大を抑制しつつ、検出することができる。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
まず、本開示に先立って本願発明者らが検討した技術(以下、比較例という)について説明する。
[比較例1]
比較例1に係る半導体装置は、割込みコントローラ内の優先度判定回路の故障の有無をチェックするため、チェック対象回路(マスタ回路)である優先度判定回路と同一の回路で構成されるチェッカ回路を具備する。マスタ回路とチェッカ回路の出力が同一であれば、マスタ回路には故障がなく正常と判断できる。一方、マスタ回路とチェッカ回路の出力が異なる場合、マスタ回路に故障が生じたと判断する。比較例1に係る半導体装置は、優先度判定回路に生じた故障を検出可能であるが、チェッカ回路を具備するため、ハードウェア量が増大する。
比較例1に係る半導体装置は、割込みコントローラ内の優先度判定回路の故障の有無をチェックするため、チェック対象回路(マスタ回路)である優先度判定回路と同一の回路で構成されるチェッカ回路を具備する。マスタ回路とチェッカ回路の出力が同一であれば、マスタ回路には故障がなく正常と判断できる。一方、マスタ回路とチェッカ回路の出力が異なる場合、マスタ回路に故障が生じたと判断する。比較例1に係る半導体装置は、優先度判定回路に生じた故障を検出可能であるが、チェッカ回路を具備するため、ハードウェア量が増大する。
[比較例2]
比較例2に係る半導体装置は、マスタ回路である複数の優先度判定回路に対して、1つのチェッカ回路を具備する。チェッカ回路は、複数の優先度判定回路を順次1つずつチェックする。比較例2に係る半導体装置では、複数の優先度判定回路に対して、1つのチェッカ回路を具備するため、チェッカ回路によるハードウェア量増大を抑制できる。しかし、各マスタ回路のチェック頻度はCPU(Central Processing Unit、中央処理装置)の数に応じて低下するという問題がある。
比較例2に係る半導体装置は、マスタ回路である複数の優先度判定回路に対して、1つのチェッカ回路を具備する。チェッカ回路は、複数の優先度判定回路を順次1つずつチェックする。比較例2に係る半導体装置では、複数の優先度判定回路に対して、1つのチェッカ回路を具備するため、チェッカ回路によるハードウェア量増大を抑制できる。しかし、各マスタ回路のチェック頻度はCPU(Central Processing Unit、中央処理装置)の数に応じて低下するという問題がある。
[実施の形態1]
図1は、実施の形態1に係る半導体装置1の構成例を示すブロック図である。図1に示されるように、半導体装置1は、プロセッサエレメント(PE、Processor Element)2、3、4、及び5と、周辺回路6及び7と、バス8と、割込み用外部端子9と、共用割込みコントローラ10とを備える。
図1は、実施の形態1に係る半導体装置1の構成例を示すブロック図である。図1に示されるように、半導体装置1は、プロセッサエレメント(PE、Processor Element)2、3、4、及び5と、周辺回路6及び7と、バス8と、割込み用外部端子9と、共用割込みコントローラ10とを備える。
プロセッサエレメント2、3、4、及び5は、各々、CPUを有し、半導体装置1の内部または外部にある記憶装置(図示しない)に格納されたプログラムにしたがって演算処理を実行する。また、プロセッサエレメントは後述する割込み要求信号に応じて、割込み処理(割込みルーチン)を実行する。図1では、半導体装置1がプロセッサエレメントを4つ有する構成例が示されているが、半導体装置1の構成はこれに限られない。半導体装置1が有するプロセッサエレメントの数は複数であれば良く、例えば、2つでも良いし、8つでも良いし、それより大きい数であっても良い。
周辺回路6は、決められた処理を実行し、周辺割込み信号INTAを共用割込みコントローラ10に出力する。同様に、周辺回路7は、決められた処理を実行し、周辺割込み信号INTBを共用割込みコントローラ10に出力する。周辺回路6及び7は、例えば、DMAC(Direct Memory Access Controller)、タイマ、またはシリアルコミュニケーション回路などである。図1には、半導体装置1が周辺回路6及び7の2つの周辺回路を有する構成例が示されているが、半導体装置1の構成はこれに限られない。半導体装置1が有する周辺回路の数は、1つでも良いし、複数あっても良い。半導体装置1がSoC(System on Chip)やマイクロコントローラである場合、半導体装置1は多数の周辺回路を有するのが通常である。また、図1では、周辺回路6及び7が、それぞれ1本の周辺割込み信号INTA、INTBを共用割込みコントローラ10に出力する構成例が示されているが、半導体装置1の構成はこれに限られない。1つの周辺回路が出力する周辺割込み信号は、1つでも良いし、複数でも良い。また、1つの周辺回路が出力する複数の周辺割込み信号のうち、一部の周辺割込み信号がプロセッサエレメント2、3、4、または5のいずれかに直接入力され、その他の周辺割込み信号が共用割込みコントローラ10に入力される構成であっても良い。更に、ある周辺回路が出力する1以上の周辺割込み信号が全てプロセッサエレメント2、3、4、または5のいずれかに直接入力され、別の周辺回路が出力する1以上の周辺割込み信号が全て共用割込みコントローラ10に入力される構成であっても良い。
バス8は、プロセッサエレメント2、3、4、及び5と、周辺回路6及び7と、共用割込みコントローラ10と、を接続する。プロセッサエレメント2、3、4、及び5の各々は、周辺回路6が有するレジスタと、周辺回路7が有するレジスタと、共用割込みコントローラ10が有するレジスタに対し、バス8を経由して書き込みを行うことができる。また、プロセッサエレメント2、3、4、及び5の各々は、周辺回路6が有するレジスタと、周辺回路7が有するレジスタと、共用割込みコントローラ10が有するレジスタを、バス8を経由して読み出すことができる。図1には、プロセッサエレメント2、3、4、及び5と、周辺回路6及び7と、共用割込みコントローラ10とが全てバス8に接続される構成例が示されているが、半導体装置1の構成はこれに限られない。半導体装置1は複数本のバスを有しても良いし、それら複数のバスが階層的に構成されても良い。
割込み用外部端子9は、プロセッサエレメント2、3、4、及び5に対して、半導体装置1の外部から割込みを要求するための端子である。割込み用外部端子9から割込みが要求されると、端子割込み信号INTPが、共用割込みコントローラ10に入力される。図1には、半導体装置1が1つの割込み用外部端子を有する構成例が示されているが、半導体装置1の構成はこれに限られない。半導体装置1は、複数の割込み用外部端子を有しても良い。また、図1には、端子割込み信号INTPが共用割込みコントローラ10に入力される構成例が示されているが、半導体装置1の構成はこれに限られない。例えば、端子割込み信号がプロセッサエレメント2、3、4、または5のいずれかに直接入力される構成であっても良い。また、半導体装置1が複数の端子割込み信号を有する場合、一部の端子割込み信号がプロセッサエレメント2、3、4、または5のいずれかに直接入力され、その他の端子割込み信号が共用割込みコントローラ10に入力される構成であっても良い。
共用割込みコントローラ10は、周辺回路6から出力される周辺割込み信号INTAと、周辺回路7から出力される周辺割込み信号INTBと、割込み用外部端子9からの端子割込み信号INTPとを受信し、プロセッサエレメント2、3、4、及び5に、それぞれ、割込み要求信号24、34、44、及び54を出力する。図1には、共用割込みコントローラ10が周辺割込み信号2つと、端子割込み信号1つを受信する構成例が示されているが、半導体装置1の構成はこれに限られない。共用割込みコントローラ10は、任意の数の周辺割込み信号と、任意の数の端子割込み信号を受信するよう構成され得る。
図2は、実施の形態1に係る共用割込みコントローラ10及びプロセッサエレメント2、3、4、及び5の構成例を示すブロック図である。図2に示されるように、プロセッサエレメント2は、CPU21と割込みコントローラ22とを備える。同様に、プロセッサエレメント3、4、及び5は、それぞれ、CPU31、41、及び51と、割込みコントローラ32、42、及び52とを備える。
割込みコントローラ22は、CPU21のみが処理する割込み信号23と、共用割込みコントローラ10から出力される割込み要求信号24とを受信し、最も優先度の高い割込み要求をCPU21に出力する。CPU21は、割込みコントローラ22が出力する割込み要求を受け付けたことに応じて、割込み受理信号(以下、「ACK信号」とも呼ぶことがある)25を割込みコントローラ22及び共用割込みコントローラ10に通知する。割込み受理信号25が活性化されると、後述する割込み要因レジスタ11のビットのうち、受理された割込み信号に対応するビットがクリアされる。
同様に、割込みコントローラ32は、CPU31のみが処理する割込み信号33と、共用割込みコントローラ10から出力される割込み要求信号34とを受信し、最も優先度の高い割込み要求をCPU31に出力する。CPU31は、割込みコントローラ32が出力する割込み要求を受け付けたことに応じて、割込み受理信号35を割込みコントローラ32及び共用割込みコントローラ10に通知する。割込みコントローラ42は、CPU41のみが処理する割込み信号43と、共用割込みコントローラ10から出力される割込み要求信号44とを受信し、最も優先度の高い割込み要求をCPU41に出力する。CPU41は、割込みコントローラ42が出力する割込み要求を受け付けたことに応じて、割込み受理信号45を割込みコントローラ42及び共用割込みコントローラ10に通知する。割込みコントローラ52は、CPU51のみが処理する割込み信号53と、共用割込みコントローラ10から出力される割込み要求信号54とを受信し、最も優先度の高い割込み要求をCPU51に出力する。CPU51は、割込みコントローラ52が出力する割込み要求を受け付けたことに応じて、割込み受理信号55を割込みコントローラ52及び共用割込みコントローラ10に通知する。
割込み信号23は、CPU21のみによって処理される。同様に、割込み信号33、43、及び53は、それぞれ、CPU31、CPU41、CPU51のみによって処理される。そのため、割込み信号23、33、43、及び53は、共用割込みコントローラ10に入力されることなく、プロセッサエレメント2、3、4、及び5の各々に、直接入力される。割込み信号23、33、43、及び53は、それぞれ、任意の数の割込み信号を含む。例えば、割込み信号23、33、43、及び53の各々は、0本でも良いし、1本でも良いし、複数本であっても良い。また、割込み信号23、33、43、及び53が含む割込み信号の数は、互いに等しい数である必要はない。
共用割込みコントローラ10は、割込み要因レジスタ11と、優先度判定回路12、13、14、15、及び16と、判定制御回路17と、判定回路18と、を備える。共用割込みコントローラ10は、割り込み信号群70の一部として、周辺回路6及び7から周辺割込み信号INTA及びINTBを受信する。また、共用割込みコントローラ10は、割込み信号群70の一部として、割込み用外部端子9から端子割込み信号INTPを受信する。共用割込みコントローラ10は、受信した割込み信号群70に基づいて、割込み要因レジスタ11に、各ビットに対応する割込み信号が活性化されていることを示す値(例えば1)をセットする。
割込み要因レジスタ11は、割込みが要求されているか否かを示すビットを複数有するレジスタである。割込み要因レジスタ11の各ビットは、例えば、対応する割込み信号が活性化された場合に1を保持し、割込み信号が活性化されていない場合に0を保持する。割込み要因レジスタ11にセットされた割込み要因は、優先度判定回路12、13、14、15、及び16に通知される。上述したように、割込み要因レジスタ11にセットされた割込み要因は、割込み受理信号25が活性化されることにより、クリアされるように構成することができる。また、受理された割込み信号に対応する割込み要因レジスタ11のビットは、ハードウェアにより自動でクリアしても良い。更に、割込み要因レジスタ11にセットされた割込み要因は、割込み受理信号25が活性化されたことに応じて処理される割込みルーチン内で、ソフトウェアによりクリアされるよう構成しても良い。また、割込みルーチン内で割込み要因を通知した周辺回路6または7にアクセスし、割込み信号を非活性にするためのレジスタ書き込みを行っても良い。
優先度判定回路12は、CPU21に対して割込みを要求する複数の割込み要因の中から、割込み優先度が最も高い割込み要因を判定する回路である。優先度判定回路12による判定結果は、割込み要求信号24としてプロセッサエレメント2に送信される。同様に、優先度判定回路13、14、及び15は、それぞれ、CPU31、41、及び51に対して割込みを要求する複数の割込み要因の中から、割込み優先度が最も高い割込み要因を判定する回路である。優先度判定回路13、14、及び15による判定結果は、それぞれ、割込み要求信号34、44、及び54として、プロセッサエレメント3、4、及び5に送信される。また、優先度判定回路12は、割込み要求信号24を、判定回路18にも送信する。同様に、優先度判定回路13、14、及び15は、それぞれ、割込み要求信号34、44、及び54を、判定回路18にも送信する。
割込み要求信号24、34、44、及び54は、それぞれ、割込み要因が発生していることを示すREQ信号を含む。また、割込み要求信号24、34、44、及び54は、更にサイドバンド信号を含んでも良い。サイドバンド信号は、例えば、REQ信号を活性化する要因となっている割込み要因の割込み優先度を示す信号である。また、サイドバンド信号は、REQ信号を活性化する要因となっている割込み要因の種類を識別する信号を更に含んでも良い。
共用割込みコントローラ10は、冗長な優先度判定回路16を備える。優先度判定回路16は、優先度判定回路12、13、14、または15と同一の入力信号を受信し、同一の処理をする回路である。
判定制御回路17は、優先度判定回路12、13、14、及び15の中から、1つの優先度判定回路をチェック対象回路として選択する回路である。判定制御回路17は、いずれの優先度判定回路が選択されたかを示す信号(「チェック対象選択信号」と呼ぶ場合がある)を、優先度判定回路16と、判定回路18と、に出力する。優先度判定回路16は、判定制御回路17から受信するチェック対象選択信号に基づいて、チェック対象回路と同一の処理を行う。
判定回路18は、チェック対象回路と優先度判定回路16との処理結果を比較して、チェック対象回路に故障が発生しているか否かを判定する回路である。判定回路18は、割込み要求信号24、34、44、及び54と、チェック対象選択信号とを受信する。判定回路18は、チェック対象選択信号に基づいて、優先度判定回路16が出力する割込み要求信号64と、チェック対象回路が出力する割込み要求信号とを比較する。チェック対象回路が出力する割込み要求信号は、割込み要求信号24、34、44、または54のいずれかである。優先度判定回路16が出力する割込み要求信号64と、チェック対象回路が出力する割込み要求信号とが一致すれば、チェック対象回路は正常に動作していると判断される。優先度判定回路16の出力する割込み要求信号64と、チェック対象回路の出力する割込み要求信号とが不一致であれば、チェック対象回路に故障があり、正常動作していないと判断され、エラー信号19(ERR)が出力される。半導体装置1は、エラー信号19を検出したことに応じて、機能安全のために要求される所望の制御を行うことが可能である。
図3は、実施の形態1に係る優先度判定回路12の構成例を示すブロック図である。図3に示されるように、優先度判定回路12はアービタ(調停回路)123を備える。優先度判定回路12は、共用割込みコントローラ10が備えるレジスタ121から、割込み要因レジスタ11に割り当てられる各割込み要因について、いずれのCPUに割込みを要求するかを示す信号を受信する。また、優先度判定回路12は、共用割込みコントローラ10が備えるレジスタ122から、割込み要因レジスタ11に割り当てられる各割込み要因の割込み優先度を示す信号を受信する。更に、優先度判定回路12は、割込み要因レジスタ11から、割込み要因レジスタ11に割り当てられる各割込み要因が発生しているか否かを示す信号を受信する。なお、図3には、優先度判定回路12の構成例が示されるが、優先度判定回路13、14、15、及び16の構成も同様である。したがって、レジスタ121と、レジスタ122と、割込み要因レジスタ11のそれぞれから出力される信号は、優先度判定回路12、13、14、15、及び16に入力される。このため、優先度判定回路12、13、14、15、及び16は、レジスタ121と、レジスタ122と、割込み要因レジスタ11のそれぞれに関して、単一の設定に基づいて動作する。その結果、チェック対象回路と優先度判定回路16は、いずれにも故障がなければ、同一の動作をする。
レジスタ121は、割込み要因レジスタ11に割り当てられる各割込み要因について、いずれのCPUに割込みを要求するかを設定するレジスタである。例えば、図2に示されるようにCPUを4つ備える場合、レジスタ121は、各割込み要因毎に、割込みを要求するCPUを指定するためのフィールド(図示しない。以下、「CPU指定フィールド」とも呼ぶ)を2ビットずつ備える。例えば、CPU指定フィールドが2’B00の場合、CPU21を、CPU指定フィールドが2’B01の場合、CPU31を、CPU指定フィールドが2’B10の場合、CPU41を、CPU指定フィールドが2’B11の場合、CPU51が指定される。なお、割込みを要求するCPUの指定方法は、上述のCPU指定フィールドに限られない。
レジスタ122は、割込み要因レジスタ11に割り当てられる各割込み要因について、CPUへ割込みを通知する際の割込み優先度を設定するためのレジスタである。例えば、レジスタ122は、1つの割込み要因について、4ビットを用いて優先度の設定を行う。割込み優先度15に対して0xF、割込み優先度14に対して0xE、割込み優先度1に対して0x1を割り当てる。割込み優先度0は、割込み要求をCPUに通知しないのと同義の設定である。
なお、割込み優先度の設定方法は、上述の方法に限られない。例えば、各割込み要因毎に6ビットを備え、割込み優先度の高い順に64、63、62、…、2、1の64段階の優先度を設定できるようにしても良い。この場合、例えば、6’H00が優先度64を、6’H3Fが優先度63を、6’H01が優先度1を示すものと定めることができる。
アービタ(調停回路)123は、レジスタ121、レジスタ122の設定に基づいて、CPUに優先的に通知すべき割込み要因を1つ決定するための勝ち抜き回路である。例えば、周辺割込み信号INTAの割込み優先度が10であり、周辺割込み信号INTBの割込み優先度が2であり、かつ、INTA及びINTBが共に割込み要因レジスタ11にセットされている場合、より高い割込み優先度を有するINTAがCPUに通知される。最も高い割込み優先度を有する複数の割込み信号がアービタ(調停回路)123に入力されている場合、アービタ(調停回路)123は、予め決められた優先度にしたがって1つの割込み要因を選択し、割込み要求信号24として出力する。換言すると、アービタ(調停回路)123は、レジスタ122により設定可能な割込み優先度と、予めハードウェアで決められた優先度に基づいて、1つの割込み要因を選択し、割込み要求信号24として出力する。
図4は、実施の形態1に係る判定回路18の構成例を示すブロック図である。図4に示されるように、判定回路18は、選択回路181と、比較器182とエラー出力部183とを備える。
選択回路181は、判定制御回路17が出力するチェック対象選択信号に基づいて、優先度判定回路12、13、14、及び15が出力する割込み要求信号24、34、44、及び54のいずれかを選択して、選択された割込み要求信号184を比較器182に出力する回路である。
比較器182は、更に、優先度判定回路16が出力する割込み要求信号64を受信する。比較器182は、選択回路181により選択された割込み要求信号184と、割込み要求信号64とを比較する。比較器182は、比較結果をエラー出力部183に出力する。
エラー出力部183は、比較器182が出力する比較結果に基づいて、エラー信号(ERR)19を出力する。
(動作)
図5は、半導体装置1の動作を示すフローチャートである。半導体装置1を起動(ステップS11)した後、CPU21、CPU31、CPU41、またはCPU51が、レジスタ121及びレジスタ122を、それぞれ設定する(ステップS12)。
図5は、半導体装置1の動作を示すフローチャートである。半導体装置1を起動(ステップS11)した後、CPU21、CPU31、CPU41、またはCPU51が、レジスタ121及びレジスタ122を、それぞれ設定する(ステップS12)。
続いて、判定制御回路17は、割込み要求信号24、34、44、及び54が活性化されているか否かを、割込み要求信号に含まれるREQ信号に基づいて判定する(ステップS13)。いずれの割込み要求信号も活性化されていない場合(ステップS13:NO)には、判定制御回路17は、優先度判定回路12、13、14、及び15を巡回チェックするよう制御する(ステップS14)。一方、割込み要求信号24、34、44、及び54のいずれかが活性化されている場合(ステップS13:YES)、判定制御回路17は、活性化されている割込み要求信号が1つか否かを、割込み要求信号に含まれるREQ信号に基づいて判定する(ステップS16)。
活性化されている割込み要求信号が1つである場合(ステップS16:YES)、判定制御回路17は、活性化されている割込み要求信号を出力している優先度判定回路(「アクティブな優先度判定回路」とも呼ぶ)を、チェック対象回路とするよう制御する。換言すると、判定制御回路17は、チェック対象選択信号として、活性化されている割込み要求信号を出力している優先度判定回路(アクティブな優先度判定回路)を識別できる情報を出力する。優先度判定回路16と判定回路18は、判定制御回路17が出力するチェック対象選択信号に基づいて、チェック対象回路の動作をチェックする(ステップS17)。一方、活性化されている割込み要求信号が複数である場合(ステップS16:NO)、判定制御回路17は、活性化されている割込み要求信号を出力している複数の優先度判定回路を、巡回的にチェック対象回路とするよう制御する(ステップS18)。換言すると、活性化されている割込み要求信号が複数である場合(ステップS16:NO)、判定制御回路17は、複数のアクティブな優先度判定回路を、巡回的にチェック対象回路とするよう制御する(ステップS18)。
ステップS14、ステップS17、及びステップS18にて優先度判定回路のチェックを行った後、半導体装置1の全処理が終了していない場合(ステップS15:NO)、引き続きステップS13以後の処理が繰り返される。一方、ステップS14、ステップS17、及びステップS18にて優先度判定回路のチェックを行った後、半導体装置1の全処理が終了した場合(ステップS15:YES)には、処理を終了する。
図6は、割込み信号群70のうち、INTAのみが活性化されている場合の半導体装置1の動作例を示すタイミングチャートである。図6の動作例では、共用割込みコントローラ10が受信する割込み信号群70のうち、1つの周辺割込み信号INTAが活性化されている。周辺割込み信号INTAは、レジスタ121によって、CPU21に通知することが許可されている。一方、周辺割込み信号INTAは、レジスタ121によって、CPU31に通知しない設定とされている。同様に、INTAは、CPU41及びCPU51に通知しない設定とされている。
共用割込みコントローラ10がINTAを受信すると、割込み要因レジスタ11のINTAに対応するビットに、INTAを受信したことを示す情報がセットされる。優先度判定回路12は、割込み要因レジスタ11にセットされた情報に基づいて、サイクルT3、T4、及びT5で割込み要求信号24を活性化する。より具体的には、優先度判定回路12は、REQ信号を活性化すると同時に、サイドバンド信号として値Pを出力する。一方、優先度判定回路13、14、及び15は、それぞれ、割込み要求信号34、44、及び54を活性化しない。より具体的には、優先度判定回路13、14、及び15は、サイクルT3、T4、及びT5で、割込み要求信号34、44、及び54に含まれるREQ信号を活性化しない。
優先度判定回路12が割込み要求信号24を活性化していない期間において、判定制御回路17は、優先度判定回路12、13、14、及び15を巡回しながら、チェック対象回路として選択する。図6の動作例では、割込み要求信号24は、サイクルT3からT5までの間、活性化されている。そのため、サイクルT1及びT2において、判定制御回路17は、優先度判定回路12及び13を、順次、チェック対象回路として選択する。
仮にサイクルT3において割込み要求信号24が活性化されていない場合、判定制御回路17は、優先度判定回路14をチェック対象回路として選択する。しかし、図6の動作例ではサイクルT3において割込み要求信号24が活性化されている。そのため、判定制御回路17は、割込み要求信号24を出力しているCPU21に対応する優先度判定回路12をチェック対象回路として選択する。そして、優先度判定回路12が割込み要求信号24を活性化しているサイクルT3からT5までの期間において、判定制御回路17は、優先度判定回路12を継続してチェック対象回路として選択する。CPU21は、割込み要求信号24を受け付け、サイクルT5において、割込み受理信号25を共用割込みコントローラ10に通知する。割込み受理信号25が活性化されると、共用割込みコントローラ10の割込み要因レジスタ11のビットのうち、受理された割込み信号(ここではINTA)に対応するビットがクリアされる。なお、受理された割込み信号に対応する割込み要因レジスタ11のビットは、ハードウェアにより自動でクリアしても良い。また、割込み受理信号25が活性化されたことに応じて処理される割込みルーチン内で、ソフトウェアにより、割込み要因レジスタ11のINTAに対応するビットをクリアしても良い。更に、割込みルーチン内でINTAを通知した周辺回路6にアクセスし、周辺割込み信号INTAを非活性にするためのレジスタ書き込みを行っても良い。
サイクルT6からT10においては、割込み要求信号24、34、44、及び54のいずれも活性化されない。このため判定制御回路17は、サイクルT6において、優先度判定回路12の次の優先度判定回路である、優先度判定回路13を、チェック対象回路として選択する。その後、サイクルT7からT10において、判定制御回路17は、優先度判定回路14、15、12、13を、順次、チェック対象回路として選択する。即ち、優先度判定回路12が割込み要求信号24を活性化していない期間において、判定制御回路17は、優先度判定回路12、13、14、及び15を巡回しながら、チェック対象回路として選択する。
続いて、図7を用いて、共用割込みコントローラ10に対して入力される割込み信号群70のうち、2つの周辺割込み信号INTA、及びINTBが活性化されている場合の半導体装置1の動作について説明する。図7は、複数の割込み要因が活性化されている場合の半導体装置1の動作例を示すタイミングチャートである。図7に示される動作例では、共用割込みコントローラ10が受信する割込み信号群70のうち、周辺割込み信号INTA及びINTBが活性化されている。INTAはCPU21に対して通知することが許可され、CPU31、41、及び51に対して通知しない設定とされている。また、INTBはCPU31に対して通知することが許可され、CPU21、41、及び51に対して通知しない設定とされている。割込みを通知するか通知しないかは、レジスタ121によって設定される。
共用割込みコントローラ10が割込み要求信号24、34、44、及び54のうち複数の割込み要求信号を活性化している期間では、判定制御回路17は、活性化されている割込み要求信号を出力している優先度判定回路間でチェック対象回路を巡回遷移する。図7に示される動作例では、共用割込みコントローラ10は、周辺割込み信号INTA及びINTBが活性化されていることに応じて、サイクルT3からT5の間、割込み要求信号24、34を活性化している。そのため、判定制御回路17は、サイクルT3からT5の間、割込み要求信号24を出力する優先度判定回路12と、割込み要求信号34を出力する優先度判定回路13を巡回してチェック対象回路として選択する。
割込み要求信号24、34、44、及び54は、CPU21、31、41、または51に受け付けられるまで変化し得る。例えば、割込み信号群70のうち、非活性であった割込み信号が新たに活性化されることにより、割込み要求信号24、34、44、及び54に含まれるサイドバンド信号の値は変化し得る。そのため、割込み要求信号24、34、44、及び54のREQ信号が活性化されている期間に1度だけチェック対象回路をチェックするのでは、動作監視として十分でない。そこで、REQ信号が活性化されている間、判定制御回路17は、割込み要求信号を活性化している優先度判定回路間を巡回遷移し続ける。
(効果)
実施の形態1に係る半導体装置1によれば、共有割込みコントローラ10は、優先度判定回路16と、判定制御回路17と、判定回路18と、を有する。判定制御回路17は、優先度判定回路12、13、14、及び15が出力する割込み要求信号24、34、44、及び54を受信する。判定制御回路17は、割込み要求信号が活性化されている場合には、活性化された割込み要求信号を出力する優先度判定回路をチェック対象回路とする。また、判定制御回路17は、割込み要求信号24、34、44、及び54のいずれも活性化されていない場合には、優先度判定回路12、13、14、及び15をチェック対象回路として巡回チェックする。このため、実施の形態1に係る半導体装置1によれば、比較例2と比較して、割込みコントローラ内の優先度判定回路の故障を、動作監視の必要性に応じて迅速に検出することができる。また、半導体装置1は、CPUの数に応じて優先度判定回路が4つあるにもかかわらず、1つのチェッカ回路16によって、優先度判定回路12、13、14、及び15の故障を検出することができる。したがって、半導体装置1は、比較例1と比較して、ハードウェア量の増大を抑制しつつ、優先度判定回路の故障を検出することができる。また、実施の形態1によれば、CPUの数が増える程、ハードウェア量の抑制効果は大きくなる。
実施の形態1に係る半導体装置1によれば、共有割込みコントローラ10は、優先度判定回路16と、判定制御回路17と、判定回路18と、を有する。判定制御回路17は、優先度判定回路12、13、14、及び15が出力する割込み要求信号24、34、44、及び54を受信する。判定制御回路17は、割込み要求信号が活性化されている場合には、活性化された割込み要求信号を出力する優先度判定回路をチェック対象回路とする。また、判定制御回路17は、割込み要求信号24、34、44、及び54のいずれも活性化されていない場合には、優先度判定回路12、13、14、及び15をチェック対象回路として巡回チェックする。このため、実施の形態1に係る半導体装置1によれば、比較例2と比較して、割込みコントローラ内の優先度判定回路の故障を、動作監視の必要性に応じて迅速に検出することができる。また、半導体装置1は、CPUの数に応じて優先度判定回路が4つあるにもかかわらず、1つのチェッカ回路16によって、優先度判定回路12、13、14、及び15の故障を検出することができる。したがって、半導体装置1は、比較例1と比較して、ハードウェア量の増大を抑制しつつ、優先度判定回路の故障を検出することができる。また、実施の形態1によれば、CPUの数が増える程、ハードウェア量の抑制効果は大きくなる。
次に、実施の形態1で検出できる優先度判定回路の故障モードについて説明する。優先度判定回路の故障モードとして、3つの故障モードが想定可能である。第1の故障モードは、特定の割込み要因によりCPUに対して活性化された割込み要求が出続ける故障モードである。第1の故障モードは、優先度判定回路が出力するREQ信号が、活性化されていることを示す値(例えば、1)に固定される故障や、サイドバンド信号がある値に固定される故障に起因して生じ得る。第2の故障モードは、特定の割込み要因について、期待に反して割込み要求信号が出力されなくなる故障モードである。第2の故障モードは、優先度判定回路が出力するREQ信号が活性化されていないことを示す値(例えば、0)に固定される故障に起因して生じ得る。また、サイドバンド信号が割込み要因の種別を示す場合、第2の故障モードは、サイドバンド信号が固定される故障に起因しても生じ得る。第3の故障モードは、複数の割込み要因に基づく割込み要求が、期待に反して、入れ替わりながら出力される故障モードである。第3の故障モードは、優先度判定回路内に故障が生じた結果、サイドバンド信号に含まれる優先度を示す信号や、割込み要因の種別を示す信号が、REQ信号のアサート中に、変化してしまう故障モードである。CPUが割込みを受理して割込み受理信号を送信することにより、割込み要因レジスタ11の対応ビットがクリアされてしまう場合、故障の影響が消失してしまう。そのため、第3の故障モードが顕在化する期間が短くなり、第3の故障モードを検出することが困難となる。また、第3の故障モードを検出するためには、全ての割込み要因の検出状況を確認しなければならないこと、及び、第3の故障モードが時間変化の影響を受けやすいことから、検出が困難である。
本実施の形態に係る共用割込みコントローラ10は、割込み要求信号24、34、44、及び54が活性化されていないときは、優先度判定回路12、13、14、及び15を巡回チェックしているので、第2の故障モードを検出することが可能である。また、割込み要求信号24、34、44、または54が活性化されている場合には、割込み要求信号を活性化している優先度判定回路を優先してチェック対象回路として選択するため、第1の故障モード、及び第3の故障モードを検出することが可能である。更に、実施の形態1に係る半導体装置1は、割込み要求信号を活性化している優先度判定回路を優先してチェック対象回路として選択するため、誤った割込み要求信号を受理してしまったCPUの処理をいち早く止めることが可能である。また、割込み要求信号を活性化している優先度判定回路を優先してチェック対象回路として選択するため、実施の形態1に係る半導体装置1は、顕在化期間の短い第3の故障モードを検出できる確率を向上させることができる。即ち、単純に全ての優先度判定回路を巡回してチェックする場合には、CPUの数が増えるほど、第3の故障モードを検出できる確率が下がる。しかし、実施の形態1に係る判定制御回路17は、割込み要求信号を活性化している優先度判定回路を優先してチェック対象回路として選択する。そのため、実施の形態1に係る半導体装置1は、第3の故障モードを検出する確率を向上させることができる。
[実施の形態2]
次に実施の形態2について説明する。図8は、実施の形態2に係る半導体装置1Aの構成例を示すブロック図である。実施の形態2に係る半導体装置1Aは、実施の形態1に係る半導体装置1と比較して、優先度判定回路12A、13A、14A、及び15Aから判定制御回路17Aに、複数割込み検出信号26、36、46、及び56が出力される点で異なる。また、実施の形態2に係る半導体装置1Aは、実施の形態1に係る半導体装置1と比較して、判定制御回路17Aが、割込み要求信号24、34、44、及び54に加えて複数割込み検出信号26、36、46、及び56をも参照してチェック対象回路を選択する点で異なる。これ以外の構成及び動作については、実施の形態1で説明した半導体装置1と同様であるので、同一の構成については同一の符号を付し、重複した説明は省略する。
次に実施の形態2について説明する。図8は、実施の形態2に係る半導体装置1Aの構成例を示すブロック図である。実施の形態2に係る半導体装置1Aは、実施の形態1に係る半導体装置1と比較して、優先度判定回路12A、13A、14A、及び15Aから判定制御回路17Aに、複数割込み検出信号26、36、46、及び56が出力される点で異なる。また、実施の形態2に係る半導体装置1Aは、実施の形態1に係る半導体装置1と比較して、判定制御回路17Aが、割込み要求信号24、34、44、及び54に加えて複数割込み検出信号26、36、46、及び56をも参照してチェック対象回路を選択する点で異なる。これ以外の構成及び動作については、実施の形態1で説明した半導体装置1と同様であるので、同一の構成については同一の符号を付し、重複した説明は省略する。
実施の形態2に係る優先度判定回路12A、13A、14A、及び15Aは、それぞれ、対応するCPUについて割込み要因を複数受信しているか否かを示す複数割込み検出信号26、36、46、及び56を出力する。
図9は、実施の形態2に係る優先度判定回路12Aの構成例を示すブロック図である。優先度判定回路12Aは、複数割込み検出回路124を備える。複数割込み検出回路124は、各割込み要因について、いずれのCPUに割込みを要求するかを設定するレジスタ121と、割込み要因レジスタ11が示す周辺割込み信号、及び端子割込み信号の受信状況とに基づいて、複数の割込み要因が発生しているか否かを示す複数割込み判定信号26を出力する。優先度判定回路12AがINTA及びINTBを受信している場合を例に、複数割込み検出回路124について説明する。レジスタ121の設定により、INTAがCPU21へ通知されるよう設定され、INTBがCPU31に通知されるよう設定されている場合には、複数割込み検出回路124は、1つの割込み要因を検出したことを示す信号(例えば、0)を複数割込み判定信号26として出力する。一方、レジスタ121の設定により、INTAがCPU21へ通知されるよう設定され、INTBもCPU21へ通知されるよう設定されている場合には、複数割込み検出回路124は、複数の割込み要因を検出したことを示す信号(例えば、1)を複数割込み判定信号26として出力する。
判定制御回路17Aは、割込み要求信号24、34、44、及び54に加えて複数割込み検出信号26、36、46、及び56をも受信する。割込み要求信号を活性化している優先度判定回路が複数ある場合、判定制御回路17Aは、複数割込み検出信号を活性化している優先度判定回路を、複数割込み検出信号を活性化していない優先度判定回路より優先して、チェック対象回路とする制御を行う。
(動作)
図10は、実施の形態2に係る半導体装置1Aの動作例を示すタイミングチャートである。図10の動作例では、レジスタ121により、INTAはCPU21へ通知され、CPU31、CPU41及びCPU51に通知されないよう設定されている。INTBは、CPU31へ通知するよう設定され、CPU21、CPU41、及びCPU51に通知されないよう設定されている。INTPは、CPU31に通知されるよう設定され、CPU21、CPU41、及びCPU51に通知されないよう設定されている。優先度判定回路14A及び15Aは、サイクルT1からT10までの間、それぞれ、割込み要求信号44及び54を活性化しない。そのため、図10では、優先度判定回路14A及び優先度判定回路15Aに関係する信号は省略されている。
図10は、実施の形態2に係る半導体装置1Aの動作例を示すタイミングチャートである。図10の動作例では、レジスタ121により、INTAはCPU21へ通知され、CPU31、CPU41及びCPU51に通知されないよう設定されている。INTBは、CPU31へ通知するよう設定され、CPU21、CPU41、及びCPU51に通知されないよう設定されている。INTPは、CPU31に通知されるよう設定され、CPU21、CPU41、及びCPU51に通知されないよう設定されている。優先度判定回路14A及び15Aは、サイクルT1からT10までの間、それぞれ、割込み要求信号44及び54を活性化しない。そのため、図10では、優先度判定回路14A及び優先度判定回路15Aに関係する信号は省略されている。
優先度判定回路12A、13A、14A及び15Aが、それぞれ、割込み要求信号24、34、44、及び54を活性化していない期間において、判定制御回路17Aは、優先度判定回路12A、13A、14A、及び15Aを巡回しながら、チェック対象回路として選択する。図10の動作例では、割込み要求信号24は、サイクルT3からT6までの間、活性化されている。また、割込み要求信号34は、サイクルT3からT8までの間、活性化されている。そのため、サイクルT1及びT2において、判定制御回路17Aは、優先度判定回路12A及び13Aを、順次、チェック対象回路として選択する。
仮にサイクルT3において割込み要求信号24及び34が活性化されていない場合、判定制御回路17Aは、優先度判定回路14Aをチェック対象回路として選択する。しかし、図10に示されるように、サイクルT3において、割込み要求信号24及び34が活性化されている。そのため、判定制御回路17Aは、優先度判定回路14Aをチェック対象回路として選択しない。そして、優先度判定回路12Aが出力する複数割込み検出信号26は活性化されておらず、優先度判定回路13Aが出力する複数割込み検出信号36は活性化されているため、優先度判定回路13Aを優先して、チェック対象回路として選択する。判定制御回路17Aは、複数割込み検出信号36が活性化されているサイクルT3からT5までの間、優先度判定回路13Aをチェック対象回路として選択する。
INTBがCPU31に受理されて、割込み要因レジスタ11内に保持されていたINTBの割込み要因がクリアされると、優先度判定回路13Aは、INTPのみを受信することになる。そのため、割込み受理信号35を受信した次サイクルであるサイクルT6において、複数割込み検出信号36は非活性とされる。サイクルT6では複数割込み検出信号26、36、46、及び56は、いずれも活性化されていない。また、サイクルT6では、割込み要求信号24及び34がともに活性化されている。したがって、サイクルT6では判定制御回路17Aは、優先度判定回路12A及び13Aを巡回チェックするよう制御を行う。サイクルT5では優先度判定回路13Aをチェック対象回路として選択しているため、判定制御回路17Aは、サイクルT6で優先度判定回路12Aをチェック対象回路として選択する。
サイクルT7及びT8では、複数割込み検出信号26、36、46、及び56は、いずれも活性化されていない。また、サイクルT7及びT8では、割込み要求信号34のみが活性化されており、割込み要求信号24、44、及び54は活性化されていない。したがって、サイクルT7及びT8では、判定制御回路17Aは、優先度判定回路13Aをチェック対象回路として選択する。
サイクルT9及びT10では、割込み要求信号24、34、44、及び54は、いずれも活性化されていない。したがって、サイクルT9及びT10では、判定制御回路17Aは、優先度判定回路12A、13A、14A、及び15Aを巡回して、チェック対象回路として選択する。サイクルT8では、判定制御回路17Aは、優先度判定回路13Aをチェック対象回路として選択していたため、サイクルT9では、優先度判定回路14Aをチェック対象回路として選択する。サイクルT10では、判定制御回路17Aは、優先度判定回路15Aをチェック対象回路として選択する。
なお、複数割込み検出信号26、36、46、及び56のうち、2以上が活性化されている場合には、判定制御回路17Aは、これらを活性化している複数の優先度判定回路を巡回して、順次、チェック対象回路として選択する。
(効果)
第3の故障モードは、複数の割込み要因が活性化されている場合にのみ発生しうる。したがって、複数割込み検出信号を活性化していない優先度判定回路をチェック対象回路から除外し、複数割込み検出信号を活性化している優先度判定回路を優先することにより、顕在化する期間の短い第3の故障モードを検出できる確率が上がる。本実施の形態によれば、半導体装置1Aの判定制御回路17Aは、割込み要求信号24、34、44、及び54に加えて、更に、複数割込み検出信号26、36、46、及び56を受信する。そのため、実施の形態2に係る半導体装置1Aは、顕在化する期間の短い第3の故障モードを検出できる確率を更に向上させることができる。
第3の故障モードは、複数の割込み要因が活性化されている場合にのみ発生しうる。したがって、複数割込み検出信号を活性化していない優先度判定回路をチェック対象回路から除外し、複数割込み検出信号を活性化している優先度判定回路を優先することにより、顕在化する期間の短い第3の故障モードを検出できる確率が上がる。本実施の形態によれば、半導体装置1Aの判定制御回路17Aは、割込み要求信号24、34、44、及び54に加えて、更に、複数割込み検出信号26、36、46、及び56を受信する。そのため、実施の形態2に係る半導体装置1Aは、顕在化する期間の短い第3の故障モードを検出できる確率を更に向上させることができる。
以上、本発明によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更され得る。
1、1A 半導体装置
2、3、4、5 プロセッサエレメント
6、7 周辺回路
8 バス
9 割込み用外部端子
10 共用割込みコントローラ
11 割込み要因レジスタ
12、12A、13、13A、14、14A、15、15A 優先度判定回路
16、16A 優先度判定回路(チェッカ回路)
17、17A 判定制御回路
18 判定回路
19 エラー信号(ERR)
21、31、41、51 CPU
22、32、42、52 割込みコントローラ
23、33、43、53 割込み信号
24、34、44、54、64 割込み要求信号
25、35、45、55 割込み受理信号
26、36、46、56 複数割込み検出信号
70 割込み信号群
121、122 レジスタ
123 アービタ(調停回路)
124 複数割込み検出回路
181 選択回路
182 比較器
183 エラー出力部
184 割込み要求信号
INTA、INTB 周辺割込み信号
INTP 端子割込み信号
2、3、4、5 プロセッサエレメント
6、7 周辺回路
8 バス
9 割込み用外部端子
10 共用割込みコントローラ
11 割込み要因レジスタ
12、12A、13、13A、14、14A、15、15A 優先度判定回路
16、16A 優先度判定回路(チェッカ回路)
17、17A 判定制御回路
18 判定回路
19 エラー信号(ERR)
21、31、41、51 CPU
22、32、42、52 割込みコントローラ
23、33、43、53 割込み信号
24、34、44、54、64 割込み要求信号
25、35、45、55 割込み受理信号
26、36、46、56 複数割込み検出信号
70 割込み信号群
121、122 レジスタ
123 アービタ(調停回路)
124 複数割込み検出回路
181 選択回路
182 比較器
183 エラー出力部
184 割込み要求信号
INTA、INTB 周辺割込み信号
INTP 端子割込み信号
Claims (17)
- 第1の割込み要求信号を受信する第1のプロセッサエレメントと、
第2の割込み要求信号を受信する第2のプロセッサエレメントと、
複数の割込み信号を受信して、前記第1のプロセッサエレメントに前記第1の割込み要求信号を出力する第1の優先度判定回路と、
前記複数の割込み信号を受信して、前記第2のプロセッサエレメントに前記第2の割込み要求信号を出力する第2の優先度判定回路と、
前記第1の優先度判定回路と前記第2の優先度判定回路の故障を検出するためのチェッカ回路と、
前記第1の優先度判定回路または前記第2の優先度判定回路のいずれかをチェック対象回路として選択する制御回路と、を具備し、
前記制御回路は、前記第1の割込み要求信号と、前記第2の割込み要求信号とを受信し、前記第1の割込み要求信号と前記第2の割込み要求信号に基づいて、前記チェック対象回路を選択する、
半導体装置。 - 前記第1の割込み要求信号および前記第2の割込み要求信号は、それぞれ、割込み要因が発生していることを示す信号を含む、
請求項1に記載の半導体装置。 - 前記第1の割込み要求信号および前記第2の割込み要求信号は、それぞれ、前記割込み要因の優先度を示す信号を更に含む、
請求項2に記載の半導体装置。 - 前記第1の割込み要求信号および前記第2の割込み要求信号は、それぞれ、前記割込み要因の種類を識別する信号を更に含む、
請求項2に記載の半導体装置。 - 前記制御回路は、前記第1の割込み要求信号および前記第2の割込み要求信号が活性化されていない場合、前記第1の優先度判定回路と前記第2の優先度判定回路を、順次、前記チェック対象回路として選択する、
請求項1から請求項4までのいずれか1項に記載の半導体装置。 - 前記制御回路は、前記第1の割込み要求信号が活性化されている場合には、前記第1の優先度判定回路を前記チェック対象回路として選択する、
請求項1から請求項5までのいずれか1項に記載の半導体装置。 - 前記制御回路は、前記第1の割込み要求信号と前記第2の割込み要求信号とが活性化されている場合には、前記第1の優先度判定回路と前記第2の優先度判定回路を、順次、前記チェック対象回路として選択する、
請求項1から請求項6までのいずれか1項に記載の半導体装置。 - 前記第1の優先度判定回路は、2以上の割込み信号を受信しているか否かを判定する第1の検出回路を備え、前記第1の検出回路は、複数の割込み信号を受信しているか否かを示す第1の検出信号を前記制御回路に出力し、
前記第2の優先度判定回路は、2以上の割込み信号を受信しているか否かを判定する第2の検出回路を備え、前記第2の検出回路は、複数の割込み信号を受信しているか否かを示す第2の検出信号を前記制御回路に出力し、
前記制御回路は、前記第1の検出信号が活性化されている場合には、前記第1の優先度判定回路を前記チェック対象回路とする、
請求項1から請求項6までのいずれか1項に記載の半導体装置。 - 前記制御回路は、前記第1の検出信号と前記第2の検出信号がともに活性化されている場合には、前記第1の優先度判定回路と前記第2の優先度判定回路を、順次、前記チェック対象回路として選択する、
請求項8に記載の半導体装置。 - N個(Nは、N≧2の自然数)のプロセッサエレメントと、
複数の割込み信号を受信して、前記N個のプロセッサエレメントに対してN組の割込み要求信号を出力するN個の優先度判定回路と、
前記N個の優先度判定回路のいずれかと同一の処理を行い割込み要求信号を出力するチェッカ回路と、
前記N個の優先度判定回路が出力する前記N組の割込み要求信号を受信して、前記N組の割込み要求信号に基づいて、前記N個の優先度判定回路のいずれかをチェック対象回路として選択する制御回路と、
前記チェック対象回路が出力する前記割込み要求信号と、前記チェッカ回路が出力する割込み要求信号とを比較し、比較結果に基づいてエラー信号を出力する判定回路と、を具備する、
半導体装置。 - 前記N組の割込み要求信号がいずれも活性化されていない場合には、前記制御回路は、前記N個の優先度判定回路を、順次、前記チェック対象回路として選択し、
前記N組の割込み要求信号のいずれか1組が活性化されている場合には、前記制御回路は、前記活性化された割込み要求信号を出力する前記優先度判定回路を、前記チェック対象回路として選択し、
前記N組の割込み要求信号のうちM(Mは、N≧M≧2の自然数)組の割込み要求信号が活性化されている場合には、前記制御回路は、前記活性化されたM組の割込み要求信号を出力するM個の優先度判定回路を、順次、前記チェック対象回路として選択する、
請求項10に記載の半導体装置。 - 前記N個の優先度判定回路は、2以上の割込み信号を受信しているか否かを判定するN個の検出回路を更に含み、前記優先度判定回路は、それぞれ、前記検出回路を含むものとされ、
前記N個の検出回路は、それぞれに対応する前記優先度判定回路が2以上の割込み信号を受信しているか否かを示す検出信号を前記制御回路に出力し、
N組の前記検出信号のいずれか1組が活性化されている場合には、前記制御回路は、前記活性化された検出信号を出力する前記優先度判定回路を、前記チェック対象回路として選択し、
N組の前記検出信号のうち、L(Lは、N≧L≧2、かつ、M≧Lの自然数)組の検出信号が活性化されている場合には、前記制御回路は、前記活性化されたL組の検出信号を出力するL個の前記優先度判定回路を前記チェック対象回路として選択する、
請求項10または請求項11に記載の半導体装置。 - 複数のプロセッサエレメントと、複数の優先度判定回路と、チェッカ回路と、を具備する半導体装置の動作方法であって、前記動作方法は、
前記複数の優先度判定回路の各々に対応する前記プロセッサエレメントに対して割込み要求信号を出力するステップと、
前記複数の優先度判定回路のいずれかをチェック対象回路として選択するステップと、
前記選択するステップの選択結果に基づいて、前記チェッカ回路に、前記チェック対象回路と同一の処理を実行させるステップと、
前記チェック対象回路が出力する前記割込み要求信号と、前記チェッカ回路が出力する割込み要求信号とを比較するステップと、
前記比較するステップの比較結果に基づいてエラー信号を出力するステップと、
を含み、
前記選択するステップは、活性化された割込み要求信号を出力する前記優先度判定回路を前記チェック対象回路として選択するステップを更に含む、
半導体装置の動作方法。 - 前記選択するステップは、活性化された割込み要求信号が出力されない場合、前記複数の優先度判定回路を、順次、前記チェック対象回路として選択するステップを含む、
請求項13に記載の半導体装置の動作方法。 - 前記選択するステップは、前記活性化された割込み要求信号が2以上である場合には、前記活性化された割込み要求信号を出力する優先度判定回路を、順次、前記チェック対象回路として選択するステップを更に含む、
請求項14に記載の半導体装置の動作方法。 - 前記複数の優先度判定回路の各々は、検出回路を更に具備し、前記動作方法は、
前記検出回路により、前記優先度判定回路が複数の割込み信号を受信していることを検出するステップを更に含み、
前記選択するステップは、前記検出するステップの検出結果に基づいて、前記チェック対象回路を選択するステップを更に含む、
請求項13または請求項14に記載の半導体装置の動作方法。 - 前記選択するステップは、前記検出するステップの検出結果が、2以上の優先度判定回路が複数の割込み信号を受信していることを示す場合に、前記2以上の優先度判定回路を、順次、前記チェック対象回路として選択するステップを更に含む、
請求項16に記載の半導体装置の動作方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019200436A JP7295780B2 (ja) | 2019-11-05 | 2019-11-05 | 半導体装置及びその動作方法 |
US17/065,260 US11526457B2 (en) | 2019-11-05 | 2020-10-07 | Semiconductor device and method of operating the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019200436A JP7295780B2 (ja) | 2019-11-05 | 2019-11-05 | 半導体装置及びその動作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021076885A JP2021076885A (ja) | 2021-05-20 |
JP7295780B2 true JP7295780B2 (ja) | 2023-06-21 |
Family
ID=75687626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019200436A Active JP7295780B2 (ja) | 2019-11-05 | 2019-11-05 | 半導体装置及びその動作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11526457B2 (ja) |
JP (1) | JP7295780B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086456A (ja) | 2008-10-02 | 2010-04-15 | Renesas Technology Corp | データ処理システム及び半導体集積回路 |
US20140047150A1 (en) | 2012-08-09 | 2014-02-13 | Bryan D. Marietta | Processor Interrupt Interface with Interrupt Partitioning and Virtualization Enhancements |
US20150286595A1 (en) | 2014-04-07 | 2015-10-08 | Freescale Semiconductor, Inc. | Interrupt controller and a method of controlling processing of interrupt requests by a plurality of processing units |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369767A (en) * | 1989-05-17 | 1994-11-29 | International Business Machines Corp. | Servicing interrupt requests in a data processing system without using the services of an operating system |
US7350005B2 (en) * | 2003-05-23 | 2008-03-25 | Arm Limited | Handling interrupts in a system having multiple data processing units |
JP6266239B2 (ja) | 2013-07-11 | 2018-01-24 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータ |
JP6602579B2 (ja) * | 2015-07-15 | 2019-11-06 | ルネサスエレクトロニクス株式会社 | 半導体装置およびシステム |
-
2019
- 2019-11-05 JP JP2019200436A patent/JP7295780B2/ja active Active
-
2020
- 2020-10-07 US US17/065,260 patent/US11526457B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086456A (ja) | 2008-10-02 | 2010-04-15 | Renesas Technology Corp | データ処理システム及び半導体集積回路 |
US20140047150A1 (en) | 2012-08-09 | 2014-02-13 | Bryan D. Marietta | Processor Interrupt Interface with Interrupt Partitioning and Virtualization Enhancements |
US20150286595A1 (en) | 2014-04-07 | 2015-10-08 | Freescale Semiconductor, Inc. | Interrupt controller and a method of controlling processing of interrupt requests by a plurality of processing units |
Also Published As
Publication number | Publication date |
---|---|
US20210133130A1 (en) | 2021-05-06 |
JP2021076885A (ja) | 2021-05-20 |
US11526457B2 (en) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8296602B2 (en) | Processor and method of controlling execution of processes | |
JP6266239B2 (ja) | マイクロコンピュータ | |
US10062451B2 (en) | Background memory test apparatus and methods | |
US10915393B2 (en) | Semiconductor device and failure detection system | |
US9952922B2 (en) | Fault detection apparatus and method | |
US20150286595A1 (en) | Interrupt controller and a method of controlling processing of interrupt requests by a plurality of processing units | |
US11449361B2 (en) | Functional safety system, safety control method for the functional safety system, and functional safety program | |
US10102166B2 (en) | Multiprocessor system | |
US10360115B2 (en) | Monitoring device, fault-tolerant system, and control method | |
JP7295780B2 (ja) | 半導体装置及びその動作方法 | |
US20210243257A1 (en) | Service request interrupt router for virtual interrupt service providers | |
JP7012915B2 (ja) | コントローラ | |
US7603489B2 (en) | Direct memory access controller including first and second transfer setting registers | |
US10997105B2 (en) | Semiconductor device and method of operating the same | |
US9128838B2 (en) | System and method of high integrity DMA operation | |
WO2019012907A1 (ja) | 演算装置 | |
US11455248B2 (en) | Semiconductor device capable of performing software lock-step | |
JP6588068B2 (ja) | マイクロコンピュータ | |
US8327054B2 (en) | Data check circuit for checking program data stored in memory | |
JP2021152694A (ja) | 監視装置、監視方法及びプログラム | |
JP2011150645A (ja) | 情報処理装置 | |
JPH0451348A (ja) | Dmaコントローラ | |
JPH04118734A (ja) | 割り込み制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220408 |
|
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: 20230606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230609 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7295780 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |