JP2004030161A - コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム - Google Patents
コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム Download PDFInfo
- Publication number
- JP2004030161A JP2004030161A JP2002184642A JP2002184642A JP2004030161A JP 2004030161 A JP2004030161 A JP 2004030161A JP 2002184642 A JP2002184642 A JP 2002184642A JP 2002184642 A JP2002184642 A JP 2002184642A JP 2004030161 A JP2004030161 A JP 2004030161A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- bus
- host
- interrupt signal
- host bridge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体回路、およびプログラムを提供する。
【解決手段】ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジに入力し、ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、ホストプロセッサが、前記割り込み要因をシステムバスを介してホストブリッジから取得するようにする。
【選択図】 図1
【解決手段】ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジに入力し、ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、ホストプロセッサが、前記割り込み要因をシステムバスを介してホストブリッジから取得するようにする。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラムに関する。
【0002】
【背景技術】
図4にPCIバス(Peripheral Component Interconnect Bus)などのI/Oバス(Input Output Bus)を用いて構成されるコンピュータシステムのブロック構成を示す。マイクロプロセッサであるホストプロセッサ10が、アドレスバスやデータバスなどからなるシステムバス20を介してホストブリッジ11に接続する。ホストブリッジ11はI/Oバス30に接続する。I/Oバス30には複数のI/Oデバイス12および割り込みコントローラ13が接続する。
【0003】
割り込みコントローラ13は、複数の割り込み信号入力線131を有しており、これら割り込み信号入力線131には、I/Oデバイス12の割り込み信号出力線121が、システムバス20やI/Oバス30とは独立した接続ラインである第1の接続ライン40を介して接続する。また、割り込みコントローラ13は、割り込み信号出力線132を有しており、この割り込み信号出力線132は、システムバス20やI/Oバス30とは独立した接続ラインである第2の接続ライン50を介してホストプロセッサ10が有する割り込み信号入力線101に接続する。
【0004】
割り込みコントローラ13は、例えば、I/Oデバイス12の割り込み信号出力線121から出力された割り込み信号が、自身の割り込み信号入力線131に入力されると、自身の割り込み信号出力線132からホストプロセッサ10に割り込み信号を出力する。また、割り込みコントローラ13は、内部レジスタ133を有しており、I/Oデバイス12から割り込み信号が入力されると、その割り込み信号がいずれのI/Oデバイス12から入力されたのかを示す情報(以下、「割り込み要因」と称する)を内部レジスタ133に記憶する。
【0005】
あるI/Oデバイス12から割り込み信号が出力され、この割り込み信号に対応した処理(以下、「割り込み処理」と称する)がホストプロセッサ10で実行されるまでの処理の流れを、図5のフローチャートに示す。I/Oデバイス12から割り込み信号が出力され、その割り込み信号が割り込みコントローラ13の割り込み信号入力線131に入力されると(S511)、割り込みコントローラ13は、自身の割り込み信号出力線132から割り込み信号を出力し、ホストプロセッサ10に割り込み信号を入力する(S512)。割り込みコントローラ13から割り込み信号が入力されると、ホストプロセッサ10は、ホストプロセッサ10→システムバス20→ホストブリッジ11→I/Oバス30→割り込みコントローラ13→I/Oバス30→ホストブリッジ11→システムバス20→ホストプロセッサ10、の経路で割り込みコントローラ13の内部レジスタ133に記憶されている割り込み要因を取得する(S513)。ホストプロセッサ10は、割り込み要因を取得すると、その割り込み要因に対応して用意されている割り込み処理を実行する(S514)。
【0006】
【発明が解決しようとする課題】
ところで、I/Oデバイス12から割り込み信号が入力された場合に、ホストプロセッサ10が割り込みコントローラ13から割り込み要因を取得する際の前述の経路による通信は、システムバス20に比べて動作周波数が低く通信手順も複雑なI/Oバス30を経由しなければならず、処理に時間がかかるという問題があり、この処理時間が、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化を図る上で問題となっている。
【0007】
この発明は、コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
この目的を達成するための本発明の主たる発明は、ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、
I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジに入力し、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、
ホストプロセッサが、前記割り込み要因を前記システムバスを介してホストブリッジから取得することを特徴とする。
【0009】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【0010】
【発明の実施の形態】
===開示の概要===
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【0011】
ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジに入力し、ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、ホストプロセッサが、前記割り込み要因を前記システムバスを介してホストブリッジから取得すること、を特徴とするコンピュータシステムにおける割り込み制御方法。
【0012】
この制御方法では、I/Oデバイスからの割り込み信号に基づく割り込み要因をホストプロセッサとシステムバスを介して接続するホストブリッジが記憶しており、ホストプロセッサは、処理速度の遅いI/Oバスを介さずに割り込み要因をシステムバスを介してホストブリッジから取得することができる。このため、ホストプロセッサは、割り込み信号が入力された場合に割り込み要因を迅速に取得することができ、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が図られる。
【0013】
I/Oデバイスから割り込み信号が出力されたことは、例えば、割り込みコントローラからホストプロセッサに通知され、ホストプロセッサは、この通知があった場合にホストブリッジから割り込み要因を取得する。また、前記通知は、例えば、システムバスおよびI/Oバスとは独立して設けられた第2の経路を介して行われるため、システムバスやI/Oバスの状態に関わらず迅速に行われる。なお、この制御方法は、例えば、前記コンピュータシステムにおいて実効されるプログラムにより実現される。
【0014】
前記の割り込み要因とは、例えば、ホストブリッジに入力された前記割り込み信号がいずれの前記I/Oデバイスから入力されたものであるかを示す情報である。また、割り込み要因は、例えば、ホストブリッジが有する汎用レジスタに記憶される。ホストプロセッサは、具体的には、マイクロプロセッサやCPUである。ホストブリッジはPCIバスの場合、例えば、CPU−PCIブリッジと通称されるものが相当し、割り込みコントローラはPCI割り込みコントローラと通称されるものが相当する。I/Oバスは、例えば、PCIバスであり、I/Oデバイスは、例えば、PCIデバイスである。第1の経路とは、後述する第1の接続ラインである。ホストブリッジは、割り込み要因を、例えば、後述する汎用レジスタに記憶する。また、第2の経路とは、例えば、後述する第2の接続ラインである。
【0015】
===装置構成===
図1は、本発明の一実施例として説明するコンピュータシステムのブロック図である。
【0016】
ホストプロセッサ10が、システムバスを介してホストブリッジ11に接続する。ホストブリッジ11は、例えば、「ノースブリッジ」と通称される半導体集積回路(以下、「LSI」と称する)に実装される。パーソナルコンピュータなどに適用されるノースブリッジには、通常、ホストブリッジ11以外にも、例えば、メインメモリやキャッシュメモリ、グラフィックデバイスなどの制御機能が実装される。また、冗長構成のコンピュータシステムの場合、システムバス20には、複数のホストプロセッサ10が接続される場合もある。また、システムバス20には、RAMやROMなどのメモリが接続されることもある。
【0017】
ホストブリッジ11は、I/Oバス30に接続し、I/Oバス30には複数のI/Oデバイス12が接続している。I/Oデバイス12は、例えば、I/Oバス30がPCIバスである場合は、PCIバスのバススロットなどに装着されるPCIデバイスや、複数のI/Oバス間を接続するPCI−PCIブリッジやPCI−ISAブリッジなどバスブリッジなどであり、通常は、PCIカードなどの形で提供される。
【0018】
割り込みコントローラ13は、例えば、「サウスブリッジ」と通称されるLSIに実装される。割り込みコントローラ13の割り込み信号入力線131には、I/Oバス30に接続するI/Oデバイスの割り込み信号出力線がシステムバス20やI/Oバス30とは独立した接続ラインである第1の接続ライン40を介して接続する。また、割り込みコントローラ13の割り込み信号出力線132は、システムバス20やI/Oバス30とは独立した接続ラインである第2の接続ライン50を介してホストプロセッサ10が有する割り込み信号入力線101に接続する。
【0019】
割り込みコントローラ13は、例えば、I/Oデバイス12の割り込み信号出力線121から出力された割り込み信号が、自身の割り込み信号入力線131に入力されると、優先制御や多重化制御、マスク制御などの制御を行い、これらの制御に応じて自身の割り込み信号出力線132から割り込み信号を出力し、ホストプロセッサ10に割り込み信号を入力する。なお、優先制御とは、例えば、複数の割り込み信号入力線131に対して同時に割り込み信号が入力された場合などに、ホストプロセッサ10に割り込み信号を通知する順序を制御することであり、多重化制御とは、例えば、PCIバスのように一の割り込み信号入力線131を複数のI/Oデバイス12の割り込み信号出力線121で共用することが可能な場合に割り込み要因の取扱を制御することであり、また、マスク制御とは、割り込み信号が入力された場合にホストプロセッサ10に割り込み信号を出力するかどうかを制御することである。
【0020】
また、割り込みコントローラ13は、内部レジスタ133を有しており、内部レジスタ133の各ビットに対応させて、割り込み信号がどのI/Oデバイス12から出力されたものであるかを記憶している。
【0021】
図2(a)に内部レジスタ133のビットとI/Oデバイス12との対応づけの一例を示す。すなわち、割り込みコントローラ13は、例えば、ある割り込み信号入力線131に、I/Oデバイス12からの割り込み信号が入力されると、その割り込み信号入力線131(図2(a)では、各割り込み信号入力線に「IRQ0」〜「IRQ3」というIDを付与して各割り込み信号入力線を区別している)に対応づけられている、内部レジスタ133の該当ビットをオンにする(以下、この動作を「割り込み要因の書き込み」という)。
【0022】
一方、本実施例のコンピュータシステムにおいては、ホストブリッジ11も割り込み信号入力線111を有している。これら割り込み信号入力線111には、割り込みコントローラ13の場合と同様に、各I/Oデバイス12の割り込み信号出力線121が第1の接続ライン40を介して接続している。つまり、I/Oデバイス12から割り込み信号が出力されると、その割り込み信号は、割り込みコントローラ13とホストブリッジ11の双方の割り込み信号入力線131,111に入力されることになる。
【0023】
また、ホストブリッジ11は、汎用レジスタ113を有しており、汎用レジスタ113の各ビットに対応させて、割り込み信号がどのI/Oデバイス12から出力されたものであるかを記憶している。図2(b)に汎用レジスタ113のビットとI/Oデバイス12との対応づけの一例を示す。すなわち、ホストブリッジ11は、例えば、自身のある割り込み信号入力線111にI/Oデバイス12から割り込み信号が入力されると、その割り込み信号入力線111(図2(b)では、各割り込み信号入力線に「IRQ0」〜「IRQ3」というIDを付与して各割り込み信号入力線を区別している)に対応づけられている、汎用レジスタ113の該当ビットをオンにする。
【0024】
===割り込み処理===
つぎに、本実施例のコンピュータシステムにおいて、I/Oデバイス12が割り込み信号を出力し、これに対応する割り込み処理をホストプロセッサ10が開始するまでの一連の処理を、図3に示すフローチャートとともに説明する。
【0025】
I/Oデバイス12から割り込み信号が出力されると、その割り込み信号が第1の経路40を介してホストブリッジ11および割り込みコントローラ13の割り込み信号入力線111,131に入力される(S311)。割り込みコントローラ13は、割り込み信号が入力されると、その割り込み信号を入力したI/Oデバイス12に対応する内部レジスタ133の該当ビットをオンにする(割り込み要因の書き込み)。一方、ホストブリッジ11も、割り込み信号入力線111に割り込み信号が入力されると、その割り込み信号を入力してきたI/Oデバイス12に対応する汎用レジスタ113の該当ビットをオンにする(割り込み要因の書き込み)(S312)。
【0026】
割り込みコントローラ13は、割り込み信号が入力されると、割り込み要因の優先制御等の制御を行い、これらの制御に応じて自身の割り込み信号出力線132から割り込み信号を出力し、ホストプロセッサ10に割り込み信号を入力する。これによりホストプロセッサ10の割り込み信号入力線101に割り込み信号が入力され、ホストプロセッサ10は、いずれかのI/Oデバイス12において割り込みが発生したこをと認知する(S313)。
【0027】
つぎに、ホストプロセッサ10は、I/Oデバイス12から割り込み信号が出力されたことを認知すると、ホストブリッジ11に対し、割り込み要因、すなわち、その割り込みがどのI/Oデバイス12において発生したのかを、システムバス20を介して問い合わせる。ここでこの問い合わせは、I/Oバス30を経由しない経路、すなわち、ホストプロセッサ10→システムバス20→ホストブリッジ11→システムバス20→ホストプロセッサ10の経路で行われる。
【0028】
具体的には、まず、ホストブリッジ11が、前記問い合わせに応じて汎用レジスタ113を参照して割り込み要因を調べ、その結果をホストプロセッサ10に通知する。ホストプロセッサ10は、以上のようにして割り込み要因を取得する(S314)と、その割り込み要因に対応して用意されている割り込み処理を実行する(S315)。
【0029】
なお、ホストブリッジ11の汎用レジスタ113への割り込み要因の書き込みは、ホストブリッジ11がI/Oデバイス12から割り込み信号を受信した後に直ちに行われる。従って、ホストブリッジ11が、ホストプロセッサ10に割り込み要因を問い合わせるタイミングにおいては、既に汎用レジスタ113に割り込み要因が書き込まれていることになる。
【0030】
ところで、以上に説明したように、ホストプロセッサ10は、I/Oバス30に比べて動作クロックが早いシステムバス20を介してホストブリッジ11から割り込み要因を取得するため、I/Oバス30を介して割り込みコントローラ13から割り込み要因を取得する場合に比べ処理速度が向上する。これにより割り込みコントローラ13から割り込み信号が入力された場合、ホストプロセッサ10は、迅速に割り込み要因を取得することができ、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が図られる。
【0031】
なお、本発明のコンピュータシステムは、既製のホストブリッジ11に必要数分以上の割り込み入力線111を設け、ホストブリッジ11内部の汎用レジスタ113を利用してホストブリッジ11に割り込み要因を記憶させるようにすることで容易に構成することが可能であり、コストパフォーマンスや量産性にも優れる。
【0032】
また、以上の実施例では、割り込み要因が、割り込み信号がいずれのI/Oデバイス12から入力されたのかを示す情報である場合について説明したが、割り込み要因はこれに限られるわけではない。
【0033】
また、本発明は、パーソナルコンピュータや汎用コンピュータだけでなく、ディスクアレイ装置などの記憶装置の制御用など、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が要請される様々なコンピュータシステムに広く適用することができる。
【0034】
【発明の効果】
本発明によれば、ホストプロセッサが割り込み要因を迅速に取得することができる。
【図面の簡単な説明】
【図1】本発明の一実施例として説明するコンピュータシステムのブロック図を示す図である。
【図2】(a)は本発明の一実施例として説明する内部レジスタの一例を示す図であり、(b)は本発明の一実施例として説明する汎用レジスタの一例を示す図である。
【図3】本発明の一実施例による、I/Oデバイスが割り込み信号を出力しこれに対応する割り込み処理をホストプロセッサが開始するまでの一連の処理を説明するフローチャートを示す図である。
【図4】PCIバスなどのI/Oバスを用いて構成されるコンピュータシステムのブロック構成を示す図である。
【図5】I/Oデバイスから割り込み信号が出力され、この割り込み信号に対応した処理がホストプロセッサで実行されるまでの処理の流れを説明するフローチャートを示す図である。
【符号の説明】
10 ホストプロセッサ
11 ホストブリッジ
12 I/Oデバイス
13 割り込みコントローラ
20 システムバス
30 I/Oバス
40 第1の接続ライン
50 第2の接続ライン
113 汎用レジスタ
121 割り込み信号出力線
131 割り込み信号入力線
132 割り込み信号出力線
133 内部レジスタ
【発明の属する技術分野】
この発明は、コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラムに関する。
【0002】
【背景技術】
図4にPCIバス(Peripheral Component Interconnect Bus)などのI/Oバス(Input Output Bus)を用いて構成されるコンピュータシステムのブロック構成を示す。マイクロプロセッサであるホストプロセッサ10が、アドレスバスやデータバスなどからなるシステムバス20を介してホストブリッジ11に接続する。ホストブリッジ11はI/Oバス30に接続する。I/Oバス30には複数のI/Oデバイス12および割り込みコントローラ13が接続する。
【0003】
割り込みコントローラ13は、複数の割り込み信号入力線131を有しており、これら割り込み信号入力線131には、I/Oデバイス12の割り込み信号出力線121が、システムバス20やI/Oバス30とは独立した接続ラインである第1の接続ライン40を介して接続する。また、割り込みコントローラ13は、割り込み信号出力線132を有しており、この割り込み信号出力線132は、システムバス20やI/Oバス30とは独立した接続ラインである第2の接続ライン50を介してホストプロセッサ10が有する割り込み信号入力線101に接続する。
【0004】
割り込みコントローラ13は、例えば、I/Oデバイス12の割り込み信号出力線121から出力された割り込み信号が、自身の割り込み信号入力線131に入力されると、自身の割り込み信号出力線132からホストプロセッサ10に割り込み信号を出力する。また、割り込みコントローラ13は、内部レジスタ133を有しており、I/Oデバイス12から割り込み信号が入力されると、その割り込み信号がいずれのI/Oデバイス12から入力されたのかを示す情報(以下、「割り込み要因」と称する)を内部レジスタ133に記憶する。
【0005】
あるI/Oデバイス12から割り込み信号が出力され、この割り込み信号に対応した処理(以下、「割り込み処理」と称する)がホストプロセッサ10で実行されるまでの処理の流れを、図5のフローチャートに示す。I/Oデバイス12から割り込み信号が出力され、その割り込み信号が割り込みコントローラ13の割り込み信号入力線131に入力されると(S511)、割り込みコントローラ13は、自身の割り込み信号出力線132から割り込み信号を出力し、ホストプロセッサ10に割り込み信号を入力する(S512)。割り込みコントローラ13から割り込み信号が入力されると、ホストプロセッサ10は、ホストプロセッサ10→システムバス20→ホストブリッジ11→I/Oバス30→割り込みコントローラ13→I/Oバス30→ホストブリッジ11→システムバス20→ホストプロセッサ10、の経路で割り込みコントローラ13の内部レジスタ133に記憶されている割り込み要因を取得する(S513)。ホストプロセッサ10は、割り込み要因を取得すると、その割り込み要因に対応して用意されている割り込み処理を実行する(S514)。
【0006】
【発明が解決しようとする課題】
ところで、I/Oデバイス12から割り込み信号が入力された場合に、ホストプロセッサ10が割り込みコントローラ13から割り込み要因を取得する際の前述の経路による通信は、システムバス20に比べて動作周波数が低く通信手順も複雑なI/Oバス30を経由しなければならず、処理に時間がかかるという問題があり、この処理時間が、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化を図る上で問題となっている。
【0007】
この発明は、コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
この目的を達成するための本発明の主たる発明は、ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、
I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジに入力し、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、
ホストプロセッサが、前記割り込み要因を前記システムバスを介してホストブリッジから取得することを特徴とする。
【0009】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【0010】
【発明の実施の形態】
===開示の概要===
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【0011】
ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジに入力し、ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、ホストプロセッサが、前記割り込み要因を前記システムバスを介してホストブリッジから取得すること、を特徴とするコンピュータシステムにおける割り込み制御方法。
【0012】
この制御方法では、I/Oデバイスからの割り込み信号に基づく割り込み要因をホストプロセッサとシステムバスを介して接続するホストブリッジが記憶しており、ホストプロセッサは、処理速度の遅いI/Oバスを介さずに割り込み要因をシステムバスを介してホストブリッジから取得することができる。このため、ホストプロセッサは、割り込み信号が入力された場合に割り込み要因を迅速に取得することができ、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が図られる。
【0013】
I/Oデバイスから割り込み信号が出力されたことは、例えば、割り込みコントローラからホストプロセッサに通知され、ホストプロセッサは、この通知があった場合にホストブリッジから割り込み要因を取得する。また、前記通知は、例えば、システムバスおよびI/Oバスとは独立して設けられた第2の経路を介して行われるため、システムバスやI/Oバスの状態に関わらず迅速に行われる。なお、この制御方法は、例えば、前記コンピュータシステムにおいて実効されるプログラムにより実現される。
【0014】
前記の割り込み要因とは、例えば、ホストブリッジに入力された前記割り込み信号がいずれの前記I/Oデバイスから入力されたものであるかを示す情報である。また、割り込み要因は、例えば、ホストブリッジが有する汎用レジスタに記憶される。ホストプロセッサは、具体的には、マイクロプロセッサやCPUである。ホストブリッジはPCIバスの場合、例えば、CPU−PCIブリッジと通称されるものが相当し、割り込みコントローラはPCI割り込みコントローラと通称されるものが相当する。I/Oバスは、例えば、PCIバスであり、I/Oデバイスは、例えば、PCIデバイスである。第1の経路とは、後述する第1の接続ラインである。ホストブリッジは、割り込み要因を、例えば、後述する汎用レジスタに記憶する。また、第2の経路とは、例えば、後述する第2の接続ラインである。
【0015】
===装置構成===
図1は、本発明の一実施例として説明するコンピュータシステムのブロック図である。
【0016】
ホストプロセッサ10が、システムバスを介してホストブリッジ11に接続する。ホストブリッジ11は、例えば、「ノースブリッジ」と通称される半導体集積回路(以下、「LSI」と称する)に実装される。パーソナルコンピュータなどに適用されるノースブリッジには、通常、ホストブリッジ11以外にも、例えば、メインメモリやキャッシュメモリ、グラフィックデバイスなどの制御機能が実装される。また、冗長構成のコンピュータシステムの場合、システムバス20には、複数のホストプロセッサ10が接続される場合もある。また、システムバス20には、RAMやROMなどのメモリが接続されることもある。
【0017】
ホストブリッジ11は、I/Oバス30に接続し、I/Oバス30には複数のI/Oデバイス12が接続している。I/Oデバイス12は、例えば、I/Oバス30がPCIバスである場合は、PCIバスのバススロットなどに装着されるPCIデバイスや、複数のI/Oバス間を接続するPCI−PCIブリッジやPCI−ISAブリッジなどバスブリッジなどであり、通常は、PCIカードなどの形で提供される。
【0018】
割り込みコントローラ13は、例えば、「サウスブリッジ」と通称されるLSIに実装される。割り込みコントローラ13の割り込み信号入力線131には、I/Oバス30に接続するI/Oデバイスの割り込み信号出力線がシステムバス20やI/Oバス30とは独立した接続ラインである第1の接続ライン40を介して接続する。また、割り込みコントローラ13の割り込み信号出力線132は、システムバス20やI/Oバス30とは独立した接続ラインである第2の接続ライン50を介してホストプロセッサ10が有する割り込み信号入力線101に接続する。
【0019】
割り込みコントローラ13は、例えば、I/Oデバイス12の割り込み信号出力線121から出力された割り込み信号が、自身の割り込み信号入力線131に入力されると、優先制御や多重化制御、マスク制御などの制御を行い、これらの制御に応じて自身の割り込み信号出力線132から割り込み信号を出力し、ホストプロセッサ10に割り込み信号を入力する。なお、優先制御とは、例えば、複数の割り込み信号入力線131に対して同時に割り込み信号が入力された場合などに、ホストプロセッサ10に割り込み信号を通知する順序を制御することであり、多重化制御とは、例えば、PCIバスのように一の割り込み信号入力線131を複数のI/Oデバイス12の割り込み信号出力線121で共用することが可能な場合に割り込み要因の取扱を制御することであり、また、マスク制御とは、割り込み信号が入力された場合にホストプロセッサ10に割り込み信号を出力するかどうかを制御することである。
【0020】
また、割り込みコントローラ13は、内部レジスタ133を有しており、内部レジスタ133の各ビットに対応させて、割り込み信号がどのI/Oデバイス12から出力されたものであるかを記憶している。
【0021】
図2(a)に内部レジスタ133のビットとI/Oデバイス12との対応づけの一例を示す。すなわち、割り込みコントローラ13は、例えば、ある割り込み信号入力線131に、I/Oデバイス12からの割り込み信号が入力されると、その割り込み信号入力線131(図2(a)では、各割り込み信号入力線に「IRQ0」〜「IRQ3」というIDを付与して各割り込み信号入力線を区別している)に対応づけられている、内部レジスタ133の該当ビットをオンにする(以下、この動作を「割り込み要因の書き込み」という)。
【0022】
一方、本実施例のコンピュータシステムにおいては、ホストブリッジ11も割り込み信号入力線111を有している。これら割り込み信号入力線111には、割り込みコントローラ13の場合と同様に、各I/Oデバイス12の割り込み信号出力線121が第1の接続ライン40を介して接続している。つまり、I/Oデバイス12から割り込み信号が出力されると、その割り込み信号は、割り込みコントローラ13とホストブリッジ11の双方の割り込み信号入力線131,111に入力されることになる。
【0023】
また、ホストブリッジ11は、汎用レジスタ113を有しており、汎用レジスタ113の各ビットに対応させて、割り込み信号がどのI/Oデバイス12から出力されたものであるかを記憶している。図2(b)に汎用レジスタ113のビットとI/Oデバイス12との対応づけの一例を示す。すなわち、ホストブリッジ11は、例えば、自身のある割り込み信号入力線111にI/Oデバイス12から割り込み信号が入力されると、その割り込み信号入力線111(図2(b)では、各割り込み信号入力線に「IRQ0」〜「IRQ3」というIDを付与して各割り込み信号入力線を区別している)に対応づけられている、汎用レジスタ113の該当ビットをオンにする。
【0024】
===割り込み処理===
つぎに、本実施例のコンピュータシステムにおいて、I/Oデバイス12が割り込み信号を出力し、これに対応する割り込み処理をホストプロセッサ10が開始するまでの一連の処理を、図3に示すフローチャートとともに説明する。
【0025】
I/Oデバイス12から割り込み信号が出力されると、その割り込み信号が第1の経路40を介してホストブリッジ11および割り込みコントローラ13の割り込み信号入力線111,131に入力される(S311)。割り込みコントローラ13は、割り込み信号が入力されると、その割り込み信号を入力したI/Oデバイス12に対応する内部レジスタ133の該当ビットをオンにする(割り込み要因の書き込み)。一方、ホストブリッジ11も、割り込み信号入力線111に割り込み信号が入力されると、その割り込み信号を入力してきたI/Oデバイス12に対応する汎用レジスタ113の該当ビットをオンにする(割り込み要因の書き込み)(S312)。
【0026】
割り込みコントローラ13は、割り込み信号が入力されると、割り込み要因の優先制御等の制御を行い、これらの制御に応じて自身の割り込み信号出力線132から割り込み信号を出力し、ホストプロセッサ10に割り込み信号を入力する。これによりホストプロセッサ10の割り込み信号入力線101に割り込み信号が入力され、ホストプロセッサ10は、いずれかのI/Oデバイス12において割り込みが発生したこをと認知する(S313)。
【0027】
つぎに、ホストプロセッサ10は、I/Oデバイス12から割り込み信号が出力されたことを認知すると、ホストブリッジ11に対し、割り込み要因、すなわち、その割り込みがどのI/Oデバイス12において発生したのかを、システムバス20を介して問い合わせる。ここでこの問い合わせは、I/Oバス30を経由しない経路、すなわち、ホストプロセッサ10→システムバス20→ホストブリッジ11→システムバス20→ホストプロセッサ10の経路で行われる。
【0028】
具体的には、まず、ホストブリッジ11が、前記問い合わせに応じて汎用レジスタ113を参照して割り込み要因を調べ、その結果をホストプロセッサ10に通知する。ホストプロセッサ10は、以上のようにして割り込み要因を取得する(S314)と、その割り込み要因に対応して用意されている割り込み処理を実行する(S315)。
【0029】
なお、ホストブリッジ11の汎用レジスタ113への割り込み要因の書き込みは、ホストブリッジ11がI/Oデバイス12から割り込み信号を受信した後に直ちに行われる。従って、ホストブリッジ11が、ホストプロセッサ10に割り込み要因を問い合わせるタイミングにおいては、既に汎用レジスタ113に割り込み要因が書き込まれていることになる。
【0030】
ところで、以上に説明したように、ホストプロセッサ10は、I/Oバス30に比べて動作クロックが早いシステムバス20を介してホストブリッジ11から割り込み要因を取得するため、I/Oバス30を介して割り込みコントローラ13から割り込み要因を取得する場合に比べ処理速度が向上する。これにより割り込みコントローラ13から割り込み信号が入力された場合、ホストプロセッサ10は、迅速に割り込み要因を取得することができ、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が図られる。
【0031】
なお、本発明のコンピュータシステムは、既製のホストブリッジ11に必要数分以上の割り込み入力線111を設け、ホストブリッジ11内部の汎用レジスタ113を利用してホストブリッジ11に割り込み要因を記憶させるようにすることで容易に構成することが可能であり、コストパフォーマンスや量産性にも優れる。
【0032】
また、以上の実施例では、割り込み要因が、割り込み信号がいずれのI/Oデバイス12から入力されたのかを示す情報である場合について説明したが、割り込み要因はこれに限られるわけではない。
【0033】
また、本発明は、パーソナルコンピュータや汎用コンピュータだけでなく、ディスクアレイ装置などの記憶装置の制御用など、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が要請される様々なコンピュータシステムに広く適用することができる。
【0034】
【発明の効果】
本発明によれば、ホストプロセッサが割り込み要因を迅速に取得することができる。
【図面の簡単な説明】
【図1】本発明の一実施例として説明するコンピュータシステムのブロック図を示す図である。
【図2】(a)は本発明の一実施例として説明する内部レジスタの一例を示す図であり、(b)は本発明の一実施例として説明する汎用レジスタの一例を示す図である。
【図3】本発明の一実施例による、I/Oデバイスが割り込み信号を出力しこれに対応する割り込み処理をホストプロセッサが開始するまでの一連の処理を説明するフローチャートを示す図である。
【図4】PCIバスなどのI/Oバスを用いて構成されるコンピュータシステムのブロック構成を示す図である。
【図5】I/Oデバイスから割り込み信号が出力され、この割り込み信号に対応した処理がホストプロセッサで実行されるまでの処理の流れを説明するフローチャートを示す図である。
【符号の説明】
10 ホストプロセッサ
11 ホストブリッジ
12 I/Oデバイス
13 割り込みコントローラ
20 システムバス
30 I/Oバス
40 第1の接続ライン
50 第2の接続ライン
113 汎用レジスタ
121 割り込み信号出力線
131 割り込み信号入力線
132 割り込み信号出力線
133 内部レジスタ
Claims (9)
- ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、
I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジに入力し、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、
ホストプロセッサが、前記割り込み要因をシステムバスを介してホストブリッジから取得すること、
を特徴とするコンピュータシステムにおける割り込み制御方法。 - ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する割り込みコントローラと、I/Oバスに接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、
I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジおよび割り込みコントローラに入力し、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、
割り込みコントローラが、前記割り込み信号が入力された場合にその旨をホストプロセッサに通知し、
ホストプロセッサが、前記通知があった場合に前記割り込み要因を前記システムバスを介してホストブリッジから取得すること、
を特徴とするコンピュータシステムにおける割り込み制御方法。 - 請求項1に記載のコンピュータシステムにおける割り込み制御方法において、前記通知は、前記システムバスおよび前記I/Oバスとは独立して設けられた第2の経路を介して行われることを特徴とするコンピュータシステムにおける割り込み制御方法。
- 請求項1に記載のコンピュータシステムにおける割り込み制御方法において、
前記I/Oバスには複数の前記I/Oデバイスが接続し、
前記割り込み要因は、前記ホストブリッジに入力された前記割り込み信号がいずれの前記I/Oデバイスから入力されたものであるかを示す情報であることを特徴とするコンピュータシステムにおける割り込み制御方法。 - 請求項1に記載のコンピュータシステムにおける割り込み制御方法において、前記割り込み要因は、前記ホストブリッジが有する汎用レジスタに記憶されることを特徴とするコンピュータシステムにおける割り込み制御方法。
- 請求項1に記載のコンピュータシステムにおける割り込み制御方法において、前記I/OバスはPCIバスであり、前記I/Oデバイスは、PCIデバイスであることを特徴とするコンピュータシステムにおける割り込み制御方法。
- ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する割り込みコントローラと、I/Oバスに接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムであって、
I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジおよび割り込みコントローラに入力する機能と、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶する機能と、
割り込みコントローラが、前記割り込み信号が入力された場合にその旨をホストプロセッサに通知する機能と、
ホストプロセッサが、前記通知があった場合に前記割り込み要因を前記システムバスを介してホストブリッジから取得する機能と、
を備えることを特徴とするコンピュータシステム。 - 請求項7に記載のコンピュータシステムにおける前記ホストブリッジの機能を有する半導体集積回路であって、
前記第1の経路を介して入力される前記割り込み信号に基づく前記割り込み要因を記憶し、前記システムバスを介して前記ホストプロセッサに前記割り込み要因を提供する機能を有する半導体集積回路。 - ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとI/Oバスを介して接続する割り込みコントローラと、I/Oバスに接続する少なくとも1以上のI/Oデバイスとを備えて構成されるコンピュータシステムに、
I/Oデバイスが、I/Oバスとは独立して設けられた第1の経路を介して割り込み信号をホストブリッジおよび割り込みコントローラに入力する機能、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶する機能、
割り込みコントローラが、前記割り込み信号が入力された場合にその旨をホストプロセッサに通知する機能、及び、
ホストプロセッサが、前記通知があった場合に前記割り込み要因を前記システムバスを介してホストブリッジから取得する機能、
を実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184642A JP2004030161A (ja) | 2002-06-25 | 2002-06-25 | コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184642A JP2004030161A (ja) | 2002-06-25 | 2002-06-25 | コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004030161A true JP2004030161A (ja) | 2004-01-29 |
Family
ID=31180511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002184642A Pending JP2004030161A (ja) | 2002-06-25 | 2002-06-25 | コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004030161A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272554A (ja) * | 2006-03-31 | 2007-10-18 | Renesas Technology Corp | データ処理装置 |
JP2008503834A (ja) * | 2004-06-22 | 2008-02-07 | ゼネラル・エレクトリック・カンパニイ | 並列通信バスを介して割り込みメッセージを伝送するためのコンピュータシステムおよび方法 |
JP2008535099A (ja) * | 2005-03-28 | 2008-08-28 | マイクロソフト コーポレーション | 拡張割込み制御装置および合成割込みソースに関するシステムおよび方法 |
JP2009301116A (ja) * | 2008-06-10 | 2009-12-24 | Yokogawa Electric Corp | 割り込み装置及びこれを備えた割り込みシステム |
US20120036304A1 (en) * | 2010-08-04 | 2012-02-09 | International Business Machines Corporation | Injection of i/o messages |
US8549202B2 (en) | 2010-08-04 | 2013-10-01 | International Business Machines Corporation | Interrupt source controller with scalable state structures |
US9336029B2 (en) | 2010-08-04 | 2016-05-10 | International Business Machines Corporation | Determination via an indexed structure of one or more partitionable endpoints affected by an I/O message |
US9569392B2 (en) | 2010-08-04 | 2017-02-14 | International Business Machines Corporation | Determination of one or more partitionable endpoints affected by an I/O message |
-
2002
- 2002-06-25 JP JP2002184642A patent/JP2004030161A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008503834A (ja) * | 2004-06-22 | 2008-02-07 | ゼネラル・エレクトリック・カンパニイ | 並列通信バスを介して割り込みメッセージを伝送するためのコンピュータシステムおよび方法 |
JP2008535099A (ja) * | 2005-03-28 | 2008-08-28 | マイクロソフト コーポレーション | 拡張割込み制御装置および合成割込みソースに関するシステムおよび方法 |
JP2007272554A (ja) * | 2006-03-31 | 2007-10-18 | Renesas Technology Corp | データ処理装置 |
JP2009301116A (ja) * | 2008-06-10 | 2009-12-24 | Yokogawa Electric Corp | 割り込み装置及びこれを備えた割り込みシステム |
US20120036304A1 (en) * | 2010-08-04 | 2012-02-09 | International Business Machines Corporation | Injection of i/o messages |
US20120203939A1 (en) * | 2010-08-04 | 2012-08-09 | International Business Machines Corporation | Injection of i/o messages |
US8495271B2 (en) * | 2010-08-04 | 2013-07-23 | International Business Machines Corporation | Injection of I/O messages |
US8521939B2 (en) * | 2010-08-04 | 2013-08-27 | International Business Machines Corporation | Injection of I/O messages |
US8549202B2 (en) | 2010-08-04 | 2013-10-01 | International Business Machines Corporation | Interrupt source controller with scalable state structures |
US9336029B2 (en) | 2010-08-04 | 2016-05-10 | International Business Machines Corporation | Determination via an indexed structure of one or more partitionable endpoints affected by an I/O message |
US9569392B2 (en) | 2010-08-04 | 2017-02-14 | International Business Machines Corporation | Determination of one or more partitionable endpoints affected by an I/O message |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4589384B2 (ja) | 高速メモリモジュール | |
US10983924B2 (en) | Information processing device and processor | |
CN107636630B (zh) | 中断控制器 | |
JP2008090375A (ja) | 割込み制御システム、およびこれを利用した記憶制御システム | |
JP2009043256A (ja) | 記憶装置のアクセス方法及び装置 | |
CN108304334B (zh) | 应用处理器和包括中断控制器的集成电路 | |
JP2634130B2 (ja) | バスの使用を制御する方法及びコンピュータ・システム | |
JP2007058716A (ja) | データ転送バスシステム | |
JP3887376B2 (ja) | 不揮発性メモリのサービス・プロセッサ・アクセス | |
JP2004030161A (ja) | コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム | |
JP6586765B2 (ja) | アクセス遮断回路、半導体集積回路およびアクセス遮断方法 | |
JP3891994B2 (ja) | 順番のある(in−order)キューをドレインする(drain)システムおよび方法 | |
JP4257358B2 (ja) | バス制御方法および装置 | |
KR100606163B1 (ko) | 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법 | |
JPWO2012124431A1 (ja) | 半導体装置 | |
US20030018842A1 (en) | Interrupt controller | |
JP2003309564A (ja) | マイクロコンピュータシステムおよびそれに使用されるトランシーバ | |
JP5464676B2 (ja) | 半導体装置 | |
JP5630886B2 (ja) | 半導体装置 | |
JP4865213B2 (ja) | 割込みコントローラ | |
JP2006127407A (ja) | 半導体集積回路 | |
JP2009032248A (ja) | 共有メモリを用いたバス通信装置 | |
EP2523117A1 (en) | Interface module for HW block | |
JP2010049718A (ja) | 半導体装置 | |
CN114595188A (zh) | 片上系统和事务处理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040928 |