(57)【要約】【課題】ハードウェアの回路規模の増大と処理実行部の処理負担を抑え、多重割り込みにも対応した割り込み処理を有する情報処理装置等を提供する。【解決手段】情報処理装置１０は、複数の割り込み要求２０の優先度を保持する優先度設定レジスタ５１と現在優先度を保持する現在優先度レジスタ５２とＩＲＱ要求元の情報を保持する要求元情報レジスタ５３と割り込み制御部６０と処理実行部７０とを含み、割り込み制御部６０は、所定の基準を満たす割り込み要求２０をＩＲＱ要求元と判断し、ＩＲＱ要求元の優先度と固有識別番号を要求元情報レジスタ５３に書き込み、要求元情報レジスタ５３の優先度が現在優先度より高ければＩＲＱ３０を出力し、処理実行部７０は、ＩＲＱ３０を受け取ると要求元情報レジスタ５３に保持されたＩＲＱ要求元の固有識別番号に対応した処理を行う。【選択図】図１
2010122813.tif 000002
【特許請求の範囲】
【請求項１】
割り込み制御部と、
処理実行部と、
複数の割り込み要求の優先度を、前記割り込み要求に付された固有識別番号に対応させて保持する優先度設定レジスタと、
前記処理実行部によって設定された現在優先度を保持する現在優先度レジスタと、
ＩＲＱ要求元の固有識別番号を含む要求元情報を保持する要求元情報レジスタと、
を含み、
前記割り込み制御部は、
前記優先度設定レジスタの情報を参照し、前記処理実行部への割り込みを要求している割り込み要求の優先度に基づき前記ＩＲＱ要求元を判断し、前記要求元情報を前記要求元情報レジスタに書き込み、
前記ＩＲＱ要求元の優先度が前記現在優先度より高ければＩＲＱを出力し、
前記処理実行部は、
前記ＩＲＱを受け取ると前記要求元情報レジスタに保持された前記ＩＲＱ要求元の固有識別番号に対応した処理を行うことを特徴とする情報処理装置。
【請求項２】
請求項１において、
前記要求元情報は、
前記ＩＲＱ要求元の優先度を含み、
前記割り込み制御部は、
前記ＩＲＱ要求元の優先度を前記要求元情報レジスタに書き込むことを特徴とする情報処理装置。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記割り込み制御部は、
最も高い優先度をもつ割り込み要求を前記ＩＲＱ要求元と判断することを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記割り込み制御部は、
優先度に加えて固有識別番号に基づき前記ＩＲＱ要求元を判断することを特徴とする情報処理装置。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記処理実行部は、
前記ＩＲＱを受け取ると前記要求元情報レジスタに保持された前記ＩＲＱ要求元の優先度を前記現在優先度レジスタに書き込むことを特徴とする情報処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記処理実行部は、
前記ＩＲＱ要求元の固有識別番号に対応した処理の終了時に、当該処理を要求したＩＲＱを受け取る前に前記現在優先度レジスタに保持されていた過去優先度の値を、前記現在優先度レジスタに書き込むことを特徴とする情報処理装置。
【請求項７】
請求項６において、
前記処理実行部は、
前記現在優先度レジスタに保持されていた値の履歴情報を記憶し、前記履歴情報に基づいて前記過去優先度の値を前記現在優先度レジスタに書き込むことを特徴とする情報処理装置。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記処理実行部は、
前記優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を前記現在優先度レジスタに設定することを特徴とする情報処理装置。
【請求項９】
請求項１乃至８のいずれかに記載の情報処理装置を含む集積回路装置。
【請求項１０】
請求項９に記載の集積回路装置を含む電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、集積回路装置、電子機器等に関する。
【背景技術】
【０００２】
情報処理装置等に含まれる処理実行部に対する割込み処理においては、多数の割り込み要因が存在する一方で、処理実行部に対する割り込み要求信号(以下「ＩＲＱ」という)は１本しか存在しない場合があり得る。
【０００３】
このような場合、割り込み要求の状態に対応する割り込みフラグレジスタをソフトウェア（プログラム）によってチェックして、優先順位に従って割り込み処理を実行することで対処することができる。しかし、割り込み要因が多数存在する場合において、ソフトウェアのみによって割り込み要因を識別し更に優先順位を判別することは、割り込みに対する一連の処理に要する時間が増大するという問題を生じさせる。
【０００４】
このため処理時間の短縮を目的として、ハードウェア（割り込み制御部）によって割り込み要因や優先順位を判定することも行われている。しかし、割り込み要因の増加に伴い回路規模が増大するため、コスト面から一定の制約が生じる。
【０００５】
そこで、割り込み要因のうち優先順位の高い一部についてのみハードウェアによって判定処理を行う手法が提案されている（文献１参照）
【特許文献１】特開２００５−８５０５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、優先順位の高い一部の割り込み要求について処理のハードウェア化を行う場合には、割り込みに対する処理中に柔軟に優先度の設定を変更する等といった対応は困難となる。
【０００７】
本発明の目的は、上記課題に鑑みてなされたものである。本発明のいくつかの態様によれば、割り込み要因が多数存在する場合においてもハードウェアの回路規模の増大と処理実行部の処理負担（割り込み要因等の判断や割り込み要因別設定等に要する時間）を抑え、多重割り込みにも対応した柔軟な割り込み処理機能を有する情報処理装置、集積回路装置、電子機器等を提供することができる。
【課題を解決するための手段】
【０００８】
（１）本発明は、
情報処理装置であって、割り込み制御部と、処理実行部と、複数の割り込み要求の優先度を、前記割り込み要求に付された固有識別番号に対応させて保持する優先度設定レジスタと、前記処理実行部によって設定された現在優先度を保持する現在優先度レジスタと、ＩＲＱ要求元の固有識別番号を含む要求元情報を保持する要求元情報レジスタと、を含み、前記割り込み制御部は、前記優先度設定レジスタの情報を参照し、前記処理実行部への割り込みを要求している割り込み要求の優先度に基づき前記ＩＲＱ要求元を判断し、前記要求元情報を前記要求元情報レジスタに書き込み、前記ＩＲＱ要求元の優先度が前記現在優先度より高ければＩＲＱを出力し、前記処理実行部は、前記ＩＲＱを受け取ると前記要求元情報レジスタに保持された前記ＩＲＱ要求元の固有識別番号に対応した処理を行う。
【０００９】
本発明によれば、割り込み要因が多数存在する場合においてもハードウェアの回路規模の増大と処理実行部の処理負担を抑え、多重割り込みにも柔軟に対応することができる。
【００１０】
（２）この情報処理装置の要求元情報は、
前記ＩＲＱ要求元の優先度を含んでもよい。その場合、この情報処理装置の割り込み制御部は、前記ＩＲＱ要求元の優先度を前記要求元情報レジスタに書き込んでもよい。
【００１１】
（３）この情報処理装置の割り込み制御部は、
最も高い優先度をもつ割り込み要求を前記ＩＲＱ要求元と判断してもよい。
【００１２】
（４）この情報処理装置の割り込み制御部は、
優先度に加えて固有識別番号に基づき前記ＩＲＱ要求元を判断してもよい。
【００１３】
（５）この情報処理装置の処理実行部は、
前記ＩＲＱを受け取ると前記要求元情報レジスタに保持された前記ＩＲＱ要求元の優先度を前記現在優先度レジスタに書き込んでもよい。
【００１４】
（６）この情報処理装置の処理実行部は、
前記ＩＲＱ要求元の固有識別番号に対応した処理の終了時に、当該処理を要求したＩＲＱを受け取る前に前記現在優先度レジスタに保持されていた過去優先度の値を、前記現在優先度レジスタに書き込んでもよい。
【００１５】
（７）この情報処理装置の処理実行部は、
前記現在優先度レジスタに保持されていた値の履歴情報を記憶し、前記履歴情報に基づいて前記過去優先度の値を前記現在優先度レジスタに書き込んでもよい。
【００１６】
（８）この情報処理装置の処理実行部は、
前記優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を前記現在優先度レジスタに設定してもよい。
【００１７】
（９）本発明は、
上記いずれかに記載の情報処理装置を含む集積回路装置でもよい。
【００１８】
（１０）本発明は、
上記に記載の集積回路装置を含む電子機器でもよい。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を適用した実施の形態について図面を参照して説明する。ただし、本発明は以下の実施の形態に限定されるものではない。また、本発明に係る情報処理装置は、以下の実施の形態及び変形例を自由に組み合わせたものを含むものとする。
【００２０】
１．情報処理装置（集積回路装置）
図１は、本実施形態の情報処理装置の構成図である。情報処理装置１０は、集積回路装置に含まれる構成でもよい。
【００２１】
情報処理装置１０は、複数の割り込み要求２０の優先度を、割り込み要求２０に付された固有識別番号に対応させて保持する優先度設定レジスタ５１と、処理実行部７０によって設定された現在優先度を保持する現在優先度レジスタ５２と、ＩＲＱ要求元の固有識別番号を含む要求元情報を保持する要求元情報レジスタ５３と、割り込み制御部６０と、処理実行部７０と、を含む。説明の便宜上レジスタ５１〜５３を含む機能階層をレジスタ部５０とする。
【００２２】
割り込み要求２０は処理実行部７０に対する複数の割り込み要因からの割り込み要求であり、割り込み制御部６０に入力される。ＩＲＱ(Interrupt ReQuest)３０は、割り込み制御部６０から処理実行部７０に対して出力される。
【００２３】
レジスタ部５０は、複数の割り込み要求２０の個々に対する割り込み処理の許可／不許可設定を行うＩＲＱイネーブル設定レジスタ５４（図７（Ｄ）参照）を更に含んでいてもよい。なお、後述する実施例においては複数の割り込み要求２０はマスカブル（発生を禁止できる）割り込みを前提とするが、本発明においてはノンマスカブル（発生を禁止できない）割り込みが混在していてもよい。なお、レジスタ部５０は割り込み制御部６０に含まれていてもよいし、優先度設定レジスタ５１、現在優先度レジスタ５２、要求元情報レジスタ５３、ＩＲＱイネーブル設定レジスタ５４のうち一部が割り込み制御部６０に含まれていてもよい。
【００２４】
優先度設定レジスタ５１（図７（Ａ）参照）は、複数の割り込み要求２０の優先度（図７（Ａ）９０２参照）を、割り込み要求２０に付された固有識別番号（図７（Ａ）９０１参照）に対応させて保持するレジスタである。ここで、優先度は複数の割り込み要求２０に対する処理の優先順位を数値で表したものである。優先度は、後述する実施例のように数の大きい方が処理の優先順位が高いとしてもよいし、その逆でもよい。（以下の実施例の記載においては、大きい数の方を優先順位が高いものとする。）ここで、優先度の数（レベル）が複数の割り込み要求２０の数以上ある場合には、個々の割り込み要求に異なる優先度を与えることができるが、後述する現在優先度との比較処理や複数の割り込み要求間での比較処理等を行うハードウェアの回路規模が増大する。そこで、優先度の数は複数の割り込み要求２０の数以下を前提としてよい。例えば後述する実施例においては優先度の数は４である。ソフトウェアのみで優先度を判断する処理をする場合に比べるとハードウェアの回路規模は増大するが、その増加分が想定する許容範囲に収まるように優先度の数を選ぶことが可能である。つまり、複数の割り込み要求２０の数より小さな優先度の数を選ぶことで、割り込み要因の数の増大に伴うハードウェアの規模の増大を抑えることができる。
【００２５】
同じ優先度を持つ割り込み要求が複数発生した場合には、例えば後述するように割り込み要求に付された固有識別番号に基づいてＩＲＱ要求元を決定してもよい。固有識別番号は、複数の割り込み要求２０のそれぞれに付された固有の番号であり、特定の割り込み要求を他の割り込み要求と区別するために用いられる。固有識別番号として重複しない数字をそれぞれの割り込み要求に付してもよいし、重複しない文字や記号を用いてもよい。
【００２６】
現在優先度レジスタ５２（図７（Ｂ）参照）は、処理実行部７０によって設定された現在優先度（図７（Ｂ）９０３参照）を保持するレジスタである。ここで、現在優先度とは処理実行部７０が現在ＩＲＱ３０の発生を許可する優先度を示す。このレジスタに書き込まれる優先度は、優先度設定レジスタ５１の説明中で述べた内容と同一である。現在優先度レジスタ５２に保持された現在優先度は、割り込み制御部６０がＩＲＱ３０を出力するときに判断材料として用いられる。処理実行部７０は適宜、現在優先度レジスタ５２に保持された現在優先度を書き換えてもよい。処理実行部７０は現在優先度を指定することで間接的に割り込み制御部６０によるＩＲＱ３０の出力／抑制を制御できる。後述するように、例えば処理実行部７０が現在優先度レジスタ５２に「２」を書き込んでおけば、ＩＲＱ要求元の優先度が「３」以上の場合にＩＲＱ３０が発生し、優先度が「３」未満のＩＲＱ３０は抑制される（多重割り込み）。また、処理実行部７０は現在優先度レジスタ５２に、優先度設定レジスタ５１が保持する最も高い優先度の値を書き込むことで、優先度にかかわらずＩＲＱ３０を受け付けないようにしてもよい（多重割り込み禁止）。このように、処理実行部７０が現在優先度レジスタ５２に保持された現在優先度を書き換えることによって、多重割り込みにも柔軟に対応することができる。
【００２７】
要求元情報レジスタ５３（図７（Ｃ）参照）は、ＩＲＱ要求元の要求元情報を保持するレジスタである。前記要求元情報には少なくともＩＲＱ要求元の固有識別番号（図７（Ｃ）９０４参照）が含まれる。ここで、ＩＲＱ要求元の優先度は、優先度設定レジスタ５１から得ることもできるので前記要求元情報に含まれなくてもよい。しかし、後述する実施例のように、現在優先度を現在優先度レジスタ５２に書き込むときに、処理実行部７０がＩＲＱ要求元の優先度を参照する場合がある。このとき、処理実行部７０が固有識別番号を指標として優先度設定レジスタ５１から当該優先度を得るよりも、ＩＲＱ要求元の固有識別番号を得るときに同時に優先度も得られた方が処理実行部７０の処理負担は少なくて済む。したがって、要求元情報はＩＲＱ要求元の優先度を含み、割り込み制御部６０はＩＲＱ要求元の優先度（図７（Ｃ）９０５参照）も前記要求元情報レジスタに書き込んでもよい。（以下の記述においては、要求元情報はＩＲＱ要求元の優先度も含み、要求元情報レジスタ５３はＩＲＱ要求元の固有識別番号と優先度を含むとする。）ところで、ＩＲＱ要求元とは複数の割り込み要求２０の中で優先度（必要な場合には加えて固有識別番号）に基づき割り込み制御部６０によって判断される一の割り込み要求のことであり、ＩＲＱ３０の発生の直接要因を示す。割り込み制御部６０が要求元情報レジスタ５３に書き込みを行うため、処理実行部７０にとっては読み出し専用レジスタであってもよい。要求元情報レジスタ５３はＩＲＱ要求元の固有識別番号（図７（Ｃ）９０４参照）を保持しているので、処理実行部７０はＩＲＱ３０を受け取った後すぐに当該固有識別番号に対応した割り込み処理を行うことができる。また、処理実行部７０は優先順位を基準とした比較判定作業を行わなくてよいため、処理負担が軽減される。したがって、割り込みに対する一連の処理に要する時間が短縮される。
【００２８】
割り込み制御部６０は、優先度設定レジスタ５１の情報を参照して、処理実行部７０への割り込みを要求している割り込み要求２０の優先度に基づきＩＲＱ要求元を判断し、当該ＩＲＱ要求元の優先度と固有識別番号を要求元情報レジスタ５３に書き込み、当該要求元情報レジスタ５３の優先度が現在優先度より高ければＩＲＱ３０を出力する。
【００２９】
ＩＲＱ要求元の判断においては、処理実行部７０への割り込みを要求している複数の割り込み要求２０の中から優先度を用いる所定の基準を満たす割り込み要求をＩＲＱ要求元と決定してもよい。所定の基準とは、例えば最も高い優先度をもつこととしてもよい。所定の基準を満たす割り込み要求が複数ある場合には、さらに別の所定の基準を追加してもよい。例えば、複数の割り込み要求２０の各割り込み要求に付された固有識別番号を用いてＩＲＱ要求元を判断してもよい。後述する実施例のように固有識別番号を昇順に並べたときに先に現れる割り込み要求をＩＲＱ要求元と決定してもよいし、逆順でもよい。（以下の実施例の記載においては、優先度における所定の基準を満たす割り込み要求が複数ある場合には固有識別番号を昇順に並べたときに先に現れる方をＩＲＱ要求元と決定することとする。）
割り込み制御部６０は、決定されたＩＲＱ要求元の固有識別番号と優先度を要求元情報レジスタ５３に書き込む。ＩＲＱ要求元の優先度と固有識別番号は、ＩＲＱ要求元を判断する際に優先度設定レジスタ５１の情報により得られる。要求元情報レジスタ５３への書き込みのタイミングは、随時でもよいし、ＩＲＱ要求元が変更される度でもよいし、処理実行部７０からの指示に従ってもよい。
【００３０】
ＩＲＱ３０の出力は現在優先度（現在優先度レジスタ５２が保持）とＩＲＱ要求元の優先度（要求元情報レジスタ５３が保持）の比較によって決定される。例えば、ＩＲＱ要求元の優先度が現在優先度より高い場合にＩＲＱ３０を出力（発生）して優先度が同じか低い場合はＩＲＱ３０を抑制（不発生）するとしてよいし、ＩＲＱ要求元の優先度が現在優先度より高いか同じ場合にＩＲＱ３０を出力して優先度が低い場合はＩＲＱ３０を抑制するとしてもよい。（以下の実施例の記載においては、前者のようにＩＲＱ要求元の優先度が現在優先度より高い場合にＩＲＱ３０が出力されるとする。）
処理実行部７０は、ＩＲＱ３０を受け取ると要求元情報レジスタ５３に保持されたＩＲＱ要求元の固有識別番号に対応した処理を行う。処理実行部７０はＣＰＵ（Central Processing Unit）やＤＳＰ(Digital Signal Processor)でもよい。ＩＲＱ要求元の固有識別番号に対応した処理とは、例えば処理実行部７０がＣＰＵの場合には、ＩＲＱ３０を受け取ると割り込みベクタを参照し、識別されたＩＲＱ要求元の固有識別番号に応じたアドレスに分岐し、そこで割り込みサービスルーチンを実行し、元の処理に戻ることを指す。
【００３１】
２．ＩＲＱ発生判定方法
図２は、本実施の形態の情報処理装置におけるＩＲＱ発生判定方法を示した図である。ＩＲＱ発生判定においては、割り込み制御部６０は後述のＳ２０およびＳ３０の処理を行う。また、割り込み制御部６０は後述のＳ１０Ａ〜Ｓ１０Ｃの処理を行ってもよい。本実施の形態においては、ＩＲＱ要求元の判断において、優先度における所定の基準は最も高い優先度をもつことであってもよい。図１と同じ構成要素については同じ番号を付しており、説明は省略する。
【００３２】
割り込み要求２０Ａ、２０Ｂ、２０Ｃはそれぞれ異なった割り込み要因Ａ、要因Ｂ、要因Ｃから発せられる割り込み要求である。
【００３３】
本実施の形態においては、ＩＲＱイネーブル設定レジスタ５４を含んでいてもよい。ＩＲＱイネーブル設定レジスタ５４は割り込み要求２０Ａ、２０Ｂ、２０Ｃのそれぞれに対して割り込み発生の許可（Enable）または不許可（Disable）を指定できる（図７（Ｄ）９０７参照）。本実施の形態においては、割り込み要求２０Ａ、２０Ｂ、２０Ｃのそれぞれに対するＩＲＱイネーブル判定Ｓ１０Ａ、Ｓ１０Ｂ、Ｓ１０Ｃを行ってもよい。ＩＲＱイネーブル判定Ｓ１０Ａ、Ｓ１０Ｂ、Ｓ１０Ｃは、ＩＲＱイネーブル設定レジスタ５４からの割り込み発生の許可があれば後段のＩＲＱ要求元判定Ｓ２０に割り込み要求を伝え、割り込み発生が不許可であれば後段のＩＲＱ要求元判定Ｓ２０に割り込み要求は伝えない。図２の例では、ＩＲＱイネーブル判定Ｓ１０Ａ、Ｓ１０Ｂに対してはＩＲＱイネーブル設定レジスタ５４から割り込み発生の許可（Enable）があるので、要因Ａ割り込み要求２０Ａと要因Ｂ割り込み要求２０ＢがＩＲＱ要求元判定Ｓ２０に伝えられる。一方ＩＲＱイネーブル判定Ｓ１０ＣについてはＩＲＱイネーブル設定レジスタ５４からは割り込み発生不許可（Disable）となっているので、要因Ｃ割り込み要求２０ＣはマスクされてＩＲＱ要求元判定Ｓ２０には伝わらない。
【００３４】
本実施の形態においては、ＩＲＱ要求元判定Ｓ２０においてＩＲＱ要求元の判断を行ってもよい。ＩＲＱ要求元判定Ｓ２０は割り込み要求があった場合に、その割り込み要求の優先度を優先度設定レジスタ５１から受け取り、所定の基準に照らしてＩＲＱ要求元を判断する。図２の例では、優先度設定レジスタ５１から読み出された要因Ａ割り込み要求２０Ａの優先度（Ａ 優先度）と要因Ｂ割り込み要求２０Ｂの優先度（Ｂ 優先度）はそれぞれ「０」と「１」である。優先度は数値の大きい方を優先順位が高いとして、ＩＲＱ要求元判定Ｓ２０においてＩＲＱ要求元は要因Ｂ割り込み要求２０Ｂと判断される。
【００３５】
ＩＲＱ要求元判定Ｓ２０においてＩＲＱ要求元が判断された後、本実施の形態の情報処理装置にとって都合の良い時に要求元情報レジスタ５３のＩＲＱ要求元の優先度と固有識別番号が更新される。図２の例では、要求元情報レジスタ５３のＩＲＱ要求元の優先度はＩＲＱ要求元判定Ｓ２０の判断結果である「１」（Ｂ 優先度）に更新される。また、要求元情報レジスタ５３のＩＲＱ要求元の固有識別番号もＩＲＱ要求元判定Ｓ２０の判断結果である「Ｂ」に更新される。
【００３６】
本実施の形態においては、現在優先度判定Ｓ３０において、ＩＲＱ３０の出力／抑制（発生／不発生）の判断を行ってもよい。現在優先度判定Ｓ３０は要求元情報レジスタ５３からＩＲＱ要求元の優先度を受け取り、また、現在優先度レジスタ５２からは現在優先度を受け取り、これらを比較することでＩＲＱ３０の出力／抑制を判断する。図２の例では、ＩＲＱ要求元の優先度は「１」であり、現在優先度は「０」である。ＩＲＱ要求元の優先度が現在優先度よりも優先順位が高いので処理実行部７０に対してＩＲＱ３０が発生する。
【００３７】
３．優先度が同じ場合のＩＲＱ発生判定方法
図３は、本実施の形態の情報処理装置におけるＩＲＱ発生判定方法を示した図である。ＩＲＱ発生判定においては、割り込み制御部６０はＳ２０およびＳ３０の処理を行う。また、割り込み制御部６０はＳ１０Ａ〜Ｓ１０Ｃの処理を行ってもよい。本実施の形態においては、優先度に加えて固有識別番号に基づきＩＲＱ要求元を判断してもよい。図２と同じ構成要素については同じ番号を付しており、説明は省略する。
【００３８】
図３の例では、ＩＲＱイネーブル判定Ｓ１０Ａ、Ｓ１０Ｂ、Ｓ１０Ｃに対してはＩＲＱイネーブル設定レジスタ５４から割り込み発生の許可（Enable）があるので、要因Ａ割り込み要求２０Ａ、要因Ｂ割り込み要求２０Ｂ、要因Ｃ割り込み要求２０ＣがＩＲＱ要求元判定Ｓ２０に伝えられる。
【００３９】
ＩＲＱ要求元判定Ｓ２０は割り込み要求があった場合に、その割り込み要求の優先度を優先度設定レジスタ５１から受け取り、所定の基準に照らしてＩＲＱ要求元の判断する。ここで、前記所定の基準は最も高い優先度をもつことであるとすると、最も高い優先度をもつ割り込み要求が複数あった場合にはＩＲＱ要求元を決定できない。このとき、前記所定の基準に加えて、固有識別番号が別の所定の基準を満たす割り込み要求をＩＲＱ要求元としてもよい。固有識別番号における所定の基準とは、例えば固有識別番号を昇順に並べたときに先に現れる割り込み要求をＩＲＱ要求元と決定することでもよい。図３の例では、優先度設定レジスタ５１から読み出された要因Ａ割り込み要求２０Ａの優先度（Ａ 優先度）と要因Ｂ割り込み要求２０Ｂの優先度（Ｂ 優先度）および要因Ｃ割り込み要求２０Ｃの優先度（Ｃ 優先度）はそれぞれ「０」、「１」、「１」である。この場合、要因Ｂ割り込み要求２０Ｂの優先度と要因Ｃ割り込み要求２０Ｃの優先度は同じ優先度を持ち、ＩＲＱ要求元が一つに決まらない。ここで、固有識別番号について昇順に並べたときに先に現れる割り込み要求をＩＲＱ要求元とすると、要因Ｂ割り込み要求２０Ｂの固有識別番号「Ｂ」は要因Ｃ割り込み要求２０Ｃの固有識別番号「Ｃ」より先であるため、ＩＲＱ要求元は要因Ｂ割り込み要求２０Ｂと決定される。
【００４０】
現在優先度判定Ｓ３０については図２の場合と同じ判断が行われるが、図３の例では現在優先度レジスタ５２には現在優先度の値として１が保持されている。ＩＲＱ要求元の優先度は現在優先度より大きな値ではないため、ＩＲＱ３０は抑制されて処理実行部７０に対してＩＲＱ３０は発生しない。
【００４１】
４．多重割り込み
図４は、本実施の形態の情報処理装置における多重割り込みの制御例を示した図である。処理実行部は、本実施例のように多重割り込みの制御を行ってもよい。多重割り込みでは、ある割り込み要求の固有識別番号に対応した処理の最中に更に優先度の高い割り込み要求が発生したときには、優先度の高い割り込み要求の固有識別番号に対応した処理を開始する。本実施の形態においては、ＩＲＱを受け取ると要求元情報レジスタに保持されたＩＲＱ要求元の優先度を現在優先度レジスタに書き込んでもよい。また、本実施の形態においては、ＩＲＱ要求元の固有識別番号に対応した処理の終了時に、当該処理を要求したＩＲＱを受け取る前に現在優先度レジスタに保持されていた過去優先度の値を、現在優先度レジスタに書き込んでもよい。このとき、現在優先度レジスタに保持されていた値の履歴情報を記憶し、履歴情報に基づいて過去優先度の値を現在優先度レジスタに書き込んでもよい。また、情報処理装置の初期状態や割り込み要求がない状態などに、優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を現在優先度レジスタに設定してもよい。
【００４２】
ここで、本実施の形態においては、優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を「−１」（マイナス１）と表現する。これは実際の情報処理装置では、全てのビットが１である値（２の補数でのマイナス１）であってもよいし、優先度としては用いられないが表現可能な任意の数を割り当ててもよい。本実施の形態においては、要求元情報レジスタの優先度として「−１」が表示されているときは、割り込み要求が無い状態を示している。また、現在優先度レジスタに「−１」を書き込むときは、どの割り込み要求があった場合でもＩＲＱが発生する状態を示している。また、本実施の形態においては、割り込み要求が無い状態のときに要求元情報レジスタの固有識別番号としても「−１」が表示されてもよい。実際の情報処理装置での表現の仕方も優先度の場合と同様である。
【００４３】
図４の例においては、要因ＡからＤに起因する４つの割り込み要求があるとする。図４の上から４つの信号は、ＩＲＱ要求元の固有識別番号（Ａ、Ｂ、Ｃ、Ｄ）に対応した処理の実施状況を示している。また、それぞれの優先度は要因Ａ＝０、要因Ｂ＝１、要因Ｃ＝２、要因Ｄ＝３であるとする。そして、要求元情報レジスタ（固有識別番号と優先度で分離して図示）、現在優先度レジスタとＩＲＱの発生状態を示す信号が示されている。また、図４の例においては、割り込み要求が無い状態における要求元情報レジスタの固有識別番号については「−１」ではなく「Ｘ」で表現している。以下に多重割り込みが実行されている場面について説明する。
【００４４】
最初は現在優先度レジスタの値は全ての割り込み要求を受け付ける「−１」がセットされている（９５０）。また、要求元情報レジスタには何も割り込み要求がないことを示す、固有識別番号「Ｘ」と優先度「−１」がそれぞれ表示されている。
【００４５】
ここで、要因Ａ割り込み要求が発生すると要求元情報レジスタの値が、固有識別番号「Ａ」（９５１）と優先度「０」（９５２）に変化する。このとき、現在優先度レジスタの値は「−１」であるのでＩＲＱ要求元の優先度がより高くＩＲＱが発生（Ｉ１）する。ＩＲＱを受けて、処理実行部は要因Ａ割り込み要求に対応した処理を開始する。そして、現在処理中の要因Ａ（優先度「０」）より優先度が高い割り込み要求に限って受け付けるようにするため、処理実行部は現在優先度レジスタに「０」を書き込む（９５３）。
【００４６】
次に、優先度が現在処理中の要因Ａよりも高い、要因Ｂ割り込み要求が発生する。するとＩＲＱ（Ｉ２）が発生し、処理実行部は要因Ａ割り込み要求に対応した処理を中断して要因Ｂ割り込み要求に対応した処理を開始する（Ｊ１）。そして、現在処理中の要因Ｂ（優先度「１」）より優先度が高い割り込み要求に限って受け付けるようにするため、処理実行部は現在優先度レジスタに「１」を書き込む（９５４）。
【００４７】
優先度が現在処理中の要因Ｂよりも高い、要因Ｃ割り込み要求が発生した場合も同様であるし、その要因Ｃの割り込み要求に対応した処理中に、要因Ｄ割り込み要求が発生した場合も同様である（割り込み発生…Ｉ３、Ｉ４、割り込み処理の変化…Ｊ２、Ｊ３）。
【００４８】
このように、処理実行部がＩＲＱを受け取ると、要求元情報レジスタに保持されたＩＲＱ要求元の優先度を現在優先度レジスタに書き込んでいくだけで、簡単に、割り込み要求の優先度を考慮した多重割り込みが行える。
【００４９】
そして、優先度が最も高い要因Ｄの割り込み要求に対応した処理が、全ての要因の割り込み要求の中で最初に終了する。すると、要因Ｄの割り込み要求に対応した処理の前に実行されていた要因Ｃの割り込み要求に対応した処理が再開される（Ｊ４）。このとき、要因Ｄの割り込み要求により現在優先度は３になっている（９５５）。したがって、要因Ｃの割り込み要求に対応した処理（優先度＝２）が多重割り込みを許すように現在優先度を２にする必要がある。
【００５０】
この現在優先度に設定されるべき値は、終了した割り込み処理（要因Ｄに対応した処理）を要求したＩＲＱを受け取る前（要因Ｃに対応した処理の実行中）に現在優先度レジスタに保持されていた値（以下、「過去優先度」という）である。多重割り込みを許すようにするためには、処理実行部は、例えば要求元情報レジスタのＩＲＱ要求元の優先度の値を読み、現在優先度レジスタに再び書き込んでもよい（Ｗ１）。しかし、終了した割り込み処理（要因Ｄに対応した処理）を要求したＩＲＱを受け取る前（要因Ｃに対応した処理の実行中）の状態に完全に戻ることを保証するためには、前記過去優先度の値を多重割り込みの実行前に保存しておき、割り込み処理（要因Ｄに対応した処理）の終了時に前記過去優先度の値を現在優先度レジスタに書き込んでもよい（Ｗ２）。例えば、効率化のために、現在優先度レジスタの値を多重割り込みの実行の度にスタック領域に履歴情報を保存（プッシュ）しておき、割り込み処理の終了後にその情報を取り出（ポップ）して前記過去優先度の値を取得し、それを現在優先度レジスタに書き込むような機能を備えていてもよい。
【００５１】
そして、同様に要因Ｃの割り込み要求に対応した処理が終了すると、要因Ｂの割り込み要求に対応した処理が再開され（Ｊ５）、要因Ｂの割り込み要求に対応した処理が終了すると、要因Ａの割り込み要求に対応した処理が再開される（Ｊ６）。全ての割り込み要求に対応した処理が終了すると、要求元情報レジスタと現在優先度レジスタの値は初期の状態の戻る。
【００５２】
ここで、図４の例においてはＩＲＱ（Ｉ１〜Ｉ４）のパルス幅は現在優先度レジスタの値よりＩＲＱ要求元の優先度が高い状態の時間に連動しているが、処理実行部が認識できる範囲でより短い幅のパルスであってもよいし、多重割り込みが正しく実施される範囲でより長い幅のパルスであってもよい。
【００５３】
ところで、図８は現在優先度レジスタ等を持たない従来の情報処理装置１０１０の例である。この従来の情報処理装置１０１０で多重割り込みを実現するために、割り込み要求１０２０に対応した処理を開始する前に、ＩＲＱイネーブル設定レジスタ１０５４を各割り込み要因のすべてに対し設定する必要があった。また、その判断は処理実行部１０７０が行うため処理実行部１０７０の負担が大きく、結果として処理時間の低下につながっていた。本実施の形態の情報処理装置における多重割り込みの制御方法は、たとえネスティングが深くなった場合でも特別な判断処理を行うこともなく、現在優先度レジスタを書き換えるだけで対応できる。また、ＩＲＱ要求元の情報は要求元情報レジスタに保持されるため、処理実行部の負担は軽減される。よって、従来の情報処理装置に比べて有利に多重割り込みを実現できる。
【００５４】
５．多重割り込み禁止動作
図５は、本実施の形態の情報処理装置における多重割り込み禁止動作例を示した図である。処理実行部は、本実施例のように多重割り込み禁止動作を行ってもよい。本実施の形態においては、優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を現在優先度レジスタに設定してもよい。図４と同じ構成要素等については同じ表現を用いており、説明は省略する。
【００５５】
本実施の形態は、本願にかかる発明が多重割り込み制御への対応のみならず、多重割り込み禁止動作も対応することを示すものである。
【００５６】
図５の要因Ａ〜Ｄの割り込み要求は、優先度設定レジスタによって一律優先度を０と設定されている。ここで、値は必ずしも０でなくてよい。多重割り込み禁止動作の場合には、割り込み処理の途中では他の割り込み要求を受け付けられない。これを実現するには、最初の要因Ａ割り込み要求に起因するＩＲＱの発生（Ｉ１）の後に、処理実行部が現在優先度レジスタの値を０にするだけでよい。そして、当該処理の終了時に、現在優先度レジスタの値を「−１」に戻し、他の割り込み要求を受け付けるようにすればよい。以下、要因Ｂ〜Ｄの割り込み要求に対しても制御方法は同様である。
【００５７】
このように、多重割り込み禁止の場合でも、多重割り込みの場合と同様に現在優先度レジスタに対する書き込みによって割り込みを制御することができる。よって、本願にかかる発明では多重割り込みや多重割り込み禁止動作にも柔軟に対応することができる。
【００５８】
６．電子機器
以下、本発明を適用した電子機器について説明する。
【００５９】
図６は、本実施の形態の電子機器の構成図である。
【００６０】
電子機器１００は撮像素子２０１と、デコーダー（Decoder）２０２と、前処理装置３００と、情報処理装置１０と、後処理装置４００と、ＬＣＤコントローラー／ビデオデコーダー（Liquid Crystal Display Controller / Video Decoder）５００と、ディスプレイ６００と、記憶装置７００とを含んでいる。本実施の形態ではドライブレコーダーや監視カメラへの適用を想定しているが、他のアプリケーションにおいても適用される。
【００６１】
本実施の形態では、情報処理装置１０は、集積回路装置に含まれる構成でもよい。
【００６２】
撮像素子２０１は、例えばＮＴＳＣ方式、ＰＡＬ方式、または全画素読み出し方式の固体撮像素子であり、デコーダー２０２は、例えばＮＴＳＣ方式、ＰＡＬ方式に対応したビデオデコーダー（Video Decoder）である。この撮像素子２０１とデコーダー２０２が一体となったカメラモジュール２００を用いてもよいし、デコーダー２０２が不要な場合には省略してもよい。
【００６３】
前処理装置３００は画像データに対して前処理を行う装置である。例えば、システムクロックとの同期化装置や画像サイズの変換装置などがある。この前処理装置３００は、デコーダー２０２あるいはカメラモジュール２００の出力信号を受け取る。前処理装置３００が不要な場合には省略してもよい。
【００６４】
情報処理装置１０は、例えば図１〜図５、図７いずれかで説明した情報処理装置の構成をとることができる。この情報処理装置１０は、前処理装置３００の出力信号を受け取る。
【００６５】
後処理装置４００は画像データに対して後処理を行う装置である。例えば、画像フォーマットの変換装置やコントラスト補正装置などがある。この後処理装置４００は情報処理装置１０の出力信号を受け取る。後処理装置４００が不要な場合には省略してもよい。
【００６６】
ＬＣＤコントローラー／ビデオデコーダー５００は、ＬＣＤコントローラーまたはビデオデコーダーである。このＬＣＤコントローラー／ビデオデコーダー５００は、後処理装置４００からの出力信号を受け、ディスプレイ６００に適した信号に加工して出力する。このディスプレイ６００は、前記加工された信号を受け、画像データを表示する。
【００６７】
記憶装置７００は、例えば フラッシュメモリであり、情報処理装置１０が出力する静止画などを保存する。
【００６８】
なお、本発明は本実施の形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【００６９】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【図面の簡単な説明】
【００７０】
【図１】本発明に係る情報処理装置の一例を示すブロック図である。
【図２】本発明に係る情報処理装置のＩＲＱ発生判定方法の一例を示すブロック図である。
【図３】本発明に係る情報処理装置の、優先度に関する所定の基準を満たす複数の割り込み要求に対するＩＲＱ発生判定方法の一例を示すブロック図である。
【図４】本発明に係る情報処理装置の多重割り込みの制御方法の一例を示すブロック図である。
【図５】本発明に係る情報処理装置の多重割り込み禁止動作の一例を示すブロック図である。
【図６】本発明を適用した電子機器の一例を示すブロック図である。
【図７】図７（Ａ）〜（Ｄ）は、レジスタ部に含まれるレジスタの構成例を示すブロック図である。
【図８】従来の情報処理装置の一例を示すブロック図である。
【符号の説明】
【００７１】
１０，１０１０…情報処理装置（集積回路装置）、２０，２０Ａ，２０Ｂ，２０Ｃ，１０２０…割り込み要求、３０，１０３０…ＩＲＱ、５０，１０５０…レジスタ部、５１…優先度設定レジスタ、５２…現在優先度レジスタ、５３…要求元情報レジスタ、５４，１０５４…ＩＲＱイネーブル設定レジスタ、６０，１０６０…割り込み制御部、７０，１０７０…処理実行部、１００…電子機器、２００…カメラモジュール、２０１…撮像素子、２０２…デコーダー、３００…前処理装置、４００…後処理装置、５００…ＬＣＤコントローラー／ビデオデコーダー、６００…ディスプレイ、７００…記憶装置、９０１…優先度設定レジスタの固有識別番号、９０２…優先度設定レジスタの優先度、９０３…現在優先度レジスタの現在優先度、９０４…要求元情報レジスタの固有識別番号、９０５…要求元情報レジスタの優先度、９０６…ＩＲＱイネーブル設定レジスタの固有識別番号、９０７…ＩＲＱイネーブル設定レジスタのＩＲＱ許否信号
【図１】
2010122813.tif 000003
【図２】
2010122813.tif 000004
【図３】
2010122813.tif 000005
【図４】
2010122813.tif 000006
【図５】
2010122813.tif 000007
【図６】
2010122813.tif 000008
【図７】
2010122813.tif 000009
【図８】
2010122813.tif 000010