(57)【要約】【課題】デバイスからプロセッサを含むシステムに割込み要求を行う割込み制御装置及び割込み制御方法に関し、性能が充分でない場合で、そのシステムの安定性を維持し、デバイスの性能を最大限引き出す。【解決手段】ネットワーク・インターフェイス等のデバイス２−１，２−２からプロセッサ１を含むシステムに対して割込み要求を行う割込み制御装置及び割込み制御方法に於いて、デバイス２−１，２−２の割込み要求に従ったシステムに於ける割込み処理終了により次の割込み要求を行うまでの最低時間を設定して起動するタイマ部５と、このタイマ部５が起動されて前記最低時間経過まで前記システムに対する割込み要求をマスクする割込みマスク部６とを備えている。【選択図】図１
2007199887.tif 000002
【特許請求の範囲】
【請求項１】
デバイスからシステムに対して割込み要求を行う割込み制御装置に於いて、
前記デバイスの割込み要求に従った前記システムに於ける割込み処理終了により次の割込み要求を行うまでの最低時間を設定して起動するタイマ部と、
該タイマ部が起動されて前記最低時間経過まで前記システムに対する割込み要求をマスクする割込みマスク部と
を備えたことを特徴とする割込み制御装置。
【請求項２】
前記タイマ部は、前記最低時間を、各部の初期設定時に決定して手動で設定するか、又は運用中の前記システムの平均負荷を基に決定して、該システムからの制御により設定するか、又は特定の処理の所要時間を測定し、測定結果の時間を基に決定して、前記システムからの制御により設定するか、又は前記デバイス以外の他の割込み要因による割込み発生回数を基に決定して前記システムからの制御により設定するか、又は現在の消費電力を基に決定して、前記システムからの制御により設定するか、又は前記システム側の運用中の要因を基に決定して該システムからの制御により設定するかの何れか一つ条件又は複数の条件により決定して設定する構成を備えたことを特徴とする請求項１記載の割込み制御装置。
【請求項３】
デバイスからシステムに対して割込み要求を行う割込み制御方法に於いて、
前記デバイスの割込み要求に従った前記システムに於ける割込み処理終了によって、該システムの通常処理の最低時間をタイマ部に設定して該タイマ部を起動し、該タイマ部が起動されて前記最低時間が経過するまで、前記システムに対する割込み要求をマスクする過程を含む
ことを特徴とする割込み制御方法。
【請求項４】
前記タイマ部に設定する前記最低時間を、各部の初期設定時に決定して手動で設定するか、又は運用中の前記システムの平均負荷を基に決定して、該システムからの制御により設定するか、又は特定の処理の所要時間を測定し、測定結果の時間を基に決定して、前記システムからの制御により設定するか、又は前記デバイス以外の他の割込み要因による割込み発生回数を基に決定して前記システムからの制御により設定するか、又は現在の消費電力を基に決定して、前記システムからの制御により設定するか、又は前記システム側の運用中の要因を基に決定して該システムからの制御により設定するかの何れか一つの条件又は複数の条件により決定し、前記システムの割込み処理終了毎に設定する過程を含むことを特徴とする請求項３記載の割込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク・インターフェイス等のデバイスからの割込み要求に従って、そのデバイスに関する処理を実行するシステムに於ける割込み制御装置及び割込み制御方法に関する。
【背景技術】
【０００２】
プロセッサとメモリとを含み、ＯＳ（オペレーション・システム）により、又はＯＳ上で動作するアプリケーションにより各種の処理を実行するシステムに、ネットワーク・インターフェイス等のデバイスを接続し、このデバイスに関する処理をシステム側に於いて実行する場合、システム側からデバイス側の状態を定期的にチェックし、デバイスに関する処理が必要と判断した場合に於いてのみその処理を実行する方式と、デバイス側が処理を必要とする時にのみ、デバイス側からシステム側へ割込み要求を行い、システム側は、その割込み要求を受け付けてデバイスに関する処理を実行する割込み制御方式とがあり、後者の割込み制御方式が前者の方式より、デバイス側の状態チェック等の余分な処理を必要としない点で優れているから、後者の割込み制御方式が一般的となっている。
【０００３】
この割込み制御方式として、既に各種の方式が提案され、且つ実用化されている。この割込み制御方式に於いて、例えば、デバイス側からの割込み要求が頻発すると、システム側の本来の処理が充分にできなくなる場合がある。そこで、一定時間内に発生する割込みの最大回数を制限する方式や、一定時間割込みを遅延させて、複数回分の割込みをまとめて一度の割込み要求とする方式等が知られている。又割込み信号のエッジを検出して割込みを認識する割込みハンドラを有するマイクロコンピュータに於いて、複数個所からの割込み信号に対して、最初の割込み信号によりプロセッサに対する割込み要求信号とすると共に、他の割込み信号をマスクし、割込み要求信号による処理の終了によりマスクを解除して、それまでマスクされていた割込み信号を、プロセッサに対する割込み要求信号とする手段も知られている（例えば、特許文献１参照）。
【特許文献１】特開平１−２１７５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に割込み処理は、他の通常処理より優先度が高いので、プロセッサは、割込み要求に従って、ＯＳやそのＯＳ上で動作するアプリケーション等の通常処理を中止して、割込み処理を実行するものであり、この割込み処理の終了により、中止していた通常処理を再開するものである。例えば、ネットワーク・インターフェイス等のデバイスがプロセッサに接続され、そのデバイスがネットワーク等を介してデータを受信した時に、プロセッサに割込み要求を行う場合、図７に示すようなシーケンスで、割込み処理が実行される。即ち、デバイスがネットワーク等を介してデータを受信すると、プロセッサに対して割込み要求を行い、プロセッサは、その割込み要求により、ＯＳの通常処理を一時中止して、割込み要求に従った割込み処理を実行し、この割込み処理の終了により、元の通常処理を再開する。
【０００５】
即ち、デバイスは、データ受信毎に、プロセッサに対して割込み要求を行うものであり、プロセッサは、その都度、通常処理を中断して割込み処理を実行することになる。近年のネットワークの伝送速度が数百Ｍｂｐｓを超えるような高速化されることに伴って、ネットワーク・インターフェイス等のデバイス側からプロセッサ側への割込み要求が頻発することになる。又組込み装置等に用いられるプロセッサは、消費電力や発熱量等の制約から、サーバ等に用いられるプロセッサに比較して、性能が低い構成を用いる場合が一般的である。このような制約によるプロセッサに対して接続されたネットワーク・インターフェイス等のデバイスの性能を最大限引き出す為には、プロセッサ側の割込み処理をできるだけ多く実行することが要望される。しかし、プロセッサに対する割込み要求が頻発すると、通常処理が充分に実行できなくなる問題が生じる。
【０００６】
本発明は、デバイスが必要とする処理に対して、プロセッサの性能が十分でないような組込みシステム等に於いても、デバイスの性能を最大限引き出し、且つシステムの安定性を失わないように、割込みタイミングの制御を行うことを目的とする。
【課題を解決するための手段】
【０００７】
本発明の割込み制御装置は、デバイスからシステムに対して割込み要求を行う割込み制御装置に於いて、前記デバイスの割込み要求に従った前記システムに於ける割込み処理終了により次の割込み要求を行うまでの最低時間を設定して起動するタイマ部と、該タイマ部が起動されて前記最低時間経過まで前記システムに対する割込み要求をマスクする割込みマスク部とを備えている。
【０００８】
又前記タイマ部は、前記最低時間を、各部の初期設定時に決定して手動で設定するか、又は運用中の前記システムの平均負荷を基に決定して、該システムからの制御により設定するか、又は特定の処理の所要時間を測定し、測定結果の時間を基に決定して、前記システムからの制御により設定するか、又は前記デバイス以外の他の割込み要因による割込み発生回数を基に決定して前記システムからの制御により設定するか、又は現在の消費電力を基に決定して、前記システムからの制御により設定するか、又は前記システム側の運用中の要因を基に決定して該システムからの制御により設定するかの何れか一つ条件又は複数の条件により決定して設定する構成を備えている。
【０００９】
又本発明の割込み制御方法は、デバイスからシステムに対して割込み要求を行う割込み制御方法に於いて、前記デバイスの割込み要求に従った前記システムに於ける割込み処理終了によって、該システムの通常処理の最低時間をタイマ部に設定して該タイマ部を起動し、該タイマ部が起動されて前記最低時間が経過するまで、前記システムに対する割込み要求をマスクする過程を含むものである。
【００１０】
又前記タイマ部に設定する前記最低時間を、各部の初期設定時に決定して手動で設定するか、又は運用中の前記システムの平均負荷を基に決定して、該システムからの制御により設定するか、又は特定の処理の所要時間を測定し、測定結果の時間を基に決定して、前記システムからの制御により設定するか、又は前記デバイス以外の他の割込み要因による割込み発生回数を基に決定して前記システムからの制御により設定するか、又は現在の消費電力を基に決定して、前記システムからの制御により設定するか、又は前記システム側の運用中の要因を基に決定して該システムからの制御により設定するかの何れか一つの条件又は複数の条件により決定し、前記システムの割込み処理終了毎に設定する過程を含むものである。
【発明の効果】
【００１１】
通常処理を実行するプロセッサを含むシステムに、デバイスから割込み要求を行って割込み処理を実行させる場合に、システムに於ける通常処理の最低時間を確保できるように割込み要求のマスクを行うことにより、システムが高機能の構成でない場合でも充分な処理機能を実現すると共に、デバイスからの割込み要求に従った割込み処理を実行することができる。
【発明を実施するための最良の形態】
【００１２】
本発明の割込み制御装置は、図１を参照すると、ネットワーク・インターフェイス等のデバイス２−１，２−２からプロセッサ１を含むシステムに対して割込み要求を行う割込み制御装置に於いて、デバイス２−１，２−２の割込み要求に従ったシステムに於ける割込み処理終了により次の割込み要求を行うまでの最低時間を設定して起動するタイマ部５と、このタイマ部５が起動されて前記最低時間経過まで前記システムに対する割込み要求をマスクする割込みマスク部６とを備えている。
【００１３】
本発明の割込み制御方法は、ネットワーク・インターフェイス等のデバイス２−１，２−２からプロセッサ１を含むシステムに対して割込み要求を行う割込み制御方法に於いて、デバイス２−１，２−２の割込み要求に従ったシステムに於ける割込み処理終了によって、このシステムの通常処理の最低時間をタイマ部５に設定して、タイマ部５を起動し、タイマ部５が起動されて前記最低時間が経過するまで、前記システムに対する割込み要求をマスクする過程を含むものである。
【実施例１】
【００１４】
図１は、本発明の実施例１の要部説明図であり、１はシステムの主要部のプロセッサ、２−１，２−２はネットワーク・インターフェイス装置等のデバイス、３はバス、４は入出力処理部、５はタイマ部、６は割込みマスク部、７は送受信制御部、８は伝送回線を示す。プロセッサ１のバス３に、単一又は複数のデバイス２−１，２−２が接続され、デバイス２−１，２−２は、伝送回線８により、図示を省略したネットワークと接続されている。又一方と他方とのデバイス２−１，２−２は同一の構成を有する場合を示し、他方のデバイス２−２の内部構成は図示を省略している。又タイマ部５と割込みマスク部６とを含む構成が割込み制御装置を構成する。
【００１５】
デバイス２−１，２−２の送受信制御部７は、伝送回線８を介してデータを受信すると、割込み信号を割込みマスク部６に入力する。割込みマスク部６は、タイマ部５の設定時間内の割込みをマスクするものであり、タイマ部５に設定した時間内でない場合、割込み信号を入出力制御部４に入力し、この入出力制御部４からバス３を介してプロセッサ１に対して割込み要求信号を送出する。プロセッサ１は、この割込み要求信号に従って、通常処理に関するプログラムやデータ等を一時的に退避させて、デバイスに関する割込み処理を実行する。
【００１６】
タイマ部５と割込みマスク部６とによって、設定時間が経過するまで、プロセッサ１に対して次の割込み要求を行わないように制御するものであり、タイマ部５に、プロセッサ１に於ける割込み処理終了から通常処理に移行する場合に要求される次の通常処理時間の最低時間を設定する。即ち、システム側のプロセッサ１の通常処理時間を確保する為の最低時間をタイマ部５に設定する。このタイマ部５は、システム側のプロセッサ１の通常処理終了により起動してカウント動作を開始し、設定された最低時間が経過するまで、割込みマスク部６により、プロセッサ１に対する割込み要求をマスクする。
【００１７】
このタイマ部５に設定する最低時間は、例えば、デバイス２−１，２−２が適用されるシステム構成に対応して、次の（ａ）〜（ｆ）に示すような各種の設定手段を適用することができる。（ａ）各部の初期設定と共にデバイスの仕様書等を基に決定して手動で設定する。（ｂ）運用中のプロセッサ１のＯＳの平均負荷を基に決定して、プロセッサ１からの制御により設定する。（ｃ）特定の処理の所要時間を測定し、その測定結果の時間を基に決定して、プロセッサ１からの制御により設定する。（ｄ）デバイス以外の他の割込み要因による割込み発生回数を基に決定して設定する。（ｅ）現在の消費電力を基に決定して、プロセッサ１から設定する。（ｆ）その他、プロセッサ１側の運用中の種々の要因を基に決定して設定する。
【００１８】
なお、プロセッサ１は、前述の各種の測定機能を有する場合が一般的であるから、その機能を利用して、最低時間の決定を行うことができる。又前述の（ａ）〜（ｆ）の何れか一つ又は複数の条件の組み合わせにより、プロセッサ１に於ける通常処理の最低時間を決定し、タイマ部５に設定することができる。例えば、前記（ｂ）の条件の場合、ＯＳの平均負荷が大きい時、最低時間を長くして、通常処理を確実に実行できるようにすることができる。又前記（ｃ）の条件の場合、特定の処理が多く且つ所要時間が長い測定結果の時、最低時間を長くして、特定の処理を確実に実行できるようにすることができる。
【００１９】
図２は、本発明の実施例１の動作説明図であり、デバイス１とタイマ部５とプロセッサ１との動作の一例を示すもので、前述の（ａ）〜（ｆ）の設定手段の何れか一つ又は複数の条件の組み合わせにより最低時間を決定し、タイマ部５に設定する。この最低時間をｔとした場合、デバイスの送受信制御部７に於いてデータ受信ａによる割込み信号は、割込みマスク部６がマスク状態でないことにより、タイマ部５に前述の最低時間ｔを設定し、プロセッサ１に対して割込み要求を行う。プロセッサ１は、通常処理を中断して、割込み処理を実行する。この割込み処理の終了により、通常処理に復帰すると共に、タイマ部５を起動する。このタイマ部５の起動により、割込みマスク部６は、最低時間ｔが経過するまで割込み要求をマスクする状態となる。従って、次の受信ｂによる割込み信号は、起動されたタイマ部５の最低時間ｔ内であるからマスクされる。この最低時間ｔ経過後に、プロセッサ１に対して割込み要求信号を送出し、プロセッサ１は、通常処理を中断して割込み処理を実行する。従って、割込み処理終了後の通常処理時間は、少なくとも設定した最低時間ｔとして確保されることになる。
【００２０】
図３は、タイマ部の説明図であり、（Ａ）はタイマ部５を構成するカウンタの動作を説明するフローチャート、（Ｂ）はレジスタの説明図である。図３の（Ｂ）に示すレジスタに於ける割込み制御用のレジスタは、割込みマスクレジスタと、最低時間設定レジスタと、その他の設定レジスタ等を含むもので、割込みレジスタは、割込みマスク部６の機能の一部に相当し、割込みレジスタが設定されている間は、割込みマスク状態となる。又最低時間設定レジスタは、割込みマスク時間の最低時間、即ち、プロセッサ１の通常処理の最低時間を確保できる時間を設定するもので、前述の（ａ）〜（ｆ）に示すような条件を基に設定する。
【００２１】
タイマ部５を構成するカウンタは、図３の（Ａ）に示すように、最低時間設定レジスタに値が設定されているか否かを判定し（ａ１）、設定されると、その値をカウンタの現在値とする（ａ２）。そして、ステップ（ａ１）に移行する。又最低時間設定レジスタに値が設定されている場合、カウンタの値が０か否かを判定し（ａ３）、０の場合は、ステップ（ａ１）に移行し、０でない場合は、一定周期のクロックに従ってカウンタの値を−１して、ステップ（ａ１）に移行する。この場合、プロセッサ１の通常処理の最低時間をタイマ部５に設定し、クロックに従ってダウンカウントし、カウント内容が０でない期間は、割込みマスク部６はマスク状態とし、０の期間は、マスク状態を解除する。
【００２２】
図４は、割込み制御のフローチャートを示し、デバイスに於いて、プロセッサに対する割込みが必要となると、割込みが禁止されているか否か、即ち、割込みマスク状態か否かを判定し（ｂ１）、割込みマスク状態でない場合、最低時間を管理するカウンタが０か否かを判定する（ｂ２）。即ち、前述のタイマ部５を構成するカウンタの値が０か否かを判定する。カウンタの値が０の場合は、割込み発生、即ち、プロセッサに対して割込み要求信号を送出する。又カウンタの値が０でない場合は、割込みが発生しない。即ち、割込みがマスクされる。
【００２３】
図５は、デバイスに於ける割込み発生から割込み要求を行うまでの動作のフローチャートを示すものであり、データ受信等による割込みの発生となると、割込み要求送出禁止状態として、デバイスに関する処理実行、例えば、データ受信処理を実行し（ｃ１）、次の割込みまでのプロセッサの通常処理の最低時間を決定する（ｃ２）。即ち、前述の（ａ）〜（ｆ）に示すような条件を基に割込みマスク時間の最低時間を決定する。この最低時間をレジスタに設定し（ｃ３）、割込み要求送出禁止状態を解除し（ｃ４）、プロセッサに対して割込み要求信号を送出する（ｃ５）。このデバイスの割込み処理の終了後、プロセッサの割込み処理の終了通知により、タイマ部５を起動し、設定した最低時間が経過するまで、割込みマスク状態とする。
【実施例２】
【００２４】
図６は、本発明の実施例２の要部説明図であり、サーバ１０に接続する例えばカード型の構成のネットワーク処理オフロードエンジン１１に適用した場合を示す。同図に於いて、２１はプロセッサ、２２はインターフェイス、２３はブリッジ、２４はバスを示す。大型のサーバ１０に、小型のカード型としたネットワーク処理オフロードエンジン１１を、単一又は複数個を、コネクタ接続等により接続する。それにより、プロセッサ２１はブリッジ２３を介してサーバ１０のバスに接続される。又インターフェイス２２は、図１に示すデバイスの機能に相当し、図示を省略したネットワークとの間のデータの送受信を行うものである。
【００２５】
ネットワーク処理オフロードエンジン１１は、小型のカード型構成が一般的であり、従って、プロセッサ２１もサーバ１０を構成するプロセッサに比較して低い性能であるが、このプロセッサ２１とインターフェイス２２とを、図１に於けるプロセッサ１とデバイス２−１とに対応した構成とすることにより、プロセッサ２１の通常処理を阻害することなく、インターフェイス２２からの割込み処理を実行することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施例１の要部説明図である。
【図２】本発明の実施例１の動作説明図である。
【図３】本発明の実施例１のタイマの動作フローチャートである。
【図４】割込み制御のフローチャートである。
【図５】デバイスに於ける割込み発生からのフローチャートである。
【図６】本発明の実施例２の要部説明図である。
【図７】従来例の動作説明図である。
【符号の説明】
【００２７】
１  プロセッサ
２−１，２−２  デバイス
３  バス
４  入出力処理部
５  タイマ
６  割込みマスク部
７  送受信制御部
８  接続回線
【図１】
2007199887.tif 000003
【図２】
2007199887.tif 000004
【図３】
2007199887.tif 000005
【図４】
2007199887.tif 000006
【図５】
2007199887.tif 000007
【図６】
2007199887.tif 000008
【図７】
2007199887.tif 000009