(57)【要約】【課題】リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置を提供する。【解決手段】命令を解釈して実行する制御演算部１１と、割り込み信号が入力され、割り込みの発生を制御演算部１１へ通知する割り込みコントローラ１２と、割り込み信号が入力され、割り込み信号が入力されたときからの経過時間を求め、経過時間と割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する割り込み応答時間コントローラ１３と、を具備する。【選択図】  図１
2011198032.tif 000002
【特許請求の範囲】
【請求項１】
命令を解釈して実行する制御演算部と、
割り込み信号が入力され、割り込みの発生を前記制御演算部へ通知する割り込みコントローラと、
前記割り込み信号が入力され、前記割り込み信号が入力されたときからの経過時間を求め、前記経過時間と前記割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する割り込み応答時間コントローラと、
を具備することを特徴とする情報処理装置。
【請求項２】
前記割り込み応答時間コントローラは、前記経過時間が前記制約時間に到達した場合、制約時間違反検出信号を前記割り込みコントローラへ出力し、
前記割り込みコントローラは、前記制約時間違反検出信号を受け取った場合、前記制約時間の違反があることを割り込み指示によって前記制御演算部へ通知することを特徴とする情報処理装置。
【請求項３】
前記割り込み応答時間コントローラは、
前記制約時間を格納する制約時間格納器と、
前記割り込み信号が入力されると、前記経過時間をカウントする割り込み経過時間カウンタと、
前記経過時間と前記制約時間を比較し、前記経過時間が前記制約時間に到達したときに、前記制約時間違反検出信号を生成する割り込み経過時間比較器と、
を具備することを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記割り込み経過時間カウンタは、前記割り込みコントローラが前記割り込みの発生を前記制御演算部へ通知したとき、または前記経過時間が前記制約時間に到達したときに、カウンタを停止しリセットされることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制約時間は、前記割り込みが発生したときから前記割り込みが前記制御演算部へ通知されるまでの許容時間であることを特徴とする請求項２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
ＣＰＵ（Central Processing Unit）を有する情報処理装置では、割り込みが発生すると、割り込みコントローラはＣＰＵに割り込みの発生を通知する。割り込みの通知を受けたＣＰＵは、現在実行中の処理を中断し、命令の実行を割り込みハンドラへ移す。
【０００３】
割り込みには優先度があるので、ＣＰＵが優先度の高い割り込みの処理を実行中に優先度の低い割り込みが発生した場合、優先度の高い割り込みの処理が終了するまで優先度の低い割り込みの処理の開始が遅延する。
【０００４】
逆に、ＣＰＵが優先度の低い割り込みの処理を実行中に、優先度の高い割り込みが発生した場合、優先度の高い割り込みの処理が実行され、優先度の低い割り込みの処理が中断する。
【０００５】
情報処理装置は優先度が異なる二つの処理を必ず周期的に実行したい、処理の開始が大きく遅延するとシステムが破綻するまたは出力の効率が悪くなるのを防止するために所定時間内に必ず処理を実行したい等の制約が課せられる場合がある。
【０００６】
この制約を満たすように、情報処理装置のアプリケーションを開発するには、優先度の高い割り込みの処理によって優先度の低い割り込みの処理の開始が遅れたことを検出し、割り込み応答時間の遅延をリアルタイムで正確に知る必要がある。
【０００７】
然しながら、割り込みコントローラは、優先度の高い割り込みの処理が終了した後に、優先度の低い割り込みが発生したことをＣＰＵに通知するだけなので、ＣＰＵは割り込みが発生した時刻、および発生した時刻からの経過時間を知ることができないという問題がある。
【０００８】
従来、マルチプロセッサシステムでは、複数のプロセッサへの割り込み通知を設定時間が経過したとき、又は設定時間の経過時若しくは設定時間経過前の所定割り込み数の発生に応答して行う割り込み処理方法が知られている（例えば、特許文献１参照。）。
【０００９】
この割り込み処理方法は、複数の割り込み発生源に発生する割り込み要求を検出したとき、検出された割り込み要求に対応する割り込み要求源識別情報を生成して蓄積する。設定時間が経過したとき、又は設定時間の経過時若しくは設定時間経過前に所定数の割り込み要求源識別情報の蓄積があったとき、複数のプロセッサ内の割り込み受付可能なプロセッサに対して割り込み信号を送出している。
【００１０】
然しながら、この割り込み処理方法は、システムの構成が複雑であり、割り込み応答時間の遅延をリアルタイムで検出できないという問題がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平７−１２９５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置を提供する。
【課題を解決するための手段】
【００１３】
本発明の一態様の情報処理装置は、命令を解釈して実行する制御演算部と、割り込み信号が入力され、割り込みの発生を前記制御演算部へ通知する割り込みコントローラと、前記割り込み信号が入力され、前記割り込み信号が入力されたときからの経過時間を求め、前記経過時間と前記割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する割り込み応答時間コントローラと、を具備することを特徴としている。
【発明の効果】
【００１４】
本発明によれば、リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置が得られる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例に係る情報処理装置を示すブロック図。
【図２】本発明の実施例に係る情報処理装置の割り込み応答時間コントローラの構成を示すブロック図。
【図３】本発明の実施例に係る情報処理装置の割り込み応答時間コントローラの動作を説明するための時系列図。
【図４】本発明の実施例に係る情報処理装置の割り込み応答時間コントローラの状態を説明するためステートマシン図。
【図５】本発明の実施例に係る比較例の情報処理装置を示すブロック図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例】
【００１７】
本実施例の情報処理装置について、図１乃至図４を用いて説明する。図１は本実施例に係る情報処理装置を示すブロック図である。図１に示すように、本実施例の情報処理装置１０は、ＣＰＵ（制御演算部）１１と、割り込みコントローラ１２と、割り込み応答時間コントローラ１３とで構成されている。
【００１８】
ＣＰＵ１１は、ＲＯＭ（Read Only Memory）などに書き込まれた命令を解釈して実行する。割り込みコントローラ１２は、割り込みが発生すると割り込み信号が入力され、割り込み発生機器毎に設定されている優先度に基づいてどのタイミングでどの割り込み信号をＣＰＵ１１に伝えるかを判断し、適切な順序でＣＰＵ１１に通知する。
【００１９】
割り込み応答時間コントローラ１３は、割り込み信号が入力されると、割り込み信号が入力されたときからの経過時間を求め、経過時間と割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する。
【００２０】
ＣＰＵ１１は、情報処理装置１０の初期化時、例えば電源投入時に、ＩＣ（Interrupt Controller）設定データを割り込みコントローラ１２に出力し、ＩＲＣ（Interrupt Response time Controller）設定データを割り込み応答時間コントローラ１３に出力する。
【００２１】
ＩＣ設定データとは、例えば複数の割り込みに対応した優先度を示すデータである。ＩＣＰ設定データとは、例えば各割り込みに対応して予め定められた制約時間を示すデータである。
【００２２】
割り込み応答時間コントローラ１３は、経過時間が制約時間を超えた場合に、ＩＲＣ割り込み信号（制約時間違反検出信号）を割り込みコントローラ１２へ出力する。割り込みコントローラ１２は、ＩＲＣ割り込み信号を受け取った場合、制約時間の違反があることを割り込み指示によってＣＰＵ１１へ通知する。
【００２３】
更に、情報処理装置１０は、他の情報処理装置、例えばデバッガ１４を接続することが可能である。デバッガ１４を接続することにより、ＩＣ設定データ、ＩＲＣ設定データおよび割り込み応答時間などをモニターし、割り込み応答時間コントローラ１３の動作状態を可視化することができる。
【００２４】
ここで、割り込み応答時間とは、割り込みが発生したときから、割り込みがＣＰＵ１１へ通知されるまでに要する時間である。制約時間とは、割り込みが発生したときから、割り込みがＣＰＵ１１へ通知されるまでに許容される時間である。
【００２５】
図２は割り込み応答時間コントローラ１３の構成を示すブロック図である。図２に示すように、割り込み応答時間コントローラ１３は、制約時間格納器２１と、割り込み経過時間カウンタ２２と、割り込み経過時間比較器２３とで構成されている。
【００２６】
制約時間格納器２１は、ＣＰＵ１１により設定される制約時間を格納する。割り込み経過時間カウンタ２２は、割り込み信号が入力されると経過時間をカウントする。割り込み経過時間比較器２３は、経過時間と制約時間を比較し、経過時間が制約時間を超えたときに、ＩＲＣ割り込み信号を生成する。
【００２７】
制約時間格納器２１は、割り込み信号の数に相当する複数のレジスタを有している。各レジスタには、各割り込みに対応した割り込み番号が付されており、各割り込みに対応して予め定められた制約時間が格納されている。
【００２８】
割り込み経過時間カウンタ２２は、割り込み信号の数に相当する複数のカウンタを有している。各カウンタには、各割り込みに対応した割り込み番号が付されており、対応する割り込み信号が入力されると、各割り込みに対応した経過時間をカウントする。
【００２９】
割り込み経過時間比較器２３は、割り込み信号の数に相当する複数のコンパレータを有している。各コンパレータには、各割り込みに対応した割り込み番号が付されており、対応する割り込み番号のカウンタのカウント値（経過時間）と対応する割り込み番号のレジスタに格納されている制約時間を比較し、比較結果を出力する。
【００３０】
即ち、各割り込みに対応したコンパレータは、各割り込みに対応した経過時間が各割り込みに対応した制約時間を越えると、ＩＲＣ割り込み信号を出力し、対応する割り込み番号のカウンタをリセットする時間初期化信号を出力する。
【００３１】
また、割り込み経過時間カウンタ２２は、割り込みコントローラ１２がＣＰＵ１１に対応するＩＲＣ割り込みを通知する割り込み指示があると、割り込み経過時間カウンタ２２内の対応する割り込み番号のカウンタを停止しリセットする。
【００３２】
なお、ＣＰＵ１１および割り込みコントローラ１２自体は周知であり、その詳細な説明は省略する。
【００３３】
上記構成の情報処理装置１０では、割り込みが発生すると、割り込みが発生してからの経過時間をカウントし、経過時間が割り込みに対して予め定められた制約時間を越えると、リアルタイムで割り込み応答時間の遅延を検出できるように構成されている。
【００３４】
図３は割り込み応答時間コントローラ１３の動作を説明するための図で、制約時間格納器２１の各レジスタ、および割り込み経過時間カウンタ２２の各カウンタの状態を時系列で示している。
【００３５】
図３に示すように、時間ｔ０は、情報処理装置１０がオフのときを示している。このとき、制約時間格納器２１の各レジスタの制約時間および割り込み経過時間カウンタ２２の各カウンタのカウント値は、それぞれ０である。
【００３６】
時間ｔ１は、情報処理装置１０がオンになり、制約時間格納器２１の各割り込み番号に対応するレジスタに制約時間が設定されたときを示している。割り込み番号１乃至割り込み番号４の割り込み（以後、単に割り込み１乃至割り込み４と称する）の制約時間は、例えばそれぞれ３５、３６、１００、４５である。ここで、時間の単位は任意である。
【００３７】
時間ｔ２は、割り込み１が発生してから時間２０が経過し、割り込み２が発生してから時間５が経過したときを示している。このとき、ＣＰＵは割り込み１および割り込み２より優先度の高い割り込みの処理を実行している。
【００３８】
割り込み経過時間比較器２３は、割り込み１における経過時間（２０）と制約時間（３５）を比較し、割り込み２における経過時間（５）と制約時間（３６）を比較している。
【００３９】
時間ｔ３は、時間ｔ２と時間ｔ３の間で、割り込み１より優先度の高い割り込みの処理が終了し、割り込みコントローラ１２がＣＰＵ１１への通知を遅らせていた割り込み１の割り込み指示を発生し、割り込み２より優先度の高い割り込み１が処理されているときを示している。換言すると、割り込み１が制約時間内に処理された場合を示している。
【００４０】
割り込み応答時間コントローラ１３は、割り込みコントローラ１２がＣＰＵ１１に割り込み１の割り込み指示を通知したので、割り込み番号１のカウンタのカウントを停止し、リセットしている。
【００４１】
その間に、割り込み２における経過時間（３６）が制約時間（３６）に到達したときを示している。割り込み経過時間比較器２３は、割り込み番号２における経過時間と制約時間（３６）を比較し、割り込み番号２の割り込みの経過時間が制約時間（３６）に到達すると、ＩＲＣ割り込み信号を割り込みコントローラ１２に出力し、時間初期化信号を割り込み経過時間カウンタ２２に出力する。
【００４２】
図４は割り込み応答時間コントローラ１３の動作を説明するためのステートマシン図である。図４に示すように、上述した処理を行う過程において、割り込み応答時間コントローラ１３は、Idle状態４０とInterrupt状態４１を遷移する。初期状態からIdle状態４０へ遷移した後、割り込み信号４２を受信することによりinterrupt状態４１へ遷移し、割り込み経過時間カウンタ２２が該当する割り込み番号のカウントを開始する。
【００４３】
Interrupt状態４１において、次の割り込み信号４３が入力された場合にはInterrupt状態４１へ自己遷移し、割り込み経過時間カウンタ２２が該当する割り込み番号のカウントを開始する。
【００４４】
Interrupt状態４１において、割り込み指示を受け取った場合、制約時間の範囲内であればスタックされている割り込みの数に従って、Idle状態へ遷移４６するか、Interrupt状態へ自己遷移４８するかが決定される。いずれの場合にも、該当する割り込み番号のカウンタが停止およびリセットされる。
【００４５】
Interrupt状態４１において、割り込み経過時間比較器２３がＩＲＣ割り込み信号を送信４７した場合、該当する割り込み番号のカウンタが停止およびリセットされ、スタックされている割り込みの数に従ってIdle状態４０またはInterrupt状態４１へ遷移する。
【００４６】
割り込みスタック残数が０のとき、全ての割り込みが処理されたので、Idle状態４０に遷移する。割り込みスタック残数が１以上のとき、未処理の割り込みが残っているので、Interrupt状態４１へ遷移する。
【００４７】
図５は本実施例に係る比較例の情報処理装置の構成を示すブロック図である。ここで、比較例とは割り込み応答時間コントローラ１３を有しない情報処理装置のことである。
【００４８】
図５に示すように、比較例の情報処理装置５０は、ＣＰＵ１１と、割り込みコントローラ１２とで構成されている。比較例の情報処理装置５０で、割り込み応答の制約時間違反を検出するには、例えばウォッチドッグタイマを利用して、割り込みの周期ごとにウォッチドッグタイマをリセットする方法が考えられる。
【００４９】
ウォッチドッグタイマとは、ＣＰＵ１１に内蔵されているハードウェア時間計測器で、通常はメインのプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作が行なわれなかった（タイムアウト）場合に、例外処理を実行するために用いられている。
【００５０】
ただし、ウォッチドッグタイマを用いる方法は、ウォッチドッグタイマのタイマカウント数を周期毎にリセットし直すようなソフトウェア処理のオーバーヘッドが発生する。しかも、本来の制約時間よりも短い時間でタイマカウント数をリセットするため、制約時間違反の検出が不正確になる。更に、ソフトウェア本来の機能と異なるコードが必要になる、割り込みごとに設定できない等の欠点がある。
【００５１】
従って、割り込み応答時間が期待値よりも遅れる場合を、割り込み応答時間が長くなった時刻において、リアルタイムで且つソフトウェア処理のオーバーヘッドを発生させないように制約時間違反を検出することができない。
【００５２】
一方、本実施例の情報処理装置１０では、上述したように、全てハードウェアで処理しているので、リアルタイムで制約時間違反を検出することができる。ソフトウェアで処理する場合のオーバーヘッドは発生しない。
【００５３】
従って、情報処理装置１０は、デバッガ１４を用いたアプリケーション開発環境で使用するのに適している。アプリケーションのソフトウェアが制約時間違反をリアルタイムに知ることができるので、比較例の情報処理装置５０よりも早く是正対策を行えるようになる利点がある。
【００５４】
情報処理装置１０は、ＣＰＵ１１、割り込みコントローラ１２、割り込み応答時間コントローラ１３を１チップに集積した半導体集積回路として構成することができる。または、ＣＰＵ１１、割り込みコントローラ１２、割り込み応答時間コントローラ１３を個別に組み合わせて構成することもできる。
【００５５】
以上説明したように、本実施例の情報書装置１０は、割り込みが発生したときからの経過時間を求め、経過時間と制約時間を比較し、比較結果を出力する割り込み応答時間コントローラ１３を具備している。
【００５６】
その結果、経過時間が制約時間を越えた場合、制約時間の違反があることを割り込みコントローラ１２を介してＣＰＵ１１に通知することができる。従って、リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置が得られる。
【００５７】
ここでは、情報処理装置がシングルプロセッサ方式である場合について説明したが、マルチプロセッサ方式の情報処理装置に適用できることは言うまでも無い。
【００５８】
ＩＲＣ割り込み信号を原因として発生する割り込み指示は、優先度の高い割り込みである場合に付いて説明したが、制約時間の違反の検出をより短時間で行ないたい場合には、例外として通知させることも可能である。
【符号の説明】
【００５９】
１０、５０  情報処理装置
１１  ＣＰＵ
１２  割り込みコントローラ
１３  割り込み応答時間コントローラ
１４  デバッガ
２１  制約時間格納器
２２  割り込み経過時間カウンタ
２３  割り込み経過時間比較器
【図１】
2011198032.tif 000003
【図２】
2011198032.tif 000004
【図３】
2011198032.tif 000005
【図４】
2011198032.tif 000006
【図５】
2011198032.tif 000007