(57)【要約】【課題】割込み処理後に高速にプロセッサを起動可能であって、かつ特定の割込みを待つ場合にも処理効率が低下しない割込み制御装置を提供する。【解決手段】コプロセッサとの間で信号を授受するためのコプロセッサ用インターフェイス２０１を備え、コプロセッサ用インターフェイス２０１からの信号の出力を待って動作するプロセッサ１０１への割込みを割込みコントローラ１０２において、割込みコントローラ制御部２０５が、割込み待ちテーブル２０６ａ、２０６ｂに待ち割込み要求を設定し、発生した割込み要求が待ち割込み要求であるか否か判断する。待ち割込み要求であると判断された場合にだけコプロセッサ用インターフェイス２０１を介してプロセッサ１０１に出力されるようコプロセッサインターフェイス処理部２０８に信号ａｃｋを出力する。【選択図】図２
2007280023.tif 000002
【特許請求の範囲】
【請求項１】
特定の処理に特化した補助プロセッサとの間で信号を授受するための補助プロセッサ用インターフェイスを備え、該補助プロセッサ用インターフェイスからの信号の出力を待って動作するプロセッサへの割込みを制御する割込み制御装置であって、
特定の割込み要求である待ち割込み要求を設定する待ち割込み要求設定手段と、
前記プロセッサに対してされた割込み要求が前記待ち割込み要求設定手段によって設定された待ち割込み要求であるか否か判断する待ち割込み要求判断手段と、
前記割込み要求判断手段によって待ち割込み要求であると判断された場合には前記補助プロセッサ用インターフェイスを介してプロセッサに前記信号を出力する一方、待ち割込み要求がされるまでは前記信号の出力を禁止する信号出力制御手段と、
を備えることを特徴とする割込み制御装置。
【請求項２】
前記プロセッサに対する待ち割込み要求以外の割込み要求を、前記補助プロセッサ用インターフェイスを介することなく前記プロセッサに通知する他の通知手段を備えることを特徴とする請求項１に記載の割込み制御装置。
【請求項３】
前記待ち割込み要求設定手段は、待ち割込み要求を識別するための情報を設定するテーブルを含み、前記待ち割込み要求判断手段は、発生した割込み要求を前記テーブルと対照して待ち割込み要求を判断することを特徴とする請求項２から３のいずれか１項に記載の割込み制御装置。
【請求項４】
前記待ち割込み要求設定手段が待ち割込み要求を複数設定し、前記信号出力制御手段は、前記割込み要求判断手段によって複数の待ち割込み要求の一部がプロセッサにされたと判断された場合に前記補助プロセッサ用インターフェイスを介してプロセッサに前記信号を出力することを特徴とする請求項１から３のいずれか１項に記載の割込み制御装置。
【請求項５】
前記待ち割込み要求設定手段が待ち割込み要求を複数設定し、前記信号出力制御手段は、前記割込み要求判断手段によって複数の待ち割込み要求の全部がプロセッサにされたと判断された場合に前記補助プロセッサ用インターフェイスを介してプロセッサに前記信号を出力することを特徴とする請求項１から３のいずれか１項に記載の割込み制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割込み制御装置に係り、特に外部装置に要求された外部割込みを受付ける割込み制御装置に関する。
【背景技術】
【０００２】
現在、プロセッサに複数のモジュールを接続して構成される装置がある。このような装置の例として、例えば、携帯電話が挙げられる。携帯電話は、プロセッサが通信やカメラ、キーボードといった複数のモジュールと接続し、プロセッサ内部で発生する処理（通常処理）を実行しながらモジュールによって要求される割込み処理を実行する。
外部のモジュールによって要求される割込み処理（外部割込み）は、通常処理から外部割込みへの処理の移行や外部割込みの終了後、通常処理への復帰までの間プロセッサを停止させる。このため、外部割込みによってプロセッサが停止する時間を短縮し、プロセッサの処理効率を高める技術が提案されている。
【０００３】
このような技術の従来例として、例えば、特許文献１が挙げられる。特許文献１は、割込み処理後、割込みの要求時、ｈａｌｔ状態のプロセッサの起動を高速化することによって割込みによるプロセッサの処理効率低下を抑えるものである。
【特許文献１】特開平５−８８９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、外部割込みの処理では、プロセッサが、モジュールから要求された割込みをハードウェアに処理させ、ハードウェアから処理の終了の通知を受けて通常の動作に戻る場合がある。このとき、プロセッサは、割込み要求を受付けた後、割込み処理の終了の通知まで他の割込み処理を待たせて待機する。
しかしながら、特許文献１の構成は、割込み処理が要求された場合には割込みに内容によらずプロセッサが起動する。このため、上記した動作を特許文献１に記載された構成で実現する場合、要求された割込みが特定の割込みであるか否かを判定し、判定の結果によってはいったん起動されたプロセッサを再度ｈａｌｔ状態に遷移させなければならないという不具合がある。
【０００５】
割込みの内容を判定する方法には、ハードウェアレジスタのポーリングや割込みハンドラ内での判定がある。ただし、ポーリングは、プロセッサがレジスタを監視しなければならないので、プロセッサの処理効率を高めるという目的には不適である。さらに、プロセッサとモジュールとを接続するバスの帯域を占有するという不具合がある。
一方、割込みハンドラは、ＯＳ（Operating System）側でタイミングが予測できない処理を受付けて実行するプログラムである。割込みハンドラは、ポーリングに比べてプロセッサの処理効率を高めるという目的に適っている。ただし、割込み処理には、処理時間が短いものも多い。短時間で終了する割込み処理の都度割込みハンドラを起動した場合、処理のオーバーヘッドが大きくなって処理効率を充分高めることができない。
【０００６】
本発明は、上記した点に鑑みてなされたものであって、割込み処理に後に高速にプロセッサを起動可能であって、かつ特定の割込みを待つ場合にもプロセッサの処理効率が低下しない割込み制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明の割込み制御装置は、特定の処理に特化した補助プロセッサとの間で信号を授受するための補助プロセッサ用インターフェイスを備え、該補助プロセッサ用インターフェイスからの信号の出力を待って動作するプロセッサへの割込みを制御する割込み制御装置であって、特定の割込み要求である待ち割込み要求を設定する待ち割込み要求設定手段と、前記プロセッサに対してされた割込み要求が前記待ち割込み要求設定手段によって設定された待ち割込み要求であるか否か判断する待ち割込み要求判断手段と、前記割込み要求判断手段によって前記プロセッサに待ち割込み要求がされたと判断された場合には前記補助プロセッサ用インターフェイスを介してプロセッサに前記信号を出力する一方、待ち割込み要求がされるまでは前記信号の出力を禁止する信号出力制御手段と、を備えることを特徴とする。
【０００８】
このような発明によれば、特定の処理に特化した補助プロセッサとの間で信号を授受するための補助プロセッサ用インターフェイスを備え、この補助プロセッサ用インターフェイスからの信号の出力を待って動作するプロセッサへの割込みを制御する構成において、待ち割込み要求を設定し、プロセッサに対してされた割込み要求が待ち割込み要求である場合にだけ補助プロセッサ用インターフェイスを介して信号を出力ことができる。
このため、設定した待ち割込み要求がされるまではプロセッサの動作を停止しておき、待ち割込み要求がされた場合にだけプロセッサを動作させることが可能である。
【０００９】
したがって、本発明は、割込みハンドラのような他のプログラムを起動することなく、割込みからプロセッサを復帰させることができる。このため、他のプログラムを起動することにかかる処理のオーバーヘッドを低減して停止状態のプロセッサを高速に起動することが可能になる。また、待ち割込みの発生時に補助プロセッサからプロセッサに動作を許可する信号が出力されるので、プロセッサは動作が許可されたか否かを積極的に検出することが必要ない。このため、特定の割込みを待つ場合にも処理効率が低下しない。
このような本発明は、割込み処理後に高速にプロセッサを起動可能であって、かつ特定の割込みを待つ場合にもプロセッサの処理効率が低下しない割込み制御装置を提供することができる。
【００１０】
また、本発明の割込み制御装置は、前記プロセッサに対する待ち割込み要求以外の割込み要求を、前記補助プロセッサ用インターフェイスを介することなく前記プロセッサに通知する他の通知手段を備えることを特徴とする。
このような発明によれば、待ち割込み以外の割込み要求を他の通知手段によってプロセッサに通知することができる。このため、割込み要求の処理時間や特性に応じて適正に割込みを通知し、プロセッサを動作させることができる。
【００１１】
また、本発明の割込み制御装置は、前記待ち割込み要求設定手段は、待ち割込み要求を識別するための情報を設定するテーブルを含み、前記待ち割込み要求判断手段は、発生した割込み要求を前記テーブルと対照して待ち割込み要求を判断することを特徴とする。
このような発明によれば、待ち割込みを比較的簡易に識別し、割込み制御にかかる処理時間を短縮すると共に装置構成を簡易化することができる。
【００１２】
また、本発明の割込み制御装置は、前記待ち割込み要求設定手段が待ち割込み要求を複数設定し、前記信号出力制御手段は、前記割込み要求判断手段によって複数の待ち割込み要求の一部がプロセッサにされたと判断された場合に前記補助プロセッサ用インターフェイスを介してプロセッサに前記信号を出力することを特徴とする。
このような発明によれば、割込み制御の自由度を高めると共にプロセッサを要求に応じて適正に処理することができる。
【００１３】
また、本発明の割込み制御装置は、前記待ち割込み要求設定手段が待ち割込み要求を複数設定し、前記信号出力制御手段は、前記割込み要求判断手段によって複数の待ち割込み要求の全部がプロセッサにされたと判断された場合に前記補助プロセッサ用インターフェイスを介してプロセッサに前記信号を出力することを特徴とする。
このような発明によれば、割込み制御の自由度を高めると共にプロセッサを要求に応じて適正に処理することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図を参照して本発明に係る割込み制御装置の一実施の形態を説明する。
図１は、本実施形態の割込み制御装置を説明するための図である。本実施形態の割込み制御装置は、特定の処理に特化した補助プロセッサとの間で信号を授受するための補助プロセッサ用インターフェイスを備え、この補助プロセッサ用インターフェイスからの信号（処理完了信号）の出力を待って動作するプロセッサ１０１への割込みを制御する割込みコントローラ１０２として構成される。
【００１５】
なお、本実施形態では、割込みコントローラ１０２が補助プロセッサとして機能する。補助プロセッサは一般的にコプロセッサ（co-processor）と呼ばれ、本実施形態においても割込みコントローラ１０２に関する構成について適宜コプロセッサの名称を使用する。なお、コプロセッサとは、マイクロプロセッサの性能を強化するために、特定分野に特化した補助プロセッサであって、一般的には暗号化のための演算に使用されるものが多い。
割込みコントローラ１０２は、プロセッサ１０１と周辺モジュール１０３ａ、１０３ｂの間にあって周辺モジュール１０３ａ、１０３ｂによるプロセッサへの割込み要求を制御する構成である。
【００１６】
周辺モジュール１０３ａ、１０３ｂは、処理の一部をプロセッサ１０１に依頼し、依頼によってプロセッサ１０１が実行した処理の結果を受け取る外部機器である。周辺モジュール１０３ａ、１０３ｂは、プロセッサ１０１への処理の依頼を外部割込みによって要求する。本実施形態では、外部割込みの要求を単に割込み要求と記し、割込み要求の文言が全て外部割込みを指すものとする。
また、プロセッサ１０１は、動作に必要なプログラムやデータを記憶するメモリ１０４とバス１０５によって接続されている。なお、バス１０５は、プロセッサ１０１及び割込みコントローラ１０２をも接続している。
【００１７】
図２は、割込みコントローラ１０２の構成をより詳細に説明するための図である。図２に示したように、コプロセッサとして機能する割込みコントローラ１０２は、プロセッサ１０１と接続している。プロセッサ１０１と接続するため、割込みコントローラ１０２にはプロセッサ１０１とのインターフェイスであるコプロセッサインターフェイス処理部２０８があり、プロセッサ１０１側にはコプロセッサインターフェイス１０１がある。
なお、前記したようにコプロセッサには演算処理に特化した構成等、様々な種類のものがある。プロセッサ１０１のコプロセッサインターフェイス２０１は、コプロセッサとの間で信号を授受するための汎用的なインターフェイスでよい。つまり、本実施形態は、コプロセッサと接続可能な一般的なプロセッサに適用することが可能である。
【００１８】
割込みコントローラ１０２は、周辺モジュール１０３ａ、１０３ｂが発生した割込み要求を検出するための割込み検出部２０３ａ、２０３ｂ、割込み検出部２０３ａ、２０３ｂによって検出された割込み要求を割込み待ちテーブル２０６ａ、２０６ｂに対照し、設定された待ち割込み要求であるか否か判断し、待ち割込み要求であると判断された場合にはコプロセッサインターフェイス処理部２０８を介してプロセッサ１０１に処理完了信号を出力する一方、待ち割込み要求がされるまでは処理完了信号の出力を禁止する割込みコントローラ制御部２０５を備えている。
【００１９】
割込み通知部２０７ａ、２０７ｂは、本実施形態において、プロセッサ１０１に対する割込み要求を、コプロセッサインターフェイス処理部２０８を介することなくプロセッサ１０１に通知する他の通知手段となる。
また、割込みコントローラ制御部２０５及び割込み待ちテーブル２０６ａ、２０６ｂが待ち割込み要求設定手段、割込みコントローラ制御部２０５は待ち割込み要求判断手段、割込みコントローラ制御部２０５及びコプロセッサインターフェイス処理部２０８は信号出力制御手段として機能する。
【００２０】
なお、割込み待ちテーブル２０６ａ、２０６ｂへの待ち割込み要求の設定は、プロセッサ１０１が後述する新命令を実行したことによって割込みコントローラ制御部２０５が実行する。
さらに、割込みコントローラ１０２は、バス１０５を介してプロセッサ１０１等とデータを授受するためにバスインターフェイス制御部２０４を備えている。なお、割込み検出部２０３ａ、２０３ｂ、割込み待ちテーブル２０６ａ、２０６ｂ、割込み通知部２０７ａ、２０７ｂは、いずれも周辺モジュール１０３ａ、１０３ｂに対応して二つずつ備えられている。なお、本実施形態は、当然のことながら、周辺モジュールの数を二つに限定するものではなく、いくつあってもよい。
【００２１】
割込みコントローラ１０２のコプロセッサインターフェイス処理部２０８が処理完了信号を出力すると、処理完了信号は、コプロセッサインターフェイス２０１を介してプロセッサ１０１に出力される。プロセッサ１０１は、処理完了信号を入力したことによって一時停止していた動作を再び開始する。
ここで、図３を用い、プロセッサ１０１に対する一般的なコプロセッサの実装について説明する。プロセッサ１０１とコプロセッサとはコプロセッサインターフェイス２０１を介して接続されている。コプロセッサインターフェイス２０１は、プロセッサ１０１とコプロセッサとの間でｒｅｑ、ａｃｋ、ｏｐｃｏｄｅ、ｄｏｕｔ、ｄｉｎの４種類の信号を授受している。
【００２２】
信号ｒｅｑは、プロセッサ１０１が処理を命令したことをコプロセッサに対して通知するための信号である。信号ａｃｋは、命令された処理が完了したことをコプロセッサがプロセッサ１０１に通知するための信号であって、本実施形態でいう処理完了信号である。また、信号ｏｐｃｏｄｅは、命令された処理の種別を示す信号である。信号ｄｏｕｔは、信号ｏｐｃｏｄｅに付随する信号であり、ｄｉｎはコプロセッサが処理を実行した結果プロセッサ１０１に返す信号である。
【００２３】
上記した信号のうち、プロセッサ１０１は、信号ｒｅｑをコプロセッサに出力して処理を命令した後、コプロセッサにおける処理が完了するまで処理を停止して待機する。そして、コプロセッサが信号ａｃｋを出力したことによって処理の完了を検出し、処理の停止を解除して動作を再開するものである。
本実施形態は、このようなコプロセッサとプロセッサ１０１との関係について着目してなされたものである。すなわち、比較的短時間で処理が完了する短時間割込みには割込みハンドラを起動することなく割込みからプロセッサを復帰させるため、短時間割込みを待ち割込み要求に設定する。そして、コプロセッサの処理完了信号を利用して待ち割込み要求をプロセッサ１０１に通知し、プロセッサ１０１を復帰させるものである。
【００２４】
このような本実施形態によれば、プロセッサ１０１はコプロセッサの処理完了の待機状態から復帰するので、ｈａｌｔ状態から復帰するのと同様に高速に割込み状態から復帰することができる。また、コプロセッサの処理完了後と同様にＯＳ処理によって継続して動作することができるので、割込み処理からの復帰がいっそう高速化できる。
【００２５】
図４は、以上述べた動作をより具体的に説明するための図である。以上の動作を実現するため、本実施形態では、プロセッサ１０１によって実行されるプログラムに新命令を追加する。新命令とは、割込みコントローラ１０２が、待ち割込み要求がされた場合にはコプロセッサインターフェイス処理部２０８を介して処理完了信号を出力させる一方、待ち割込み要求がされるまでは処理完了信号の出力を禁止する命令である。
【００２６】
プロセッサ１０１が新命令を実行したことにより、プロセッサ１０１は、予め特定の割込み要求（割込みＡと記す）がされるまで割込みコントローラ１０２に信号ａｃｋを出力しないよう信号ｒｅｑを使って命令する。命令後、プロセッサ１０１は、割込みコントローラ１０２からの信号ａｃｋの待ち状態に入る。
割込みコントローラ１０２は、信号ｒｅｑを入力し、割込みＡの待ち状態に入る。そして、周辺モジュールから割込みＡの割込み要求があった場合にだけ信号ａｃｋを、コプロセッサインターフェイス処理部２０８を介してコプロセッサインターフェイス２０１に出力する。信号ａｃｋを入力したプロセッサ１０１は、新命令の実行が完了したものとして次に実行すべきプログラムの実行を開始するよう動作する。
【００２７】
本実施形態の新命令は、図５に示すように、通常のスプログラムにしたがってなされる命令Ｃ、命令Ｂの間に挿入される。このため、プロセッサ１０１は、信号ａｃｋが出力されて新命令が終了した後にはプログラム通り命令Ｃ、命令Ｂを実行する。
このように、本実施形態は、割込みＡの割込み要求をコプロセッサによる動作完了通知と同様にして受け取ることになる。このため、プロセッサ１０１は、割込みＡの割込み要求に対して割込みハンドラを起動することなく、通常の命令と同様に割込みＡを処理することができる。
【００２８】
このような本実施形態によれば、周辺モジュール１０３ａ、１０３ｂによる割込み要求のうち短時間割込みを待ち割込み要求に設定することにより、短時間処理のうち割込みハンドラの起動にかかるオーバーヘッドを低減することができる。
また、本実施形態は、プロセッサ１０１が、コプロセッサを備えたプロセッサ１０１の既存の構成を利用してコプロセッサに新命令を設定することができる。図６は、本実施形態の新命令の設定の方法を具体的に説明するための図である。図６（ａ）、（ｂ）は、命令の具体的な形式を示した図であって、（ａ）は命令のフォーマットを、（ｂ）は（ａ）に示したフォーマットに具体的な値を記した例を示している。
【００２９】
コプロセッサを実装する一般的なプロセッサ１０１には、ｌｄｃと呼ばれる命令が設定されている。ｌｄｃは、プロセッサ１０１側のレジスタの値をコプロセッサ側のレジスタに書込ませる命令であって、先に述べたｏｐｃｏｄｅでｌｄｃを設定することによって実行できる。プロセッサ１０１のレジスタｒｓの値をコプロセッサのレジスタに書込むｌｄｃ命令は、以下のように表記される。
ｌｄｃ  ｃｄ，ｒｓ
【００３０】
本実施形態は、ｌｄｃ命令を用い、プロセッサ１０１側で指定した割込み要求をコプロセッサ側で待ち割込み要求に設定する。例えば、プロセッサ１０１のレジスタｒ０の値をビットマップにしたときに１となるビットが示す割込みを待ち割込み要求に設定する場合、命令は、以下のように表される。
ｌｄｃ  １，ｒ０
さらに、ｌｄｃ  ２，ｒ０の命令を設定することによって割込み待ちのタイムアウトの有無をも区別して設定することが可能になる。
【００３１】
図６（ａ）、（ｂ）に示した命令は、１６ビットのデータを使って表される。そして、命令の種類を示すｏｐｃｏｄｅに６ビットを使い、待ち割込み要求を識別するためのデータに５ビット、プロセッサ１０１側のレジスタを特定するためのデータに５ビットを使用している。
なお、このような命令を受けたコプロセッサがどのように動作するかはコプロセッサ側の仕様によって決定する。本実施形態は、コプロセッサを割込みコントローラ１０２のように構成したものである。そして、プロセッサ１０１で指定されたレジスタの値を図示しない内部のレジスタに書込み、書込まれた値が示す割込み要求を待ち割込み要求に設定する。
【００３２】
なお、割込みコントローラ制御部２０５は、新命令の実行によって設定された待ち割込み要求を割込み待ちテーブル２０６ａ、２０６ｂに設定する。したがって、本実施形態は、新命令の実行によって自動的に待ち割込み要求を設定し、識別して割込み制御を実行することができる。
また、本実施形態は、ｌｄｃ命令を調整することによって待ち割込み要求を複数設定することが可能である。待ち割込み要求が複数設定されている場合、割込みコントローラ１０２は、割込みコントローラ制御部２０５によって複数の待ち割込み要求の一部がプロセッサにされたと判断された場合にコプロセッサインターフェイス処理部２０８を介してプロセッサ１０１に信号ａｃｋを出力してもよい。
【００３３】
また、待ち割込み要求が複数設定されている場合、割込みコントローラ１０２は、割込みコントローラ制御部２０５によって複数の待ち割込み要求の全部がプロセッサにされたと判断された場合にコプロセッサインターフェイス処理部２０８を介してプロセッサ１０１に信号ａｃｋを出力してもよい。なお、待ち割込み要求の全部がプロセッサにされたと判断された場合に信号ａｃｋを出力する構成は、プロセッサをｈａｌｔ状態に遷移させて割込み処理から復帰させる構成と同様の効果を得る。
【００３４】
次に、以上述べた構成の動作について説明する。
周辺モジュール１０３ａ、１０３ｂは、プロセッサ１０１に対して割込み要求をする。割込み検出部２０３ａ、２０３ｂは、周辺モジュール１０３ａ、１０３ｂごとに設けられていて、割込みを要求した周辺モジュールに対応する割込み検出部が割込みコントローラ制御部２０５に割込み要求を通知する。
【００３５】
割込みコントローラ制御部２０５は、割込み待ちテーブル２０６ａ、２０６ｂを参照する。そして、発生した割込みが待ち割込み要求であるか否か判断する。判断の結果、待ち割込み要求でない場合、割込みコントローラ制御部２０５は割込み通知部２０７ａ、２０７ｂによってバス１０５を介し、プロセッサ１０１に割込み要求をする。
また、発生した割込みが待ち割込み要求であった場合、割込みコントローラ１０２は、コプロセッサインターフェイス処理部２０８から信号ａｃｋをコプロセッサインターフェイス２０１を介してプロセッサ１０１に出力する。以下、図７、図８を用い、待ち割込み要求が発生した場合のプロセッサ１０１、割込みコントローラ１０２の動作について説明する。
【００３６】
図７は、プロセッサ１０１がコプロセッサを制御する際の動作を説明するためのフローチャートである。プロセッサ１０１が新命令を実行することにより、新命令に基づくｌｄｃ命令を出力するためのｏｐｃｏｄｅ及びｄｏｕｔが出力される（Ｓ７０１）。ｏｐｃｏｄｅ及びｄｏｕｔの出力によって割込みコントローラ１０２に待ち割込み要求が設定される。
【００３７】
次に、プロセッサ１０１は、コプロセッサインターフェイス２０１に出力したｒｅｑ信号をＯＮしてコプロセッサに処理を要求する命令をしたことを通知する（Ｓ７０２）。そして、命令された処理が完了したことを示す信号ａｃｋがコプロセッサインターフェイス２０１から入力されるまで動作を停止して待機する（Ｓ７０３）。信号ａｃｋが入力された場合、コプロセッサにおける完了したものとして処理を終了する。
以上述べたプロセッサ１０１の動作は、コプロセッサに処理を依頼し、この処理の完了を待って次の処理を実行する動作と変わることがない。このため、本実施形態は、プロセッサ側の構成を変更することなく実現することができる。
【００３８】
また、図８は、割込みコントローラ制御部２０５の動作を説明するためのフローチャートである。割込みコントローラ１０２は、割込み検出部２０３ａ、２０３ｂが新たに発生した割込みを検出する（Ｓ８０１）。そして、割込み要求が検出されない場合には（Ｓ８０１：Ｎｏ）、処理を終了する。
一方、新たな割込み要求が検出された場合（Ｓ８０１：Ｙｅｓ）、割込みコントローラ制御部２０５は、割込み待ちテーブル２０６ａ、２０６ｂを参照して検出された割込み要求が待ち割込み要求であるか否か判定する（Ｓ８０２、Ｓ８０３）。待ち割込みでない場合（Ｓ８０３：Ｎｏ）、割込みコントローラ制御部２０５は、割込み通知部２０７ａ、２０７ｂを介して割込み要求の発生をプロセッサ１０１に通知する。
【００３９】
また、ステップＳ８０３において、待ち割込み要求が発生したと判断された場合（Ｓ８０３：Ｙｅｓ）、コプロセッサインターフェイス２０１に対する信号ａｒｃをオンする（Ｓ８０５）。そして、割込み待ちテーブル２０７ａ、２０７ｂに設定された待ち割込みをクリアし（Ｓ８０６）、処理を終了する。
なお、以上述べた図８のフローチャートにおいて、ステップＳ８０２及びステップＳ８０３が要求判断ステップになる。また、ステップＳ８０４及びステップＳ８０５は信号出力制御ステップとなる。
【００４０】
このような本実施形態によれば、プロセッサ１０１がコプロセッサに処理を依頼し、依頼した処理完了を待って動作するのと同様に処理をいったん停止して再開することができる。このため、処理の再開にあたって割込みハンドラ等のプログラムを起動することがなく、高速にプロセッサを起動することができる。
このような本実施形態を要求から完了までの時間が比較的短い短時間割込みに適用することにより、短時間割込みの処理のオーバーヘッドが低減して割込みの処理効率を高めることができる。また、本実施形態は、ポーリングのようにプロセッサが待ち割込みの発生を積極的に検出する必要がないので、プロセッサの処理効率が低下することがない。
【００４１】
なお、以上述べた実施形態では、本実施形態の割込み制御装置をシングルプロセッサに適用した例について説明した。しかし、本実施形態はこのような構成に限定されるものでなく、複数のプロセッサが並行して動作可能なマルチプロセッサに適用することも可能である。
マルチプロセッサに適用した場合、本実施形態は、一のプロセッサが待ち割込みを待っている間に発生した割込み要求を他のプロセッサが処理することができる。このため、プロセッサの処理効率をいっそう高めることができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態の割込み制御装置を説明するための図である。
【図２】図１に示した割込みコントローラの構成をより詳細に説明するための図である。
【図３】プロセッサ１０１に対する一般的なコプロセッサの実装について説明するための図である。
【図４】本発明の一実施形態の割込み制御装置の動作をより具体的に説明するための図である。
【図５】本発明の一実施形態の新命令の実行について説明するための図である。
【図６】本発明の一実施形態の新命令の設定の方法を具体的に説明するための図である。
【図７】本発明の一実施形態のプロセッサ側の動作を示したフローチャートである。
【図８】本発明の一実施形態の割込みコントローラ制御部の動作を説明するためのフローチャートである。
【符号の説明】
【００４３】
１０１  プロセッサ、１０２  割込みコントローラ、１０３ａ，１０３ｂ  周辺モジュール、１０４  メモリ、１０５  バス、２０１  コプロセッサインターフェイス、２０２  コプロセッサ、２０３ａ、２０３ｂ  割込み検出部、２０４  バスインターフェイス制御部、２０５  割込みコントローラ制御部、２０６ａ、２０６ｂ  割込み待ちテーブル、２０７  割込み通知部、２０８  コプロセッサインターフェイス処理部
【図１】
2007280023.tif 000003
【図２】
2007280023.tif 000004
【図３】
2007280023.tif 000005
【図４】
2007280023.tif 000006
【図５】
2007280023.tif 000007
【図６】
2007280023.tif 000008
【図７】
2007280023.tif 000009
【図８】
2007280023.tif 000010