(57)【要約】【課題】入出力装置やサブＣＰＵ等からメインＣＰＵに対する割込みタイミングを最適化することにより、割込みオーバヘッドによるシステム性能の低下を抑える。【解決手段】中央処理装置に対して割込みを発行する割込制御装置であって、中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、対象取得部がデータ又はリソースを取得するより前に、データ又はリソースが使用可能となったことを示す割込みを中央処理装置に対して発行する割込発行部と、対象取得部がデータ又はリソースを取得していない状態で、割込みを受けた中央処理装置がデータ又はリソースの使用を要求した場合に、対象取得部がデータ又はリソースを取得するまで中央処理装置によるデータ又はリソースの使用を遅延させる使用遅延部とを備える。【選択図】  図２
2004302680.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置に対して割込みを発行する割込制御装置であって、
前記中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、
前記対象取得部が前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行部と、
前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延部と
を備える割込制御装置。
【請求項２】
前記割込発行部は、前記データを生成するデータ生成装置が前記データの生成を開始してから予め設定された設定期間の後に、前記データが使用可能となったことを示す前記割込みを前記中央処理装置に対して発行する
請求項１記載の割込制御装置。
【請求項３】
前記対象取得部が前記データを取得するタイミングに対する、前記割込みを受けた前記中央処理装置が前記データの使用を要求するタイミングの時間差を測定する時間差測定部と、
前記時間差に基づいて、前記設定期間を変更する設定期間変更部と
を更に備える請求項２記載の割込制御装置。
【請求項４】
前記データ生成装置が前記データの生成を開始してから、前記対象取得部が前記データを取得するまでの取得時間を測定する取得時間測定部を更に備え、
前記設定期間変更部は、前記取得時間及び前記時間差に基づいて、前記設定期間を変更する
請求項３記載の割込制御装置。
【請求項５】
前記データ生成装置は、複数の前記データを生成し、
前記対象取得部は、前記中央処理装置に使用させる前記複数のデータを順次取得し、
前記複数のデータのそれぞれについて、前記割込発行部は、前記対象取得部が当該データを取得するより前に、当該データが使用可能となったことを示す割込みを前記中央処理装置に対して発行し、
前記複数のデータのそれぞれについて、前記時間差測定部は、前記対象取得部が当該データを取得するタイミングに対する、当該データが使用可能となったことを示す前記割込みを受けた前記中央処理装置が当該データの使用を要求するタイミングの時間差を測定し、
前記設定期間変更部は、前記時間差測定部により測定された複数の前記時間差に基づいて、前記設定期間を変更する
請求項３記載の割込制御装置。
【請求項６】
前記設定期間変更部は、前記時間差測定部により測定された前記複数の時間差の平均値に基づいて、前記設定期間を変更する請求項５記載の割込制御装置。
【請求項７】
前記設定期間変更部は、前記平均値を所定の微小時間とするべく前記設定期間を変更する請求項６記載の割込制御装置。
【請求項８】
前記設定期間変更部は、前記時間差測定部により測定された前記複数の時間差の分布に基づいて、前記設定期間を変更する請求項５記載の割込制御装置。
【請求項９】
前記設定期間変更部は、前記複数の時間差のうち、予め定められた割合の前記時間差を所定の微小時間以下とするべく前記設定期間を変更する請求項８記載の割込制御装置。
【請求項１０】
前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記設定期間をより小さな値に変更し、前記対象取得部が前記データ又は前記リソースを取得した状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記設定期間をより大きな値に変更する設定期間変更部を更に備える請求項２記載の割込制御装置。
【請求項１１】
前記使用遅延部は、
前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、当該要求を受けてから前記対象取得部が前記データ又は前記リソースを取得するまでに要する遅延時間を算出する遅延時間算出部と、
前記遅延時間が予め定められたしきい値未満の場合に、前記中央処理装置に前記データ又は前記リソースの使用をポーリングにより要求させ、前記遅延時間が前記しきい値以上の場合に、前記中央処理装置を前記割込みによる割込処理から一旦復帰させることにより、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる遅延処理部と
を有する請求項１記載の割込制御装置。
【請求項１２】
前記割込み発行部は、前記リソースを確保するリソース確保装置が前記リソースの確保を開始してから予め設定された設定期間の後に、前記リソースが使用可能となったことを示す前記割込みを前記中央処理装置に対して発行する
請求項１記載の割込制御装置。
【請求項１３】
中央処理装置と、中央処理装置に対して割込みを発行する割込制御装置とを備える情報処理装置であって、
前記割込制御装置は、
前記中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、
前記対象取得部が前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行部と、
前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延部と
を有し、
前記中央処理装置は、前記割込発行部から前記割込みを受けた場合に、前記割込制御装置に対して前記データ又は前記リソースの使用を要求する
情報処理装置。
【請求項１４】
中央処理装置に対して割込みを発行する割込制御装置の制御方法であって、
前記中央処理装置に使用させるデータ又はリソースを取得する対象取得段階と、
前記対象取得段階において前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行段階と、
前記対象取得段階において前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得段階において前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延段階と
を備える制御方法。
【請求項１５】
中央処理装置に対して割込みを発行する割込制御装置用のプログラムであって、
前記割込制御装置を、
前記中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、
前記対象取得部が前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行部と、
前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延部として機能させるプログラム。
【請求項１６】
請求項１５に記載したプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、割込制御装置、制御方法、及びこれらのプログラムと記録媒体に関する。特に本発明は、情報処理装置が備える中央処理装置に対する割込みを適切なタイミングで発行する情報処理装置、割込制御装置、制御方法、及びこれらのプログラムと記録媒体に関する。
【０００２】
【従来の技術】
従来、例えば入出力装置やサブＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）等とメインＣＰＵとが連携してデータ処理又は各種の制御を行う場合、入出力装置やサブＣＰＵ等からメインＣＰＵに対して割込みを発行することによりメインＣＰＵと同期させる方法が多用されている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開平１０−２７５１３６号公報
【０００４】
【発明が解決しようとする課題】
メインＣＰＵ上で動作するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によっては、割込みを受けてから割込処理ルーチン（ＩＳＲ：Ｉｎｔｅｒｒｕｐｔ  Ｓｅｒｖｉｃｅ  Ｒｏｕｔｉｎｅ）が起動されるまでに多くの時間を要するため、入出力装置やサブＣＰＵ等との間のデータ転送や同期等の処理が遅延する結果性能が低下するという問題が生じる。
【０００５】
この様な遅延を排除するために、メインＣＰＵが入出力装置やサブＣＰＵ等をポーリングにより監視する方法も利用されているが、ポーリング中においてはメインＣＰＵに他の処理を効率良く実行させることが難しい。
【０００６】
そこで本発明は、上記の課題を解決することのできる情報処理装置、割込制御装置、制御方法、及びこれらのプログラムと記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００７】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、中央処理装置に対して割込みを発行する割込制御装置であって、前記中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、前記対象取得部が前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行部と、前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延部とを備える情報処理装置と割込制御装置、これらの制御方法、及び、これらを実現するプログラム及び記録媒体を提供する。
【０００８】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【０００９】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
図１は、本実施形態に係る情報処理装置１０のハードウェア構成を示す。本実施形態に係る情報処理装置１０において、情報処理サブシステム５０は、ＣＰＵ１００に使用させるデータ又はリソースの準備完了に先立って、ＣＰＵ１００に対して割込みを発行する。これにより、割込みの発行後ＣＰＵ１００が割込処理を開始するまでのレイテンシを隠蔽し、割込みのオーバヘッドに伴うシステム性能の低下を抑える。
【００１１】
本実施形態に係る情報処理装置１０は、ホスト・コントローラ１８２により相互に接続されるＣＰＵ１００、ＲＡＭ１２０、グラフィック・コントローラ１７５、及び表示装置１８０を有するＣＰＵ周辺部と、入出力コントローラ１８４によりホスト・コントローラ１８２に接続される通信インターフェイス１３０、ハードディスク・ドライブ１４０、ＣＤ−ＲＯＭドライブ１６０、及び情報処理サブシステム５０を有する入出力部と、入出力コントローラ１８４に接続されるＲＯＭ１１０、フレキシブルディスク・ドライブ１５０、及び入出力チップ１７０を有するレガシー入出力部とを備えるＣＰＵ１０００により実現される。
【００１２】
ホスト・コントローラ１８２は、ＲＡＭ１２０と、高い転送レートでＲＡＭ１２０をアクセスするＣＰＵ１００及びグラフィック・コントローラ１７５とを接続する。ＣＰＵ１００は、ＲＯＭ１１０及びＲＡＭ１２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ１７５は、ＣＰＵ１００等がＲＡＭ１２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置１８０上に表示させる。これに代えて、グラフィック・コントローラ１７５は、ＣＰＵ１００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００１３】
入出力コントローラ１８４は、ホスト・コントローラ１８２と、比較的高速な入出力装置である通信インターフェイス１３０、ハードディスク・ドライブ１４０、ＣＤ−ＲＯＭドライブ１６０、及び情報処理サブシステム５０とを接続する。通信インターフェイス１３０は、ネットワークを介して他の装置と通信する。ハードディスク・ドライブ１４０は、ＣＰＵ１０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１６０は、ＣＤ−ＲＯＭ１９５からプログラム又はデータを読み取り、ＲＡＭ１２０及び／又はハードディスク・ドライブ１４０に提供する。
【００１４】
情報処理サブシステム５０は、ＣＰＵ１００と連携して情報処理を行う。情報処理サブシステム５０は、ＣＰＵ１００に使用させるデータを生成するデータ生成装置６０と、ＣＰＵ１００に使用させるリソースを確保するリソース確保装置７０と、データ生成装置６０又はリソース確保装置７０により生成又は確保されたデータ又はリソースをＣＰＵ１００に使用させるべくＣＰＵ１００に対して割込みを発行する割込制御装置８０とを有する。
【００１５】
本実施形態において、情報処理サブシステム５０は、ＣＰＵ１００と協働して情報処理を行うサブＣＰＵであるＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を含む。データ生成装置６０により生成され、ＣＰＵ１００に使用させるデータは、ＤＳＰによる命令処理の結果生成されたデータや、情報処理サブシステム５０の状態を示すデータ等の、情報処理サブシステム５０からＣＰＵ１００へ引き渡すべきデータであってよい。また、リソース確保装置７０により確保され、ＣＰＵ１００に使用させるリソースは、ＣＰＵ１００からＤＳＰへ引き渡すべきデータを格納する記憶領域、ＤＳＰがアクセス可能なメモリ領域やＩ／Ｏ領域、ＤＳＰの使用権、ＣＰＵ１００が実行するプログラムが確保すべき排他処理権等の、各種のハードウェア資源及び／又はソフトウェア資源であってよい。
【００１６】
これに代えて、データ生成装置６０及びリソース確保装置７０は、入出力装置と入出力コントローラ１８４とを接続するインターフェイス等であってもよい。この場合において、データ生成装置６０により生成され、ＣＰＵ１００に使用させるデータは、入出力装置からデータ生成装置６０により受信され、情報処理サブシステム５０内部にバッファリングされたデータや、入出力装置の状態を示すデータ等の、情報処理サブシステム５０からＣＰＵ１００、ＲＡＭ１２０、及びハードディスク・ドライブ１４０等に転送されるべきデータであってよい。また、リソース確保装置７０により確保され、ＣＰＵ１００に使用させるリソースは、入出力装置、入出力装置の使用権、情報処理装置１０の外部に送信するデータをバッファリングするデータバッファのエントリ等の各種のハードウェア資源及び／又はソフトウェア資源であってよい。
【００１７】
また、入出力コントローラ１８４には、ＲＯＭ１１０と、フレキシブルディスク・ドライブ１５０や入出力チップ１７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１１０は、情報処理装置１０が起動時に実行するブート・プログラムや、情報処理装置１０のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ１５０は、フレキシブルディスク１９０からプログラム又はデータを読み取り、入出力コントローラ１８４を介してＣＰＵ１００及び／又はハードディスク・ドライブ１４０に提供する。入出力チップ１７０は、フレキシブルディスク１９０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【００１８】
ＲＡＭ１２０を介してＣＰＵ１００に提供されるプログラムは、フレキシブルディスク１９０、ＣＤ−ＲＯＭ１９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。このプログラムは、記録媒体から読み出され、入出力コントローラ１８４及びＲＡＭ１２０を介して情報処理装置１０にインストールされ、ＣＰＵ１００において実行される。
【００１９】
また、ＲＡＭ１２０を介して情報処理サブシステム５０に提供されるプログラムは、フレキシブルディスク１９０、ＣＤ−ＲＯＭ１９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。このプログラムは、記録媒体から読み出され、入出力コントローラ１８４及びＲＡＭ１２０を介して情報処理サブシステム５０にインストールされ、情報処理サブシステム５０において実行される。
【００２０】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１９０、ＣＤ−ＲＯＭ１９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置１０に提供してもよい。
【００２１】
図２は、本実施形態に係る割込制御装置８０の機能構成を示す。割込制御装置８０は、対象取得部２００と、割込発行部２１０と、使用遅延部２２０と、タイミング調整部２２６とを含む。
【００２２】
対象取得部２００は、データ生成装置６０又はリソース確保装置７０により生成又は確保された、ＣＰＵ１００に使用させるデータ又はリソースを取得する。
【００２３】
割込発行部２１０は、対象取得部２００がデータ又はリソースを取得するより前に、当該データ又は当該リソースが使用可能となったことを示す割込みをＣＰＵ１００に対して発行する。本実施形態において、割込発行部２１０は、設定期間管理部２１２を含む。設定期間管理部２１２は、データ生成装置６０又はリソース確保装置７０がデータ又はリソースの生成又は確保を開始してから割込発行部２１０が割込みを発行するまでの期間である設定期間を管理する。
割込発行部２１０は、データ生成装置６０又はリソース確保装置７０がデータの生成又はリソースの確保を開始してから予め定められた設定期間の後であって、対象取得部２００がデータ又はリソースを取得するより前に、当該データ又は当該リソースが使用可能となったことを示す割込みをＣＰＵ１００に対して発行する。
【００２４】
使用遅延部２２０は、対象取得部２００がデータ又はリソースを取得していない状態で、当該データ又は当該リソースが使用可能となったことを示す割込みを受けたＣＰＵ１００が当該データ又は当該リソースの使用を要求した場合に、対象取得部２００が当該データ又は当該リソースを取得するまでＣＰＵ１００による当該データ又は当該リソースの使用を遅延させる。
【００２５】
使用遅延部２２０は、遅延時間算出部２２２と、遅延処理部２２４とを含む。
遅延時間算出部２２２は、データの生成又はリソースの確保の進行状況を対象取得部２００から受信する。そして、遅延時間算出部２２２は、割込みに対応するデータ又はリソースを使用する要求をＣＰＵ１００から受けた場合に、対象取得部２００が当該データ又は当該リソースを取得するまでに要する遅延時間を算出する。
【００２６】
遅延処理部２２４は、遅延時間算出部２２２により算出された遅延時間に基づいて、ＣＰＵ１００による当該データ又は当該リソースの使用を遅延させる遅延手段を、互いに異なる複数の遅延手段の中から選択する。そして、選択した遅延手段により、ＣＰＵ１００による当該データ又は当該リソースの使用を遅延させる。
【００２７】
タイミング調整部２２６は、割込みを受けたＣＰＵ１００がデータ又はリソースの使用を要求するタイミングと、対象取得部２００がデータ又はリソースを取得するタイミングとが略同一となるように、割込発行部２１０が割込みを発行するタイミングを調整する。タイミング調整部２２６は、時間差測定部２３０と、取得時間測定部２４０と、設定期間変更部２５０とを含む。
【００２８】
時間差測定部２３０は、対象取得部２００がデータ又はリソースを取得するタイミングに対する、割込みを受けたＣＰＵ１００が当該データ又は当該リソースの使用を要求するタイミングの時間差を測定する。また、時間差測定部２３０は、ＣＰＵ１００に対して割込みを発行してから、割込みを受けたＣＰＵ１００が当該データ又は当該リソースの使用を要求するまでの時間である割込みレイテンシを更に測定してもよい。
取得時間測定部２４０は、データ生成装置６０又はリソース確保装置７０がデータの生成又はリソースの確保を開始してから、対象取得部２００が当該データ又は当該リソースを取得するまでの時間である取得時間を測定する。
設定期間変更部２５０は、時間差測定部２３０が測定した時間差及び取得時間測定部２４０が測定した取得時間に基づいて、設定期間管理部２１２により管理される設定期間を変更する。
【００２９】
以上において、データ又はリソースが使用可能となったことを示す割込みは、一例として以下の場合に発行される。
（１）情報処理サブシステム５０とＣＰＵ１００の間でデータ転送を行なう場合
情報処理サブシステム５０からＣＰＵ１００に対してデータを送信する場合、データ生成装置６０は当該データを生成し、割込制御装置８０は当該データが使用可能となったことを示す割込みをＣＰＵ１００に対して発行する。データ生成装置６０が生成したデータは、ＣＰＵ１００がアクセス可能な情報処理サブシステム５０内の記憶領域、すなわち例えばメモリやデータバッファ等に格納されてよい。
情報処理サブシステム５０がＣＰＵ１００からデータを受信する場合、リソース確保装置７０は受信したデータを格納すべき記憶領域等のリソースを確保し、割込制御装置８０は当該リソースが使用可能となりＣＰＵ１００がデータを送信してよいことを示す割込みをＣＰＵ１００に対して発行する。これを受けて、ＣＰＵ１００は、リソース確保装置７０が確保した記憶領域等のリソースに対して送信すべきデータを格納することにより、情報処理サブシステム５０にデータを送信する。
【００３０】
（２）情報処理サブシステム５０内のリソースをＣＰＵ１００に使用させる場合
情報処理サブシステム５０内のリソースをＣＰＵ１００に確保させる場合、リソース確保装置７０は当該リソースを確保し、割込制御装置８０は当該リソースが使用可能となったことを示す割込みをＣＰＵ１００に対して発行する。これを受けて、ＣＰＵ１００は、情報処理サブシステム５０内のリソースを使用する。
【００３１】
ＣＰＵ１００が確保した情報処理サブシステム５０内のリソースをＣＰＵ１００に解放させる場合、リソース確保装置７０は解放されるべきリソースを、新たにＣＰＵ１００に確保させるリソースとして確保する。そして、割込制御装置８０はＣＰＵ１００に対して、当該リソースを解放させると共に新たに当該リソースを確保して使用してよいことを示す割込みをＣＰＵ１００に対して発行する。これを受けて、ＣＰＵ１００は、当該リソースを解放する処理を行うと共に、必要に応じて当該リソースを新たに使用するべく当該リソースの使用を要求する。ここで、リソース確保装置７０が当該リソースを新たに確保できるまで、割込制御装置８０は、ＣＰＵ１００による当該リソースの使用を待たせる。
【００３２】
より具体的には、ＣＰＵ１００が情報処理サブシステム５０内の記憶領域を確保している場合において、割込制御装置８０はＣＰＵ１００に対して、当該記憶領域を解放させる割込みを発行する。ＣＰＵ１００は、当該割込みを受けて、当該記憶領域の解放処理を行う。ここで、当該記憶領域の解放処理を行うプロセス以外のプロセス等が当該リソースを新たに使用することを要求すると、当該リソースが解放され、リソース確保装置７０が当該リソースを新たに確保できるまで、割込制御装置８０はＣＰＵ１００による当該リソースの使用を待たせる。
【００３３】
以上に例示したように、割込制御装置８０によれば、例えばＣＰＵ１００と情報処理サブシステム５０の間のデータの送受信処理や、情報処理サブシステム５０が有するリソースをＣＰＵ１００に確保させ、又解放させる処理等を効率良く行うことができる。
【００３４】
また、以上に示した割込制御装置８０によれば、割込発行部２１０は、データの生成又はリソースの確保の完了に先立ってＣＰＵ１００に割込みを発行する。これにより、割込みを受けたＣＰＵ１００が当該データ又は当該リソースの使用を要求するまでの間に、データ生成装置６０又はリソース確保装置７０によるデータの生成又はリソースの確保を完了させれば、ＣＰＵ１００上で動作するＯＳ等の割込みレイテンシによりデータ又はリソースの使用が遅延するのを防ぐことができる。
【００３５】
また、データ又はリソースの取得に先立ってＣＰＵ１００が当該データ又は当該リソースの使用を要求した場合、ＣＰＵ１００による当該データ又は当該リソースの使用を使用遅延部２２０により遅延させる。これにより、割込制御装置８０は、動作状況に応じて割込みレイテンシが変化する場合においても、当該データ又は当該リソースを確実にＣＰＵ１００に使用させることができる。
【００３６】
また、時間差測定部２３０、取得時間測定部２４０、及び設定期間変更部２５０は、割込みを受けたＣＰＵ１００がデータ又はリソースの使用を要求するタイミングが、当該データ又は当該リソースを対象取得部２００が取得するタイミングの直後となる様に設定期間を変更する。これにより、割込制御装置８０は、ＣＰＵ１００に対して割込みを発行するタイミングを適切に調整することができる。
【００３７】
図３は、本実施形態に係る情報処理サブシステム５０の処理フローを示す。
まず、データ生成装置６０又はリソース確保装置７０は、データの生成又はリソースの確保を開始する（Ｓ３００）。すなわち例えば、データ生成装置６０は、ＣＰＵ１００の指示に基づき信号処理等の演算を開始することにより、信号処理結果となるデータの生成を開始する。あるいは例えば、リソース確保装置７０は、ＣＰＵ１００から受信したデータをバッファから読み出すことにより、バッファ領域であるリソースを解放し、ＣＰＵ１００が使用できるように確保する処理を開始する。
【００３８】
次に、割込発行部２１０は、データ生成装置６０又はリソース確保装置７０がデータの生成又はリソースの確保を開始してから設定期間が経過した後（Ｓ３１０）、当該データ又は当該リソースが使用可能となったことを示す割込みをＣＰＵ１００に対して発行する（Ｓ３２０）。
例えば、割込発行部２１０は、データ生成装置６０又はリソース確保装置７０がデータの生成又はリソースの確保を開始した時点で、設定期間の後にＣＰＵ１００に対する割込みを発行するように、入出力チップ１７０等に設けられたインターバルタイマを設定してよい。これに代えて、割込発行部２１０は、ＣＰＵ１００に使用させるデータを生成する、情報処理サブシステム５０上で動作するプログラムにおいて、ＣＰＵ１００に対する割込みを発行する命令の実行タイミングを、設定期間に基づいて定めてもよい。また、割込発行部２１０は、ＣＰＵ１００に使用させるデータのうち、設定期間に基づく割合で定められるサイズのデータの生成を終えた時点でＣＰＵ１００に対する割込みを発行する様設定してもよい。
【００３９】
次に、割込制御装置８０は、割込みを受けたＣＰＵ１００から、当該割込みに対応するデータ又はリソースを使用する要求を受ける。対象取得部２００は、ＣＰＵ１００がデータ又はリソースの使用を要求する前又は後に、当該データ又はリソースを取得する。
【００４０】
当該データ又は当該リソースを使用する要求を受けた時点で、対象取得部２００による当該データ又はリソースを取得していない場合、使用遅延部２２０は、ＣＰＵ１００による当該データ又は当該リソースの使用を遅延させる（Ｓ３４０）。ここで、遅延処理部２２４は、対象取得部２００が当該データ又は当該リソースを取得するまでに要する遅延時間が長い場合には、ＣＰＵ１００を割り込み処理から一旦復帰させ、当該データ又は当該リソースを対象取得部２００が取得する直前又は直後に再度割込みを発生させる遅延手法を用いることとし（Ｓ３５０）、処理をＳ３１０に進めてもよい。
【００４１】
一方、遅延処理部２２４は、対象取得部２００が当該データ又は当該リソースを取得するまでに要する時間が短い場合には、ＣＰＵ１００に当該データ又は当該リソースの使用をポーリングにより要求させる遅延手法を用いることとし（Ｓ３５０）、対象取得部２００が当該データ又は当該リソースを取得した時点で処理をＳ３６０に進めてもよい。
【００４２】
次に、使用遅延部２２０は、対象取得部２００が取得したデータ又はリソースを、ＣＰＵ１００に使用させる（Ｓ３６０）。そして、設定期間変更部２５０は、時間差測定部２３０により測定された時間差、及び、取得時間測定部２４０により測定された取得時間に基づいて設定期間を変更し（Ｓ３７０）、次にデータを生成又はリソースを確保した場合に割込発行部２１０が割込みを発行するタイミングを調整する。そして、情報処理サブシステム５０は、複数のデータのそれぞれが順次生成される毎に、あるいは、１又は複数のリソースが異なるタイミングで複数回確保される毎に、上記のＳ３００からＳ３７０を実行するべく処理をＳ３００に進める。
【００４３】
Ｓ３７０において、設定期間変更部２５０は、上記のＳ３００からＳ３７０を複数回実行した結果、時間差測定部２３０により測定された複数の取得時間、及び取得時間測定部２４０により測定された複数の時間差に基づいて、設定期間を変更してよい。
【００４４】
図４は、本実施形態に係る情報処理サブシステム５０の、図３のＳ３４０における遅延処理フローを示す。
まず、遅延時間算出部２２２は、割込みを受けたＣＰＵ１００が当該割込みに対応するデータ又はリソースの使用を要求した場合に、当該要求を受けてから対象取得部２００が当該データ又は当該リソースを取得するまでに要する遅延時間を算出する（Ｓ４００）。例えば遅延時間算出部２２２は、データ生成装置６０が生成すべきデータのうち、当該要求を受けるまでに生成したデータの割合等に基づいて遅延時間を算出してもよい。また、遅延時間算出部２２２は、データ生成装置６０又はリソース確保装置７０の処理の進行状況に基づいて遅延時間を算出してもよい。
【００４５】
次に、遅延処理部２２４は、遅延時間が予め定められたしきい値未満の場合（Ｓ４１０）に、ＣＰＵ１００に当該データ又は当該リソースの使用をポーリングにより要求させる（Ｓ４２０）。一方、遅延時間がしきい値以上の場合（Ｓ４１０），遅延処理部２２４は、ＣＰＵ１００を当該割込みによる割込処理から一旦復帰させる（Ｓ４３０）。そして、遅延処理部２２４は、対象取得部２００が当該データ又は当該リソースを取得するタイミング近辺で割込発行部２１０がＣＰＵ１００に割込みを再度発行する様に、割込発行部２１０による再割込みのタイミングを設定期間変更部２５０に設定させる（Ｓ４４０）。この場合において、設定期間管理部２１２は、図３のＳ３００において使用される設定期間と、再割込みにおける設定期間とを、別個に管理する。
【００４６】
以上のＳ４２０又はＳ４４０の処理により、遅延処理部２２４は、対象取得部２００がデータ又はリソースを取得するまでＣＰＵ１００による当該データ又はリソースの使用を遅延させることができる。また、使用遅延部２２０は、ポーリングによる遅延、及び、再割込みによる遅延のうち、遅延時間に応じて適切な遅延手段を選択することができ、割込処理のオーバヘッドを抑えることができる。以上に代えて、使用遅延部２２０は、更に多種類の遅延手段の中から、遅延時間に応じて一の遅延手段を選択してもよい。
【００４７】
図５は、本実施形態に係る情報処理装置１０の動作タイミングの一例を示す。
図５（ａ）は、情報処理サブシステム５０によるデータ生成／リソース確保処理が、ＣＰＵ１００によるデータ／リソース使用の要求より前に終了する場合のタイミングを示す。図５（ｂ）は、情報処理サブシステム５０によるデータ生成／リソース確保処理が、ＣＰＵ１００によるデータ／リソース使用の要求より後に終了する場合のタイミングを示す。
【００４８】
図５において、データ生成装置６０又はリソース確保装置７０は、ＣＰＵ１００におけるメイン処理５００と並行して、データ生成又はリソース確保を行うサブ処理５１０を開始する。設定期間Ｔｓが経過すると、割込発行部２１０は、ＣＰＵ１００に対して割込みを発行する。割込みを受けたＣＰＵ１００は、割込処理５２０を起動する。そして、ＣＰＵ１００は、割込処理５２０において、割込みに対応するデータ又はリソースの使用を情報処理サブシステム５０に要求する。図５中において、割込発行部２１０が割込みを発行した後にＣＰＵ１００が対応するデータ又はリソースの使用を要求するまでの時間を割込みレイテンシＴｌにより示す。
【００４９】
一方、情報処理サブシステム５０は、データの生成又はリソースの確保を完了した後サブ処理５１０を終了する。取得時間測定部２４０は、データ生成装置６０又はリソース確保装置７０がデータの生成又はリソースの確保を開始してから、対象取得部２００が当該データ又は当該リソースを取得するまでの生成時間Ｔｇを、例えばリアルタイムクロック等を用いて測定する。
【００５０】
ＣＰＵ１００がデータ又はリソースの使用を要求した時点で、対象取得部２００が当該データ又は当該リソースを取得している場合、使用遅延部２２０は、当該要求を遅延させることなく当該データ又は当該リソースをＣＰＵ１００に使用させる（図５（ａ））。この場合、当該データ又は当該リソースを取得した後に当該データ又は当該リソースを使用する要求を受けるため、時間差測定部２３０が測定する時間差Δｔは正の値となる。
【００５１】
一方、ＣＰＵ１００がデータ又はリソースの使用を要求した時点で、対象取得部２００が当該データ又は当該リソースを取得していない場合、使用遅延部２２０は、当該要求を遅延させる（図５（ｂ））。この場合、当該データ又は当該リソースを取得する前に当該データ又は当該リソースを使用する要求を受けるため、時間差測定部２３０が測定する時間差Δｔは負の値となる。
【００５２】
ここで、遅延時間Ｔｄがしきい値以上の場合、図５（ｂ）に示す様に、遅延処理部２２４は、ＣＰＵ１００を割込処理５２０の処理からメイン処理５００に一旦復帰させ、遅延時間Ｔｄの後に割込発行部２１０から再度割込みを発行させる。
【００５３】
設定期間変更部２５０が設定期間を調整する方法として、例えば以下に示す方法を用いてよい。
【００５４】
（１）時間差測定部２３０により測定された複数の時間差の平均値に基づいて、設定期間を変更する。
すなわち例えば、設定期間変更部２５０は、時間差Δｔの平均値を略０とするべく設定期間Ｔｓを変更する。より詳細には、設定期間変更部２５０は、時間差Δｔの平均値を所定の正の時間とするべく設定期間Ｔｓを変更する。ここで、設定期間Ｔｓは、割込みレイテンシＴｌと比較し十分小さい微小時間であることが望ましい。これにより、設定期間変更部２５０は、平均的な場合において対象取得部２００がデータ又はリソースを取得した直後にＣＰＵ１００から当該データ又は当該リソースを使用する要求を受ける様に設定期間Ｔｓを調整することができる。
ここで、設定期間変更部２５０は、複数の時間差の平均値として、過去のｎ回分の時間差を単純平均により算出してもよく、これに代えて、重み付け平均により算出してもよい。
【００５５】
（２）時間差測定部２３０により測定された複数の時間差の分布に基づいて、設定期間を変更する。
すなわち例えば、設定期間変更部２５０は、複数の時間差Δｔのうち、例えば９０％等の予め定められた割合の時間差を略０以下とするべく設定期間Ｔｓを変更する。より詳細には、設定期間変更部２５０は、複数の時間差Δｔのうち、予め定められた割合の時間差を所定の正の時間とするべく設定期間Ｔｓを変更する。ここで、設定期間Ｔｓは、割込みレイテンシＴｌと比較し十分小さい微小時間であることが望ましい。これにより、設定期間変更部２５０は、複数回の割込処理のうち、予め定められた割合の割込処理について、ＣＰＵ１００によるデータ又はリソースを使用する要求を遅延させることなく当該データ又は当該リソースを使用させる様に設定期間Ｔｓを調整することができる。
【００５６】
（３）時間差測定部２３０により測定された時間差に基づいて、設定期間を徐々に変更する。
すなわち例えば、対象取得部２００がデータ又はリソースを取得していない状態で、割込みを受けたＣＰＵ１００が当該データ又は当該リソースの使用を要求した場合に、設定期間変更部２５０は設定期間をより小さな値に変更する。一方、対象取得部２００がデータ又はリソースを取得した状態で、割込みを受けたＣＰＵ１００が当該データ又は当該リソースの使用を要求した場合に、設定期間変更部２５０は設定期間をより大きな値に変更する。複数回の割込処理について以上の処理を行うことにより、設定期間変更部２５０は、設定期間Ｔｓを徐々に最適な値に近づけることができる。
【００５７】
以上において、設定期間変更部２５０は、１又は複数の割込処理における、取得時間Ｔｇ、時間差Δｔ、及び割込みレイテンシＴｌに基づいて、設定期間Ｔｓを定めてよい。これに代えて、設定期間変更部２５０は、１又は複数の割込処理における、設定期間Ｔｓ及び時間差Δｔに基づいて、新たな設定期間Ｔｓを定めてもよい。
【００５８】
以上に示した割込制御装置８０によれば、タイミング調整部２２６内の時間差測定部２３０、取得時間測定部２４０、及び設定期間変更部２５０を用いて、複数の時間差の平均値や分布等に基づいて設定期間を適切な値に定めることができる。また、時間差測定部２３０により測定された時間差に基づいて、設定期間を徐々に適切な値に近づけることができる。この結果、割込制御装置８０は、ＣＰＵ１００に対する割込みタイミングを最適化することができ、割込みオーバヘッドに伴うシステム性能の低下を抑えることができる。
【００５９】
図６は、本実施形態に係る情報処理サブシステム５０のハードウェア構成の一例を示す。情報処理サブシステム５０は、ＤＳＰ６００と、命令メモリ６１０と、データメモリ６２０と、バスインターフェイス６３０とを有する。
【００６０】
ＤＳＰ６００は、命令メモリ６１０に格納されたプログラムに基づいて動作し、ＣＰＵ１００と協働して情報処理を行う。命令メモリ６１０は、情報処理サブシステム５０を対象取得部２００、割込発行部２１０、使用遅延部２２０、及びタイミング調整部２２６として機能させるプログラムを格納する。データメモリ６２０は、ＤＳＰ６００が使用するデータを格納する。バスインターフェイス６３０は、情報処理サブシステム５０と入出力コントローラ１８４の間のデータ転送を中継する。
【００６１】
情報処理サブシステム５０内の命令メモリ６１０にインストールされて実行され、情報処理サブシステム５０をデータ生成装置６０、リソース確保装置７０、及び割込制御装置８０として機能させるプログラムは、データ生成モジュールと、リソース確保モジュールと、対象取得モジュールと、設定期間管理モジュールを含む割込発行モジュールと、遅延時間算出モジュール及び遅延処理モジュールを含む使用遅延モジュールと、時間差測定モジュール、取得時間測定モジュール、及び設定期間変更モジュールを含むタイミング調整モジュールとを備える。これらのプログラム又はモジュールは、情報処理サブシステム５０を、データ生成装置６０と、リソース確保装置７０と、対象取得部２００と、設定期間管理部２１２を含む割込発行部２１０と、遅延時間算出部２２２及び遅延処理部２２４を含む使用遅延部２２０と、時間差測定部２３０、取得時間測定部２４０、及び設定期間変更部２５０を含むタイミング調整部２２６としてそれぞれ機能させる。以上に示したプログラム又はモジュールは、入出力コントローラ１８４からバスインターフェイス６３０を介して命令メモリ６１０に格納される。
【００６２】
データメモリ６２０は、対象取得部２００により管理される送信メモリ領域６５０、使用可能フラグ６６０、遅延処理指定フラグ６６２、受信メモリ領域６７０、使用可能フラグ６８０、遅延処理指定フラグ６８２を含む。
【００６３】
送信メモリ領域６５０は、データ生成装置６０により生成され、対象取得部２００によって取得されたデータを格納する領域である。送信メモリ領域６５０に格納されたデータは、情報処理サブシステム５０からＣＰＵ１００に対して送信されるべきデータである。
使用可能フラグ６６０は、ＣＰＵ１００に対して送信されるべきデータが送信メモリ領域６５０に格納された場合に、当該データが使用可能となったことを示すフラグ値“１”が対象取得部２００により書き込まれる領域である。
遅延処理指定フラグ６６２は、送信メモリ領域６５０に格納されるデータの生成において、遅延時間算出部２２２により算出された遅延時間がしきい値以上である場合に、遅延時間がしきい値以上であることを示すフラグ値“１”が遅延処理部２２４により書き込まれる領域である。
【００６４】
受信メモリ領域６７０は、データ生成装置６０により確保され、対象取得部２００によって取得されるリソースであり、ＣＰＵ１００から受信したデータを格納する領域である。
使用可能フラグ６８０は、受信メモリ領域６７０が空き状態となっており、ＣＰＵ１００から受信したデータを格納可能となっている場合に、当該リソースが使用可能となったことを示すフラグ値“１”が対象取得部２００により書き込まれる領域である。
遅延処理指定フラグ６８２は、受信メモリ領域６７０の確保において、遅延時間算出部２２２により算出された遅延時間がしきい値以上である場合に、遅延時間がしきい値以上であることを示すフラグ値“１”が遅延処理部２２４により書き込まれる領域である。
【００６５】
情報処理サブシステム５０からＣＰＵ１００へのデータの送信において、情報処理サブシステム５０は、次の動作を行う。まず、図３のＳ３００において、遅延処理部２２４は、ＣＰＵ１００によりデータが使用可能でないことを示すフラグ値“０”を使用可能フラグ６６０に書き込むと共に、フラグ値“１”を遅延処理指定フラグ６６２に書き込む。この結果、遅延処理部２２４は、バスインターフェイス６３０を介して使用可能フラグ６６０及び遅延処理指定フラグ６６２を参照したＣＰＵ１００に対して、送信メモリ領域６５０内にデータが全て格納されておらず、当該データが使用可能でないため当該データの使用を遅延させるべきこと、及び、遅延時間がしきい値以上であり、再割込みを待つべきことを指示する。
【００６６】
また、遅延処理部２２４は、遅延時間がしきい値未満となった場合に、遅延処理指定フラグ６６２に“０”を書き込む。この結果、遅延処理部２２４は、ＣＰＵ１００に対して遅延時間がしきい値未満であり、データの使用をポーリングにより要求することにより当該データの使用を遅延させるべきことを指示する。
【００６７】
また、遅延処理部２２４は、対象取得部２００がデータを取得し送信メモリ領域６５０に格納し終えた場合に、使用可能フラグ６６０にフラグ値“１”を書き込む。この結果、遅延処理部２２４は、バスインターフェイス６３０を介して使用可能フラグ６６０及び遅延処理指定フラグ６６２を参照したＣＰＵ１００に対して、送信メモリ領域６５０内にデータが格納され、使用可能であることを指示する。
【００６８】
一方、ＣＰＵ１００から情報処理サブシステム５０へデータを受信する場合において、情報処理サブシステム５０は次の動作を行う。まず、図３のＳ３００において、遅延処理部２２４は、ＣＰＵ１００によりリソースが使用可能でないことを示すフラグ値“０”を使用可能フラグ６８０に書き込むと共に、フラグ値“１”を遅延処理指定フラグ６８２に書き込む。この結果、遅延処理部２２４は、バスインターフェイス６３０を介して使用可能フラグ６８０及び遅延処理指定フラグ６８２を参照したＣＰＵ１００に対して、受信メモリ領域６７０が使用可能でないため当該リソースの使用を遅延させるべきこと、及び、遅延時間がしきい値以上であり、再割込みを待つべきことを指示する。
【００６９】
また、遅延処理部２２４は、遅延時間がしきい値未満となった場合に、遅延処理指定フラグ６８２に“０”を書き込む。この結果、遅延処理部２２４は、ＣＰＵ１００に対して遅延時間がしきい値未満であり、リソースの使用をポーリングにより要求することにより当該リソースの使用を遅延させるべきことを指示する。
【００７０】
また、遅延処理部２２４は、対象取得部２００がリソースを取得し受信メモリ領域６７０が使用可能となった場合に、使用可能フラグ６８０にフラグ値“１”を書き込む。この結果、遅延処理部２２４は、バスインターフェイス６３０を介して使用可能フラグ６８０及び遅延処理指定フラグ６８２を参照したＣＰＵ１００に対して、受信メモリ領域６７０が使用可能となり、ＣＰＵ１００から受信メモリ領域６７０にデータを書き込んでよいことを示す。
【００７１】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７２】
例えば、情報処理サブシステム５０のハードウェアが入出力装置やＤＭＡコントローラ等であり、ＣＰＵやＤＳＰ等の命令処理装置を有しない構成を採る場合においては、使用遅延部２２０及び／又はタイミング調整部２２６を実現するプログラム又はモジュールを、ＣＰＵ１００上で実行する構成を採ってよい。
【００７３】
この場合、ＣＰＵ１００は、割込処理において使用遅延部２２０の処理を行い、データ又はリソースの使用を遅延させるか否かを判断する。そして、ＣＰＵ１００は、遅延時間に応じて、割込処理においてデータ又はリソースの使用をポーリングにより要求するか、使用遅延部２２０及び設定期間変更部２５０の処理を行って再割込みを設定した後一旦割込処理から復帰するかを選択してもよい。
【００７４】
更に、ＣＰＵ１００は、割込処理においてデータ又はリソースの使用を要求したタイミングにおいて、対象取得部２００がデータ又はリソースの取得していたか否かに基づいて、タイミング調整部２２６の処理を行い設定期間を変更してもよい。
【００７５】
また、情報処理サブシステム５０は、情報処理サブシステム５０がデータ又はリソースを使用するのに先立ってＣＰＵ１００に対して割込みにより当該データ又はリソースの使用を要求し、当該データ又はリソースを使用するまでのレイテンシを隠蔽してもよい。
すなわち、割込発行部２１０は、情報処理サブシステム５０内のＤＳＰ６００等の処理装置がデータ又はリソースを使用するより前に、当該データ又はリソースの使用を要求する割込みをＣＰＵ１００に対して発行する。次に、使用遅延部２２０は、ＣＰＵ１００が当該データ又は当該リソースを当該処理装置に対して使用可能としていない状態で、当該処理装置がデータ又はリソースの使用を要求した場合に、当該処理装置によるデータ又はリソースの使用を遅延させる。
この場合において、タイミング調整部２２６は、図３のＳ３７０と同様にして割込みを発生するタイミングを調整してもよい。
【００７６】
また、例えば情報処理サブシステム５０は、情報処理装置１０から独立して設けられ、情報処理装置１０と並列に動作する他の情報処理装置であってもよい。
【００７７】
以上に説明した実施形態によれば、以下の各項目に示す情報処理装置、割込制御装置、制御方法、及びこれらのプログラムと記録媒体が実現される。
【００７８】
（項目１）  中央処理装置に対して割込みを発行する割込制御装置であって、前記中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、前記対象取得部が前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行部と、前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延部とを備える割込制御装置。
【００７９】
（項目２）  前記割込発行部は、前記データを生成するデータ生成装置が前記データの生成を開始してから予め設定された設定期間の後に、前記データが使用可能となったことを示す前記割込みを前記中央処理装置に対して発行する項目１記載の割込制御装置。
（項目３）  前記対象取得部が前記データを取得するタイミングに対する、前記割込みを受けた前記中央処理装置が前記データの使用を要求するタイミングの時間差を測定する時間差測定部と、前記時間差に基づいて、前記設定期間を変更する設定期間変更部とを更に備える項目２記載の割込制御装置。
【００８０】
（項目４）  前記データ生成装置が前記データの生成を開始してから、前記対象取得部が前記データを取得するまでの取得時間を測定する取得時間測定部を更に備え、前記設定期間変更部は、前記取得時間及び前記時間差に基づいて、前記設定期間を変更する項目３記載の割込制御装置。
（項目５）  前記データ生成装置は、複数の前記データを生成し、前記対象取得部は、前記中央処理装置に使用させる前記複数のデータを順次取得し、前記複数のデータのそれぞれについて、前記割込発行部は、前記対象取得部が当該データを取得するより前に、当該データが使用可能となったことを示す割込みを前記中央処理装置に対して発行し、前記複数のデータのそれぞれについて、前記時間差測定部は、前記対象取得部が当該データを取得するタイミングに対する、当該データが使用可能となったことを示す前記割込みを受けた前記中央処理装置が当該データの使用を要求するタイミングの時間差を測定し、前記設定期間変更部は、前記時間差測定部により測定された複数の前記時間差に基づいて、前記設定期間を変更する項目３記載の割込制御装置。
【００８１】
（項目６）  前記設定期間変更部は、前記時間差測定部により測定された前記複数の時間差の平均値に基づいて、前記設定期間を変更する項目５記載の割込制御装置。
（項目７）  前記設定期間変更部は、前記平均値を所定の微小時間とするべく前記設定期間を変更する項目６記載の割込制御装置。
（項目８）  前記設定期間変更部は、前記時間差測定部により測定された前記複数の時間差の分布に基づいて、前記設定期間を変更する項目５記載の割込制御装置。
（項目９）  前記設定期間変更部は、前記複数の時間差のうち、予め定められた割合の前記時間差を所定の微小時間以下とするべく前記設定期間を変更する項目８記載の割込制御装置。
【００８２】
（項目１０）  前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記設定期間をより小さな値に変更し、前記対象取得部が前記データ又は前記リソースを取得した状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記設定期間をより大きな値に変更する設定期間変更部を更に備える項目２記載の割込制御装置。
（項目１１）  前記使用遅延部は、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、当該要求を受けてから前記対象取得部が前記データ又は前記リソースを取得するまでに要する遅延時間を算出する遅延時間算出部と、前記遅延時間が予め定められたしきい値未満の場合に、前記中央処理装置に前記データ又は前記リソースの使用をポーリングにより要求させ、前記遅延時間が前記しきい値以上の場合に、前記中央処理装置を前記割込みによる割込処理から一旦復帰させることにより、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる遅延処理部とを有する項目１記載の割込制御装置。
【００８３】
（項目１２）  前記割込み発行部は、前記リソースを確保するリソース確保装置が前記リソースの確保を開始してから予め設定された設定期間の後に、前記リソースが使用可能となったことを示す前記割込みを前記中央処理装置に対して発行する項目１記載の割込制御装置。
【００８４】
（項目１３）  中央処理装置と、中央処理装置に対して割込みを発行する割込制御装置とを備える情報処理装置であって、前記割込制御装置は、前記中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、前記対象取得部が前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行部と、前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延部とを有し、前記中央処理装置は、前記割込発行部から前記割込みを受けた場合に、前記割込制御装置に対して前記データ又は前記リソースの使用を要求する情報処理装置。
【００８５】
（項目１４）  中央処理装置に対して割込みを発行する割込制御装置の制御方法であって、前記中央処理装置に使用させるデータ又はリソースを取得する対象取得段階と、前記対象取得段階において前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行段階と、前記対象取得段階において前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得段階において前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延段階とを備える制御方法。
【００８６】
（項目１５）  中央処理装置に対して割込みを発行する割込制御装置用のプログラムであって、前記割込制御装置を、前記中央処理装置に使用させるデータ又はリソースを取得する対象取得部と、前記対象取得部が前記データ又は前記リソースを取得するより前に、前記データ又は前記リソースが使用可能となったことを示す割込みを前記中央処理装置に対して発行する割込発行部と、前記対象取得部が前記データ又は前記リソースを取得していない状態で、前記割込みを受けた前記中央処理装置が前記データ又は前記リソースの使用を要求した場合に、前記対象取得部が前記データ又は前記リソースを取得するまで前記中央処理装置による前記データ又は前記リソースの使用を遅延させる使用遅延部として機能させるプログラム。
（項目１６）  項目１５に記載したプログラムを記録した記録媒体。
【００８７】
【発明の効果】
上記説明から明らかなように、本発明によれば、入出力装置やサブＣＰＵ等からメインＣＰＵに対する割込みタイミングを最適化することにより、割込みオーバヘッドによるシステム性能の低下を抑えることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る情報処理装置１０のハードウェア構成を示す。
【図２】本発明の実施形態に係る割込制御装置８０の機能構成を示す。
【図３】本発明の実施形態に係る情報処理サブシステム５０の処理フローを示す。
【図４】本発明の実施形態に係る情報処理サブシステム５０の遅延処理フローを示す。
【図５】本発明の実施形態に係る情報処理装置１０の動作タイミングの一例を示す。図５（ａ）は、情報処理サブシステム５０によるデータ生成／リソース確保処理が、ＣＰＵ１００によるデータ／リソース使用の要求より前に終了する場合のタイミングを示す。図５（ｂ）は、情報処理サブシステム５０によるデータ生成／リソース確保処理が、ＣＰＵ１００によるデータ／リソース使用の要求より後に終了する場合のタイミングを示す。
【図６】本発明の実施形態に係る情報処理サブシステム５０のハードウェア構成の一例を示す。
【符号の説明】
１０  情報処理装置
５０  情報処理サブシステム
６０  データ生成装置
７０  リソース確保装置
８０  割込制御装置
１００  ＣＰＵ
１１０  ＲＯＭ
１２０  ＲＡＭ
１３０  通信インターフェイス
１４０  ハードディスク・ドライブ
１５０  フレキシブルディスク・ドライブ
１６０  ＣＤ−ＲＯＭドライブ
１７０  入出力チップ
１７５  グラフィック・コントローラ
１８０  表示装置
１８２  ホスト・コントローラ
１８４  入出力コントローラ
１９０  フレキシブルディスク
１９５  ＣＤ−ＲＯＭ
２００  対象取得部
２１０  割込発行部
２１２  設定期間管理部
２２０  使用遅延部
２２２  遅延時間算出部
２２４  遅延処理部
２２６  タイミング調整部
２３０  時間差測定部
２４０  取得時間測定部
２５０  設定期間変更部
５００  メイン処理
５１０  サブ処理
５２０  割込処理
６００  ＤＳＰ
６１０  命令メモリ
６２０  データメモリ
６３０  バスインターフェイス
６５０  送信メモリ領域
６６０  使用可能フラグ
６６２  遅延処理指定フラグ
６７０  受信メモリ領域
６８０  使用可能フラグ
６８２  遅延処理指定フラグ
【図１】
2004302680.tif 000003
【図２】
2004302680.tif 000004
【図３】
2004302680.tif 000005
【図４】
2004302680.tif 000006
【図５】
2004302680.tif 000007
【図６】
2004302680.tif 000008