(57)【特許請求の範囲】
【請求項１】
ＣＰＵとＩ／Ｏ装置を接続するためのＩ／Ｏブリッジ回路であって、
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数に応じて、前記Ｉ／Ｏ装置から前記ＣＰＵへ発行される割り込み信号の前記ＣＰＵに対する送出間隔を調整する、前記ＣＰＵに対する送出タイミングを指示する割り込み発行タイミング信号を出力する割り込み指示回路と、
前記Ｉ／Ｏ装置から前記ＣＰＵへ発行された割り込み信号を保持し、前記割り込み発行タイミング信号にしたがって該割り込み信号を前記ＣＰＵへ送出する割り込み情報保持レジスタと、
を有するＩ／Ｏブリッジ回路。
【請求項２】
割り込み指示回路は、
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数が予め設定した所定数よりも多い場合は、前記ＣＰＵに対する前記割り込み信号の送出間隔が予め設定した所定時間よりも短い間隔になるように前記割り込み発行タイミング信号を出力し、
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数が予め設定した所定数よりも少ない場合は、前記ＣＰＵに対する前記割り込み信号の送出間隔が予め設定した所定時間よりも長い間隔になるように前記割り込み発行タイミング信号を出力する請求項１記載のＩ／Ｏブリッジ回路。
【請求項３】
Ｉ／Ｏ装置からＣＰＵへ発行される割り込み信号の送出タイミングを制御するための割り込み信号制御方法であって、
前記Ｉ／Ｏ装置から前記ＣＰＵへ発行された割り込み信号をレジスタで保持し、
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数に応じて前記Ｉ／Ｏ装置から前記ＣＰＵへ発行される割り込み信号の前記ＣＰＵに対する送出間隔を調整し、前記ＣＰＵに対する送出タイミングを指示する割り込み発行タイミング信号を出力し、
前記割り込み発行タイミング信号にしたがって前記レジスタで保持した割り込み信号を前記ＣＰＵへ送出する割り込み信号制御方法。
【請求項４】
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数が予め設定した所定数よりも多い場合は、前記ＣＰＵに対する前記割り込み信号の送出間隔が予め設定した所定時間よりも短い間隔になるように前記割り込み発行タイミング信号を出力し、
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数が予め設定した所定数よりも少ない場合は、前記ＣＰＵに対する前記割り込み信号の送出間隔が予め設定した所定時間よりも長い間隔になるように前記割り込み発行タイミング信号を出力する請求項３記載の割り込み信号制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＰＵやメモリとＩ／Ｏ装置を接続するためのインタフェースであるＩ／Ｏブリッジ回路及びその回路で用いる割り込み信号制御方法に関する。
【背景技術】
【０００２】
一般に、情報処理装置は、ＣＰＵ(中央演算処理装置)、メモリ、Ｉ／Ｏ（入出力）装置を備えている。Ｉ／Ｏ装置は、ＰＣＩ、ＰＣＩＸ、ＰＣＩ−Ｅｘｐｒｅｓｓ等の標準規格に準拠した回路と、これらのアーキテクチャー上で動作するＨＢＡ(Host Bus Adaptor)とを備えている。情報処理装置は、ＰＣＩアーキテクチャーとＣＰＵやメモリとを接続するために、これらの論理的及び電気的な差異を吸収するインタフェースとしてＩ／Ｏブリッジ回路を備えている。
【０００３】
Ｉ／Ｏブリッジ回路は、ＣＰＵやメモリから出力された命令コードやデータをＨＢＡで受信可能な形式に変換し、ＨＢＡから出力された命令コードやデータをＣＰＵやメモリで受信可能な形式に変換する。
【０００４】
例えば、Ｉ／Ｏブリッジ回路は、ＣＰＵからＨＢＡに発行されたＯｕｔｂｏｕｎｄ命令をＰＣＩ形式の命令に変換してＨＢＡへ送出し、ＨＢＡからＣＰＵへＯｕｔｂｏｕｎｄ命令に対するリプライが送出されると、割り込み処理形式に適宜変換してＣＰＵへ送出する。また、Ｉ／Ｏブリッジ回路は、ＨＢＡから発行されたＰＣＩ形式の命令コードやアドレス等をメモリで受信可能な形式に変換してメモリへ送出し、メモリから送出されたリプライデータやステータスをＰＣＩ形式に変換してＨＢＡへ送出する。
【０００５】
各ＨＢＡの処理状態は、メモリ内に設けられた管理テーブルを用いて管理される。ＨＢＡは、ＣＰＵあるいは外部装置から指示された処理を終了すると、管理テーブル内の該処理に対応する情報（フラグ等）を書き換えると共に、ＣＰＵへ割り込み信号を送信することで処理の終了を通知する。
【０００６】
例えば、ＣＰＵの制御によりメモリに格納されたデータを外部装置へ出力する場合、ＨＢＡはＤＭＡ（Direct Memory Access）等によりメモリからデータを読み出して外部装置へ転送し、データ転送処理が終了すると、管理テーブル内の該処理に対応するフラグを処理の終了を示す値に書き換える。また、ＨＢＡは管理テーブルの更新が終了したタイミングで、ＣＰＵに処理の終了を示す割り込み信号を送信する。この割り込み信号は、ＣＰＵにとって次のタスクを開始するための契機となる。ＣＰＵは、ＨＢＡから割り込み信号を受け取ると、メモリ内の管理テーブルを参照し、ＨＢＡによる処理の終了・未終了を判定する。
【０００７】
ところで、近年の情報処理装置では、ＨＢＡの高速化や所要のＨＢＡ数が増加している。そのため、割り込み信号が発行される度にメモリ内の管理テーブルを参照し、ＨＢＡの処理の終了・未終了を判定すると、ＣＰＵの処理負荷が増大して情報処理装置としてのパフォーマンスが低下する要因となる。
【０００８】
このＨＢＡから発行される割り込み信号は、上述したようにＣＰＵにとって次のタスクを開始するための契機となるが、ＨＢＡから割り込み信号が発行される度に逐一処理を実行する必要は無い。そのため、ＨＢＡから発行された割り込み信号をそのままＣＰＵへ渡すのではなく、ＣＰＵに対する割り込み信号の送出タイミングを制御することで、ＣＰＵの処理負荷を軽減する技術が注目されている。
【０００９】
例えば、特許文献１には、ＨＢＡから発行された割り込み信号の数を所定の時間毎に計数し、割り込み信号の数が多い場合はタイマー等を用いてＣＰＵへ送出する割り込み信号の間隔を長くし、割り込み信号の数が少ない場合はそのままＣＰＵへ送出する構成が記載されている。
【００１０】
また、ＣＰＵの負荷を軽減することを目的として、高速動作が可能なＨＢＡの中には、ＨＢＡ自身で割り込み信号の発行タイミングを調整可能な構成もある。
【特許文献１】特開２０００−０９９４４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記したような従来のＩ／Ｏブリッジ回路のうち、割り込み信号の数に応じてＣＰＵへ送出する割り込み信号の間隔を調整する構成では、任意の時刻において割り込み信号の数が増加した場合、その割り込み信号の発生要因が外部なのか内部なのかが分からないため、ＣＰＵが能動的にＩ／Ｏ処理を行いたい場合でも、割り込み信号の数が増加することでタイマーを用いた割り込み信号の発行間隔の制御動作へ移行する。その場合、割り込み信号の間隔が長くなることで、処理の終了を知らせる割り込み信号のＣＰＵへの到着が遅れるため、Ｉ／Ｏ処理におけるレイテンシが低下するおそれがある。
【００１２】
また、ＨＢＡ自身で割り込み信号の発生タイミングを調整する構成では、情報処理装置のシステム構成によってＣＰＵの処理能力やＨＢＡの数が異なるため、考慮するパラメータ数が増えて情報処理装置のトータルパフォーマンスを調整することが難しくなるという問題がある。
【００１３】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、ＣＰＵ、メモリ及びＩ／Ｏ装置を有する情報処理装置のトータルパフォーマンスを向上させることができるＩ／Ｏブリッジ回路及び割り込み信号制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため本発明のＩ／Ｏブリッジ回路は、ＣＰＵとＩ／Ｏ装置を接続するためのＩ／Ｏブリッジ回路であって、
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数に応じて、前記Ｉ／Ｏ装置から前記ＣＰＵへ発行される割り込み信号の前記ＣＰＵに対する送出間隔を調整する、前記ＣＰＵに対する送出タイミングを指示する割り込み発行タイミング信号を出力する割り込み指示回路と、
前記Ｉ／Ｏ装置から前記ＣＰＵへ発行された割り込み信号を保持し、前記割り込み発行タイミング信号にしたがって該割り込み信号を前記ＣＰＵへ送出する割り込み情報保持レジスタと、
を有する。
【００１５】
一方、本発明の割り込み信号制御方法は、Ｉ／Ｏ装置からＣＰＵへ発行される割り込み信号の送出タイミングを制御するための割り込み信号制御方法であって、
前記Ｉ／Ｏ装置から前記ＣＰＵへ発行された割り込み信号をレジスタで保持し、
前記ＣＰＵから前記Ｉ／Ｏ装置へ発行される命令の数に応じて前記Ｉ／Ｏ装置から前記ＣＰＵへ発行される割り込み信号の前記ＣＰＵに対する送出間隔を調整し、前記ＣＰＵに対する送出タイミングを指示する割り込み発行タイミング信号を出力し、
前記割り込み発行タイミング信号にしたがって前記レジスタで保持した割り込み信号を前記ＣＰＵへ送出する方法である。
【００１６】
上記のようなＩ／Ｏブリッジ回路及び割り込み信号制御方法では、ＣＰＵからＩ／Ｏ装置へ発行する命令の数に応じて、ＣＰＵへ送出する割り込み信号の送出間隔が調整される。そのため、例えば、ＣＰＵが能動的にＩ／Ｏ処理を実行する場合はＣＰＵに対する割り込み信号の送出間隔を短くすることでＩ／Ｏ処理におけるレイテンシの低下を防止できる。また、ＣＰＵが能動的にＩ／Ｏ処理を実行しない場合はＣＰＵに対する割り込み信号の送出間隔を長くすることでＣＰＵのＩ／Ｏ処理における負荷を低減できる。
【発明の効果】
【００１７】
本発明によれば、ＣＰＵからＩ／Ｏ装置へ発行する命令の数に応じてＣＰＵへ送出する割り込み信号の送出間隔を調整することで、ＣＰＵ、メモリ及びＩ／Ｏ装置を有する情報処理装置のトータルパフォーマンスを向上させることができる。
【００１８】
また、本発明では、Ｉ／Ｏブリッジ回路にてＣＰＵへ送出する割り込み信号の間隔を制御するため、情報処理装置が有するＩ／Ｏ装置の数や種類に関係なく、情報処理装置の情報処理装置のトータルパフォーマンスを容易に調整できる。
【発明を実施するための最良の形態】
【００１９】
次に本発明について図面を参照して説明する。
【００２０】
本発明では、ＣＰＵが能動的にＩ／Ｏ処理を行うとき、ＣＰＵからＩ／Ｏ装置のＨＢＡに対してＯｕｔｂｏｕｎｄ命令が必ず発行されることに着目し、ＣＰＵから発行されるＯｕｔｂｏｕｎｄ命令の数に応じて、ＣＰＵへの割り込み信号の送出間隔を制御する。
【００２１】
図１は本発明のＩ／Ｏブリッジ回路の一構成例を示すブロック図である。
【００２２】
図１に示すように、Ｉ／Ｏブリッジ回路１は、ＣＰＵ３、メモリ４及び複数のＨＢＡ（図１では第１のＨＢＡ５〜第４のＨＢＡ８）と接続され、ＣＰＵ３及びメモリ４と第１のＨＢＡ５〜第４のＨＢＡ８間で送受信される命令コードやデータを中継する。Ｉ／Ｏブリッジ回路１とＣＰＵ３及びメモリ４とは、インタフェース回路２を介して接続されている。なお、図１ではＩ／Ｏブリッジ回路１に４台のＨＢＡが接続された構成を示しているが、ＨＢＡの数は４台に限定されるものではなく、Ｉ／Ｏブリッジ回路１が許容できる範囲内であれば、何台であってもよい。また、以下では、第１のＨＢＡ５〜第４のＨＢＡ８、すなわちＩ／Ｏ装置がＰＣＩ規格に準拠する構成であるとして説明するが、Ｉ／Ｏ装置（ＨＢＡ）は、ＰＣＩ規格に限らず、どのような規格に準拠する構成であってもよい。
【００２３】
本発明のＩ／Ｏブリッジ回路１は、割り込み指示回路９、クリア指示回路１０、割り込み情報保持レジスタ１１、命令デコーダ１２、割り込みデコーダ１３、論理和ゲート１３、論理積ゲート１５及び内部バス１６を備えている。Ｉ／Ｏブリッジ回路１と第１のＨＢＡ５〜第４のＨＢＡ８とは内部バス１６を介して接続される。
【００２４】
命令デコーダ１２は、ＣＰＵ３から第１のＨＢＡ５〜第４のＨＢＡ８に対して発行されたＯｕｔｂｏｕｎｄ命令をデコードし、ＰＣＩ形式の命令に変換して該Ｏｕｔｂｏｕｎｄ命令の送信対象であるＨＢＡへ内部バス１６を介して送出する。
【００２５】
割り込みデコーダ１３は、第１のＨＢＡ５〜第４のＨＢＡ８で発行されたＣＰＵ３に対する割り込み信号やメモリ４に対するＩｎｂｏｕｎｄリプライをエンコードし、ＣＰＵ３やメモリ４で受け付け可能な形式に変換する。割り込みデコーダ１３でエンコードされた情報（割り込み信号）は割り込み情報保持レジスタ１１にて保持される。
【００２６】
割り込み情報保持レジスタ１１で保持された情報は論理和ゲート１４へ出力され、割り込みデコーダ１３から出力された情報との論理和結果が割り込み情報保持レジスタ１１に帰還される。このような構成とすることで、割り込み情報保持レジスタ１１では、割り込みデコーダ１３から新たな情報（割り込み信号）が出力されるまで、保持した情報の欠落を防止する。
【００２７】
割り込み指示回路９は、命令デコーダ１２でデコードした情報に基づき、割り込み信号をＣＰＵ３へ送出するタイミングを指示する割り込み発行タイミング信号を出力する。割り込み指示回路９は、ＣＰＵ３から発行される命令（Ｏｕｔｂｏｕｎｄ命令）の数に応じてＣＰＵ３に対する割り込み信号の送出間隔を調整する。すなわち、ＣＰＵ３から発行されるＯｕｔｂｏｕｎｄ命令の数が多い場合はＣＰＵ３に対する割り込み信号の送出間隔が短くなるように割り込み発行タイミング信号を出力し、ＣＰＵ３から発行されるＯｕｔｂｏｕｎｄ命令の数が少ない場合はＣＰＵ３に対する割り込み信号の送出間隔が長くなるように割り込み発行タイミング信号を出力する。
【００２８】
割り込み情報保持レジスタ１１で保持された情報（割り込み信号）は、割り込み指示回路９から出力される割り込み発行タイミング信号にしたがって、論理積ゲート１５及びインタフェース回路２を経由してＣＰＵ（上位装置）３へ送出される。
【００２９】
論理積ゲート１５からインタフェース回路２へ出力された割り込み信号は、クリア指示回路１０を経由して割り込み指示回路９及び割り込み情報保持レジスタ１１へ帰還され、それぞれのリセット信号として使用される。
【００３０】
次に図１に示した割り込み指示回路９について図２を用いて説明する。
【００３１】
図２は図１に示した割り込み指示回路の一構成例を示すブロック図である。
【００３２】
図２に示すように、割り込み指示回路９は、命令検知部２００、カウント値保持レジスタ２０１、第１の加算回路２０２、第２の加算回路２０３、セレクタ２０４及び比較器２０６を備えた構成である。
【００３３】
命令検知部２００は、命令デコーダ１２から出力された信号をデコードし、ＣＰＵ３からＯｕｔｂｏｕｎｄ命令が発行されたか否かを検出し、その検出結果をセレクタ２０４へ出力する。
【００３４】
第２の加算器２０３は、カウント値保持レジスタ２０１から出力されたカウント値に予め設定された固定値ｎを加算して出力し、第１の加算器２０２はカウンタ値保持レジスタ２０１から出力されるカウント値に上記固定値ｎよりも大きな値Ａを加算して出力する。
【００３５】
セレクタ２０４は、命令検知部２００の検出結果を基に、Ｏｕｔｂｏｕｎｄ命令を検知しないときは第２の加算器２０３の加算結果を選択し、Ｏｕｔｂｏｕｎｄ命令を検知したときは第１の加算器２０２の加算結果を選択してカウント値保持レジスタ２０１へ出力する。
【００３６】
カウント値保持レジスタ２０１は、クロックＣＬＫに同期してセレクタ２０４から出力されたカウント値を保持する。このとき、セレクタ２０４から出力されたカウント値が予め設定された固定値ｍを越える場合は、保持したカウント値を更新せずにそのままの値で維持する。カウント値保持レジスタ２０１の値は、クリア指示回路１０からの信号によりリセットされる。
【００３７】
カウンタ値保持レジスタ２０１で保持された値は、第１の加算器２０２及び第２の加算器２０３と共に、比較器２０６へ供給される。
【００３８】
比較器２０６は、カウンタ値保持レジスタ２０１から出力されたカウント値と、上記固定値ｍとを比較し、カウンタ値保持レジスタ２０１から出力されたカウント値が固定値ｍを超えるとき、上記割り込み発行タイミング信号を出力する。なお、上記固定値ｍ、ｎ、Ａは、ＣＰＵ３の処理能力やＨＢＡ（Ｉ／Ｏ装置）の数に応じて予め最適に設定されているものとする。
【００３９】
このような構成にすることで、割り込み指示回路９では、Ｏｕｔｂｏｕｎｄ命令を検知すると、Ｏｕｔｂｏｕｎｄ命令を検知しないときよりもカウントアップ値が大きな値（Ａ）に設定され、所定数以上のＯｕｔｂｏｕｎｄ命令が発行された場合、すなわち、ＣＰＵ３が能動的に多くのＩ／Ｏ処理を実行する場合は、割り込み発行タイミング信号の発生間隔が短くなる。したがって、ＨＢＡの処理の終了を知らせる割り込み信号のＣＰＵ３への到着が遅れることがないため、Ｉ／Ｏ処理におけるレイテンシの低下が防止される。一方、Ｏｕｔｂｏｕｎｄ命令を検知しない場合、すなわち、ＣＰＵ３が能動的にＩ／Ｏ処理を実行しない場合は、カウントアップ値が比較的小さい値（ｎ）に設定され、割り込み発行タイミング信号の発生間隔が長くなる。その場合、ＣＰＵ３のＩ／Ｏ処理の負荷が低減する。
【００４０】
次に本発明の効果について図３〜図５を用いて説明する。
【００４１】
図３はＣＰＵへの割り込み信号の送出タイミングを制御しない従来のＩ／Ｏブリッジ回路の動作を示すグラフであり、図４はＣＰＵへの割り込み信号の送出タイミングをＨＢＡからの割り込み発行数に基づいて制御する場合の従来のＩ／Ｏブリッジ回路の動作を示すグラフである。また、図５は本発明のＩ／Ｏブリッジ回路の動作を示すグラフである。
【００４２】
なお、図３〜図５の横軸は時間（クロックＣＬＫ）を示し、該時間軸を境に上半分のグラフは単位時間毎にＩ／Ｏブリッジ回路が受け取った各ＨＢＡで発行された割り込み信号の数を示し、時間軸を境に下半分のグラフは単位時間毎にＣＰＵから各ＨＢＡに発行されたＯｕｔｂｏｕｎｄ命令の数を示している。
【００４３】
図３に示すように、ＣＰＵへの割り込み信号の送出タイミングを何も制御しない従来のＩ／Ｏブリッジ回路の場合、ＣＰＵから多くのＯｕｔｂｏｕｎｄ命令が発行されている時間領域では、ＣＰＵのＩ／Ｏ処理における負荷が増大する。
【００４４】
また、図４に示すように、ＣＰＵへの割り込み信号の送出タイミングをＨＢＡからの割り込み発行数に基づいて制御する従来のＩ／Ｏブリッジ回路の場合、ＣＰＵからＯｕｔｂｏｕｎｄ命令が多数発行されても、固定間隔で割り込み信号をＣＰＵへ送出するためＩ／Ｏ処理におけるレイテンシの悪化を招いている。
【００４５】
一方、図５に示すように、本発明のＩ／Ｏブリッジ回路１では、ＣＰＵ３から多くのＯｕｔｂｏｕｎｄ命令が発行されたときは、ＣＰＵ３に対する割り込み信号の送出間隔が短くなるためＩ／Ｏ処理におけるレイテンシの低下が防止される。また、各ＨＢＡから多くの割り込み信号が発行されていても、ＣＰＵ３からＯｕｔｂｏｕｎｄ命令が発行されていない場合は、ＣＰＵ３に対する割り込み信号の送出間隔が長くなるため、ＣＰＵ３のＩ／Ｏ処理における負荷を低減できる。
【００４６】
本発明によれば、ＣＰＵ３から各ＨＢＡ（Ｉ／Ｏ装置）へ発行する命令（Ｏｕｔｂｏｕｎｄ命令）の数に応じて、ＣＰＵ３へ送出する割り込み信号の送出間隔が調整される。そのため、例えば、ＣＰＵ３が能動的にＩ／Ｏ処理を実行する場合はＣＰＵ３に対する割り込み信号の送出間隔を短くすることでＩ／Ｏ処理におけるレイテンシの低下を防止できる。また、ＣＰＵ３が能動的にＩ／Ｏ処理を実行しない場合はＣＰＵ３に対する割り込み信号の送出間隔を長くすることでＣＰＵ３のＩ／Ｏ処理における負荷を低減できる。したがって、ＣＰＵ３、メモリ２及びＨＢＡ（Ｉ／Ｏ装置）を有する情報処理装置のトータルパフォーマンスを向上させることができる。
【００４７】
また、本発明では、Ｉ／Ｏブリッジ回路１にてＣＰＵ３へ送出する割り込み信号の間隔を制御するため、情報処理装置が有するＨＢＡ（Ｉ／Ｏ装置）の数や種類に関係なく、情報処理装置の情報処理装置のトータルパフォーマンスを容易に調整できる。
【図面の簡単な説明】
【００４８】
【図１】本発明のＩ／Ｏブリッジ回路の一構成例を示すブロック図である。
【図２】図１に示した割り込み指示回路の一構成例を示すブロック図である。
【図３】ＣＰＵへの割り込み信号の送出タイミングを制御しない従来のＩ／Ｏブリッジ回路の動作を示すグラフである。
【図４】ＣＰＵへの割り込み信号の送出タイミングをＨＢＡからの割り込み発行数に基づいて制御する場合の従来のＩ／Ｏブリッジ回路の動作を示すグラフである。
【図５】本発明のＩ／Ｏブリッジ回路の動作を示すグラフである。
【符号の説明】
【００４９】
１    Ｉ／Ｏブリッジ回路
２    インタフェース回路
３    ＣＰＵ
４    メモリ
５    第１のＨＢＡ
６    第２のＨＢＡ
７    第３のＨＢＡ
８    第４のＨＢＡ
９    割り込み指示回路
１０    クリア指示回路
１１    割り込み情報保持レジスタ
１２    命令デコーダ
１３    割り込みデコーダ
１４    論理和ゲート
１５    論理積ゲート
１６    内部バス
２００    命令検知部
２０１    カウント値保持レジスタ
２０２    第１の加算回路
２０３    第２の加算回路
２０４    セレクタ
２０５    比較器
【図１】
0004807502.tif 000002
【図２】
0004807502.tif 000003
【図３】
0004807502.tif 000004
【図４】
0004807502.tif 000005
【図５】
0004807502.tif 000006