(57)【要約】【課題】各制御装置から各カードにアクセスできるアドレス空間領域の大きさを制御装置の数に依存せずに維持したまま、競合を回避する制御手順を省略し、カード制御にかかる時間を短縮することができるバス変換回路を実現する。【解決手段】複数の制御装置が接続される第１のバスとこの第１のバスとは異なる種類の第２のバスとの間に配置され、第１のバスを介して入力された制御装置からのパケットに含まれる第１のアドレスを第２のバスの第２のアドレスに変換するバス変換回路において、制御装置毎に第２のバスのベースアドレスを記憶し、パケットに含まれる制御装置を特定する固有値に応じて、制御装置に対応したベースアドレスを用いて第１のアドレスを第２のバスの第２のアドレスに変換する。【選択図】  図１
2011221592.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御装置が接続される第１のバスとこの第１のバスとは異なる種類の第２のバスとの間に配置され、前記第１のバスを介して入力された前記制御装置からのパケットに含まれる第１のアドレスを前記第２のバスの第２のアドレスに変換するバス変換回路において、
前記制御装置毎に前記第２のバスのベースアドレスを記憶し、前記パケットに含まれる前記制御装置を特定する固有値に応じて、前記制御装置に対応した前記ベースアドレスを用いて前記第１のアドレスを前記第２のバスの前記第２のアドレスに変換することを特徴とするバス変換回路。
【請求項２】
前記パケットから前記制御装置を特定する固有値と前記第１のアドレスを抽出するヘッダ抽出手段と、
前記制御装置を特定する固有値と前記制御装置に対応する前記ベースアドレスを前記制御装置毎にそれぞれ記憶する記憶手段と、
前記ヘッダ抽出手段で抽出された前記制御装置を特定する固有値と前記記憶手段に記憶された前記固有値を比較して一致または不一致を判定する比較手段と、
この比較手段で一致した固有値が示す前記制御装置に対応する前記ベースアドレスを用いて前記ヘッダ抽出手段で抽出された前記第１のアドレスを前記第２のバスの前記第２のアドレスに変換するアドレス変換手段と
を有することを特徴とする請求項１記載のバス変換回路。
【請求項３】
前記パケットから前記制御装置を特定する固有値と前記第１のアドレスを抽出するヘッダ抽出手段と、
前記制御装置の固有値に対応したアドレスに前記ベースアドレスを記憶する記憶手段と、
前記ヘッダ抽出手段で抽出された前記制御装置を特定する固有値に応じて、前記記憶手段から前記ベースアドレスを読み出し、このベースアドレスを用いて前記ヘッダ抽出手段で抽出された前記第１のアドレスを前記第２のバスの前記第２のアドレスに変換するアドレス変換手段と
を有することを特徴とする請求項１記載のバス変換回路。
【請求項４】
前記第１のバスは、
ＰＣＩ−Ｘ（登録商標）またはＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）の規格に準拠したものであることを特徴とする
請求項１〜３のいずれかに記載のバス変換回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信側の制御装置を特定できる情報が付加されたパケットを伝送するバスとこのバスとは異なる種類のバスとの間をつなぎ、バス間でアドレス変換を行うバス変換回路に関し、詳しくは、各制御装置から各カードにアクセスできるアドレス空間領域の大きさを制御装置の数に依存せずに維持したまま、競合を回避する制御手順を省略し、カード制御にかかる時間を短縮することができるバス変換回路に関するものである。
【背景技術】
【０００２】
近年、データを伝送するバスの高速化に伴い、ＣＰＵ（Central Processing Unit）等から構成される制御装置をバス上に複数実装し、これら複数の制御装置から異なる種類のバスに接続された被制御回路を制御するシステムが増えてきている。例えば、このようなシステムには、半導体試験装置や計測システム等がある。半導体試験装置では、大量のフェイルデータを複数のＣＰＵで演算して被試験半導体デバイスを救済する装置等に適用されている。また、計測システムでは、ＤＳＰ等が搭載されたカード型の演算モジュールが複数実装され、取り込んだ測定データをこれら複数の演算モジュールで演算する例がある。
【０００３】
図７は、異なる種類のバス間をつなぐ従来のバス変換回路を用いたシステムの一例を示した構成図である。図７において、カード５ａ〜５ｄは、被制御回路５１、被制御回路５２およびバス変換回路５３をそれぞれ有している。カード５ａおよび５ｂは、バスＰＢ２に相互に接続され、カード５ｃおよび５ｄは、バスＰＢ３に相互に接続される。
【０００４】
ホストコンピュータ１は、ホストバスＨＢに相互に接続され、システム全体を統合的に制御する。実際は、ホストコンピュータ１は、パソコン等で構成される。ホストブリッジ２は、バスＰＢ１とホストバスＨＢにそれぞれ相互に接続され、バスＰＢ１とホストバスＨＢとの間のトランザクション変換を行う。ここで、トランザクションとは、リードやライトのバスサイクルの一連の動作のことをいう。
【０００５】
制御装置３ａおよび３ｂは、ＣＰＵ（Central Processing Unit）等から構成され、バスＰＢ１を介してカード５ａ〜５ｄの制御を行う。バスブリッジ４ａは、バスＰＢ１とバスＰＢ２にそれぞれ相互に接続され、バス上に伝送されるトランザクション層パケット（以下、ＴＬＰ（Transaction Layer Packet）という）を一方のバスから他方のバスへ転送する。同様に、バスブリッジ４ｂは、バスＰＢ１とバスＰＢ３にそれぞれ相互に接続され、バス上に伝送されるＴＬＰを一方のバスから他方のバスへ転送する。
【０００６】
被制御回路５１および被制御回路５２は、ローカルバスＬＢにそれぞれ相互に接続され、ホストコンピュータ１、制御装置３ａまたは３ｂから制御される。バス変換回路５３は、バスＰＢ２またはバスＰＢ３と相互に接続されると共にローカルバスＬＢに相互に接続され、バスＰＢ２とローカルバスＬＢ、または、バスＰＢ３とローカルバスＬＢとの間のトランザクション変換を行う。
【０００７】
ここで、バスＰＢ１〜ＰＢ３は、一例として、ＰＣＩ−Ｘ（登録商標）またはＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）の規格に準拠したバスとする。ＰＣＩはコンピュータ用拡張バスアーキテクチャのPeripheral Component Interconnectの略称である。
【０００８】
このような異なる種類のバス間をつなぐ従来のバス変換回路を用いたシステムの動作を図８〜１０を用いて説明する。
図８は、ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）のＴＬＰのメモリ・リクエスト  ３ＤＷヘッダ形式である。図９は、バス変換回路５３で変換されたローカルバスアドレスの一例である。図１０は、図７に示す従来例のバスにおけるアドレス空間のアドレスマップの一例である。
【０００９】
バスＰＢ１〜ＰＢ３のアドレス空間とカード５ａ〜５ｄのローカルバスのアドレス空間の関係は、図１０に示すようになる。具体的には、バスＰＢ１〜ＰＢ３のアドレス空間は、３２ビットアドレス空間と６４ビット拡張アドレス空間に分けられ、３２ビットアドレス空間は、ホストコンピュータ１、制御装置３ａおよび３ｂ、カード５ａ〜５ｄのそれぞれのアドレスウィンドウが用意されている。
【００１０】
カード５ａ〜５ｄのそれぞれのアドレスウィンドウは、２つの領域に分かれており、１つはローカルバスの固定ウィンドウ領域、もう１つはローカルバスの可動ウィンドウ領域に割り付けられている。可動ウィンドウ領域のローカルバスベースアドレスは、固定ウィンドウ領域内のアドレスウィンドウベースアドレス設定レジスタが示すアドレスとなる。この場合のベースアドレスとは、可動ウィンドウ領域の先頭アドレスのことをいう。
【００１１】
カード５ａ〜５ｄのローカルバスのアドレス空間には、固定ウィンドウ領域と、ローカルバスを介して制御されるＩＣ等のデバイスのためのアドレス空間（図１０に示す例では、被制御回路５１用アドレス空間と被制御回路５２用アドレス空間）が割り付けられている。上述の可動ウィンドウ領域は、被制御回路５１用アドレス空間と被制御回路５２用アドレス空間の中の領域が割り付けられることになる。
【００１２】
カード５ａ〜５ｄのローカルバスのアドレス空間における固定ウィンドウ領域には、ウィンドウ切替セマフォとアドレスウィンドウベースアドレス設定レジスタが用意されている。ウィンドウ切替セマフォとは、カードへのアクセスの競合を避けるために用いられ、ウィンドウ切替セマフォを獲得することでカードへのアクセス権を獲得することになる。すなわち、ある制御装置がカードのウィンドウ切替セマフォを獲得している間、別の制御装置は、そのカードへＴＬＰを出力することはできず、ウィンドウ切替セマフォが解放されるのをポーリングするようになる。
【００１３】
実際の動作について、ホストコンピュータ１、制御装置３ａまたは３ｂが、カード５ａ〜５ｄのいずれかのカードにアクセスする場合の一例として、制御装置３ａがカード５ａの被制御回路５１にアクセスする手順を説明する。制御装置３ａは、バスＰＢ１〜ＰＢ３のアドレス空間におけるカード５ａアドレスウィンドウの固定ウィンドウ領域のウィンドウ切替セマフォにアクセスする。
【００１４】
制御装置３ａは、ウィンドウ切替セマフォが獲得できるまで、ウィンドウ切替セマフォへのアクセスを繰り返す。制御装置３ａは、ウィンドウ切替セマフォを獲得すると、バスＰＢ１〜ＰＢ３のアドレス空間におけるカード５ａアドレスウィンドウの固定ウィンドウ領域のアドレスウィンドウベースアドレス設定レジスタにアクセスし、ローカルバスベースアドレスを設定する。
【００１５】
制御装置３ａは、バスＰＢ１〜ＰＢ３のアドレス空間におけるカード５ａアドレスウィンドウの可動ウィンドウ領域にアクセスする。この時、可動ウィンドウ領域は、アドレスウィンドウベースアドレス設定レジスタで設定されたローカルバスベースアドレスに基づいた領域が割り付いている。この場合は、カード５ａのローカルバスアドレス空間における被制御回路５１用アドレス空間が割り付けられる。制御装置３ａは、可動ウィンドウ領域にアクセスし、所定の動作を完了すると、ウィンドウ切替セマフォを解放する。
【００１６】
このように、ホストコンピュータ１、制御装置３ａまたは３ｂが、カード５ａ〜５ｄのいずれかのカードにアクセスする場合には、各カードの固定ウィンドウ領域のウィンドウ切替セマフォにアクセスし、ウィンドウ切替セマフォを獲得する。ウィンドウ切替セマフォ獲得後に、固定ウィンドウ領域のアドレスウィンドウベースアドレス設定レジスタにアクセスし、ローカルバスベースアドレスを設定する。そして、可動ウィンドウ領域にアクセスして所定の動作を完了し、ウィンドウ切替セマフォを解放することにより、競合することなく、カードへのアクセスをすることができる。
【００１７】
特許文献１には、１次ＰＣＩバスアドレス空間から２次ＰＣＩバスアドレス空間にアドレスを変換するＰＣＩブリッジが記載されている。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００１−３３７９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
カード５ａ〜５ｄのようなＩ／Ｏ制御のためには、Non-Prefetchable空間（プリフェッチを許可しない空間）に割り当てる必要があるが、従来機種との互換やチップセットの制限などにより、６４ビットアドレスで拡張された４ＧＢ以降の空間をしようすることができず、従来の３２ビットアドレス空間の中に全カードのバス変換回路用の空間を割り当てなくてはならないことがある。従来の３２ビットアドレス空間には、システムでの予約領域があり、それ以外の領域を全カード割って使用するしかない。そのため、１枚のカードが占有できるアドレス空間は限られてしまう。
【００２０】
上記のような環境下において、図７および図１０に示す従来例では、ホストコンピュータ１、制御装置３ａまたは３ｂ等の複数の制御装置から１枚のカードに対して同時にアクセスする場合、各カードのバスＰＢ１〜ＰＢ３のアドレス空間におけるアドレスウィンドウを１つにして、複数の制御装置で共有すると、アドレスウィンドウベースアドレス設定レジスタは１つしかないため、ウィンドウ切替セマフォ等を用いて競合を回避する必要があり、カードへのアクセスに必要な制御手順が増えるという問題があった。
【００２１】
具体的には、各制御装置からカードへのアクセスにおける制御手順は、以下のようになる。
１．ウィンドウ切替セマフォを獲得してカードへのアクセス権を確保する。
２．アドレスウィンドウベースアドレス設定レジスタへアクセスしてローカルバスベー      スアドレスを設定する。
３．可動ウィンドウ領域にアクセスする。
４．ウィンドウ切替セマフォを解放する。
この結果、ウィンドウ切替セマフォの獲得と解放をアクセス毎に行うとすると、計４回の制御手順が必要になる。
【００２２】
また、図７に示す従来例では、カードが４枚の構成を示したが、例えば、半導体デバイスを検査する半導体検査装置では、制御対象となるカードが数十枚に及ぶことがある。このような場合、上述のような競合が頻繁に発生するので、制御装置がカードへアクセスするために順番待ちの状態になっていた。実際には、ウィンドウ切替セマフォを獲得できるまで、制御装置の動作が止まってしまい、処理が進まないので、カード制御の効率が悪くなるという問題もあった。
【００２３】
また、バス変換回路５３は、バスＰＢ２またはＰＢ３から入力される制御装置からのＴＬＰを時系列で処理しているが、もし、ウィンドウ切替セマフォを使用しない場合には以下のようなことが発生する。例えば、制御装置３ａがアドレスウィンドウベースアドレス設定レジスタへアクセスしてローカルバスベースアドレスを設定した後に、制御装置３ｂがアドレスウィンドウベースアドレス設定レジスタへアクセスして制御装置３ａとは異なるローカルバスベースアドレスを設定してしまうと、可動ウィンドウ領域は、制御装置３ａが期待した領域とは異なってしまう。すなわち、ウィンドウ切替セマフォは、可動ウィンドウ領域を切り替える権利の競合回避に使用される。
【００２４】
一方、１枚のカードに割り当てられたバスＰＢ１〜ＰＢ３のアドレス空間におけるアドレスウィンドウを制御装置の数で分割し、カード毎にアドレスウィンドウベースアドレス設定レジスタを持つことにより、競合が無くなり、ウィンドウ切替セマフォのような競合を回避するための制御手順は不要になる。しかし、制御装置が多い場合、各制御装置に割り当てられたアドレス空間、すなわち、ローカルバスの可動ウィンドウ領域は更に狭くなり、頻繁にアドレスウィンドウベースアドレス設定レジスタへの書き換えを行わなければならないという問題もあった。
【００２５】
そこで本発明の目的は、各制御装置から各カードにアクセスできるアドレス空間領域の大きさを制御装置の数に依存せずに維持したまま、競合を回避する制御手順を省略し、カード制御にかかる時間を短縮することができるバス変換回路を実現することにある。
【課題を解決するための手段】
【００２６】
請求項１記載の発明は、
複数の制御装置が接続される第１のバスとこの第１のバスとは異なる種類の第２のバスとの間に配置され、前記第１のバスを介して入力された前記制御装置からのパケットに含まれる第１のアドレスを前記第２のバスの第２のアドレスに変換するバス変換回路において、
前記制御装置毎に前記第２のバスのベースアドレスを記憶し、前記パケットに含まれる前記制御装置を特定する固有値に応じて、前記制御装置に対応した前記ベースアドレスを用いて前記第１のアドレスを前記第２のバスの前記第２のアドレスに変換することを特徴とするものである。
請求項２記載の発明は、請求項１記載の発明において、
前記パケットから前記制御装置を特定する固有値と前記第１のアドレスを抽出するヘッダ抽出手段と、
前記制御装置を特定する固有値と前記制御装置に対応する前記ベースアドレスを前記制御装置毎にそれぞれ記憶する記憶手段と、
前記ヘッダ抽出手段で抽出された前記制御装置を特定する固有値と前記記憶手段に記憶された前記固有値を比較して一致または不一致を判定する比較手段と、
この比較手段で一致した固有値が示す前記制御装置に対応する前記ベースアドレスを用いて前記ヘッダ抽出手段で抽出された前記第１のアドレスを前記第２のバスの前記第２のアドレスに変換するアドレス変換手段と
を有することを特徴とするものである。
請求項３記載の発明は、請求項１記載の発明において、
前記パケットから前記制御装置を特定する固有値と前記第１のアドレスを抽出するヘッダ抽出手段と、
前記制御装置の固有値に対応したアドレスに前記ベースアドレスを記憶する記憶手段と、
前記ヘッダ抽出手段で抽出された前記制御装置を特定する固有値に応じて、前記記憶手段から前記ベースアドレスを読み出し、このベースアドレスを用いて前記ヘッダ抽出手段で抽出された前記第１のアドレスを前記第２のバスの前記第２のアドレスに変換するアドレス変換手段と
を有することを特徴とするものである。
請求項４記載の発明は、請求項１〜３のいずれかに記載の発明において、
前記第１のバスは、
ＰＣＩ−Ｘ（登録商標）またはＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）の規格に準拠したものであることを特徴とするものである。
【発明の効果】
【００２７】
本発明によれば、以下のような効果がある。
複数の制御装置が接続される第１のバスとこの第１のバスとは異なる種類の第２のバスとの間に配置され、第１のバスを介して入力された制御装置からのパケットに含まれる第１のアドレスを第２のバスの第２のアドレスに変換するバス変換回路において、制御装置毎に第２のバスのベースアドレスを記憶し、パケットに含まれる制御装置を特定する固有値に応じて、制御装置に対応したベースアドレスを用いて第１のアドレスを第２のバスの第２のアドレスに変換することにより、従来のように競合回避のセマフォを使用することなく、パケットに含まれる制御装置を特定する固有値に応じて制御装置がアクセスする領域のローカルベースアドレスを変更しているので、各制御装置からアクセスできるアドレス空間領域の大きさを制御装置の数に依存せずに維持したまま、競合を回避する制御手順を省略し、各制御装置の制御にかかる時間を短縮することができる。
【図面の簡単な説明】
【００２８】
【図１】異なる種類のバス間をつなぐ本発明のバス変換回路を用いたシステムの一例を示した構成図である。
【図２】バス変換回路の第１の実施例を示した構成図である。
【図３】図１に示す実施例のバスにおけるアドレス空間のアドレスマップの一例である。
【図４】バス変換回路におけるアドレスウィンドウベースアドレスの選択機構の概念図である。
【図５】本発明のバス変換回路の第２の実施例を示した構成図である。
【図６】バス変換回路におけるアドレスウィンドウベースアドレスの選択機構の概念図である。
【図７】異なる種類のバス間をつなぐ従来のバス変換回路を用いたシステムの一例を示した構成図である。
【図８】ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）のＴＬＰのメモリ・リクエスト  ３ＤＷヘッダ形式である。
【図９】バス変換回路で変換されたローカルバスアドレスの一例である。
【図１０】図７に示す従来例のバスにおけるアドレス空間のアドレスマップの一例である。
【発明を実施するための形態】
【００２９】
以下、図面を用いて本発明の実施の形態を説明する。
［第１の実施例］
図１は、異なる種類のバス間をつなぐ本発明のバス変換回路を用いたシステムの一例を示した構成図である。ここで、図７と同一のものは同一符号を付し、説明を省略する。  図１において、図７に示す構成と異なる点は、バス変換回路５３の代わりにバス変換回路５４が設けられている点である。
【００３０】
図１において、カード６ａ〜６ｄは、被制御回路５１、被制御回路５２およびバス変換回路５４をそれぞれ有している。バス変換回路５４は、バスＰＢ２またはバスＰＢ３と相互に接続されると共にローカルバスＬＢに相互に接続され、バスＰＢ２とローカルバスＬＢ、または、バスＰＢ３とローカルバスＬＢとの間のトランザクション変換を行う。
【００３１】
このような異なる種類のバス間をつなぐ本発明のバス変換回路を用いたシステムの動作を図２〜４を用いて説明する。
図２は、バス変換回路５４の第１の実施例を示した構成図である。図３は、図１に示す実施例のバスにおけるアドレス空間のアドレスマップの一例である。図４は、バス変換回路５４におけるアドレスウィンドウベースアドレスの選択機構の概念図である。
【００３２】
図２において、バス変換回路５４は、ヘッダ抽出手段６１、記憶手段６２、比較手段６３およびアドレス変換手段６４を有している。ヘッダ抽出手段６１は、バスＰＢ２またはバスＰＢ３を介して入力されるＴＬＰ（図８参照）からリクエスタＩＤとアドレスを抽出する。記憶手段６２は、ホストコンピュータ１、制御装置３ａまたは３ｂを識別する固有値とこの固有値に対応するベースアドレスをそれぞれ記憶する。
【００３３】
比較手段６３は、ヘッダ抽出手段６１で抽出されたリクエスタＩＤと記憶手段６２に記憶された固有値を比較して一致または不一致を判定する。アドレス変換手段６４は、比較手段６３で一致した固有値に対応するベースアドレスを用いて、ヘッダ抽出手段６１で抽出されたアドレスをローカルバスＬＢのローカルアドレスに変換する。
【００３４】
バスＰＢ１〜ＰＢ３のアドレス空間とカード６ａ〜６ｄのローカルバスのアドレス空間の関係は、図３に示すようになる。バスＰＢ１〜ＰＢ３のアドレス空間は、ホストコンピュータ１、制御装置３ａまたは３ｂの各制御装置から見えるアドレス空間である。詳細は、図１０に示すアドレス空間と同じため、説明を省略する。
【００３５】
カード６ａ〜６ｄのそれぞれのアドレスウィンドウは、２つの領域に分かれており、１つはローカルバスの固定ウィンドウ領域、もう１つはローカルバスの可動ウィンドウ領域に割り付けられている。可動ウィンドウ領域のローカルバスベースアドレスは、固定ウィンドウ領域内のアドレスウィンドウベースアドレス設定レジスタが示すアドレスとなる。この場合のベースアドレスとは、可動ウィンドウ領域のローカルバスにおける先頭アドレスのことをいう。
【００３６】
カード６ａ〜６ｄのローカルバスのアドレス空間には、固定ウィンドウ領域と、ローカルバスを介して制御されるＩＣ等のデバイスのためのアドレス空間（図３に示す例では、被制御回路５１用アドレス空間と被制御回路５２用アドレス空間）が割り付けられている。上述の可動ウィンドウ領域は、被制御回路５１用アドレス空間と被制御回路５２用アドレス空間の中の領域が割り付けられることになる。
【００３７】
カード６ａ〜６ｄのローカルバスのアドレス空間における固定ウィンドウ領域には、アドレスウィンドウベースアドレス設定レジスタとリクエスタＩＤ設定レジスタが制御装置毎にそれぞれ用意されている。リクエスタＩＤ設定レジスタには、各制御装置毎に制御装置を識別する固有値が記憶される。同一の制御装置において、この固有値と、バスＰＢ２またはバスＰＢ３を介して入力されるＴＬＰに含まれるリクエスタＩＤとは同じ値となる。実際には、制御装置毎のアドレスウィンドウベースアドレス設定レジスタとリクエスタＩＤ設定レジスタはバス変換回路５４の記憶手段６２に用意される。
【００３８】
一例として、ホストコンピュータ１、制御装置３ａおよび３ｂが、カード６ａにアクセスする場合の手順を説明する。まず、ホストコンピュータ１がカード６ａの被制御回路５１にアクセスする場合には、ホストコンピュータ１は、バスＰＢ１〜ＰＢ３のアドレス空間におけるカード６ａアドレスウィンドウの固定ウィンドウ領域のアドレスウィンドウベースアドレス設定レジスタ１にローカルベースアドレス１を設定する。このローカルベースアドレス１は、ホストコンピュータ１がアクセスしたい被制御回路５１のローカルアドレスを含むアドレスとなる。
【００３９】
具体的には、ホストコンピュータ１は、アドレスウィンドウベースアドレス設定レジスタ１にローカルベースアドレス１を設定するために、ＴＬＰを出力する。ホストコンピュータ１から出力されたＴＬＰは、ホストバスＨＢ、ホストブリッジ２、バスＰＢ１、バスブリッジ４ａおよびバスＰＢ２を経由してカード６ａのバス変換回路５４へ入力される。
【００４０】
バス変換回路５４のヘッダ抽出手段６１は、入力されたＴＬＰのヘッダからリクエスタＩＤおよびアドレスを抽出する。ヘッダ抽出手段６１は、抽出したアドレスが固定ウィンドウ領域のアドレスウィンドウベースアドレス設定レジスタ１であることを認識すると、ＴＬＰのヘッダに続いているデータ（ローカルベースアドレス１）をアドレスウィンドウベースアドレス設定レジスタ１に設定する。本実施例では、このデータの上位２０ビット（ビット［３１：１２]）をベースアドレスとして設定する。また、ヘッダ抽出手段６１は、抽出したリクエスタＩＤをアドレスウィンドウベースアドレス設定レジスタ１に対応するリクエスタＩＤ設定レジスタ１に設定する。
【００４１】
そして、ホストコンピュータ１は、バスＰＢ１〜ＰＢ３のアドレス空間におけるカード６ａアドレスウィンドウの可動ウィンドウ領域にアクセスする。すなわち、ホストコンピュータ１は、アドレスウィンドウベースアドレス設定レジスタ１の設定時と同様に、カード６ａに対してＴＬＰを出力する。
【００４２】
バス変換回路５４のヘッダ抽出手段６１は、入力されたＴＬＰのヘッダからリクエスタＩＤおよびアドレス（オフセットアドレス）を抽出する。ヘッダ抽出手段６１は、抽出したアドレス（オフセットアドレス）から可動ウィンドウアドレス空間へのアクセスであることを認識すると、バス変換回路５４の比較手段６３に通知する。比較手段６３は、ヘッダ抽出手段６１からの通知を受信すると、図４に示すように、抽出したリクエスタＩＤとリクエスタＩＤ設定レジスタ１〜３の設定値とを比較する。
【００４３】
そして、比較手段６３は、抽出したリクエスタＩＤが、リクエスタＩＤ設定レジスタ１の設定値、すなわち、ホストコンピュータ１の固有値と一致すると判定し、判定結果として一致したリクエスタＩＤ設定レジスタの番号（この場合は１）をアドレス変換手段６４へ通知する。バス変換回路５４のアドレス変換手段６４は、比較手段６３からの判定結果を受信すると、記憶手段６２から一致したリクエスタＩＤ設定レジスタ１に対応するアドレスウィンドウベースアドレス設定レジスタ１に記憶されているローカルアドレス１を読み出す。
【００４４】
アドレス変換手段６４は、読み出したローカルベースアドレス１を用いて、ヘッダ抽出手段６１で抽出されたアドレス（オフセットアドレス）をローカルバスＬＢのローカルアドレスに変換する。具体的には、図９（ｂ）に示すように、ローカルアドレスのビット０とビット１は０、ビット２からビット１１まではヘッダ抽出手段６１で抽出されたアドレスのビット２からビット１１、ビット１２からビット３１までは読み出したローカルベースアドレス１のビット１２からビット３１がそれぞれ割り当てられ、ローカルアドレスが構成される。
【００４５】
一方、制御装置３ａがカード６ａの被制御回路５１にアクセスする場合には、ホストコンピュータ１の時と同様に、バスＰＢ１〜ＰＢ３のアドレス空間におけるカード６ａアドレスウィンドウの固定ウィンドウ領域のアドレスウィンドウベースアドレス設定レジスタ２にローカルベースアドレス２を設定する。
【００４６】
具体的には、制御装置３ａは、アドレスウィンドウベースアドレス設定レジスタ２にローカルベースアドレス２を設定するために、ＴＬＰを出力する。制御装置３ａから出力されたＴＬＰは、バスＰＢ１、バスブリッジ４ａおよびバスＰＢ２を経由してカード６ａのバス変換回路５４へ入力される。
【００４７】
バス変換回路５４のヘッダ抽出手段６１は、入力されたＴＬＰのヘッダからリクエスタＩＤおよびアドレスを抽出する。ヘッダ抽出手段６１は、抽出したアドレスが固定ウィンドウ領域のアドレスウィンドウベースアドレス設定レジスタ２であることを認識すると、ＴＬＰのヘッダに続いているデータ（ローカルベースアドレス２）をアドレスウィンドウベースアドレス設定レジスタ２に設定する。また、ヘッダ抽出手段６１は、抽出したリクエスタＩＤをアドレスウィンドウベースアドレス設定レジスタ２に対応するリクエスタＩＤ設定レジスタ２に設定する。
【００４８】
そして、制御装置３ａは、バスＰＢ１〜ＰＢ３のアドレス空間におけるカード６ａアドレスウィンドウの可動ウィンドウ領域にアクセスする。すなわち、制御装置３ａは、アドレスウィンドウベースアドレス設定レジスタ２の設定時と同様に、カード６ａに対してＴＬＰを出力する。
【００４９】
バス変換回路５４のヘッダ抽出手段６１は、入力されたＴＬＰのヘッダからリクエスタＩＤおよびアドレス（オフセットアドレス）を抽出する。ヘッダ抽出手段６１は、抽出したアドレス（オフセットアドレス）から可動ウィンドウアドレス空間へのアクセスであることを認識すると、バス変換回路５４の比較手段６３に通知する。比較手段６３は、ヘッダ抽出手段６１からの通知を受信すると、図４に示すように、抽出したリクエスタＩＤとリクエスタＩＤ設定レジスタ１〜３の設定値とを比較する。
【００５０】
そして、比較手段６３は、抽出したリクエスタＩＤが、リクエスタＩＤ設定レジスタ２の設定値、すなわち、制御装置３ａの固有値と一致すると判定し、判定結果として一致したリクエスタＩＤ設定レジスタの番号（この場合は２）をアドレス変換手段６４へ通知する。バス変換回路５４のアドレス変換手段６４は、比較手段６３からの判定結果を受信すると、記憶手段６２から一致したリクエスタＩＤ設定レジスタ２に対応するアドレスウィンドウベースアドレス設定レジスタ２に記憶されているローカルアドレス２を読み出す。
【００５１】
アドレス変換手段６４は、読み出したローカルベースアドレス２を用いて、ホストコンピュータ１の時と同様に、ヘッダ抽出手段６１で抽出されたアドレス（オフセットアドレス）をローカルバスＬＢのローカルアドレスに変換する。
【００５２】
制御装置３ｂがカード６ａの被制御回路５１にアクセスする手順は、制御装置３ａの時と同様であり、異なる点は、アドレスウィンドウベースアドレス設定レジスタ２がアドレスウィンドウベースアドレス設定レジスタ３に、ローカルベースアドレス２がローカルベースアドレス３に、リクエスタＩＤ設定レジスタ２がリクエスタＩＤ設定レジスタ３になる点である。
【００５３】
また、各制御装置から各カードへのアクセスにおいて、アドレスウィンドウベースアドレス設定レジスタにローカルベースアドレスを設定しているが、アクセスするアドレスがすでに設定してあるローカルベースアドレスに基づいた可動ウィンドウ領域にある場合には、再度、アドレスウィンドウベースアドレス設定レジスタを設定する必要はない。
【００５４】
また、バス変換回路５４は、バスＰＢ２またはＰＢ３から入力される制御装置からのＴＬＰを時系列で処理しており、ＴＬＰに含まれるリクエスタＩＤに応じてアドレスウィンドウベースアドレス設定レジスタにローカルベースアドレスを設定して可動ウィンドウ領域を確定しているので、従来のようにウィンドウ切替セマフォを使用してカードのアクセス権を獲得してからローカルベースアドレスを設定する必要がなくなる。
【００５５】
このように、ホストコンピュータ１、制御装置３ａまたは３ｂの各制御装置毎にアドレスウィンドウベースアドレス設定レジスタとこれに対応するリクエスタＩＤ設定レジスタとをバス変換回路５４に用意する。各制御装置が、ローカルベースアドレスをそれぞれのアドレスウィンドウベースアドレス設定レジスタに設定し、バス変換回路５４が、受信したＴＬＰからリクエスタＩＤを抽出する。
【００５６】
そして、バス変換回路５４が、抽出したリクエスタＩＤとリクエスタＩＤ設定レジスタの設定値を比較し、一致したリクエスタＩＤ設定レジスタに対応するアドレスウィンドウベースアドレス設定レジスタに記憶されているローカルベースアドレスを用いて、ＴＬＰから抽出されたアドレス（オフセットアドレス）をローカルバスＬＢのローカルアドレスに変換することにより、競合回避のセマフォを使用することなくカードにアクセスでき、ＴＬＰから抽出したリクエスタＩＤに応じて可動ウィンドウ領域のローカルベースアドレスを変更しているので、各制御装置から各カードにアクセスできるアドレス空間領域の大きさを制御装置の数に依存せずに維持したまま、競合を回避する制御手順を省略し、カード制御にかかる時間を短縮することができる。
【００５７】
［第２の実施例］
図５は、本発明のバス変換回路５４の第２の実施例を示した構成図である。図５において、バス変換回路５４は、ヘッダ抽出手段７１、記憶手段７２およびアドレス変換手段７３を有している。
【００５８】
ヘッダ抽出手段７１は、バスＰＢ２またはバスＰＢ３を介して入力されるＴＬＰからリクエスタＩＤとアドレスを抽出する。記憶手段７２は、ホストコンピュータ１、制御装置３ａまたは３ｂの各制御装置のリクエスタＩＤに対応したそれぞれのアドレスにベースアドレスを記憶する。アドレス変換手段７３は、ヘッダ抽出手段７１で抽出されたリクエスタＩＤに応じて記憶手段７２から読み出されたベースアドレスを用いて、ヘッダ抽出手段７１で抽出されたアドレスをローカルバスＬＢのローカルアドレスに変換する。
【００５９】
このような異なる種類のバス間をつなぐ本発明のバス変換回路の動作を図６を用いて説明する。図６は、バス変換回路５４におけるアドレスウィンドウベースアドレスの選択機構の概念図である。
【００６０】
ホストコンピュータ１、制御装置３ａおよび３ｂが、カード５ａにアクセスする場合の手順は第１の実施例と同じため、説明を省略し、バス変換回路５４の動作について説明する。
【００６１】
図６に示すように、バス変換回路５４の記憶手段７２には、各制御装置のリクエスタＩＤに対応したそれぞれのアドレスにアドレスウィンドウベースアドレス設定レジスタが用意される。例えば、ホストコンピュータ１のリクエスタＩＤが１であるとすると、記憶手段７２の１番地にホストコンピュータ１用のアドレスウィンドウベースアドレス設定レジスタ１が割り当てられる。同様に、制御装置３ａのリクエスタＩＤが２であるとすると、記憶手段７２の２番地に制御装置３ａ用のアドレスウィンドウベースアドレス設定レジスタ２が割り当てられ、制御装置３ｂのリクエスタＩＤが３であるとすると、記憶手段７２の３番地に制御装置３ｂ用のアドレスウィンドウベースアドレス設定レジスタ３が割り当てられる。
【００６２】
バス変換回路５４のヘッダ抽出手段７１は、入力されたＴＬＰのヘッダからリクエスタＩＤおよびアドレスを抽出する。ヘッダ抽出手段７１は、抽出したアドレスが固定ウィンドウ領域のアドレスウィンドウベースアドレス設定レジスタであることを認識すると、ＴＬＰのヘッダに続いているデータ（ローカルベースアドレス）をリクエスタＩＤに対応したアドレスのアドレスウィンドウベースアドレス設定レジスタに設定する。
【００６３】
そして、制御装置が、バスＰＢ１〜ＰＢ３のアドレス空間におけるカードのアドレスウィンドウの可動ウィンドウ領域にアクセスする。すなわち、制御装置からカードに対してＴＬＰが出力される。
【００６４】
バス変換回路５４のヘッダ抽出手段７１は、入力されたＴＬＰのヘッダからリクエスタＩＤおよびアドレス（オフセットアドレス）を抽出する。ヘッダ抽出手段７１は、抽出したアドレス（オフセットアドレス）から被制御回路用アドレス空間へのアクセスであることを認識すると、抽出したリクエスタＩＤに対応するアドレスのアドレスウィンドウベースアドレス設定レジスタに記憶されているローカルベースアドレスを記憶手段７２から読み出す。
【００６５】
バス変換回路５４のアドレス変換手段７３は、記憶手段７２から読み出されたローカルベースアドレスを用いて、ヘッダ抽出手段７１で抽出されたアドレス（オフセットアドレス）をローカルバスＬＢのローカルアドレスに変換する。
【００６６】
このように、ホストコンピュータ１、制御装置３ａまたは３ｂの各制御装置のリクエスタＩＤに対応したそれぞれのアドレスにアドレスウィンドウベースアドレス設定レジスタをバス変換回路５４に用意する。各制御装置が、ローカルベースアドレスをそれぞれのアドレスウィンドウベースアドレス設定レジスタに設定し、バス変換回路５４が、受信したＴＬＰからリクエスタＩＤとアドレス（オフセットアドレス）を抽出する。
【００６７】
そして、バス変換回路５４が、抽出したリクエスタＩＤに対応するアドレスのアドレスウィンドウベースアドレス設定レジスタに記憶されているローカルベースアドレスを読み出し、このローカルベースアドレスを用いて、ＴＬＰから抽出されたアドレス（オフセットアドレス）をローカルバスＬＢのローカルアドレスに変換することにより、競合回避のセマフォを使用することなくカードにアクセスでき、ＴＬＰから抽出したリクエスタＩＤに応じて可動ウィンドウ領域のローカルベースアドレスを変更しているので、各制御装置から各カードにアクセスできるアドレス空間領域の大きさを制御装置の数に依存せずに維持したまま、競合を回避する制御手順を省略し、カード制御にかかる時間を短縮することができる。
【００６８】
なお、本発明はこれに限定されるものではなく、以下に示すようなものでもよい。
（１）図１〜図６に示す実施例において、バスＰＢ１〜ＰＢ３は、一例として、ＰＣＩ−Ｘ（登録商標）またはＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）の規格に準拠したバスとしているが、リクエスタＩＤのような送信側の制御装置を特定できる情報が付加されたパケットを伝送するバスであればよい。
【００６９】
（２）図１〜図６に示す実施例において、制御装置が３つ実装されたシステムの構成を示したが、バスＰＢ１〜ＰＢ３のアドレス空間やカードの固定ウィンドウ領域に支障が無い範囲であれば、制御装置は２つ以上実装されていればよい。同様に、図１〜図６に示す実施例において、カードが４つ実装されたシステムの構成を示したが、バスＰＢ１〜ＰＢ３のアドレス空間に支障が無い範囲であれば、カードは何枚実装されてもよい。
【符号の説明】
【００７０】
１  ホストコンピュータ（制御装置）
３ａ，３ｂ  制御装置
５４  バス変換回路
６１，７１  ヘッダ抽出手段
６２，７２  記憶手段
６３  比較手段
６４，７３  アドレス変換手段
ＬＢ  ローカルバス（第２のバス）
ＰＢ１〜ＰＢ３  バス（第１のバス）
【図１】
2011221592.tif 000003
【図２】
2011221592.tif 000004
【図３】
2011221592.tif 000005
【図４】
2011221592.tif 000006
【図５】
2011221592.tif 000007
【図６】
2011221592.tif 000008
【図７】
2011221592.tif 000009
【図１０】
2011221592.tif 000010
【図８】
2011221592.tif 000011
【図９】
2011221592.tif 000012