(57)【要約】【課題】ＣＰＵの動作速度と割込制御回路の動作速度との違いにより、ＣＰＵにおいて既に実行された割込処理が再度実行されることによる処理時間の浪費を防止すること。【解決手段】装置全体の動作を制御する演算装置に割込処理を要求する信号である割込要求信号を検知して割込処理を制御する割込制御装置であって、割込処理の要求を解除する信号である割込解除信号を検知すると、割込要求信号の検知を無効にする信号検知無効化部と、割込解除信号を検知すると、有効状態の割込要求信号を無効状態に変更する信号状態変更部と、有効状態の割込要求信号の無効状態への変更を検知すると、割込要求信号の検知を有効にする信号検知有効化部とを含むことを特徴とする。【選択図】図４
2016167221.tif 000002
【特許請求の範囲】
【請求項１】
装置全体の動作を制御する演算装置に割込処理を要求する信号である割込要求信号を検知して前記割込処理を制御する割込制御装置であって、
前記割込処理の要求を解除する信号である割込解除信号を検知すると、前記割込要求信号の検知を無効にする信号検知無効化部と、
前記割込解除信号を検知すると、有効状態の前記割込要求信号を無効状態に変更する信号状態変更部と、
前記有効状態の割込要求信号の無効状態への変更を検知すると、前記割込要求信号の検知を有効にする信号検知有効化部と
を含むことを特徴とする割込制御装置。
【請求項２】
前記割込処理を実行する要因が発生した際に生成される信号である複数の割込要因発生信号を並列して取得する割込要因発生信号取得部と、
取得された前記複数の割込要因発生信号それぞれに基づく複数の前記割込要求信号に従って、前記演算装置に前記割込処理を順次実行させる実行制御部と
を含むことを特徴とする請求項１に記載の割込制御装置。
【請求項３】
前記割込要因発生信号取得部は、前記演算装置による前記割込処理の実行中に新たな前記割込要因発生信号を取得し、
前記実行制御部は、前記新たな割込要因発生信号に基づく前記割込要求信号に従って、前記演算装置に前記割込処理をさらに実行させる
ことを特徴とする請求項２に記載の割込制御装置。
【請求項４】
前記割込処理を実行する要因の発生ごとに前記割込要求信号を生成する要因別信号生成部
を含み、
前記信号検知無効化部は、生成された前記割込要求信号ごとの前記割込解除信号を検知して、前記割込要求信号ごとに前記割込要求信号の検知を無効化し、
前記信号検知有効化部は、生成された前記割込要求信号ごとの前記無効状態への変更を検知して、前記割込要求信号ごとに前記割込要求信号の検知を有効化する
ことを特徴とする請求項１〜３のいずれか１項に記載の割込制御装置。
【請求項５】
生成された前記割込要求信号を１つずつ出力する要因別信号出力部と、
１つの前記割込解除信号を取得して、前記割込要求信号の生成状況に基づいて、取得した前記割込解除信号がいずれの前記割込要求信号を対象とするかを判別する割込要求信号判別部と
を含み、
前記信号検知無効化部は、判別された前記割込要求信号の検知を無効化する
ことを特徴とする請求項４に記載の割込制御装置。
【請求項６】
前記信号状態変更部は、前記割込処理を要求する装置である周辺装置と接続される回路である周辺回路上に構成され、
前記信号検知無効化部は、前記周辺回路から前記演算装置までの距離よりも前記演算装置と近い位置に配置される回路である割込制御回路上に構成され、
前記信号検知有効化部は、前記割込制御回路上に構成される
ことを特徴とする請求項１〜５のいずれか１項に記載の割込制御装置。
【請求項７】
装置全体の動作を制御する演算部と、前記演算部に割込処理を要求する信号である割込要求信号を検知して前記割込処理を制御する割込制御部とを備える情報処理装置であって、
前記割込制御部は、
前記割込処理の要求を解除する信号である割込解除信号を検知すると、前記割込要求信号の検知を無効にする信号検知無効化部と、
前記割込解除信号を検知すると、有効状態の前記割込要求信号を無効状態に変更する信号状態変更部と、
前記有効状態の割込要求信号の無効状態への変更を検知すると、前記割込要求信号の検知を有効にする信号検知有効化部と
を含む
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割込制御装置及び情報処理装置に関する。
【背景技術】
【０００２】
ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置に搭載されているＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、割込制御回路による制御に従って割込処理を行う。具体的には、ＣＰＵは、情報処理装置に接続されている周辺機器からの割込要求信号がアサートされると割込処理を実行する。また、ＣＰＵは、割込処理を実行すると割込解除信号をアサートし、割込制御回路は、割込解除信号がアサートされると割込要求信号をネゲートする。
【０００３】
割込制御回路において、連続して発生する複数の割込要因を適切に検知することを目的として、一つの割込要求に対する処理の終了が検知されると割込要求信号がネゲートされ、再度割込要求信号がアサートされることが知られている（例えば、特許文献１を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
割込制御回路の動作速度はＣＰＵと比べて低速であるので、ＣＰＵにおける処理時間に対して、割込制御回路において割込解除信号がアサートされてから割込要求信号をネゲートするまでには時間がかかる。そのため、ＣＰＵが割込処理を終了し次の割込処理を受け付け可能な状態になっても、割込制御回路における割込要求信号のネゲートが終了しておらず割込要求信号がアサートされたままの場合がある。
【０００５】
この場合、ＣＰＵは、割込要求信号がアサートされたままになっているため、既に実行された割込処理を再度実行して処理時間を浪費してしまう。特許文献１に開示された技術においては、既に実行された割込処理を再度実行することやＣＰＵにおける処理時間の浪費については考慮されていない。
【０００６】
本発明は、このような課題を解決するためになされたものであり、ＣＰＵの動作速度と割込制御回路の動作速度との違いにより、ＣＰＵにおいて既に実行された割込処理が再度実行されることによる処理時間の浪費を防止することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一態様は、装置全体の動作を制御する演算装置に割込処理を要求する信号である割込要求信号を検知して前記割込処理を制御する割込制御装置であって、前記割込処理の要求を解除する信号である割込解除信号を検知すると、前記割込要求信号の検知を無効にする信号検知無効化部と、前記割込解除信号を検知すると、有効状態の前記割込要求信号を無効状態に変更する信号状態変更部と、前記有効状態の割込要求信号の無効状態への変更を検知すると、前記割込要求信号の検知を有効にする信号検知有効化部とを含むことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＣＰＵの動作速度と割込制御回路の動作速度との違いにより、ＣＰＵにおいて既に実行された割込処理が再度実行されることによる処理時間の浪費を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る情報処理装置のハードウェア構成を例示するブロック図である。
【図２】本発明の実施形態に係る情報処理装置における割込処理の制御との比較のための従来の情報処理装置における割込処理の制御態様を例示する図である。
【図３】本発明の実施形態に係る情報処理装置における割込処理の制御態様を例示する図である。
【図４】本発明の第１の実施形態に係る割込制御回路の回路構成を例示する図である。
【図５】本発明の第１の実施形態に係る周辺回路の回路構成を例示する図である。
【図６】本発明の第１の実施形態に係るＣＰＵによる割込処理に関する動作を例示するフローチャートである。
【図７】本発明の第１の実施形態に係る周辺回路の回路構成を例示する図である。
【図８】本発明の第１の実施形態に係るＣＰＵによる割込処理に関する動作を例示するフローチャートである。
【図９】本発明の第１の実施形態に係る周辺回路の回路構成を例示する図である。
【図１０】本発明の第１の実施形態に係るＣＰＵによる割込処理に関する動作を例示するフローチャートである。
【図１１】本発明の第１の実施形態に係るＣＰＵによる割込処理に関する動作を例示するフローチャートである。
【図１２】本発明の第１の実施形態に係る情報処理装置における割込処理の制御態様を例示する図である。
【図１３】本発明の第２の実施形態に係る割込制御回路の回路構成を例示する図である。
【図１４】本発明の第２の実施形態に係る周辺回路の回路構成を例示する図である。
【図１５】本発明の第２の実施形態に係る情報処理装置における割込処理の制御態様を例示する図である。
【図１６】本発明の第２の実施形態に係る割込制御回路の回路構成を例示する図である。
【図１７】本発明の第２の実施形態に係るＣＰＵによる割込処理に関する動作を例示するフローチャートである。
【図１８】本発明の実施形態に係る情報処理装置の各ハードウェア構成の接続例を示す図である。
【発明を実施するための形態】
【００１０】
１．実施形態１
以下、図面を参照して、本発明の第１の実施形態を詳細に説明する。第１の実施形態においては、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置を例として、情報処理装置における割込処理に関する実施形態を説明する。
【００１１】
図１は、本実施形態に係る情報処理装置１のハードウェア構成を例示するブロック図である。図１に示すように、本実施形態に係る情報処理装置１は、一般的なサーバやＰＣ等と同様の構成を含む。
【００１２】
すなわち、本実施形態に係る情報処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０、Ｉ／Ｆ５０及び割込制御部２がバス８０を介して接続された構成である。
【００１３】
また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。また、割込制御部２は、割込制御回路１００及び周辺回路２００を含み、周辺回路２００には専用デバイス９０が接続されている。
【００１４】
ＣＰＵ１０は演算部であり、情報処理装置１全体の動作を制御する。すなわち、ＣＰＵ１０は、装置全体の動作を制御する演算装置として機能する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。なお、ＨＤＤの他、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の半導体記憶装置を用いても良い。
【００１５】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等とを接続し制御する。ＬＣＤ６０は、ユーザが情報処理装置１の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、キーボード、マウス、各種のハードボタン、タッチパネル等、ユーザが情報処理装置１に情報を入力するためのユーザインタフェースである。
【００１６】
専用デバイス９０は、情報処理装置１の機能を実現するために接続された専用の機構や装置等の周辺機器である。例えば、情報処理装置１がＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）としての画像処理装置である場合、専用デバイス９０には、画像形成出力やスキャンを実行する専用デバイスが含まれる。具体的には、例えば、専用デバイス９０には、画像形成出力対象の用紙を搬送する搬送機構や、紙面上に画像形成出力を実行するプロッタ装置、紙面上に出力された画像を読み取る読取装置等が含まれる。
【００１７】
割込制御部２は、ＣＰＵ１０による割込処理を制御する割込制御装置である。このような割込制御装置は、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）として構成される。割込処理を要求する周辺装置である専用デバイス９０からの割込処理を要求する信号が周辺回路２００に対して出力され、周辺回路２００及び割込制御回路１００は、割込処理の要求に応じてＣＰＵ１０を制御する。このような割込制御部２による割込処理の制御に関する処理が本実施形態に係る要旨の１つである。割込制御部２を構成する割込制御回路１００及び周辺回路２００の詳細は後述する。
【００１８】
ここで、本実施形態に係る情報処理装置１における割込処理の制御との比較のため、従来の情報処理装置における割込処理の制御を説明する。図２は、本実施形態に係る情報処理装置における割込処理の制御との比較のための従来の情報処理装置における割込処理の制御態様を例示する図である。図２において点線で示す矢印は、信号間の状態の依存関係や、信号の状態と割込処理との依存関係を示す。
【００１９】
図２に示すように、従来の情報処理装置においては、周辺機器からの割込処理を要求する信号（以降、「割込要求信号」とする）がアサートされる（有効状態になる）ことにより、ＣＰＵは正常な割込処理を開始する。ＣＰＵは、割込処理を実行すると、割込処理の要求を解除するコマンドを発行する。これにより、図２に示すように、Ａのタイミングで割込処理を解除する信号（以降、「割込解除信号」）がアサートされる。
【００２０】
一方、ＣＰＵは、図２に示すＢのタイミングで正常な割込処理を終了し、次の割込処理を受け付け可能な状態になる。しかしながら、割込処理を制御する割込制御装置の動作速度がＣＰＵに比べて低速である場合、Ｂより前のＡのタイミングで割込解除信号がアサートされたにも関わらず、Ｂより後のＣのタイミングで割込要求信号がネゲートされる（無効状態になる）場合がある。
【００２１】
この場合、割込処理を受け付け可能な状態となったＣＰＵは、割込要求信号がアサートされたままになっているため、既に実行された割込処理を誤って再度実行してしまう。この割込処理は、周辺機器から要求されていない無駄な割込処理（すなわち、異常な割込処理）であるので、ＣＰＵの処理時間を浪費することになる。本実施形態に係る要旨の１つは、このような異常な割込処理の実行を防止することにある。以下、本実施形態に係るこのような異常な割込処理の実行を防止する構成を説明する。
【００２２】
図３は、本実施形態に係る情報処理装置１における割込処理の制御態様を例示する図である。図３において点線で示す矢印は、信号間の状態の依存関係や、信号の状態と割込処理との依存関係を示す。図３に示すように、本実施形態に係る情報処理装置１において割込処理の制御に用いられる信号は、割込要求信号及び割込解除信号の他、内部割込要求信号、割込マスク信号及び割込解除応答信号である。なお、図３に示した各信号が入出力される回路構成の詳細は後述する。
【００２３】
割込要求信号（ＩＲＥＱｎ）は、図２に示した割込要求信号と同様に、周辺機器により割込処理を要求する信号であり、周辺回路２００においてアサートされて割込制御回路１００に出力される。割込解除信号（ＩＲＣＬＲｎ）は、図２に示した割込解除信号と同様に、割込処理の要求を解除する信号であり、ＣＰＵ１０からのコマンド発行によりアサートされて割込制御回路１００及び周辺回路２００に出力される。
【００２４】
内部割込要求信号（ＩＲＱ）は、割込要求信号がアサートされることにより割込制御回路１００内部においてアサートされる割込処理要求信号である。本実施形態においては、内部割込要求信号がアサートされると、ＣＰＵは正常な割込処理を開始する。
【００２５】
割込マスク信号（ＩＲＭ）は、割込解除信号がアサートされることにより、割込制御回路１００においてアサートされる。割込マスク信号がアサートされると、内部割込要求信号がネゲートされる。すなわち、割込マスク信号がアサートされている間は、割込制御回路１００における割込要求信号（ＩＲＥＱｎ）の検知が無効化（マスク）される。
【００２６】
図２を示して説明したように、割込解除信号がアサートされてから割込要求信号がネゲートされるまでに時間がかかる場合がある。しかしながら、割込マスク信号により内部割込要求信号がネゲートされることにより、割込要求信号（ＩＲＥＱｎ）がアサートされたままの場合であってもネゲートされていると認識される。
【００２７】
これにより、図３に示すように、ＣＰＵ１０が割込処理を終了し、次の割込処理を受け付け可能な状態になったＢのタイミングでは、内部割込要求信号がすでにネゲートされている。そのため、ＣＰＵ１０は、図２に示した場合と異なり、無駄な割込処理を開始するはない。
【００２８】
割込解除応答信号（ＩＲＥＱｎＡＣＫ）は、割込解除信号に対する応答信号であり、周辺回路２００において割込要求信号がネゲートされるとアサートされて、割込制御回路１００に出力される。割込解除応答信号がアサートされると、割込マスク信号はネゲートされて、割込制御回路１００における割込要求信号（ＩＲＥＱｎ）の検知が有効化（マスクが解除）される。
【００２９】
図３に示すように、割込マスク信号はＤのタイミングでネゲートされるが、このタイミングにおいては割込要求信号がすでにネゲートされているので、ＣＰＵ１０が無駄な割込処理を開始することはない。
【００３０】
次に、図３に示した各信号を入出力する割込制御回路１００及び周辺回路２００の回路構成を説明する。まず、本実施形態に係る割込制御回路１００の回路構成を説明する。図４は、本実施形態に係る割込制御回路１００の回路構成を例示する図である。図４に示すように、本実施形態に係る割込制御回路１００は、ＣＰＵＩ／Ｆ１０１、マスク信号制御部１０２、ローカルバスＩ／Ｆ１０３、ＮＯＴ回路１０４及びＡＮＤ回路１０５から構成される。
【００３１】
ＣＰＵＩ／Ｆ１０１は、割込制御回路１００とＣＰＵ１０とを接続して制御するインタフェースである。具体的には、ＣＰＵＩ／Ｆ１０１は、ＣＰＵ１０からの割込処理の要求を解除するコマンドにより、割込解除信号（ＩＲＣＬＲｎ）をアサートして、マスク信号制御部１０２及び周辺回路２００に出力する。また、ＣＰＵＩ／Ｆ１０１は、割込制御回路１００において出力される内部割込要求信号（ＩＲＱ）に従ってＣＰＵ１０に対して割込処理の要求を通知する。
【００３２】
ローカルバスＩ／Ｆ１０３は、割込制御回路１００と周辺回路２００とをローカルバスにより接続して制御するインタフェースである。また、ローカルバスＩ／Ｆ１０３は、ＣＰＵＩ／Ｆ１０１と接続され、周辺回路２００からの情報をＣＰＵＩ／Ｆ１０１を介してＣＰＵ１０に出力する。周辺回路２００とローカルバスＩ／Ｆ１０３との間でやりとりされる情報については、図５を参照して後述する。
【００３３】
マスク信号制御部１０２は、ＣＰＵＩ／Ｆ１０１によりアサートされた割込解除信号（ＩＲＣＬＲｎ）を検知すると、割込マスク信号（ＩＲＭ）をアサートしてＮＯＴ回路１０４に出力する。また、マスク信号制御部１０２は、周辺回路２００によりアサートされた割込解除応答信号（ＩＲＥＱｎＡＣＫ）を検知すると、割込マスク信号（ＩＲＭ）をネゲートしてＮＯＴ回路１０４に出力する。
【００３４】
ＮＯＴ回路１０４は、割込マスク信号（ＩＲＭ）を入力信号とし、ＡＮＤ回路１０５の入力信号として出力する。ＡＮＤ回路１０５は、ＮＯＴ回路１０４から出力された割込マスク信号及び周辺回路２００から出力された割込要求信号（ＩＲＥＱｎ）を入力信号とし、内部割込要求信号（ＩＲＱ）を出力信号とする。
【００３５】
すなわち、割込マスク信号（ＩＲＭ）がアサートされた場合、ＮＯＴ回路１０４には、Ｈレベルの信号（以降、「Ｈ信号」とする）が入力されてＬレベルの信号（以降、「Ｌ信号」とする）が出力される。そのため、割込マスク信号がアサートされている場合、ＡＮＤ回路１０５にはＬ信号が入力されるので、割込要求信号（ＩＲＥＱｎ）がアサートされているか否かに関わらず、Ｌ信号の内部割込要求信号（ＩＲＱ）が出力される。
【００３６】
換言すると、割込マスク信号（ＩＲＭ）がアサートされている間は、図３を示して説明したように、割込要求信号（ＩＲＥＱｎ）の検知がマスクされて無効化された状態になる。すなわち、マスク信号制御部１０２、ＮＯＴ回路１０４及びＡＮＤ回路１０５は、割込解除信号を検知すると、割込要求信号の検知を無効にする信号検知無効化部として機能する。
【００３７】
一方、割込マスク信号（ＩＲＭ）がネゲートされている場合、ＡＮＤ回路１０５にはＨ信号が入力されるので、割込要求信号（ＩＲＥＱｎ）の信号状態に応じて、内部割込要求信号（ＩＲＱ）の信号状態が変化する。すなわち、割込解除応答信号（ＩＲＥＱｎＡＣＫ）が検知されて割込マスク信号がネゲートされている場合、割込要求信号の検知が有効化された状態である。
【００３８】
すなわち、マスク信号制御部１０２、ＮＯＴ回路１０４及びＡＮＤ回路１０５は、有効状態の割込要求信号の無効状態への変更を検知すると、割込要求信号の検知を有効にする信号検知有効化部として機能する。割込要求信号（ＩＲＥＱｎ）の検知が有効化された状態になり、割込要求信号（ＩＲＥＱｎ）がアサートされると、内部割込要求信号（ＩＲＱ）もアサートされ、ＣＰＵ１０は割込処理を開始する。
【００３９】
次に、本実施形態に係る周辺回路２００の回路構成を説明する。図５は、本実施形態に係る周辺回路２００の回路構成を例示する図である。図５に示すように、本実施形態に係る周辺回路２００は、割込要因発生部２０１、許可信号生成部２０２、ラッチ回路２０３、ステータス通知部２０４、ローカルバスＩ／Ｆ２０５、応答コマンド生成部２０６、応答信号生成部２０７及びＡＮＤ回路２０８から構成される。
【００４０】
割込要因発生部２０１は、情報処理装置１に接続されている専用デバイス９０（例えば、スキャナやプロッタ等）による割込要因を検知すると、割込要因発生信号（Ｉｒｅｑ）をアサートしてＡＮＤ回路２０８の入力信号として出力する。割込要因発生信号がアサートされている場合、割込要因が検知されたこをと示す。
【００４１】
許可信号生成部２０２は、割込を許可する信号（以降、「割込許可信号（Ｉｅｎ）」とする）をＡＮＤ回路２０８の入力信号として出力する。ＡＮＤ回路２０８は、割込要因発生信号（Ｉｒｅｑ）及び割込許可信号（Ｉｅｎ）を入力信号とし、ステータスを示す信号（以降、「ステータス信号（Ｉｓｔｔ）」とする）を出力信号とする。ステータス信号がアサートされている場合、割込処理を要求している状態であることを示す。
【００４２】
ラッチ回路２０３は、ＡＮＤ回路２０８から出力されたステータス信号をラッチし、ステータス信号（Ｉｓｔｔ）がアサートされている場合、割込要求信号（ＩＲＥＱｎ）をアサートして割込制御回路１００に出力する。
【００４３】
ステータス通知部２０４は、ＡＮＤ回路２０８から出力されたステータス信号（Ｉｓｔｔ）をステータス情報としてローカルバスＩ／Ｆ２０５に出力する。ローカルバスＩ／Ｆ２０５は、周辺回路２００と割込制御回路１００のローカルバスＩ／Ｆ１０３とをローカルバスにより接続して制御するインタフェースである。
【００４４】
ステータス通知部２０４から入力されたステータス情報は、ローカルバスＩ／Ｆ２０５からさらに割込制御回路１００のローカルバスＩ／Ｆ１０３を介してＣＰＵ１０に出力される。ステータス情報が入力されたＣＰＵ１０の動作の詳細は図６を参照して後述する。
【００４５】
また、ローカルバスＩ／Ｆ２０５は、ローカルバスＩ／Ｆ１０３から入力された応答コマンドの生成要求を応答コマンド生成部２０６に出力する。応答コマンドは、割込解除信号（ＩＲＣＬＲｎ）に対する応答処理を要求する信号（Ｉａｃｋ）である。応答コマンドの生成要求は、ＣＰＵ１０からローカルバス１０３を介して入力される。応答コマンドの生成要求を出力するＣＰＵ１０の動作の詳細は図６を参照して後述する。
【００４６】
応答コマンド生成部２０６は、ローカルバスＩ／Ｆ２０５を介して入力された生成要求に応じて応答コマンドを生成して割込要因発生部２０１に対して出力する。割込要因発生部２０１は、応答コマンドが入力されると、割込要因発生信号（Ｉｒｅｑ）をネゲートし、ＡＮＤ回路２０８の入力信号として出力する。
【００４７】
応答信号生成部２０７は、ＡＮＤ回路２０８から出力されたステータス信号及び割込制御回路１００から入力される割込解除信号（ＩＲＣＬＲｎ）に基づいて、割込解除応答信号（ＩＲＥＱｎＡＣＫ）を割込制御回路１００に出力する。具体的には、応答信号生成部２０７は、ＡＮＤ回路２０８から出力されたステータス信号を反転した信号及び割込解除信号を入力信号としたＡＮＤ回路である。
【００４８】
例えば、応答信号生成部２０７は、アサートされた割込解除信号（ＩＲＣＬＲｎ）が入力された場合に、割込要因発生部２０１において割込要因発生信号（Ｉｒｅｑ）がネゲートされていると、割込解除応答信号（ＩＲＥＱｎＡＣＫ）をアサートする。
【００４９】
次に、ＣＰＵ１０の割込処理に関する動作を説明する。図６は、ＣＰＵ１０による割込処理に関する動作を例示するフローチャートである。なお、図６に示したＣＰＵ１０による動作においては、割込許可信号（Ｉｅｎ）がアサートされている状態であるとする。図６に示すように、ＣＰＵ１０は、内部割込要求信号（ＩＲＱ）がＣＰＵＩ／Ｆ１０１を介して入力されると、ステータス通知部２０４からローカルバスを介して入力されたステータス信号を取得する（Ｓ６０１）。
【００５０】
ステータス信号を取得したＣＰＵ１０は、取得したステータス信号がアサートされているか否かを判定する（Ｓ６０２）。ステータス信号がアサートされている場合（Ｓ６０２／ＹＥＳ）、ＣＰＵ１０は、割込処理を実行する（Ｓ６０３）。割込処理を実行したＣＰＵ１０は、ローカルバスを介して応答コマンド生成要求を出力する（Ｓ６０４）。
【００５１】
応答コマンド生成要求を出力したＣＰＵ１０は、割込解除信号（ＩＲＣＬＲｎ）をアサートして割込制御回路１００及び周辺回路２００に出力する（Ｓ６０５）。一方、ステータス信号がアサートされていない場合（Ｓ６０２／ＮＯ）、ＣＰＵ１０は、エラー処理を実行し（Ｓ６０６）、割込解除信号をアサートして割込制御回路１００及び周辺回路２００に出力する（Ｓ６０５）。この場合、内部割込要求信号（ＩＲＱ）が入力されているにも関わらず、ステータス信号では割込要求がされてない状態であり、矛盾が生じているためである。
【００５２】
以上説明したように、本実施形態に係る情報処理装置１においては、割込解除信号がアサートされると、まず割込要求信号の検知が無効化される。そして、割込解除信号がアサートされたことにより割込要求信号がネゲートされると、割込要求信号の検知が有効化される。これにより、割込解除信号がアサートされてから割込要求信号がネゲートされるまでに遅延が生じる場合であっても、割込要求信号が検知されないので、ＣＰＵ１０は既に実行された割込処理を再度実行することはない。そのため、本実施形態によれば、ＣＰＵの動作速度と割込制御回路の動作速度との違いにより、ＣＰＵにおいて既に実行された割込処理が再度実行されることによる処理時間の浪費を防止することが可能になる。
【００５３】
なお、上記実施形態において、ＣＰＵ１０は、応答コマンド生成要求及び割込解除信号を出力する場合を例として説明した。応答コマンドはローカルバスにより応答コマンド生成部２０６に入力されて、応答コマンド生成部２０６により生成された応答コマンドにより割込要因発生信号（Ｉｒｅｑ）がネゲートされる。その他、ＣＰＵ１０は、割込解除信号のみを出力してもよい。この場合、割込解除信号（ＩＲＣＬＲｎ）は、応答コマンド（Ｉａｃｋ）の役割を兼ねる。
【００５４】
図７は、割込解除信号が応答コマンドを兼ねる場合の周辺回路２００の回路構成を例示する図である。図７に示すように、本実施形態に係る周辺回路２００は、図５に示した周辺回路２００の構成から応答コマンド生成部２０６が除かれた構成である。また、図７に示すように、割込制御回路１００から入力される割込解除信号（ＩＲＣＬＲｎ）が割込要因発生部２０１に応答コマンド（Ｉａｃｋ）として出力される。
【００５５】
すなわち、割込要因発生部２０１は、アサートされた割込解除信号（ＩＲＣＬＲｎ）が応答コマンド（Ｉａｃｋ）として入力された場合に、割込要因発生信号（Ｉｒｅｑ）をネゲートする。これにより、ラッチ回路２０３からネゲートされた割込要求信号が出力される。すなわち、割込要因発生部２０１は、割込解除信号を検知すると、有効状態の割込要求信号を無効状態に変更する信号状態変更部として機能する。
【００５６】
図８は、割込解除信号が応答コマンドを兼ねる場合のＣＰＵ１０による割込処理の動作を例示するフローチャートである。図８に示すように、ＣＰＵ１０は、Ｓ８０１からＳ８０３において、図６に示したＳ０６０１からＳ６０３の処理と同様の処理を実行する。割込処理を実行したＣＰＵ１０は、応答コマンド生成要求を出力することなく、割込解除信号をアサートして、割込制御回路１００に出力する（Ｓ８０４）。一方、ＣＰＵ１０は、Ｓ８０５において図６に示したＳ６０６と同様な処理を実行する。
【００５７】
このような構成により、割込解除信号及び応答コマンドの役割を割込解除信号により共通化することができるので、応答コマンド生成部２０６として機能する回路が不要になり、周辺回路の回路規模を縮小することができる。また、このような構成により、応答コマンドの生成要求が周辺回路２００に別途出力されることがないので、情報処理装置１におけるデータの送受信負荷を軽減することができる。
【００５８】
また、上記実施形態における周辺回路２００は、１つの割込要因が順次発生する場合を例として説明した。しかしながら、割込要因は複数が並列して発生する場合もあり得る。図９は、複数の割込要因が並列して発生する場合を考慮した周辺回路２００の回路構成を例示する図である。
【００５９】
図９に示すように、周辺回路２００は、図５に示した周辺回路２００の構成にＡＮＤ回路２０８−ｍ及びＯＲ回路２０９が追加された構成である。なお、図９においては、図５に示したＡＮＤ回路２０８をＡＮＤ回路２０８−０としている。以降、図５に示した構成と異なる構成のみを説明し、それ以外の構成の説明は省略する。
【００６０】
ＡＮＤ回路２０８−ｍは、ＡＮＤ回路２０８−０に入力される割込要因発生信号（以降、「Ｉｒｅｑ（０）」とする）とは別の割込要因発生信号（以降、「Ｉｒｅｑ（ｍ）」とする）を入力信号とする。また、ＡＮＤ回路２０８−ｍは、ＡＮＤ回路２０８−０に入力される割込許可信号（以降、「Ｉｅｎ（０）」とする）とは別の割込許可信号（以降、「Ｉｅｎ（ｍ）」とする）を入力信号とする。そして、ＡＮＤ回路２０８−ｍは、ＡＮＤ回路２０８−０から出力されるステータス信号（以降、「Ｉｓｔｔ（０）」とする）とは別のステータス信号（以降、「Ｉｓｔｔ（ｍ）」とする）を出力信号とする。すなわち、ＡＮＤ回路２０８−０とＡＮＤ回路２０８−ｍとは同様の機能を有する。
【００６１】
なお、図９に示した場合においては、説明の明確化のため、周辺回路２００に２つのＡＮＤ回路２０８−０、２０８−ｍが含まれる場合を例として説明しているが、３つ以上のＡＮＤ回路が含まれる構成であってもよい。ＡＮＤ回路の数は、並列して発生し得る割込要因発生信号に数に基づいて予め設定されているものとする。すなわち、ＡＮＤ回路２０８−０及び２０８−ｍは、複数の割込要因発生信号を並列して取得する割込要因発生信号取得部として機能する。
【００６２】
ＯＲ回路２０９は、ＡＮＤ回路２０８−０、２０８−ｍの出力信号であるステータス信号Ｉｓｔｔ（０）及びＩｓｔｔ（ｍ）を入力信号とする。すなわち、ＯＲ回路２０９の出力信号は、ステータス信号のいずれか１つ以上がアサートされている（Ｈ信号である）場合、Ｈ信号であり、ステータス信号がすべてネゲートされた（Ｌ信号である）場合、Ｌ信号である。なお、ＯＲ回路２０９の出力信号は、図５に示した構成におけるステータス信号Ｉｓｔｔと同様である。
【００６３】
ステータス通知部２０４は、アサートされた複数のステータス信号Ｉｓｔｔ（０）及びＩｓｔｔ（ｍ）を、ローカルバスＩ／Ｆ２０５及びローカルバスＩ／Ｆ１０３を介してＣＰＵ１０に出力する。
【００６４】
応答コマンド生成部２０６は、各割込要因発生信号（Ｉｒｅｑ（０）、Ｉｒｅｑ（ｍ））に対する各割込処理要求の解除要求への応答コマンドＩａｃｋ（０）及びＩａｃｋ（ｍ）を生成して割込要因発生部２０１に出力する。なお、Ｉａｃｋ（０）は、Ｉｒｅｑ（０）に対する割込解除信号への応答コマンドであり、Ｉａｃｋ（ｍ）は、Ｉｒｅｑ（ｍ）に対する割込解除信号への応答コマンドである。
【００６５】
割込要因発生部２０１は、応答コマンドＩａｃｋ（０）が入力されると、割込要因発生信号Ｉｒｅｑ（０）をネゲートし、ＡＮＤ回路２０８−０の入力信号として出力する。また、割込要因発生部２０１は、応答コマンドＩａｃｋ（ｍ）が入力されると、割込要因発生信号Ｉｒｅｑ（ｍ）をネゲートし、ＡＮＤ回路２０８−ｍの入力信号として出力する。
【００６６】
図１０は、複数の割込要因が発生する場合を考慮した構成におけるＣＰＵ１０による割込処理の動作を例示するフローチャートである。なお、図１０に示したＣＰＵ１０による動作においては、各割込許可信号（Ｉｅｎ（０）、Ｉｅｎ（ｍ））がアサートされている状態であるとする。
【００６７】
図１０に示すように、ＣＰＵ１０は、ステータス通知部２０４から入力された複数のアサートされたステータス信号（例えば、Ｉｓｔｔ（０）、Ｉｓｔｔ（ｍ））を取得する（Ｓ１００１）。複数のステータス信号を取得したＣＰＵ１０は、１つの割込処理要求に対する割込処理を実行する（Ｓ１００２）。すなわち、ＣＰＵ１０は、取得した複数のステータス信号のうちのいずれか１つに対応する割込処理を実行する。
【００６８】
割込処理を実行したＣＰＵ１０は、ローカルバスを介して応答コマンド生成要求を出力する（Ｓ１００３）。応答コマンド生成要求を出力したＣＰＵ１０は、取得したすべてのステータス信号に対する割込処理が完了したか否かを判定する（Ｓ１００４）。すべての割込処理が完了していない場合（Ｓ１００４／ＮＯ）、ＣＰＵ１０は、未完了の割込処理を実行する（Ｓ１００２）。すなわち、ステータス通知部２０４、ＯＲ回路２０９、ラッチ回路２０３及び割込制御回路１００は、複数の割込要因発生信号それぞれに基づく複数の割込要求信号に従って、ＣＰＵ１０に割込処理を順次実行させる実行制御部として機能する。
【００６９】
一方、すべての割込処理が完了している場合（Ｓ１００４／ＹＥＳ）、ＣＰＵ１０は、ステータス通知部２０４からアサートされたステータス信号が新たに入力されているか否かを判定する（Ｓ１００５）。すなわち、ＣＰＵ１０は、割込処理の実行中に周辺回路２００において新たな割込要因が発生していずれかのステータス信号が更新されたか否かを判定する。
【００７０】
ステータス信号が新たに入力されている場合（Ｓ１００５／ＹＥＳ）、ＣＰＵ１０は、新たなステータス信号を取得して（Ｓ１００１）、以降の処理を繰り返す。一方、ステータス信号が新たに入力されていない場合（Ｓ１００５／ＮＯ）、ＣＰＵ１０は、割込解除信号をアサートして割込制御回路１００及び周辺回路２００に出力する（Ｓ１００６）。
【００７１】
このような構成により、複数の割込要因が並列して発生する場合であっても、ＣＰＵ１０は、これらの割込要因に対する割込処理を順次実行することが可能になる。
【００７２】
なお、図１０に示した実施形態においては、ＣＰＵ１０による割込処理の実行中に新たな割込処理が要求された場合、ＣＰＵ１０は新たな割込処理要求に対する割込処理も実行する構成とした。しかしながら、この構成は必須ではなく、ＣＰＵ１０による割込処理の実行中に新たな割込処理を受け付けない構成としてもよい。
【００７３】
図１１は、新たな割込処理を受け付けない場合のＣＰＵ１０による割込処理の動作を例示するフローチャートである。図１１に示すように、ＣＰＵ１０は、Ｓ１１０１からＳ１１０３において、Ｓ１００１からＳ１００３の処理と同様な処理を行う。応答コマンド生成要求を出力したＣＰＵ１０は、取得したすべてのステータス信号に対する割込処理が完了したか否かを判定する（Ｓ１１０４）。
【００７４】
すべての割込処理が完了していない場合（Ｓ１１０４／ＮＯ）、ＣＰＵ１０は、未完了の割込処理を実行する（Ｓ１１０２）。一方、すべての割込処理が完了している場合（Ｓ１１０４／ＹＥＳ）、ＣＰＵ１０は、図１０に示したＳ１００５の処理を行うことなく、割込解除信号をアサートして割込制御回路１００及び周辺回路２００に出力する（Ｓ１１０５）。
【００７５】
図１０に示した構成によれば、割込処理中に新たに要求された割込処理にも対応できる一方で、割込処理に必要な時間が長くなる場合がある。一方、図１１に示した構成によれば、割込処理中に新たな割込処理要求を受け付けないので、割込処理時間が長くなりすぎることを防止することができる。
【００７６】
２．実施形態２
次に、本発明の第２の実施形態を説明する。第１の実施形態においては、割込マスク信号がアサートされている間、割込要求信号の検知を無効化するので、新たな割込処理要求を検知することができない。そのため、ＣＰＵ１０による新たな割込処理の開始が遅れる場合がある。
【００７７】
図１２は、第１の実施形態に係る情報処理装置１において新たな割込処理が要求される場合の割込処理の制御態様を例示する図である。図１２に示すように、周辺回路２００において、１つ目の割込要因発生信号（以降、「Ｉｒｅｑ０」とする）がアサートされると、図３に示した場合と同様の制御により、ＣＰＵ１０は、割込要因発生信号Ｉｒｅｑ０に対する割込処理を実行する。
【００７８】
そして、図１２に示すように、２つ目の割込要因発生信号（以降、「Ｉｒｅｑ１」とする）がアサートされている。割込要因発生信号Ｉｒｅｑ１は、実際には、割込マスク信号がアサートされているＡのタイミングからＤのタイミングまでの間にアサートされている。しかしながら、第１の実施形態においては、割込マスク信号がアサートされている間、割込要求信号が検知されないため、割込制御回路１００において、割込要因発生信号Ｉｒｅｑ１は、割込マスク信号がネゲートされたＤのタイミングでアサートされたと認識される。
【００７９】
そのため、図１２に示すように、割込要因発生信号Ｉｒｅｑ１に対する内部割込要求信号は、実際に割込要因発生信号Ｉｒｅｑ１がアサートされたタイミングよりも遅延してアサートされるため、割込要因発生信号Ｉｒｅｑ１に対する割込処理の実行が遅延する。
【００８０】
第２の実施形態に係る要旨の１つは、割込マスク信号がアサートされている間に、新たな割込処理が要求された場合であっても、新たな割込処理の開始が遅延することを防止することにある。
【００８１】
図１３は、第２の実施形態に係る割込制御回路１００の構成を例示する図である。図１３に示すように、第２の実施形態に係る割込制御回路１００は、ＣＰＵＩ／Ｆ１０１、マスク信号制御部１０２−１、１０２−２、ローカルバスＩ／Ｆ１０３、ＮＯＴ回路１０４−１、１０４−２及びＡＮＤ回路１０５−１、１０５−２から構成される。すなわち、第２の実施形態に係る割込制御回路１００は、図４に示した第１の実施形態に係る割込制御回路１００のマスク信号制御部１０２、ＮＯＴ回路１０４及びＡＮＤ回路１０５の構成を複数含む構成である。
【００８２】
以降、マスク信号制御部１０２−１、ＮＯＴ回路１０４−１及びＡＮＤ回路１０５−１を含む構成をサブ割込制御回路１１０−１とし、マスク信号制御部１０２−２、ＮＯＴ回路１０４−２及びＡＮＤ回路１０５−２を含む構成をサブ割込制御回路１１０−２とする。
【００８３】
また、サブ割込制御回路１１０−１において入出力されるＩＲＱ０、ＩＲＭ０、ＩＲＣＬＲ０、ＩＲＥＱ０及びＩＲＥＱ０ＡＣＫは、第１の実施形態におけるＩＲＱ、ＩＲＭ、ＩＲＣＬＲｎ、ＩＲＥＱｎ、ＩＲＥＱｎＡＣＫと同様の信号である。また、サブ割込制御回路１１０−２において入出力されるＩＲＱ１、ＩＲＭ１、ＩＲＣＬＲ１、ＩＲＥＱ１及びＩＲＥＱ１ＡＣＫは、第１の実施形態におけるＩＲＱ、ＩＲＭ、ＩＲＣＬＲｎ、ＩＲＥＱｎ、ＩＲＥＱｎＡＣＫと同様の信号である。
【００８４】
すなわち、図１３に示した割込制御回路１００は、２つの割込要求信号ＩＲＱ０及びＩＲＱ１それぞれに対する割込処理を並列して制御することが可能になる。なお、図１３に示した割込制御回路１００は、２つのサブ割込制御回路１１０−１、１１０−２を含む場合を例として説明するが、サブ割込制御回路の数はこれに限定されるものではない。
【００８５】
すなわち、サブ割込制御回路１１０−１、１１０−２は、割込要求信号ごとの割込解除信号を検知して割込要求信号ごとに割込要求信号の検知を無効化する信号検知無効化部として機能する。また、サブ割込制御回路１１０−１、１１０−２は、割込要求信号ごとの無効状態への変更を検知して、割込要求信号ごとに割込要求信号の検知を有効化する信号検知有効化部として機能する。
【００８６】
図１４は、第２の実施形態に係る周辺回路２００の回路構成を例示する図である。図１４に示すように、第２の実施形態に係る周辺回路２００は、図５に示した周辺回路２００の構成に、ラッチ回路２０３−２、応答信号生成部２０７−２及びＡＮＤ回路２０８−２が追加された構成である。すなわち、第２の実施形態に係る周辺回路２００は、図５に示したラッチ回路２０３、応答信号生成部２０７及びＡＮＤ回路２０８の構成を複数含む構成である。
【００８７】
なお、図１４に示した周辺回路２００においては、ラッチ回路２０３−１、応答信号生成部２０７−１及びＡＮＤ回路２０８−１がそれぞれ、図５に示したラッチ回路２０３、応答信号生成部２０７及びＡＮＤ回路２０８に対応する。また、図１４に示した周辺回路２００において入出力される信号は、図１３に示した割込制御回路１００において入出力される信号に対応する。
【００８８】
すなわち、図１４に示した周辺回路２００は、２つの割込要因発生信号Ｉｒｅｑ０及びＩｒｅｑ１それぞれに対する割込処理を並列して制御することが可能になる。なお、図１４に示した周辺回路２００は、２つの割込要因発生信号を並列して処理することを例として説明しているが、割込要因発生信号を並列して処理する数はこれに限定されず、図１３に示したサブ割込制御回路１１０の数に応じて定められるものとする。すなわち、ＡＮＤ回路２０８−１、２０８−２及びラッチ回路２０３−１、２０３−２は、割込処理を実行する要因の発生ごとに割込要求信号を生成する要因別信号生成部として機能する。
【００８９】
図１５は、第２の実施形態に係る情報処理装置１における割込処理の制御態様を例示する図である。図１５に示すように、割込要求発生信号Ｉｒｅｑ０がアサートされると、図１４に示した周辺回路２００において割込要求信号ＩＲＥＱ０がアサートされる。そして、割込要求信号ＩＲＥＱ０がアサートされると、サブ割込制御回路１１０−１において内部割込要求信号ＩＲＱ０がアサートされ、ＣＰＵ１０は割込要求発生信号Ｉｒｅｑ０に対する割込処理を実行する。
【００９０】
割込解除信号ＩＲＣＬＲ０がアサートされると、割込マスク信号ＩＲＭ０がアサートされて、サブ割込制御回路１１０−１における割込要求信号ＩＲＥＱ０の検知が無効化される。そして、割込要求信号ＩＲＥＱ０がネゲートされると、周辺回路２００において割込解除応答信号ＩＲＥＱ０ＡＣＫがアサートされて、割込マスク信号ＩＲＭ０がネゲートされる。これにより、サブ割込制御回路１１０−１における割込要求信号ＩＲＥＱ０の検知が有効化される。
【００９１】
一方、図１５に示すように、サブ割込制御回路１１０−１において割込マスク信号ＩＲＭ０がアサートされている間に、割込要因発生信号Ｉｒｅｑ１がアサートされるとする。この場合、図１４に示した周辺回路２００において割込要求信号ＩＲＥＱ０と並列して割込要求信号ＩＲＥＱ１がアサートされる。
【００９２】
そして、割込要求信号ＩＲＥＱ１がアサートされると、サブ割込制御回路１１０−２において内部割込要求信号ＩＲＱ１がアサートされ、ＣＰＵ１０は、割込要求発生信号Ｉｒｅｑ１に対する割込処理を実行する。このように、第２の実施形態においては、サブ割込制御回路１１０−１において割込マスク信号ＩＲＭ０がアサートされている間であっても、サブ割込制御回路１１０−２において割込要求信号ＩＲＥＱ１が検知される。
【００９３】
割込解除信号ＩＲＣＬＲ１がアサートされると、割込マスク信号ＩＲＭ１がアサートされて、サブ割込制御回路１１０−２における割込要求信号ＩＲＥＱ１の検知が無効化される。そして、割込要求信号ＩＲＥＱ１がネゲートされると、周辺回路２００において割込解除応答信号ＩＲＥＱ１ＡＣＫがアサートされて、割込マスク信号ＩＲＭ１がネゲートされる。これにより、サブ割込制御回路１１０−２における割込要求信号ＩＲＥＱ１の検知が有効化される。
【００９４】
以上説明したように、上記第２の実施形態においては、割込制御回路１００及び周辺回路２００が第１の実施形態において割込処理に関する各信号を処理する構成を複数含む。このような構成により、複数の割込要因発生信号に対して別々の構成により並列して割込処理を制御することができるので、１つの構成において割込マスク信号がアサートされている間であっても、別の構成において割込処理要求を検知することができる。従って、第２の実施形態によれば、割込マスク信号がアサートされている間に、新たな割込処理が要求された場合であっても、新たな割込処理の開始遅延を防止することができる。
【００９５】
なお、上記第２の実施形態においては、サブ割込制御回路１１０−１とＣＰＵＩ／Ｆ１０１との間及びサブ割込制御回路１１０−２とＣＰＵＩ／Ｆ１０１との間でそれぞれ別々に各信号が入出力されている場合を例として説明した。その他、サブ割込制御回路１１０−１、１１０−２とＣＰＵＩ／Ｆ１０１との間で入出力される各信号を統合するようにしてもよい。
【００９６】
図１６は、サブ割込制御回路１１０−１、１１０−２とＣＰＵＩ／Ｆ１０１との間で入出力される各信号を統合する場合における割込制御回路１００の回路構成を例示する図である。図１６に示すように、割込制御回路１００は、図１３に示した割込制御回路１００の構成にＯＲ回路１０６、要求通知部１０７及び応答選択部１０８が追加された構成である。
【００９７】
ＯＲ回路１０６は、ＡＮＤ回路１０５−１及び１０５−２からそれぞれ出力されるＩＲＱ０及びＩＲＱ１を入力信号として、出力信号を内部割込要求ＩＲＱとしてＣＰＵＩ／Ｆ１０１に出力する。すなわち、ＯＲ回路１０６は、周辺回路２００において出力された割込要求信号を１つずつ出力する要因別信号出力部として機能する。
【００９８】
要求通知部１０７は、どのサブ割込制御回路１１０から割込要求信号が出力されているかを、ローカルバスＩ／Ｆ１０３を介してＣＰＵ１０に対して通知する。具体的には、例えば、各サブ割込制御回路１１０を識別する回路識別情報が予め定められており、要求通知部１０７は、入力された内部割込要求信号ＩＲＱｎ（図１６においては、ｎは「０」又は「１」）から回路識別情報を取得して、ＣＰＵ１０に対して通知する。例えば、要求通知部１０７は、ＩＲＱ０が入力されている場合、サブ割込制御回路１１０−１を識別する回路識別情報の「１」を、ＣＰＵ１０に対して通知する。
【００９９】
応答選択部１０８は、どのサブ割込制御回路１１０の割込要求に応答して、ＣＰＵＩ／Ｆ１０１から入力された割込解除信号ＩＲＣＬＲｎを出力するかを選択する。具体的には、例えば、応答選択部１０８は、ＣＰＵ１０から指定された回路識別情報を取得して、取得した回路識別情報により識別されるサブ割込制御回路１１０を、割込解除信号ＩＲＣＬＲを出力するサブ割込制御回路１１０として選択する。例えば、応答選択部１０８は、ＣＰＵ１０から回路識別情報の「１」を取得した場合、サブ割込制御回路１１０−１に対して割込解除信号をＩＲＣＬＲ０として出力する。
【０１００】
すなわち、応答選択部１０８は、１つの割込解除信号を取得して、割込要求信号の生成状況に基づいて、取得した割込解除信号がいずれの割込要求信号を対象とするかを判別する割込要求信号判別部として機能する。
【０１０１】
図１７は、図１６に示した構成におけるＣＰＵ１０による割込処理の動作を例示するフローチャートである。図１７に示すように、ＣＰＵ１０は、要求通知部１０７から通知された回路識別情報を取得する（Ｓ１７０１）。回路識別情報を取得したＣＰＵ１０は、ステータス通知部２０４からローカルバスを介して、取得した回路識別情報により識別されるサブ割込制御回路１１０における割込処理のステータス信号を取得する（Ｓ１７０２）。
【０１０２】
ステータス信号を取得したＣＰＵ１０は、取得したステータス信号がアサートされているか否かを判定する（Ｓ１７０３）。ステータス信号がアサートされている場合（Ｓ１７０３／ＹＥＳ）、ＣＰＵ１０は、割込処理を実行する（Ｓ１７０４）。割込処理を実行したＣＰＵ１０は、ローカルバスを介して、実行した割込処理に対応する応答コマンド生成要求を出力する（Ｓ１７０５）。
【０１０３】
応答コマンド生成要求を出力したＣＰＵ１０は、Ｓ１７０１において取得した回路識別情報を応答選択部１０８に対して設定する（Ｓ１７０６）。回路識別情報を設定したＣＰＵ１０は、割込解除信号ＩＲＣＬＲをアサートして応答選択部１０８に対して出力する（Ｓ１７０７）。これにより、応答選択部１０８は、入力された割込解除信号ＩＲＣＬＲを、設定された回路識別情報により識別されるサブ割込制御回路１１０の割込解除信号として出力する。一方、ステータス信号がアサートされていない場合（Ｓ１７０３／ＮＯ）、ＣＰＵ１０は、エラー処理を実行し（Ｓ１７０８）、Ｓ１７０６及びＳ１７０７の処理に進む。
【０１０４】
このような構成により、サブ割込制御回路１１０−１、１１０−２とＣＰＵＩ／Ｆ１０１との間で入出力される信号線の本数を削減することができる。なお、第１の実施形態における図７を示して説明した構成は、第２の実施形態においても適用可能である。
【０１０５】
次に、本発明の第１の実施形態及び第２の実施形態に係る情報処理装置１の各ハードウェアの接続例を説明する。図１８は、本発明の第１の実施形態及び第２の実施形態に係る情報処理装置１の各ハードウェア構成の接続例を示す図である。なお、図１８においては、図１に示したハードウェア構成のブロック図のうち割込制御回路１００及び周辺回路２００との接続に主に関連する構成のみが示されている。
【０１０６】
図１８に示すように、ＣＰＵやメモリコントローラ等を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）（ここでは、「ＳｏＣ１０」とする）がＲＡＭ２０及びＲＯＭ３０と接続されている。また、割込制御回路１００は、他のバスよりも高速なバスによりＳｏＣ１０の直下に接続される。また、周辺回路２００は割込制御回路１００と接続されるとともに、スキャナやプリンタ等の専用デバイス９０と接続される。
【０１０７】
すなわち、割込制御回路１００は、周辺回路２００からＣＰＵ１０までの距離よりもＣＰＵ１０と近い位置に配置される。また、上述した信号検知無効化部及び信号検知有効化部を実現する機能は、割込制御回路上に構成され、上述した信号状態変更部を実現する機能は、周辺回路上に構成される。
【０１０８】
周辺回路２００においてアサートされる割込要因発生信号Ｉｒｅｑは、バス及び割込制御回路１００を介してＳｏＣ１０に到達するため、割込制御回路１００からＳｏＣ１０に信号が到達する場合よりも時間がかかる。そのため、このような構成により、ＳｏＣ１０と高速なバスにより直下に接続された割込制御回路１００において割込マスク信号がアサートされるので、周辺回路２００からＳｏＣ１０への無駄な割込要求を抑制することが可能になる。
【符号の説明】
【０１０９】
１  情報処理装置
２  割込制御部
１０  ＣＰＵ
２０  ＲＡＭ
３０  ＲＯＭ
４０  ＨＤＤ
５０  Ｉ／Ｆ
６０  ＬＣＤ
７０  操作部
８０  バス
９０  専用デバイス
１００  割込制御回路
１０１  ＣＰＵＩ／Ｆ
１０２  マスク信号制御部
１０３  ローカルバスＩ／Ｆ
１０４  ＮＯＴ回路
１０５  ＡＮＤ回路
１０６  ＯＲ回路
１０７  要求通知部
１０８  応答選択部
１１０  サブ割込制御回路
２００  周辺回路
２０１  割込要因発生部
２０２  許可信号生成部
２０３  ラッチ回路
２０４  ステータス通知部
２０５  ローカルバスＩ／Ｆ
２０６  応答コマンド生成部
２０７  応答信号生成部
２０８  ＡＮＤ回路
【先行技術文献】
【特許文献】
【０１１０】
【特許文献１】特開平０１−２１７５２１号公報
【図１】
2016167221.tif 000003
【図２】
2016167221.tif 000004
【図３】
2016167221.tif 000005
【図４】
2016167221.tif 000006
【図５】
2016167221.tif 000007
【図６】
2016167221.tif 000008
【図７】
2016167221.tif 000009
【図８】
2016167221.tif 000010
【図９】
2016167221.tif 000011
【図１０】
2016167221.tif 000012
【図１１】
2016167221.tif 000013
【図１２】
2016167221.tif 000014
【図１３】
2016167221.tif 000015
【図１４】
2016167221.tif 000016
【図１５】
2016167221.tif 000017
【図１６】
2016167221.tif 000018
【図１７】
2016167221.tif 000019
【図１８】
2016167221.tif 000020