JP3645487B2 - Configuration access routing method - Google Patents
Configuration access routing method Download PDFInfo
- Publication number
- JP3645487B2 JP3645487B2 JP2000378304A JP2000378304A JP3645487B2 JP 3645487 B2 JP3645487 B2 JP 3645487B2 JP 2000378304 A JP2000378304 A JP 2000378304A JP 2000378304 A JP2000378304 A JP 2000378304A JP 3645487 B2 JP3645487 B2 JP 3645487B2
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- node
- access request
- access
- controller
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムに関し、特にコンフィグレーションレジスタへのアクセスルーティング方法に適用して有効な技術に関する。
【0002】
【従来の技術】
本発明者が検討した技術として、コンフィグレーションレジスタへのアクセスルーティング方法に関しては、以下のような技術が考えられる。たとえば、コンピュータシステムの初期化の際に、PCIバス上のPCIデバイスのコンフィグレーションレジスタは、単一のコンフィグレーション空間に連続的に重複しないように配置される。PCIデバイスのコンフィグレーションレジスタへのアクセスは、コンフィグレーション空間上のアドレスでレジスタを選択し、そのアドレスに対して書込みや読込みをすることで行われる。チップセットのコンフィグレーションレジスタへのアクセス方法に関しても、チップセットのコンフィグレーションレジスタをPCIデバイスと同じコンフィグレーション空間上に配置し、PCIデバイスのコンフィグレーションレジスタへのアクセス方法と同様な方法でチップセットのコンフィグレーションレジスタへアクセスする方法が知られている。
【0003】
【発明が解決しようとする課題】
ところで、前記のようなコンフィグレーションレジスタへのアクセスルーティング方法について、本発明者が検討した結果、以下のようなことが明らかとなった。具体的に、従来のコンピュータシステムにおけるコンフィグレーション空間の割当てを示す図6を用いて説明する。
【0004】
図6に示すように、コンフィグレーション空間500のうち、バス番号0のアドレス領域の一部501をチップセットのコンフィグレーションレジスタアクセス用に割当てる方法で、チップセットのコンフィグレーションレジスタをアクセスする際にはこの領域のアドレスを指定することで行う。この方法は、コンフィグレーション空間上で見れば、PCIデバイスとチップセットのコンフィグレーションレジスタの区別なく、CPUからのコンフィグレーションアクセスはPCIデバイスかチップセットかの区別を意識せずに行え、ソフトウェア的に簡単となる。
【0005】
しかしながら、これをハードウェア的に実現する方法は、逆に困難となる。特に、多ノードのコンピュータシステムでは、チップセットとPCIバスが各ノード毎にあり、すべてのノードのPCIデバイスとチップセットのコンフィグレーションレジスタを単一のコンフィグレーション空間上に配置し、任意のノードのCPUからコンフィグレーション空間上のすべてのコンフィグレーションレジスタにアクセスするためのルーティングをどのように実現するかという問題や、ノードで共通に利用するグローバルレジスタをどのように実現するかという問題があった。
【0006】
そこで、本発明の目的は、多ノードのコンピュータシステムにおいて、すべてのノードのPCIデバイスとチップセットのコンフィグレーションレジスタを単一のコンフィグレーション空間上に配置し、任意のノードのCPUからコンフィグレーション空間上のすべてのコンフィグレーションレジスタにアクセスできるルーティング方法を提供するものである。また、各ノードで共通に利用するグローバルレジスタを実現できるアクセスルーティング方法を提供するものである。
【0007】
【課題を解決するための手段】
前記目的を達成するために、本発明のコンピュータシステムでは、自ノードが発行するコンフィグレーションレジスタアクセス要求の宛先を自ノード行きか他ノード行きかを判定してルーティングするノード内コンフィグレーションアクセスルーティングコントローラと、各ノードのノード内コンフィグレーションアクセスルーティングコントローラをノード間で接続し、他ノード行きのコンフィグレーションレジスタアクセス要求を宛先のノードまでルーティングするノード間コンフィグレーションアクセスルーティングコントローラとを備えており、任意のノードのCPUからのコンフィグレーションレジスタアクセス要求を、任意のノードのコンフィグレーションレジスタへルーティングすることができるようにしたものである。
【0008】
また、ノード間コンフィグレーションアクセスルーティングコントローラはマルチキャストやブロードキャストが可能であり、複数ノードあるいは全ノードのコンフィグレーションレジスタを同時設定する機能を備えており、この機能によりグローバルレジスタを実現することができるようにしたものである。
【0009】
詳細に、本発明のコンフィグレーションアクセスルーティング方法は、CPUとメモリとPCIバス上のPCIデバイスと前記PCIバスをHost−PCIバスブリッジ経由で前記CPUと前記メモリに接続するノードコントローラとから構成されるノードと、少なくとも2つ以上のノード間を相互接続するクロスバーとからなるコンピュータシステムにおいて、前記ノードコントローラは、ノード内及びノード間のトランザクションの流れを制御するトランザクションコントローラと、ノード内のチップセットのコンフィグレーションを設定するコンフィグレーションレジスタと、前記コンフィグレーションレジスタ及び前記PCIバス上のPCIデバイスのコンフィグレーションレジスタへのアクセス要求のルーティングを制御するノード内コンフィグレーションアクセスルーティングコントローラとからなる構成において実現されるものである。
【0010】
前記構成において、前記トランザクションコントローラは、前記CPUと前記メモリと前記Host−PCIバスブリッジと前記ノード内コンフィグレーションアクセスルーティングコントローラと前記クロスバー内のアドレス・データバスクロスバースイッチに接続し、自ノードCPUあるいは自ノードPCIデバイスあるいは前記アドレス・データバスクロスバースイッチ経由の他ノードからのトランザクションを受け付け、前記トランザクションの種類を判定し、前記トランザクションがメモリへのアクセス要求トランザクションであるならば前記メモリにアクセス要求を送出し、前記トランザクションがPCIデバイスへのアクセス要求トランザクションであるならば前記PCIバスへアクセス要求を送出し、前記トランザクションがコンフィグレーションレジスタへのアクセス要求トランザクションであるならば前記ノード内コンフィグレーションアクセスルーティングコントローラにコンフィグレーションレジスタアクセス要求を送出するように動作するものである。
【0011】
また、前記コンフィグレーションアクセスルーティング方法において、前記ノード内コンフィグレーションアクセスルーティングコントローラは、前記トランザクションコントローラとスーパーバイザプロセッサと前記クロスバーの中のノード間コンフィグレーションアクセスルーティングコントローラに接続し、前記トランザクションコントローラと前記スーパーバイザプロセッサからのコンフィグレーションレジスタへのアクセス要求を調停し、受け付けたコンフィグレーションアクセス要求の宛先を判定し、前記コンフィグレーションアクセス要求が自ノードのコンフィグレーションレジスタへのアクセス要求であるならば、前記コンフィグレーションアクセス要求を自ノードのコンフィグレーションレジスタに送出し、前記コンフィグレーションアクセス要求が他ノードへのコンフィグレーションレジスタへのアクセス要求であるか、前記クロスバー内のコンフィグレーションレジスタへのアクセス要求であるか、あるいは、マルチキャスト・ブロードキャストのコンフィグレーションアクセス要求である場合は、前記ノード間コンフィグレーションアクセスルーティングコントローラに前記コンフィグレーションアクセス要求を送出するように動作するものである。
【0012】
さらに、前記ノード間コンフィグレーションアクセスルーティングコントローラは、各ノードから送出されたコンフィグレーションアクセス要求を調停し、受け付けたコンフィグレーションアクセス要求の宛先を判定し、前記コンフィグレーションアクセス要求の宛先がクロスバー内のコンフィグレーションレジスタへのアクセス要求であるならば、前記コンフィグレーションアクセス要求をクロスバー内のコンフィグレーションレジスタへ送出し、前記コンフィグレーションアクセス要求の宛先が特定ノードへのコンフィグレーションアクセス要求であるならば、そのノードのみに前記コンフィグレーションアクセス要求を送出し、複数のノードへのコンフィグレーションアクセス要求であるならば、前記コンフィグレーションアクセス要求を宛先の複数ノードに同時到着するようにマルチキャストし、すべてのノードへのコンフィグレーションアクセス要求であるならば、前記コンフィグレーションアクセス要求をすべてのノードに同時到着するようにブロードキャストするように動作するものである。
【0013】
また、前記コンフィグレーションアクセスルーティング方法において、すべてのノードのコンフィグレーションレジスタは単一のコンフィグレーション空間上に配置され、すべてのノードのCPUは、前記コンフィグレーション空間上のすべてのコンフィグレーションレジスタにアクセス可能であり、ノード構成を意識せずにコンフィグレーションレジスタをアクセスできるようにしたものである。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
まず、図1により、本発明の一実施の形態のコンフィグレーションアクセスルーティング方法を実現するためのコンピュータシステムの一例の構成を説明する。図1は本実施の形態のコンピュータシステムの一例を示す。本実施の形態のコンピュータシステムは、複数のノード10と、それらのノード10を相互接続するクロスバー100と、スーパーバイザプロセッサ150などから構成される。
【0016】
ノード10は、CPU20と、メモリ30と、PCIバス40上のPCIデバイス50と、PCIバス40をHost−PCIバスブリッジ60経由でCPU20とメモリ30に接続するノードコントローラ70などから構成される。
【0017】
ノードコントローラ70は、ノード内及びノード間のトランザクションの流れを制御するトランザクションコントローラ71と、ノード内のチップセットのコンフィグレーションを設定するコンフィグレーションレジスタ72と、チップセットのコンフィグレーションレジスタ72へのアクセス要求及びPCIバス40上のPCIデバイス50のコンフィグレーションレジスタ51へのアクセス要求のルーティングを制御するノード内コンフィグレーションアクセスルーティングコントローラ73などから構成される。
【0018】
トランザクションコントローラ71は、CPU20とメモリ30とHost−PCIバスブリッジ60とノード内コンフィグレーションアクセスルーティングコントローラ73とクロスバー100内のアドレス・データバスクロスバースイッチ110に接続し、自ノードCPU20あるいは自ノードPCIデバイス50あるいはアドレス・データバスクロスバースイッチ110経由の他ノードからのトランザクションを受け付け、トランザクションの種類を判定し、受け付けたトランザクションがメモリへのアクセス要求トランザクションであるならばメモリ30にアクセス要求を送出し、受け付けたトランザクションがPCIデバイスへのアクセス要求トランザクションであるならばHost−PCIバスブリッジ60経由でPCIバス40へアクセス要求を送出し、受け付けたトランザクションがコンフィグレーションレジスタへのアクセス要求トランザクションであるならばノード内コンフィグレーションアクセスルーティングコントローラ73にコンフィグレーションレジスタアクセス要求を送出する動作をする。
【0019】
ノード内コンフィグレーションアクセスルーティングコントローラ73は、トランザクションコントローラ71とスーパーバイザプロセッサ150とクロスバー100の中のノード間コンフィグレーションアクセスルーティングコントローラ120に接続し、CPU20とスーパーバイザプロセッサ150とノード間コンフィグレーションアクセスルーティングコントローラ120からのコンフィグレーションアクセス要求を受け付け、調停を行い、ノード内のチップセットのコンフィグレーションレジスタ72あるいはPCIデバイス50内のコンフィグレーションレジスタ51へのアクセス要求をルーティングする動作をする。
【0020】
次に、本実施の形態の作用について、図2、図3、図4、図5により、コンフィグレーションアクセスルーティング方法の一例を説明する。
【0021】
図2にノード内コンフィグレーションアクセスルーティングコントローラ73の一例の内部構成を示す。ノード内コンフィグレーションアクセスルーティングコントローラ73は、2組のコンフィグレーションアドレスレジスタ201,202と、2組のコンフィグレーションデータレジスタ203,204と、アービタ205と、アドレスデコーダ206と、ルータ207と、アービタ208と、ルータ209から構成される。
【0022】
コンフィグレーションアドレスレジスタ201,202には、コンフィグレーション空間上のアクセスしたいコンフィグレーションレジスタのアドレスを設定する。その後、コンフィグレーションデータレジスタ203,204にリード・ライトすることにより、コンフィグレーションアドレスレジスタ201,202に設定したアドレスに対して、コンフィグレーションアクセス要求がコンフィグレーションデータレジスタ203,204から宛先のコンフィグレーションレジスタまでルーティングされる。
【0023】
コンフィグレーションアドレスレジスタ201,202とコンフィグレーションデータレジスタ203,204のサイズは図4に示すとおり、各々32bitである。コンフィグレーションアドレスレジスタ201,202に設定するアドレスは、PCIバス40の仕様におけるバス番号、デバイス番号、ファンクション番号、レジスタ番号が、各々、コンフィグレーションアドレスレジスタ201,202のBit23−16(401)、Bit15−11(402)、Bit10−8(403)、Bit7−0(404)に順番に対応する。
【0024】
コンフィグレーションアドレスレジスタ201とコンフィグレーションデータレジスタ203はトランザクションコントローラ71と接続されており、CPU20からはIO空間上の特定のアドレスにマッピングされたレジスタに見える。そのアドレスに対してIOリード・ライトすることにより、トランザクションコントローラ71から、コンフィグレーションアドレスレジスタ201とコンフィグレーションデータレジスタ203へのリード・ライト要求が送出される。
【0025】
コンフィグレーションアドレスレジスタ202とコンフィグレーションデータレジスタ204はスーパーバイザプロセッサ150に接続されており、スーパーバイザプロセッサ150からのコンフィグレーションアクセス要求はこのコンフィグレーションアドレスレジスタ202とコンフィグレーションデータレジスタ204にアクセスすることで送出される。
【0026】
トランザクションコントローラ71とスーパーバイザプロセッサ150からのコンフィグレーションアクセス要求は、アービタ205によって調停される。調停されたコンフィグレーションアクセス要求は、アドレスデコーダ206に入り、宛先のノードの判定やマルチキャスト・ブロードキャストすべきコンフィグレーションレジスタへのアクセス要求であるかの判定が行われ、ルーティングに必要な情報が作成される。
【0027】
ルータ207はそのルーティング情報を元に、宛先を判定し、コンフィグレーションアクセス要求が自ノードのコンフィグレーションレジスタへのアクセス要求であるならば、コンフィグレーションアクセス要求をアービタ208にルーティングし、他ノードへのコンフィグレーションレジスタへのアクセス要求か、クロスバー100内のコンフィグレーションレジスタ130へのアクセス要求か、マルチキャスト・ブロードキャストのコンフィグレーションアクセス要求である場合は、クロスバー100内のノード間コンフィグレーションアクセスルーティングコントローラ120にコンフィグレーションアクセス要求をルーティングする。
【0028】
ルータ207とノード間コンフィグレーションアクセスルーティングコントローラ120からのコンフィグレーションアクセス要求は、アービタ208で調停される。調停されたコンフィグレーションアクセス要求は、ルータ209に入り、ルーティング情報から、コンフィグレーションアクセス要求の宛先が判定される。コンフィグレーションアクセス要求の宛先がPCIバス上のPCIデバイスへのコンフィグレーションレジスタならば、コンフィグレーションアクセス要求を、トランザクションコントローラ71とHost−PCIバスブリッジ60経由で、PCIバス40上にルーティングし、コンフィグレーションアクセス要求の宛先がノード内のチップセットのコンフィグレーションレジスタならば、コンフィグレーションアクセス要求をコンフィグレーションレジスタ72にルーティングする。
【0029】
図3にノード間コンフィグレーションアクセスルーティングコントローラ120の一例の構成を示す。図3は例として4ノードの場合を示している。4ノード以外の場合においても本発明は有効である。ノード間コンフィグレーションアクセスルーティングコントローラ120は、アービタ310と、ルータ320と、ブロードキャストルータ330と、アービタ340から構成される。
【0030】
アービタ310は各ノードからのコンフィグレーションアクセス要求を受け付け、複数ノードからのコンフィグレーションアクセス要求がある場合に調停を行う。アービタ310の調停によって選択されたコンフィグレーションアクセス要求は、ルータ320により、ルーティング情報が判定され、コンフィグレーションアクセス要求の宛先がクロスバー100内のコンフィグレーションレジスタ130ならば、コンフィグレーションアクセス要求をアービタ340にルーティングし、コンフィグレーション要求がノード10へのコンフィグレーションアクセス要求であるならば、コンフィグレーションアクセス要求をブロードキャストルータ330にルーティングする。
【0031】
ブロードキャストルータ330は、ルータ320から受け付けたコンフィグレーションアクセス要求のルーティング情報を判定し、コンフィグレーションアクセス要求の宛先が特定ノードへのコンフィグレーションレジスタへのアクセス要求であるならば、コンフィグレーションアクセス要求をそのノードのみへ送出し、複数のノードへのコンフィグレーションアクセス要求であるならば、コンフィグレーションアクセス要求を宛先の複数ノードに同時到着するようにマルチキャストし、すべてのノードへのコンフィグレーションアクセス要求であるならば、コンフィグレーションアクセス要求をすべてのノードに同時到着するようにブロードキャストする。
【0032】
ルータ320とスーパーバイザプロセッサ150からのコンフィグレーションアクセス要求は、アービタ340で調停され、クロスバー100のコンフィグレーションレジスタ130にルーティングされる。
【0033】
前述した従来のコンフィグレーション空間500の割当方法である図6を、本実施の形態のような多ノードシステム用に拡張した一例を図5に示す。拡張された部分は、ノードのチップセットのコンフィグレーションレジスタアクセス用に仮想的なPCIバス番号をノード毎に割当て、物理的にあるPCIバスの最後の番号の後にノードのチップセットのコンフィグレーションレジスタアクセス用のアドレス領域502を割当てたところである。これにより、単一のコンフィグレーション空間500上にすべてのノードのコンフィグレーションレジスタが配置され、ルーティングの宛先判定はコンフィグレーションアクセス要求のアドレスがコンフィグレーション空間500のどのアドレス領域にあるかを判定して行う。なお、図6においてチップセットのコンフィグレーションレジスタアクセス用に使用していたアドレス領域501は、各ノードで共通に利用するグローバルレジスタの領域として使用する。
【0034】
従って、本実施の形態によれば、自ノードが発行するコンフィグレーションレジスタアクセス要求の宛先を自ノード行きか他ノード行きかを判定してルーティングするノード内コンフィグレーションアクセスルーティングコントローラ73と、各ノード10のノード内コンフィグレーションアクセスルーティングコントローラ73をノード間で接続し、他ノード行きのコンフィグレーションレジスタアクセス要求を宛先のノード10までルーティングするノード間コンフィグレーションアクセスルーティングコントローラ120を備え、任意のノード10からのコンフィグレーションレジスタアクセス要求を、任意のノード10のコンフィグレーションレジスタ72までのルーティングを実現することができる。
【0035】
また、ノード間コンフィグレーションアクセスルーティングコントローラ120はマルチキャストやブロードキャストが可能であり、複数ノードあるいは全ノードのコンフィグレーションレジスタ72を同時設定可能であり、この機能によりグローバルレジスタを実現することができる。
【0036】
本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。たとえば、コンフィグレーション空間の割当てにおいては、前述した例に限られるものではなく、すべてのノードのコンフィグレーションレジスタを単一のコンフィグレーション空間上に配置していればよい。
【0037】
【発明の効果】
以上述べたように、本発明によれば、ノード内のコンフィグレーションアクセスルーティングコントローラとノード間のコンフィグレーションアクセスルーティングコントローラを組み合わせて、コンフィグレーションアクセス要求のルーティングを行うことにより、任意のノードのCPUから、コンピュータシステム上の任意のノードのコンフィグレーションレジスタへアクセスすることができる。さらに、ノード間のコンフィグレーションアクセスルーティングコントローラはコンフィグレーションアクセス要求をブロードキャストする機能を持ち、すべてのノードのレジスタに対して同時書込みができるので、そのようなレジスタをグローバルレジスタとして見なして利用することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態のコンフィグレーションアクセスルーティング方法を実現するためのコンピュータシステムを示す構成図である。
【図2】本発明の一実施の形態において、ノード内コンフィグレーションアクセスルーティングコントローラを示す構成図である。
【図3】本発明の一実施の形態において、ノード間コンフィグレーションアクセスルーティングコントローラを示す構成図である。
【図4】本発明の一実施の形態において、コンフィグレーションアドレスレジスタとコンフィグレーションデータレジスタのビットフォーマットを示す説明図である。
【図5】本発明の一実施の形態において、多ノードコンピュータシステムのために拡張したコンフィグレーション空間の割当てを示す説明図である。
【図6】従来のコンピュータシステムにおけるコンフィグレーション空間の割当てを示す説明図である。
【符号の説明】
10…ノード、20…CPU、30…メモリ、40…PCIバス、50…PCIデバイス、60…Host-PCIバスブリッジ、70…ノードコントローラ、71…トランザクションコントローラ、72…コンフィグレーションレジスタ、73…ノード内コンフィグレーションアクセスルーティングコントローラ、100…クロスバー、110…アドレス・データバスクロスバースイッチ、120…ノード間コンフィグレーションアクセスルーティングコントローラ、130…コンフィグレーションレジスタ、150…スーパーバイザプロセッサ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system, and more particularly to a technique effective when applied to a method for routing an access to a configuration register.
[0002]
[Prior art]
As a technique examined by the present inventor, the following technique is conceivable with respect to a method for routing an access to the configuration register. For example, when the computer system is initialized, the configuration registers of PCI devices on the PCI bus are arranged so as not to be continuously overlapped in a single configuration space. Access to the configuration register of the PCI device is performed by selecting a register with an address on the configuration space and writing or reading the address. Regarding the method of accessing the configuration register of the chipset, the chipset configuration register is placed in the same configuration space as the PCI device, and the chipset configuration register is accessed in the same manner as the method of accessing the configuration register of the PCI device. A method for accessing the configuration register is known.
[0003]
[Problems to be solved by the invention]
By the way, as a result of the study of the access routing method to the configuration register as described above, the following has been clarified. Specifically, the configuration space allocation in a conventional computer system will be described with reference to FIG.
[0004]
As shown in FIG. 6, when accessing the chip set configuration register by accessing a
[0005]
However, a method for realizing this in hardware becomes difficult. In particular, in a multi-node computer system, a chipset and a PCI bus are provided for each node, and PCI devices and chipset configuration registers of all nodes are arranged on a single configuration space, so that an arbitrary node There is a problem of how to realize routing for accessing all the configuration registers in the configuration space from the CPU, and a problem of how to realize a global register commonly used in the nodes.
[0006]
Therefore, an object of the present invention is to arrange PCI devices and chipset configuration registers of all nodes in a single configuration space in a multi-node computer system, and from any node CPU to the configuration space. Provides a routing method that allows access to all configuration registers. Further, the present invention provides an access routing method capable of realizing a global register that is commonly used by each node.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, in the computer system of the present invention, an intra-node configuration access routing controller for determining whether a destination of a configuration register access request issued by the own node is destined for the own node or another node and routing Each node has an intra-node configuration access routing controller connected between the nodes, and an inter-node configuration access routing controller that routes configuration register access requests destined for other nodes to the destination node. The configuration register access request from the CPU can be routed to the configuration register of an arbitrary node.
[0008]
In addition, the inter-node configuration access routing controller is capable of multicasting and broadcasting, and has the function to set the configuration registers of multiple nodes or all nodes simultaneously, so that this function can realize a global register. It is what.
[0009]
Specifically, the configuration access routing method of the present invention comprises a CPU, a memory, a PCI device on a PCI bus, and a node controller that connects the PCI bus to the CPU and the memory via a Host-PCI bus bridge. In a computer system comprising a node and a crossbar interconnecting at least two or more nodes, the node controller includes a transaction controller that controls a flow of transactions within the node and between the nodes, and a chipset within the node. A configuration register for setting a configuration, and a node for controlling routing of access requests to the configuration register of the configuration device and the PCI device on the PCI bus. It is realized in a configuration consisting of a de-in configuration access the routing controller.
[0010]
In the above configuration, the transaction controller is connected to the CPU, the memory, the Host-PCI bus bridge, the intra-node configuration access routing controller, the address / data bus crossbar switch in the crossbar, and the own node CPU. Alternatively, it accepts a transaction from its own node PCI device or other node via the address / data bus crossbar switch, determines the type of the transaction, and requests access to the memory if the transaction is a memory access request transaction. If the transaction is an access request transaction to a PCI device, the access request is sent to the PCI bus, and the transaction Is intended to operate to deliver the configuration register access request to the node in the configuration access the routing controller if the access request transaction to the configuration register.
[0011]
Further, in the configuration access routing method, the intra-node configuration access routing controller is connected to the inter-node configuration access routing controller in the transaction controller, a supervisor processor, and the crossbar, and the transaction controller and the supervisor. Arbitrates an access request to the configuration register from the processor, determines the destination of the received configuration access request, and if the configuration access request is an access request to the configuration register of the own node, the configuration An access request is sent to the configuration register of the local node, and the configuration If the configuration access request is a request to access a configuration register to another node, a request to access the configuration register in the crossbar, or a configuration access request for multicast / broadcast, It operates to send the configuration access request to the inter-node configuration access routing controller.
[0012]
Further, the inter-node configuration access routing controller arbitrates the configuration access request sent from each node, determines the destination of the received configuration access request, and the destination of the configuration access request is within the crossbar. If it is an access request to the configuration register, the configuration access request is sent to the configuration register in the crossbar, and if the destination of the configuration access request is a configuration access request to a specific node, If the configuration access request is sent only to that node and the configuration access request is sent to a plurality of nodes, the configuration access request is required. Is operated to broadcast the configuration access request to all nodes at the same time if it is a configuration access request to all nodes. It is.
[0013]
In the configuration access routing method, the configuration registers of all nodes are arranged on a single configuration space, and the CPUs of all nodes can access all the configuration registers on the configuration space. The configuration register can be accessed without being aware of the node configuration.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0015]
First, the configuration of an example of a computer system for realizing the configuration access routing method according to the embodiment of the present invention will be described with reference to FIG. FIG. 1 shows an example of a computer system according to the present embodiment. The computer system according to the present embodiment includes a plurality of
[0016]
The
[0017]
The
[0018]
The transaction controller 71 is connected to the
[0019]
The intra-node configuration
[0020]
Next, an example of the configuration access routing method will be described with reference to FIGS. 2, 3, 4, and 5 for the operation of the present embodiment.
[0021]
FIG. 2 shows an internal configuration of an example of the intra-node configuration
[0022]
In the configuration address registers 201 and 202, the address of the configuration register to be accessed on the configuration space is set. Thereafter, by reading / writing to the configuration data registers 203 and 204, a configuration access request is sent from the configuration data registers 203 and 204 to the destination configuration register for the addresses set in the configuration address registers 201 and 202. Routed to.
[0023]
The sizes of the configuration address registers 201 and 202 and the configuration data registers 203 and 204 are each 32 bits as shown in FIG. The addresses set in the configuration address registers 201 and 202 are the bus number, device number, function number, and register number in the specification of the
[0024]
The
[0025]
The
[0026]
Configuration access requests from the transaction controller 71 and the
[0027]
The
[0028]
Configuration access requests from the
[0029]
FIG. 3 shows an exemplary configuration of the inter-node configuration
[0030]
The
[0031]
The
[0032]
Configuration access requests from the
[0033]
FIG. 5 shows an example in which the above-described
[0034]
Therefore, according to the present embodiment, the intra-node configuration
[0035]
Further, the inter-node configuration
[0036]
It goes without saying that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention. For example, the configuration space allocation is not limited to the above-described example, and the configuration registers of all the nodes may be arranged on a single configuration space.
[0037]
【The invention's effect】
As described above, according to the present invention, a configuration access routing controller in a node and a configuration access routing controller between nodes are combined to perform routing of a configuration access request. The configuration register of any node on the computer system can be accessed. In addition, the configuration access routing controller between nodes has the function to broadcast configuration access requests and can write to the registers of all nodes at the same time, so such registers can be used as global registers. it can.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a computer system for realizing a configuration access routing method according to an embodiment of the present invention;
FIG. 2 is a block diagram showing an intra-node configuration access routing controller in an embodiment of the present invention.
FIG. 3 is a block diagram showing an inter-node configuration access routing controller in an embodiment of the present invention.
FIG. 4 is an explanatory diagram showing a bit format of a configuration address register and a configuration data register in the embodiment of the invention.
FIG. 5 is an explanatory diagram showing allocation of a configuration space expanded for a multi-node computer system in an embodiment of the present invention.
FIG. 6 is an explanatory diagram showing allocation of configuration space in a conventional computer system.
[Explanation of symbols]
DESCRIPTION OF
Claims (3)
前記ノードコントローラは、ノード内及びノード間のトランザクションの流れを制御するトランザクションコントローラと、ノード内のコンフィグレーションを設定するコンフィグレーションレジスタと、前記コンフィグレーションレジスタ及び前記PCIバス上のPCIデバイスのコンフィグレーションレジスタへのアクセス要求のルーティングを制御するノード内コンフィグレーションアクセスルーティングコントローラとからなり、
前記トランザクションコントローラは、前記CPUと前記メモリと前記Host−PCIバスブリッジと前記ノード内コンフィグレーションアクセスルーティングコントローラと前記クロスバー内のアドレス・データバスクロスバースイッチに接続し、自ノードCPUあるいは自ノードPCIデバイスあるいは前記アドレス・データバスクロスバースイッチ経由の他ノードからのトランザクションを受け付け、前記トランザクションの種類を判定し、前記トランザクションがメモリへのアクセス要求トランザクションであるならば前記メモリにアクセス要求を送出し、前記トランザクションがPCIデバイスへのアクセス要求トランザクションであるならば前記PCIバスへアクセス要求を送出し、前記トランザクションがコンフィグレーションレジスタへのアクセス要求トランザクションであるならば前記ノード内コンフィグレーションアクセスルーティングコントローラにコンフィグレーションレジスタアクセス要求を送出することを特徴とするコンフィグレーションアクセスルーティング方法。A node composed of a CPU, a memory, a PCI device on the PCI bus, a node controller that connects the PCI bus to the memory via a Host-PCI bus bridge, and at least two nodes are interconnected. In a computer system consisting of a crossbar that
The node controller includes a transaction controller that controls a flow of transactions within and between nodes, a configuration register that sets a configuration within the node, a configuration register of the configuration device and a PCI device on the PCI bus It consists of an intra-node configuration access routing controller that controls the routing of access requests to
The transaction controller is connected to the CPU, the memory, the Host-PCI bus bridge, the intra-node configuration access routing controller, the address / data bus crossbar switch in the crossbar, and the own node CPU or the own node PCI. Accept a transaction from a device or other node via the address / data bus crossbar switch, determine the type of the transaction, and if the transaction is a memory access request transaction, send an access request to the memory, If the transaction is an access request transaction to a PCI device, an access request is sent to the PCI bus, and the transaction Configuration access routing method characterized by sending, if the access request transaction to Nrejisuta in the node configuration access the routing controller configuration register access request.
前記ノード内コンフィグレーションアクセスルーティングコントローラは、前記トランザクションコントローラとスーパーバイザプロセッサと前記クロスバーの中のノード間コンフィグレーションアクセスルーティングコントローラに接続し、前記トランザクションコントローラと前記スーパーバイザプロセッサからのコンフィグレーションレジスタへのアクセス要求を調停し、受け付けたコンフィグレーションアクセス要求の宛先を判定し、前記コンフィグレーションアクセス要求が自ノードのコンフィグレーションレジスタへのアクセス要求であるならば、前記コンフィグレーションアクセス要求を自ノードのコンフィグレーションレジスタに送出し、前記コンフィグレーションアクセス要求が他ノードへのコンフィグレーションレジスタへのアクセス要求であるか、前記クロスバー内のコンフィグレーションレジスタへのアクセス要求であるか、あるいは、マルチキャスト・ブロードキャストのコンフィグレーションアクセス要求である場合は、前記ノード間コンフィグレーションアクセスルーティングコントローラに前記コンフィグレーションアクセス要求を送出し、
前記ノード間コンフィグレーションアクセスルーティングコントローラは、各ノードから送出されたコンフィグレーションアクセス要求を調停し、受け付けたコンフィグレーションアクセス要求の宛先を判定し、前記コンフィグレーションアクセス要求の宛先がクロスバー内のコンフィグレーションレジスタへのアクセス要求であるならば、前記コンフィグレーションアクセス要求をクロスバー内のコンフィグレーションレジスタへ送出し、前記コンフィグレーションアクセス要求の宛先が特定ノードへのコンフィグレーションアクセス要求であるならば、そのノードのみに前記コンフィグレーションアクセス要求を送出し、複数のノードへのコンフィグレーションアクセス要求であるならば、前記コンフィグレーションアクセス要求を宛先の複数ノードに同時到着するようにマルチキャストし、すべてのノードへのコンフィグレーションアクセス要求であるならば、前記コンフィグレーションアクセス要求をすべてのノードに同時到着するようにブロードキャストすることを特徴とするコンフィグレーションアクセスルーティング方法。The configuration access routing method according to claim 1,
The intra-node configuration access routing controller is connected to the inter-node configuration access routing controller in the cross controller and the transaction controller, the supervisor processor, and an access request to the configuration register from the transaction controller and the supervisor processor. To determine the destination of the received configuration access request, and if the configuration access request is an access request to the configuration register of the own node, the configuration access request is stored in the configuration register of the own node. The configuration access request sent to the other node If the request is an access request to the configuration register in the crossbar, or a configuration access request for multicast / broadcast, the configuration access routing controller between the nodes is configured with the configuration. Configuration access request,
The inter-node configuration access routing controller arbitrates the configuration access request sent from each node, determines the destination of the received configuration access request, and the destination of the configuration access request is the configuration in the crossbar. If it is a request to access a register, the configuration access request is sent to the configuration register in the crossbar. If the destination of the configuration access request is a configuration access request to a specific node, that node If the configuration access request is sent to only a plurality of nodes, the configuration access request is sent to the destination. Configuration access characterized by multicasting to arrive at a plurality of nodes at the same time and broadcasting the configuration access request to all nodes at the same time if it is a configuration access request to all nodes Routing method.
すべてのノードのコンフィグレーションレジスタは単一のコンフィグレーション空間上に配置され、すべてのノードのCPUは、前記コンフィグレーション空間上のすべてのコンフィグレーションレジスタにアクセス可能であることを特徴とするコンフィグレーションアクセスルーティング方法。The configuration access routing method according to claim 1,
Configuration access characterized in that the configuration registers of all nodes are arranged on a single configuration space, and the CPUs of all nodes can access all the configuration registers on the configuration space. Routing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000378304A JP3645487B2 (en) | 2000-12-13 | 2000-12-13 | Configuration access routing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000378304A JP3645487B2 (en) | 2000-12-13 | 2000-12-13 | Configuration access routing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002183102A JP2002183102A (en) | 2002-06-28 |
JP3645487B2 true JP3645487B2 (en) | 2005-05-11 |
Family
ID=18846898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000378304A Expired - Fee Related JP3645487B2 (en) | 2000-12-13 | 2000-12-13 | Configuration access routing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3645487B2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664909B2 (en) | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
US8346884B2 (en) | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US8032659B2 (en) | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7836211B2 (en) | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
US7103064B2 (en) | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7917658B2 (en) | 2003-01-21 | 2011-03-29 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for link initialization in a shared I/O environment |
US7698483B2 (en) | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
US7046668B2 (en) | 2003-01-21 | 2006-05-16 | Pettey Christopher J | Method and apparatus for shared I/O in a load/store fabric |
US8102843B2 (en) | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7953074B2 (en) | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
JP2009093545A (en) * | 2007-10-11 | 2009-04-30 | Toshiba Corp | Vme board and method for controlling access to cr/csr register |
JP2019059880A (en) * | 2017-09-27 | 2019-04-18 | 一般財団法人電力中央研究所 | Method of producing solidified carbide |
-
2000
- 2000-12-13 JP JP2000378304A patent/JP3645487B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002183102A (en) | 2002-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255605B2 (en) | Scalable distributed memory and I/O multiprocessor system | |
US10042804B2 (en) | Multiple protocol engine transaction processing | |
US7281055B2 (en) | Routing mechanisms in systems having multiple multi-processor clusters | |
JP3669653B2 (en) | Computer system | |
US7047372B2 (en) | Managing I/O accesses in multiprocessor systems | |
US8185683B2 (en) | Bridge, information processing system, and access control method | |
JP3645487B2 (en) | Configuration access routing method | |
US7849256B2 (en) | Memory controller with ring bus for interconnecting memory clients to memory devices | |
US20030233388A1 (en) | Transaction management in systems having multiple multi-processor clusters | |
TWI396088B (en) | Method and apparatus for performing an atomic semaphore operation | |
US7039740B2 (en) | Interrupt handling in systems having multiple multi-processor clusters | |
JPH096717A (en) | System and method for data processing containing buffering mechanism for inbound and outbound read as well as posted write | |
US20030225909A1 (en) | Address space management in systems having multiple multi-processor clusters | |
US20040117561A1 (en) | Snoop filter bypass | |
US20030043790A1 (en) | Multi-master bus architecture for system -on-chip designs | |
US6628662B1 (en) | Method and system for multilevel arbitration in a non-blocking crossbar switch | |
JPH1049482A (en) | Dual host bridge with peer-to-peer support | |
JP2009110032A (en) | Bridge, information processor, information processing system, and global address management method | |
TW200407712A (en) | Configurable multi-port multi-protocol network interface to support packet processing | |
US6119191A (en) | Performing PCI access cycles through PCI bridge hub routing | |
US7640387B2 (en) | Method and apparatus for implementing heterogeneous interconnects | |
JP2003216565A (en) | Computer system and configuration access routing method | |
JP3661249B2 (en) | Multiprocessor system | |
US20240012684A1 (en) | Memory disaggregation method, computing system implementing the method | |
JPH0512220A (en) | Multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041222 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050203 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |