(57)【要約】【課題】  ＣＰＵなどのプロセッサの実行スループットをできるだけ下げることなく、割り込み処理を実現させるための好適な割込み技術を提供すること。【解決手段】  情報処理装置の内部または外部に備わっているハードウェアモジュールから出力される割り込み信号を受信する。割り込み信号に対応する割り込み要因が、割り込み処理の実行を許可するための条件を満たすか否かを判断する。満たすと判断した場合には、割り込み要因に対応する割り込み処理を実行する。【選択図】  図１
2014219942.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の内部または外部に備わっているハードウェアモジュールから出力される割り込み信号を受信する受信手段と、
前記割り込み信号に対応する割り込み要因が、割り込み処理の実行を許可するための条件を満たすか否かを判断する判断手段と、
前記判断手段が満たすと判断した場合には、前記割り込み要因に対応する割り込み処理を実行する実行手段と
を備えることを特徴とする割り込みコントローラ。
【請求項２】
更に、
前記判断手段が満たさないと判断した場合には、前記割り込み信号を、前記情報処理装置ないのプロセッサに転送する転送手段を備えることを特徴とする請求項１に記載の割り込みコントローラ。
【請求項３】
前記転送手段は、前記受信手段が割り込み信号を受信してから前記実行手段が割り込み処理を完了させるまでの間に前記受信手段が他の割り込み信号を受信した場合、該他の割り込み信号を前記プロセッサに転送することを特徴とする請求項２に記載の割り込みコントローラ。
【請求項４】
前記判断手段は、前記ハードウェアモジュールの割り込み要因が格納されているレジスタにアクセスして、前記受信手段が前記ハードウェアモジュールから受信した割り込み信号に対応する割り込み要因を取得する
ことを特徴とする請求項１乃至３の何れか１項に記載の割り込みコントローラ。
【請求項５】
前記受信手段が複数の割り込み信号を受信した場合、
前記判断手段は、前記複数の割り込み信号のそれぞれに設定されている優先度を参照して、該複数の割り込み信号を優先度が高い順に対象にし、該対象となった割り込み信号に対応する割り込み要因が前記条件を満たすか否かを判断する
ことを特徴とする請求項１乃至４の何れか１項に記載の割り込みコントローラ。
【請求項６】
割り込みコントローラの制御方法であって、
前記割り込みコントローラの受信手段が、情報処理装置の内部または外部に備わっているハードウェアモジュールから出力される割り込み信号を受信する受信工程と、
前記割り込みコントローラの判断手段が、前記割り込み信号に対応する割り込み要因が、割り込み処理の実行を許可するための条件を満たすか否かを判断する判断工程と、
前記割り込みコントローラの実行手段が、前記判断工程で満たすと判断した場合には、前記割り込み要因に対応する割り込み処理を実行する実行工程と
を備えることを特徴とする割り込みコントローラの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り込み技術に関するものである。
【背景技術】
【０００２】
多くのCPU(Central Processing Unit)には割込み信号を受け付けるための信号線が用意されているが、その本数は限られている。そのため、割込み信号を発生させる各ハードウェアモジュールとCPUとの間には、各割込み信号の管理および制御を行う割込みコントローラが実装されることが一般的である。
【０００３】
割込みコントローラは、各ハードウェアモジュールに設定されている優先度に基づき、通知された割込み信号を適切な順序でCPUに通知する。CPUは割込み信号が通知されると、実行中の処理を中断して割込み処理へ移行する。割込み処理は、CPUが通知された割込み信号の通知元のハードウェアモジュールにアクセスし、割込み信号の割込み要因を認識し、割込み要因に応じた処理を実行することで行われる。割込み処理が完了すると、CPUは、中断していた処理へ復帰する。また、割込み信号を通知するだけでなく、より高機能な割込みコントローラも提案されている。
【０００４】
割込み通知の割込み要因を取得する割込みコントローラとして特許文献１に開示されているものがある。特許文献１は、本来CPUが実行する割込み要因の取得を割込みコントローラが行うことで、CPUの処理スループットを向上させる技術に関して開示がある。
【０００５】
また、CPUの代わりに割込み処理を実行する技術として特許文献２に開示されているものがある。特許文献２には、外部デバイス制御手段により割込み信号が送出された場合に、割込み処理手段により対応した割込み処理を行うデータ転送装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３０１７１号公報
【特許文献２】特開２００５−２２２１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
CPUは割込み信号が通知される度に、実行中の処理を中断しなければならない。そのため、割込み通知の頻度が高くなるほど、CPUの実行スループットは低下する。特にOS（オペレーティングシステム）下で動作しているCPUの場合には、タスクスイッチによるシステムオーバーヘッドが大きくなるため、その影響は顕著になる。
【０００８】
また、従来技術にあるように、全ての割込み処理をCPU以外の処理部で処理するためには、相応のリソースが必要になり、割込み処理用に別途CPUを実装するなど、実装コストが高くなってしまう。
【０００９】
本発明はこのような問題に鑑みてなされたものであり、ＣＰＵなどのプロセッサの実行スループットをできるだけ下げることなく、割り込み処理を実現させるための好適な割込み技術を提供する。
【課題を解決するための手段】
【００１０】
本発明の一様態に係る割り込みコントローラは、情報処理装置の内部または外部に備わっているハードウェアモジュールから出力される割り込み信号を受信する受信手段と、前記割り込み信号に対応する割り込み要因が、割り込み処理の実行を許可するための条件を満たすか否かを判断する判断手段と、前記判断手段が満たすと判断した場合には、前記割り込み要因に対応する割り込み処理を実行する実行手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＣＰＵなどのプロセッサの実行スループットをできるだけ下げることなく、割り込み処理を実現させるための好適な割込み技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】割り込みコントローラのハードウェア構成例を示すブロック図。
【図２】割り込みコントローラが行う処理のフローチャート。
【図３】ＣＰＵ１０３と割り込みコントローラ１１０との間で行われる処理を示す図。
【図４】ＣＰＵ１０３と割り込みコントローラ１１０との間で行われる処理を示す図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１４】
先ず、本実施形態に係る割り込みコントローラを搭載した情報処理装置のハードウェア構成例について、図１のブロック図を用いて説明する。なお、図１に示した割り込みコントローラの構成のみならず、該割り込みコントローラを搭載した情報処理装置のハードウェア構成は以下の説明を行うために単に例示的に示したものであって、図１の構成に限るものではない。
【００１５】
また、入力装置１１８、ＤＭＡＣ１０５、ＬＡＮ制御部１０６、外部デバイス制御部１０８などの各ハードウェアモジュールからの割り込み信号は全て割り込みコントローラ１１０に入力される。そして、ＣＰＵ１０３への割り込み信号の入力は、この割り込みコントローラ１１０を介して行われる。すなわち、ＣＰＵ１０３は割り込みコントローラ１１０以外から割り込み信号を受け取ることはなく、割り込みコントローラ１１０のみから割り込み信号を受け取る。
【００１６】
ＣＰＵ１０３はプロセッサの一例であり、メインメモリ１０４や不図示のＲＯＭ等のメモリに格納されているコンピュータプログラムやデータを用いて情報処理装置１０１を構成する各部の動作制御を行う。例えば、情報処理装置１０１がプリンタであれば、印刷に係る動作制御を行うし、情報処理装置１０１がディジタルカメラである場合には、撮像及び画像の取り扱いに係る動作制御を行うことになる。
【００１７】
また、ＣＰＵ１０３は、割り込みコントローラ１１０から割り込み信号を受けると、現在実行中の処理を一時中断して、該割り込み信号に応じた割り込み処理を実行する。そしてＣＰＵ１０３はこの割り込み処理が完了すると、一時中断していた処理の実行を再開する。
【００１８】
メインメモリ１０４は、各種のコンピュータプログラムやデータを記憶するためのエリアや、ＣＰＵ１０３が各種の処理を実行する際に用いるワークエリアを有する。また、外部から受信したデータを記憶するためのエリアも有する。このように、メインメモリ１０４は、各種のエリアを適宜提供することができる。
【００１９】
ＤＭＡＣ(Direct Memory Access Controller)１０５は、ＣＰＵ１０３から発行される実行命令を受け、メインメモリ１０４と各ハードウェアモジュールとの間のデータ転送を行う。例えば、データ転送完了時やデータ転送を中止した際に割込み信号を出力する。
【００２０】
ＬＡＮ(Local Area Network)制御部１０６は、情報処理装置１０１と外部機器との間のＬＡＮ１０７を介したデータ通信（Ethernetフレームの送受信）を制御するものであり、例えば、IEEE802.3が適用可能である。例えば、情報処理装置１０１がプリンタである場合、外部機器から印刷指示を送出すると、この印刷指示はＬＡＮ制御部１０６による制御に従ってＬＡＮ１０７を介して本装置内に入力され、情報処理装置１０１に印刷を実行させることができる。
【００２１】
外部デバイス制御部１０８は、情報処理装置１０１に接続される外部デバイス１０９によるデータ転送の制御を行うものである。外部デバイス制御部１０８には、例えば、USB(Universal Serial Bus)の適用が可能であり、その場合、外部デバイス制御部１０８がUSBホストコントローラで、外部デバイス１０９としてUSBデバイスを使用することが可能である。USBデバイスが無線LANモジュールであれば、情報処理装置１０１と外部機器との通信が可能である。
【００２２】
入力装置１１８は、情報処理装置１０１に対して各種の指示を入力するためにユーザが操作するインターフェース機器であり、キーボード、マウス、ボタン、タッチパネル、スイッチ、等が考え得る。
【００２３】
表示装置１１９は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１０３による処理結果を画像や文字などでもって表示する。なお、表示装置１１９はタッチパネル画面であっても良い。
【００２４】
ＣＰＵ１０３、メインメモリ１０４、ＤＭＡＣ１０５、ＬＡＮ制御部１０６、外部デバイス制御部１０８、入力装置１１８、表示装置１１９はいずれも、共通のバス１０２に接続されているが、バス１０２には割り込みコントローラ１１０も接続されている。以下では、この割り込みコントローラ１１０の構成について説明する。
【００２５】
割り込みコントローラ１１０には各ハードウェアモジュールからの割り込み信号が入力され、割り込みコントローラ１１０は状況に応じて割り込み処理を行ったり、この入力された割り込み信号をＣＰＵ１０３に転送したりする。
【００２６】
割り込みコントローラ１１０は、待受け動作状態と割込み信号処理状態の２つの動作状態を取り得る。「待受け動作状態」とは、割込み信号を待ち受けている状態である。「割込み信号処理状態」とは、受信した割込み信号に対する処理を行っている最中の状態である。待受け動作状態時に割込み信号を受信すると、割込み信号処理状態へ移行する。割込み信号処理状態で受信した割込み信号は、全てＣＰＵ１０３に転送される。受信した割込み信号に対する処理が完了すると、待受け動作状態へ移行する。
【００２７】
割り込み要因取得部１１１は、割り込みコントローラ１１０が受信した割り込み信号の送信元（ハードウェアモジュール）から、割り込みの要因（割り込み要因）を取得する。
【００２８】
割り込み処理実行部１１２は、割り込みコントローラ１１０が受信した割り込み信号に対応する割り込み要因（割り込み要因取得部１１１が取得した割り込み要因）に応じた割り込み処理を実行する。
【００２９】
処理決定部１１３は、割り込み要因取得部１１１が取得した割り込み要因が、後述する割り込み処理実行条件記憶部１１７に格納されている割り込み処理条件を満たすか否かを判断する。満たす場合には、割り込みコントローラ１１０が受信した割り込み信号に対応する割り込み要因（割り込み要因取得部１１１が取得した割り込み要因）に応じた割り込み処理を実行する、と判断する。一方、満たさない場合には、割り込みコントローラ１１０が受信した割り込み信号に対応する割り込み要因に応じた割り込み処理は実行せず、割り込みコントローラ１１０が受信した割り込み信号をＣＰＵ１０３に転送する、と判断する。
【００３０】
優先度設定記憶部１１４には、各ハードウェアモジュールからの割り込み信号に対する優先度が格納されている。優先度としては、例えば、数値が用いられる。数値が大きいほど優先度が高く、数値が小さいほど優先度は低い。割り込みコントローラ１１０は、複数のハードウェアモジュールから割り込み信号を受信すると、受信した割り込み信号を優先度が高い順に処理する。
【００３１】
割り込み要因アドレス記憶部１１５には、ハードウェアモジュールからの割り込み信号に対応する割り込み要因が格納されている、該ハードウェアモジュール内の割り込み要因レジスタ中のアドレスが格納されている。割り込み要因取得部１１１は、割り込みコントローラ１１０が受信した割り込み信号に対応する割り込み要因を取得すべく、該割り込み信号の送信元であるハードウェアモジュール内の割り込み要因レジスタにアクセスする。その際、割り込み要因取得部１１１は、この割り込み信号（ハードウェアモジュール）に対応するアドレスを割り込み要因アドレス記憶部１１５から取得し、該取得したアドレスにアクセスして、所望の割り込み要因を取得する。
【００３２】
割り込み処理方法記憶部１１６には、割込み要因ごとに、対応する割り込み処理の実行方法が格納されている。例えば、割り込みコントローラ１１０がＤＭＡＣ１０５から受信した割り込み信号に対応する割り込み要因が「データ転送完了の割込み通知」であるとする。このとき、対応する割り込み処理の実行方法とは、ＤＭＡＣ１０５のステータスレジスタ及び割り込み要因レジスタの更新を実行するプログラムである。
【００３３】
割り込み処理実行条件記憶部１１７には、割り込み処理の実行を許可する条件（割り込み処理実行条件）が格納されている。例えば、割込み処理実行条件には、各ハードウェアモジュールの割込み要因レジスタの読み出し値に応じて、処理を実行するか否かの条件が含まれている。
【００３４】
制御部１９９は、割り込みコントローラ１１０を構成する各部の動作制御を行う。
【００３５】
なお、記憶部１１４〜１１７のそれぞれに格納されているものとして上述した各情報はいずれも、情報処理装置１０１の起動時にＣＰＵ１０３がそれぞれの記憶部に格納する。また、図１では記憶部１１４〜１１７はいずれも割り込みコントローラ１１０内に備わっているものとしているが、割り込みコントローラ１１０外に設けてもよく、例えば、メインメモリ１０４内に設けても良いし、不図示のＲＯＭ内に設けても良い。
【００３６】
また、図１に示した各機能部のうち複数の機能部を１つの機能部にまとめても良いし、１つの機能部を複数の機能部に分けても良い。すなわち、以下に説明する処理を実現可能な構成であれば、如何なる構成を採用しても構わない。
【００３７】
次に、情報処理装置１０１の起動後に割り込みコントローラ１１０が行う処理について、同処理のフローチャートを示す図２を用いて説明する。なお、図２のフローチャートに従った処理の開始の時点では、割り込みコントローラ１１０の状態は、待ち受け動作状態である。
【００３８】
制御部１９９が、割り込み信号の受信を検知すると、処理はステップＳ２０２を介してステップＳ２０３に進み、制御部１９９は割り込みコントローラ１１０の状態を割り込み信号処理状態に移行する。なお、割り込みコントローラ１１０が割り込み信号処理状態である場合に、制御部１９９が割り込み信号の受信を検知すると、制御部１９９は、この割り込み信号をＣＰＵ１０３に転送する。一方、割り込み信号の受信を検知していない間は処理はステップＳ２０２で待機する。
【００３９】
ステップＳ２０４では、割り込み要因取得部１１１は先ず、ステップＳ２０２で受信を検知したそれぞれの割り込み信号のうち、まだＣＰＵ１０３に転送されていない割り込み信号の優先度を、優先度設定記憶部１１４から特定する。そして割り込み要因取得部１１１は、ステップＳ２０２で受信を検知したそれぞれの割り込み信号のうちまだＣＰＵ１０３に転送されていない割り込み信号の中から、最も高い優先度を有する割り込み信号を、対象割り込み信号として特定する。
【００４０】
なお、ステップＳ２０２で受信を検知した割り込み信号が１つである場合には、優先度設定記憶部１１４に格納されている優先度は参照せずに、この割り込み信号を対象割り込み信号とする。
【００４１】
そして、割り込み要因取得部１１１は、対象割り込み信号に対応するアドレスを、割り込み要因アドレス記憶部１１５から特定し、該特定したアドレスに格納されている、該対象割り込み信号に対応する割り込み要因を取得する。
【００４２】
次に、ステップＳ２０５では、処理決定部１１３は、ステップＳ２０４で割り込み要因取得部１１１が取得した割り込み要因が、割り込み処理実行条件記憶部１１７に格納されている割り込み処理実行条件を満たすか否かを判断する。この判断の結果、満たすと判断した場合には、処理はステップＳ２０６に進み、満たさないと判断した場合には、処理はステップＳ２１０に進む。
【００４３】
ステップＳ２０６では、制御部１９９は、ステップＳ２０２で受信を検知したそれぞれの割り込み信号のうち、まだＣＰＵ１０３に転送されていない割り込み信号（対象割り込み信号を除く）がまだ残っているか否かを判断する。この判断の結果、残っていれば処理はステップＳ２０７に進み、残っていなければ処理はステップＳ２０８に進む。
【００４４】
ステップＳ２０７では、制御部１９９は、ステップＳ２０２で受信を検知したそれぞれの割り込み信号のうち、まだＣＰＵ１０３に転送されていない割り込み信号（対象割り込み信号を除く）を、優先度の高い順に、ＣＰＵ１０３に対して転送する。
【００４５】
ステップＳ２０８では、割り込み処理実行部１１２は、対象割り込み信号に対応する割り込み要因（割り込み要因取得部１１１が取得した割り込み要因）と関連づけて割り込み処理方法記憶部１１６に格納されている割り込み処理方法を取得する。そして割り込み処理実行部１１２は、この取得した割り込み処理方法に従って割り込み処理を実行する。
【００４６】
一方、ステップＳ２１０では、制御部１９９は、対象割り込み信号を、ＣＰＵ１０３に対して転送する。そしてステップＳ２１１では、制御部１９９は、ステップＳ２０２で受信を検知したそれぞれの割り込み信号のうち、まだＣＰＵ１０３に転送されていない割り込み信号がまだ残っているか否かを判断する。この判断の結果、残っていれば処理はステップＳ２０４に戻り、残っていなければ処理はステップＳ２０９に進む。ステップＳ２０９では、制御部１９９は、割り込みコントローラ１１０の状態を、待ち受け動作状態に移行する。
【００４７】
次に、ＣＰＵ１０３と割り込みコントローラ１１０との間で行われる処理について、図３を用いて説明する。ここでは、外部デバイス制御部１０８はUSBホストコントローラであり、外部デバイス１０９は無線LANモジュールであるとする。そして、外部デバイス制御部１０８により外部デバイス１０９から受信したデータをメインメモリ１０４に格納するまでの動作例を説明する。
【００４８】
初期状態では、情報処理装置１０１は電源がOFFの状態である。そこに、例えばユーザからの電源スイッチ（入力装置１１８）の操作が行われることにより（ステップＳ３０１）、情報処理装置１０１が起動し、ＣＰＵ１０３はシステム起動処理に入る(ステップＳ３０２）。システム起動処理では、各ハードウェアモジュールの初期化が行われる。割り込みコントローラ１１０に対しては、初期設定が行われる（ステップＳ３０３）。具体的には、各割込み信号の割込み要因アドレス、割込み処理方法、割込み処理実行条件などが、対応する記憶部に設定される。ここで、以下では、割込み処理実行条件は、「外部デバイス１０９からの割込み信号がデータ受信を通知する割込み信号であること」とする。割り込みコントローラ１１０の制御部１９９は、ＣＰＵ１０３からの初期設定処理により、待ち受け動作状態に設定する（ステップＳ３０４）。
【００４９】
外部デバイス１０９が外部から無線通信によりデータを受信すると、このデータは外部デバイス１０９から外部デバイス制御部１０８に転送され、外部デバイス制御部１０８は割り込み信号を割り込みコントローラ１１０に対して送出する（ステップＳ３０５）。このとき、外部デバイス制御部１０８の割込み要因レジスタには、受信データが存在することを示すビットが立っている。
【００５０】
制御部１９９は、外部デバイス制御部１０８からの割り込み信号を検知すると、割り込みコントローラ１１０の状態を、待受け動作状態から割込み信号処理状態に移行する（ステップＳ３０６）。
【００５１】
ステップＳ３０８では、割り込みコントローラ１１０は、外部デバイス制御部１０８から受信した割り込み信号に対する処理を行う。ステップＳ３０８で行う割り込み処理については図２のステップＳ２０４〜Ｓ２０８，Ｓ２１０〜Ｓ２１１で説明したとおりである。すなわち、外部デバイス制御部１０８からの割り込み信号が「データ受信を通知する割込み信号」であれば、割り込み処理実行部１１２は、外部デバイス制御部１０８に対する割り込み処理を実行する。外部デバイス制御部１０８に対する割り込み処理には、外部デバイス制御部１０８に対する割込み要因レジスタの更新や、外部デバイス制御部１０８からＤＭＡＣ１０５に転送された受信データをメインメモリ１０４にＤＭＡ転送する命令処理などが含まれている。然るに、割り込み処理は、外部デバイス制御部１０８に対してだけでなく、ＤＭＡＣ１０５に対しても行うことになる。
【００５２】
このような割り込み処理方法は、外部デバイス制御部１０８の割込み要因レジスタに格納されている割り込み要因（受信データが存在することを示すビット）と共に、割り込み処理方法記憶部１１６に格納されている。
【００５３】
そして、ステップＳ３０９では、制御部１９９は、割り込みコントローラ１１０の状態を、割り込み信号処理状態から待ち受け動作状態に移行させる。
【００５４】
次に、ＤＭＡＣ１０５からＤＭＡ転送終了を通知する割込み信号が割り込みコントローラ１１０に対して送出される（ステップＳ３１０）。制御部１９９は、この割り込み信号を検知し、割り込みコントローラ１１０の状態を、待受け動作状態から割込み信号処理状態に移行する（ステップＳ３１１）。
【００５５】
ステップＳ３１２では、割り込みコントローラ１１０は、図２のステップＳ２０４〜Ｓ２０８，Ｓ２１０〜Ｓ２１１で説明した処理を行うことで、ＤＭＡＣ１０５から受信した割り込み信号に対する処理を行う。上記の通り、割り込み処理実行条件記憶部１１７に格納されている割り込み処理実行条件は「外部デバイス１０９からの割込み信号がデータ受信を通知する割込み信号であること」であり、ＤＭＡ転送終了を通知する割込み信号の割り込み要因はこれを満たさない。そのため、ＤＭＡＣ１０５から受信した割り込み信号はＣＰＵ１０３に転送される（ステップＳ３１３）。
【００５６】
ステップＳ３１４では、ＣＰＵ１０３は、割り込みコントローラ１１０からの割り込み信号を受け取ると、ＤＭＡＣ１０５に対して割り込み処理を行う。また、ステップＳ３１５では、制御部１９９は、割り込みコントローラ１１０の状態を、割り込み信号処理状態から待ち受け動作状態に移行させる。
【００５７】
このように、情報処理装置１０１が外部デバイス１０９が外部から受信したデータを取り扱う際、割り込みコントローラ１１０による上記動作により、ＣＰＵ１０３が行うべき割込み処理の回数を低減させることが出来る。
【００５８】
また、ＣＰＵ１０３と割り込みコントローラ１１０との間で行われる処理には、図４に示すような例も考え得る。ここでも、外部デバイス制御部１０８はUSBホストコントローラであり、外部デバイス１０９は無線LANモジュールであるとする。そして、外部デバイス制御部１０８により外部デバイス１０９から受信したデータをメインメモリ１０４に格納するまでの動作例を説明する。
【００５９】
ここでは、割り込み処理実行条件記憶部１１７には、割り込み処理実行条件として「外部デバイス１０９からの割込み信号がデータ受信を通知する割込み信号であること」が格納されているものとする。また、優先度設定記憶部１１４においては、外部デバイス制御部１０８からの割り込み信号に対する優先度よりも、入力装置１１８からの割り込み信号に対する優先度を高く設定しているものとする。例えば、外部デバイス制御部１０８に対する優先度が「１」である場合、入力装置１１８に対する優先度は「２」以上となっている。
【００６０】
図４では、図３におけるステップＳ３０１〜ステップＳ３０３における処理はすでに完了しているものとしており、割り込みコントローラ１１０は待ち受け動作状態にあるものとする（ステップＳ４０１）。
【００６１】
ここで、割り込みコントローラ１１０に対して入力装置１１８からの割り込み信号と外部デバイス制御部１０８からの割り込み信号がほぼ同時に入力されたとする（ステップＳ４０２，Ｓ４０３）。そして、外部デバイス制御部１０８からの割り込み信号が、データ受信割込みの信号であり、入力装置１１８からの割り込み信号が、例えばユーザによるボタン操作や文字入力の信号であるとする。
【００６２】
ステップＳ４０４では、制御部１９９は、割り込みコントローラ１１０の状態を、待ち受け動作状態から割り込み信号処理状態に移行させる。そしてステップＳ４０５では、外部デバイス制御部１０８よりも入力装置１１８の方が優先度が高いので、外部デバイス制御部１０８からの割り込み信号の割り込み要因よりも先に、入力装置１１８からの割り込み信号の割り込み要因を取得する。
【００６３】
ステップＳ４０６では、ステップＳ４０５で取得した割り込み要因が割り込み処理実行条件記憶部１１７内の割り込み処理実行条件を満たすか否かを判断する。ここでは、ステップＳ４０５で取得した割り込み要因が割り込み処理実行条件記憶部１１７内の割り込み処理実行条件を満していないので、入力装置１１８からの割り込み信号をＣＰＵ１０３に転送する（ステップＳ４０７）。ステップＳ４０８では、ＣＰＵ１０３は、割り込みコントローラ１１０からの割り込み信号を受け取ると、入力装置１１８に対して割り込み処理を行う。
【００６４】
ステップＳ４０９では、外部デバイス制御部１０８からの割り込み信号の割り込み要因を取得する。ステップＳ４１０では、ステップＳ４０９で取得した割り込み要因が割り込み処理実行条件記憶部１１７内の割り込み処理実行条件を満たすか否かを判断する。ここでは、ステップＳ４０９で取得した割り込み要因が割り込み処理実行条件記憶部１１７内の割り込み処理実行条件を満たすので、処理実行部１１２は、ステップＳ４１１において割り込み処理を実行する。
【００６５】
ここで、ステップＳ４１１の直後では、割り込みコントローラ１１０の状態は割り込み信号処理状態である。然るに、割り込みコントローラ１１０は、この状態でハードウェアモジュールから割り込み処理を受けても（ステップＳ４１２）、該割り込み信号はＣＰＵ１０３に転送する（ステップＳ４１３）。ステップＳ４１４では、ＣＰＵ１０３は、割り込みコントローラ１１０からの割り込み信号を受け取ると、割り込み処理を行う。また、ステップＳ４１５では、制御部１９９は、割り込みコントローラ１１０の状態を、割り込み信号処理状態から待ち受け動作状態に移行させる。
【００６６】
なお、ハードウェアモジュールから受けた割り込み信号をＣＰＵ１０３に転送する際に、ＣＰＵ１０３が既に他の割込み処理を実行中であるケースが考え得る。このよう場合には、割り込みコントローラ１１０は、ＣＰＵ１０３で実行中の割込み処理が完了したことを検知した後で割り込み信号をＣＰＵ１０３に転送する。
【００６７】
なお、上記の実施形態では、割り込みコントローラ１１０が割込み信号処理状態中に他の１以上の割込み信号の受信を検知した場合には、この割り込み信号を即座にＣＰＵ１０３に転送していた。しかし、この割り込み信号を割り込みコントローラ１１０内の不図示のバッファに格納しておき、割り込みコントローラ１１０が待ち受け動作状態になったときに、バッファ内の割り込み信号を割り込みコントローラ１１０に入力するようにしても構わない。
【００６８】
このように、割り込みコントローラ１１０が複数の割込み信号を同時に受信した場合においても、設定されている優先度設定に従い、一部の割込み処理をＣＰＵ１０３に代わって実行することが可能である。なお、上記の実施形態においては、初期設定時に割込み処理実行条件および優先度設定を行うものとしたが、システム動作中に変更しても良い。システム動作状態に応じた設定変更を行うことで、柔軟な動作が可能である。
【００６９】
また、上記の実施形態では、ハードウェアモジュールは情報処理装置１０１内（内部）に備わっているものとして説明したが、情報処理装置１０１の外部に備わっているものであっても良い。
【００７０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014219942.tif 000003
【図２】
2014219942.tif 000004
【図３】
2014219942.tif 000005
【図４】
2014219942.tif 000006