(57)【特許請求の範囲】
【請求項１】
第１のバス仕様を採用した第１の読み出し制御信号に基づき、第２のバス仕様を採用した読み出し対象部に対しアンアラインドにデータを読み出すバスブリッジであって、
前記第１の読み出し制御信号に基づき、前記第１及び第２のバス仕様間におけるデータ対応表あるいはデータ変換式を用いて、読み出し対象部用の第２の読み出し制御信号を生成して前記読み出し対象部に出力することにより、第２のバス仕様の第２の読み出しデータを前記読み出し対象部より出力させるデコーダと、
前記第１及び第２の読み出し制御信号の少なくとも一部をデータ変換情報として保持する変換情報記憶部と、
前記データ変換情報に基づき、前記第２の読み出しデータを前記第１のバス仕様の第１の読み出しデータに変換して出力するデータ変換部とを備え、
前記読み出し対象部はメモリである、
バスブリッジ。
【請求項２】
請求項１記載のバスブリッジであって、
前記第１の読み出しデータは少なくとも１回の第１のデータ転送処理により出力され、前記第１の読み出し制御信号は、前記第１の読み出しデータにおける開始アドレス、前記第１のデータ転送処理時における１回のデータサイズである第１のデータサイズ、及び前記第１のデータ転送処理の実行回数である第１のバースト長を指示する制御情報を含み、
前記第２の読み出しデータは、少なくとも１回の第２のデータ転送処理により出力され、前記第２の読み出し制御信号は前記第２の読み出しデータにおける開始アドレス、前記第２のデータ転送処理時における１回のデータサイズである第２のデータサイズ、及び前記第２のデータ転送処理の実行回数である第２のバースト長を指示する制御情報を含み、
前記第２の読み出し制御信号は、前記少なくとも１回の第２のデータ転送処理における最初のデータ転送処理時における転送データにおける有効部分を指示する第１のイネーブル情報と、前記少なくとも１回の第２のデータ転送処理における最後のデータ転送処理時における転送データにおける有効部分を指示する第２のイネーブル情報をさらに含む、
バスブリッジ。
【請求項３】
マスタ側の第１のバスブリッジと、
スレーブ側の第２のバスブリッジとを備え、
前記第２のバスブリッジは請求項１または請求項２記載のバスブリッジであり、
前記第１のバスブリッジは前記第１の読み出し制御信号を出力し、前記第１の読み出しデータを受ける、
バスブリッジ群。
【請求項４】
請求項３記載のバスブリッジ群であり、
前記第１のバス仕様はＡＸＩバス仕様であり、
前記第２のバス仕様はＰＣＩｅバス仕様である、
バスブリッジ群。
【請求項５】
請求項３記載のバスブリッジ群であり、
前記第１のバス仕様はインクリメントバースト処理を行うＡＨＢバス仕様であり、
前記第２のバス仕様はＰＣＩｅバス仕様である、
バスブリッジ群。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、異なるバス仕様間のデータを中継するバスブリッジ及び該バスブリッジを含む複数のバスブリッジにより構成されるバスブリッジ群に関する。
【背景技術】
【０００２】
図７は従来のバスブリッジ群を備えたコンピュータシステム３００の構成を示すブロック図である。同図に示すように、コンピュータシステム３００は、プライマリバスとなるＡＸＩ(Advanced eXtensible Interface)バス３１に接続しているマスタ側のＣＰＵ３０１及び３０２と、セカンダリバスであるＰＣＩｅ(PCI(Peripheral Component Interconnect) Express)バス３２に接続しているスレーブ側のメモリ４０１及び４０２と、ＡＸＩバス３１及びＰＣＩｅバス３２に接続されるバスブリッジ群５０とから構成される。
【０００３】
図８は図７で示したバスブリッジ群５０の内部構成例を示すブロック図である。同図に示すように、バスブリッジ群５０はＡＸＩ用バスブリッジ５１、ＰＣＩｅ用バスブリッジ５２及びレジスタブロック５３から構成される。
【０００４】
同図に示すように、ＡＸＩ用バスブリッジ５１はマスタ側のＣＰＵ３０１等による読み出し処理時において、アドレスＡＤ１、バースト長ＢＬ１、及びバーストサイズＢＳ１を制御情報として含む第１の読み出し制御信号をＰＣＩｅ用バスブリッジ５２に出力する。
【０００５】
ここで、図７で示したメモリ４０１に対する読み出し処理を例に挙げて説明する。この場合、アドレスＡＤ１はメモリ４０１のアドレス空間における読み出し開始アドレスを指示し、バーストサイズＢＳ１はＡＸＩバス仕様における１回のバースト転送処理時に出力されるバイト数を指示し、バースト長ＢＬ１は読み出し処理に実行されるＡＸＩバス仕様におけるバースト転送処理の必要実行回数を指示する。
【０００６】
なお、ＡＸＩバス仕様のバス幅ＢＷ１と、ＰＣＩｅバス仕様用のバス幅ＢＷ２とは共に同一の共通バス幅ＢＷＣに設定されている。
【０００７】
さらに、ＡＸＩバス３１側のＣＰＵ３０１やＣＰＵ３０２等が行う前処理として、レジスタブロック５３に対し、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を生成してレジスタブロック５３に格納している。レジスタブロック５３に格納されたファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３はＰＣＩｅ用バスブリッジ５２に付与される。
【０００８】
ここで、ファーストバイトイネーブルＦＢ３は上記例の場合、メモリ４０１の読み出し開始アドレスを含む最初のバースト転送時における転送データの有効バイト（有効部分）を指示する情報（最終アドレスからの有効バイト数）であり、ラストバイトイネーブルＬＢ３はメモリ４０１の読み出し終了アドレスを含む最後のバースト転送時における転送データの有効バイトを指示する情報（先頭アドレスからの有効バイト数）である。
【０００９】
ＰＣＩｅ用バスブリッジ５２は、アドレスＡＤ１、バースト長ＢＬ１、及びバーストサイズＢＳ１に基づき、ＰＣＩｅバス仕様のメモリ４０１に対するアドレスＡＤ２、バースト長ＢＬ２を導出し、導出した情報と予め認識しているバーストサイズＢＳ２、レジスタブロック５３おより得たファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を制御情報として含む第２の読み出し制御信号を生成する。
【００１０】
ここで、アドレスＡＤ２はメモリ４０１に対するバースト転送処理の開始アドレスを指示し、バーストサイズＢＳ２はＰＣＩｅバス仕様における１回のバースト処理時に出力されるバイト数を指示し、バースト長ＢＬ２は読み出し処理に実行されるＰＣＩｅバス仕様におけるバースト転送処理の必要実行回数を指示する。
【００１１】
そして、ＰＣＩｅ用バスブリッジ５２は上述したアドレスＡＤ２、バーストサイズＢＳ２、バースト長ＢＬ２、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を制御情報として含む第２の読み出し制御信号をメモリ４０１に出力することにより、メモリ４０１より読み出しデータを取得する。
【００１２】
そして、ＰＣＩｅ用バスブリッジ５２は取得した読み出しデータをＡＸＩバス仕様の読み出しデータＤＴ１に変換し、この読み出しデータＤＴ１をＡＸＩ用バスブリッジ５１に出力する。
【００１３】
このように、バスブリッジ群５０によって、異なるバス仕様であるＡＸＩバス３１，ＰＣＩｅバス３２間のデータの中継処理が可能となる。なお、バスブリッジ群５０に相当するバスブリッジ技術は例えば特許文献１に開示されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００６−７９６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
図９はメモリ４０１のアドレス空間例を模式的に示す説明図である。ここで、斜線部で示されたアドレス０ｘ１ｃ〜０ｘ５３に格納された５６バイトの読み出しデータＤＴ２であった場合を考える。この読み出しデータＤＴ２は、読み出し対象となるデータのアラインメント、サイズなどを含む補助情報であるバイトレーン情報ＴＬによって指示される。すなわち、データサイズ及び／またはデータ格納状態が共通バス幅ＢＷＣの整数倍に一致しないアンアラインドな読み出しデータＤＴ２を読み出す場合を考える。なお、共通バス幅ＢＷＣは１６バイトであるとする。
【００１６】
この場合、ＡＸＩ用バスブリッジ５１が出力する第１の読み出し制御信号において、アドレスＡＤ１は“０ｘ１ｃ”、バーストサイズＢＳ１が“４”（バイト）、バースト長ＢＬ１が“１４”（回）を指示し、レジスタブロック５３に格納されたファーストバイトイネーブルＦＢ３が“ｘｆ０００”、ラストバイトイネーブルＬＢ３が“ｘ０００ｆ”をそれぞれ指示する。このように、ＡＸＩバス仕様では、図９の読み出しデータＤＴ２を読み出す場合、バーストサイズＢＳ１が４バイトのため、バースト長ＢＬ１が１４回となる。
【００１７】
一方、ＰＣＩｅ用バスブリッジ５２が出力する第２の読み出し制御信号において、アドレスＡＤ２が“０ｘ１０”、バーストサイズＢＳ２が“１６”（バイト）、バースト長ＢＬ２が“５”（回）となる。このように、ＰＣＩｅバス仕様では、バーストサイズＢＳ２が１６バイトのため、図９の読み出しデータＤＴ２を読み出す場合、バースト長ＢＬ１が５回となる。
【００１８】
すなわち、ＰＣＩｅバス仕様では、０ｘｉ０（ｉ＝０，１，２，…）を開始アドレスとして、バーストサイズＢＳ２を１６バイトとしたバースト転送処理を５回行う。図９で示して例では、０ｘ１０〜０Ｘ５０それぞれを先頭アドレスとして、５回のバースト転送処理ＢＴ２１〜ＢＴ２５が実行される。この際、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３による指示により、メモリ４０１から、最初のバースト転送処理ＢＴ２１における転送データの０ｘ１０〜０ｘ１ｂ部分、最後のバースト転送処理ＢＴ２５における転送データの０ｘ５４〜０ｘ５ｆ部分は無効なデータ値として出力される。
【００１９】
このように、ＰＣＩｅバス３２と互換性を持たないＡＸＩバス３１は、バースト転送処理を用いたメモリ４０１からの読み出し処理時において、ファーストバイトイネーブルＦＢ３やラストバイトイネーブルＬＢ３に相当する信号をもたないため、ＣＰＵ３０１，３０２等のＡＸＩバス３１側により、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を生成する前処理を行う必要があった。さらに、この前処理により生成したファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を、４バイト容量の２つのレジスタを搭載したレジスタブロック５３に格納する必要があった。
【００２０】
したがって、ＡＸＩバス側でファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を生成させる前処理、及びＰＣＩｅ用バスブリッジ５２の前段にレジスタブロック５３を設けることが必要となる分、ＡＸＩバス側の処理負担の増加及びバスブリッジ群５０における装置構成の複雑化が生じてしまうという問題点があった。
【００２１】
また、従来のバスブリッジ群５０を用いたコンピュータシステム３００では、ＣＰＵ３０１等のマスタ側から、メモリ４０１等のスレーブ側に対する読み出し処理中にレジスタブロック５３に格納されたファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を変更することができない。
【００２２】
したがって、ＡＸＩバス３１に複数のＣＰＵ３０１，３０２等が接続されるマルチマスタ環境では、ＡＸＩバス３１側でＯＳのスピンロック機構などを使用して、実行中の読み出し処理が完了するまでの間、レジスタブロック５３の内容を保護する必要があるため、ソフトウェアレイテンシを増大させ、アクセス性を損なうという問題点もあった。
【００２３】
この発明は上記問題点を解決するためになされたもので、異なるバス仕様間のデータ読み出し処理時における処理内容の軽減及び装置構成の簡略化を図ることができるバスブリッジを得ることを目的とする。
【課題を解決するための手段】
【００２４】
この発明に係る請求項１記載のバスブリッジは、第１のバス仕様を採用した第１の読み出し制御信号に基づき、第２のバス仕様を採用した読み出し対象部に対しアンアラインドにデータを読み出すバスブリッジであって、前記第１の読み出し制御信号に基づき、前記第１及び第２のバス仕様間におけるデータ対応表あるいはデータ変換式を用いて、読み出し対象部用の第２の読み出し制御信号を生成して前記読み出し対象部に出力することにより、第２のバス仕様の第２の読み出しデータを前記読み出し対象部より出力させるデコーダと、前記第１及び第２の読み出し制御信号の少なくとも一部をデータ変換情報として保持する変換情報記憶部と、前記データ変換情報に基づき、前記第２の読み出しデータを前記第１のバス仕様の第１の読み出しデータに変換して出力するデータ変換部とを備え、前記読み出し対象部はメモリである。
【発明の効果】
【００２５】
この発明におけるバスブリッジのデコーダは、第１の読み出し制御信号に基づき、メモリである読み出し対象部用の第２の読み出し制御信号を自動的に生成する。このため、第２のバス仕様を考慮した第１のバス仕様側による前処理及び当該前処理の実行に必要となる構成部が不要となる分、第１バス仕様、第２のバス仕様間のデータ読み出し処理時における処理内容の軽減及び装置構成の簡略化を図ることができる。
【図面の簡単な説明】
【００２６】
【図１】この発明の実施の形態であるバスブリッジ群の構成を示すブロック図である。
【図２】図１で示したＰＣＩｅ用バスブリッジの内部構成を示すブロック図である。
【図３】図２で示したデコーダがデータ対応表を有する場合の一例を示す表形式の説明図である。
【図４】図２で示したメモリのアドレス空間を模式的に示す説明図である。
【図５】ＰＣＩｅ用バスブリッジ１２が出力する読み出しデータの出力内容を模式的に示す説明図である。
【図６】バーストタイプとバースト長との対応関係を表形式で示す説明図である。
【図７】従来のバスブリッジ群を備えたコンピュータシステムの構成を示すブロック図である。
【図８】図７で示したバスブリッジ群の内部構成例を示すブロック図である。
【図９】図７で示したメモリのアドレス空間例を模式的に示す説明図である。
【発明を実施するための形態】
【００２７】
＜実施の形態＞
図１はこの発明の実施の形態であるバスブリッジ群１０の構成を示すブロック図である。同図に示すように、バスブリッジ群１０はＡＸＩ用バスブリッジ１１（第１のバスブリッジ）及びＰＣＩｅ用バスブリッジ１２（第２のバスブリッジ）から構成される。
【００２８】
ＡＸＩ用バスブリッジ１１は読み出し処理時において、アドレスＡＤ１、バースト長ＢＬ１、及びバーストサイズＢＳ１を制御情報として含む第１の読み出し制御信号をＰＣＩｅ用バスブリッジ１２に出力する。なお、各種制御情報（ＡＤ１，ＢＬ１，ＢＳ１）の詳細は前述した通りである。
【００２９】
ＰＣＩｅ用バスブリッジ１２は、アドレスＡＤ１、バースト長ＢＬ１（第１のバースト長）、及びバーストサイズＢＳ１（第１のデータサイズ）に基づき、ＡＸＩバス仕様（第１のバス仕様），ＰＣＩｅバス仕様（第２のバス仕様）間におけるデータ対応表あるいはデータ変換式を用いて、ＰＣＩｅバス仕様のアドレスＡＤ２、バースト長ＢＬ２（第２のバースト長）、ファーストバイトイネーブルＦＢ３（第１のイネーブル情報）及びラストバイトイネーブルＬＢ３（第２のイネーブル情報）を認識する。なお、共通バス幅ＢＷＣ（＝ＢＷ１＝ＢＷ２）及びバーストサイズＢＳ２はＰＣＩｅ用バスブリッジ１２側で予め認識可能な情報である。なお、各種制御情報（ＡＤ２，ＢＬ２，ＢＳ２，ＦＢ３，ＬＢ３）の詳細は前述した通りである。また、上記データ対応表及びデータ変換式については後に詳述する。
【００３０】
そして、ＰＣＩｅ用バスブリッジ１２は、アドレスＡＤ２、バースト長ＢＬ２、バーストサイズＢＳ２（第２のデータサイズ）、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を制御情報として含む第２の読み出し制御信号（後述するメモリアクセス信号Ｓ２０Ａ）を生成する。
【００３１】
ＰＣＩｅ用バスブリッジ１２は第２の読み出し制御信号を読み出し対象部となるメモリに出力することにより、当該メモリよりＰＣＩｅバス３２を介して読み出しデータＤＴ２（第２の読み出しデータ)を読み出し、ＡＸＩバス仕様用の読み出しデータＤＴ１に変換してＡＸＩ用バスブリッジ１１に出力する。
【００３２】
このように、バスブリッジ群１０によって、異なるバス仕様であるＡＸＩバス３１，ＰＣＩｅバス３２間（図７参照）のデータ読み出し処理が可能となる。
【００３３】
図２はＰＣＩｅ用バスブリッジ１２の内部構成及びその一部周辺を示すブロック図である。同図に示すように、ＰＣＩｅ用バスブリッジ１２はデコーダ２０、変換情報記憶部２１及びトランザクション変換部２２から構成され、ＰＣＩｅバス３２を介してスレーブ側のメモリ４００（図７のメモリ４０１，あるいはメモリ４０２に相当）とアクセスすることができる。
【００３４】
デコーダ２０は、第１の読み出し制御信号（ＡＤ１，ＢＬ１，ＢＳ１）に基づき、上記データ対応表あるいは上記データ変換式を用いて、ＰＣＩｅバス３２に接続される読み出し対象部であるメモリ４００用の第２の読み出し制御信号であるメモリアクセス信号Ｓ２０Ａを生成し、ＰＣＩｅバス３２を介してメモリ４００に出力する。メモリアクセス信号Ｓ２０Ａには前述したアドレスＡＤ２、バーストサイズＢＳ２、バースト長ＢＬ２、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３が制御情報として含まれる。
【００３５】
メモリ４００はメモリアクセス信号Ｓ２０Ａを入力すると、少なくとも１回のバースト転送処理（第２のデータ転送処理）によって読み出しデータＤＴ２をＰＣＩｅバス３２を介してトランザクション変換部２２に出力する。
【００３６】
さらに、デコーダ２０は、デコード結果情報Ｓ２０Ｂを変換情報記憶部２１に出力することにより、変換情報記憶部２１にデータ変換情報Ｓ２１として記憶させる。なお、デコード結果情報Ｓ２０Ｂ（Ｓ２１）には上述したメモリアクセス信号Ｓ２０Ａの内容に加え、アドレスＡＤ１、バースト長ＢＬ１，バーストサイズＢＳ１等の第１の読み出し制御信号の情報が含まれる。
【００３７】
データ変換部であるトランザクション変換部２２は、バースト転送処理によって出力される読み出しデータＤＴ２を受け、データ変換情報Ｓ２１に基づき、読み出しデータＤＴ２を変換しＡＸＩバス仕様に適合した読み出しデータＤＴ１として出力する。
【００３８】
図３はデコーダ２０が上記データ対応表を有する場合の一例を示す表形式の説明図である。同図において、バーストサイズ情報ＡＲＳはバーストサイズＢＳ１に対応し、バーストサイズ情報ＡＲＳが“０”〜“４”がバーストサイズＢＳ１の“１”〜“１６”（ＢＳ１＝“２”のＡＲＳ乗）を意味する。バースト長情報ＡＲＬはバースト長ＢＬ１に対応し、バースト長情報ＡＲＬの“０”〜“１５”がバースト長ＢＬ１の“１”〜“１６”（ＢＬ１＝ＡＲＬ＋１）を意味する。
【００３９】
図３におけるＢｙｔｅＥｎａｂｌｅは、最上位１６ビットがラストバイトイネーブルＬＢ３に対応し、最下位１６ビットがファーストバイトイネーブルＦＢ３に対応する。また、ＢｙｔｅＥｎａｂｌｅに隣接しているＢｕｒｓｔＬｅｎｇｔｈはバースト長ＢＬ２に対応する。
【００４０】
図３で示したデータ対応表をデータ変換式として表したのが以下の式(1)である。図３のＢｕｒｓｔＥｎａｂｌｅが式(1)における乗算の前段部分（×印の前の演算部分）の演算結果である仮演算結果ＰＲＥＳＴに相当する。
【００４１】
【数１】
0006385761.tif 000002
【００４２】
式(1)を実行して得られる演算結果ＲＳＴＲＢがデコーダ２０による中間デコード結果となる。演算結果ＲＳＴＲＢを、共通バス幅ＢＷＣ（＝ＢＷ１＝ＢＷ２）に一致するビット数（１６ビット）を１ワード(bit/word)としたワード単位で区切る。その結果、最上位１ワードがラストバイトイネーブルＬＢ３、最下位１ワードがファーストバイトイネーブルＦＢ３、演算結果ＲＳＴＲＢの総ワード数がバースト長ＢＬ２としてそれぞれ認識される。
【００４３】
図４はメモリ４００のアドレス空間を模式的に示す説明図である。ここで、斜線部で示されたアドレス０ｘ１ｃ〜０ｘ５３の５６バイトのアンアラインドな格納データが、バイトレーン情報ＴＬで指示される読み出しデータＤＴ２であった場合を考える。
【００４４】
この場合、ＡＸＩ用バスブリッジ１１において、アドレスＡＤ１は“０ｘ１ｃ”、バーストサイズＢＳ１が“４”（バイト）、バースト長ＢＬ１が“１４”（回）をそれぞれ指示する。
【００４５】
したがって、図３のデータ対応表を参照して、デコーダ２０は、バーストサイズ情報ＡＲＳが“２”（ＢＳ１＝４）及びバースト長情報ＡＲＬが“１３”（ＢＬ１＝１４）に基づき、ＢｙｔｅＥｎａｂｌｅ＝“０ｘ００ｆｆ＿ｆｆｆｆ”、ＢｕｒｓｔＬｅｎｇｔｈ＝“４”を導くことができる。すなわち、デコーダ２０は、バーストサイズＢＳ１及びバースト長ＢＬ１に基づき、データ対応表を参照して、式(1)の前段部分の演算結果と同じ仮演算結果ＰＲＥＳＴ＝“ｘ００ｆｆ＿ｆｆｆｆ＿ｆｆｆｆ＿ｆｆｆｆ”を得ることができる。
【００４６】
さらに、デコーダ２０は、この仮演算結果ＰＲＥＳＴを左に１２（＝０ｘ０ｃ）回シフトさせる（式(1)の後段部分（×印の後方の演算部分）を実行する）ことにより、最終的な演算結果ＲＳＴＲＢ＝“０ｘ０００ｆ＿ｆｆｆｆ＿ｆｆｆｆ＿ｆｆｆｆ＿ｆ０００”を得ることができる。
【００４７】
その結果、デコーダ２０は演算結果ＲＳＴＲＢに基づき、ラストバイトイネーブルＬＢ３＝“０ｘ０００ｆ”、ファーストバイトイネーブルＦＢ３＝“０ｘｆ０００”、及びバーストサイズＢＳ２＝“５”を認識することができる。
【００４８】
その後、デコーダ２０は、アドレスＡＤ２、バーストサイズＢＳ２、バースト長ＢＬ２、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を制御情報として含むメモリアクセス信号Ｓ２０ＡをＰＣＩｅバス３２を介してメモリ４００に出力する。その結果、メモリ４００に５回のバースト転送処理（第２のデータ転送処理）ＢＴ２１〜ＢＴ２５を実行させることにより、図４の読み出しデータＤＴ２をメモリ４００から読み出すことができる。この際、最初のバースト転送処理ＢＴ２１における転送データの０ｘ１０〜０ｘ１ｂ部分、最後のバースト転送処理ＢＴ２５における転送データの０ｘ５４〜０ｘ５ｆ部分は無効なデータ値として読み出される。
【００４９】
このように、デコーダ２０は図３で示したデータ対応表に基づく処理機能及びアドレスＡＤ１に基づくシフト処理機能を有する、あるいは式(1)による演算処理機能を有することにより、ＡＸＩ用バスブリッジ１１からの第１の読み出し制御信号から、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を含むメモリアクセス信号Ｓ２０Ａを得ることができる。
【００５０】
そして、トランザクション変換部２２は、変換情報記憶部２１に格納されたデータ変換情報Ｓ２１に基づき、読み出しデータＤＴ２をＡＸＩバス仕様に適合した読み出しデータＤＴ１（第１の読み出しデータ）に変換する。
【００５１】
図５はトランザクション変換部２２からの読み出しデータＤＴ１の出力内容を模式的に示す説明図である。同図に示すように、０Ｘ１ｃを開始アドレスとして、バーストサイズＢＳ１である４バイト単位のバースト転送処理ＢＴ１〜ＢＴ１４を、アドレスをバーストサイズＢＳ１の値（＝“４”）分繰り上げながら１４回出力する態様で読み出しデータＤＴ１（図５の斜線領域）が出力される。なお、図５の左側の数字はバースト転送処理（第１のデータ転送処理）ＢＴ１〜ＢＴ１４それぞれの先頭アドレスを示している。
【００５２】
本実施の形態におけるＰＣＩｅ用バスブリッジ１２のデコーダ２０は、第１の読み出し制御信号（ＡＤ１，ＢＬ１，ＢＳ１）に基づき、図３で示したデータ対応表あるいは式(1)で示したデータ変換式を用いて、読み出し対象部であるメモリ４００用の第２の読み出し制御信号であるメモリアクセス信号Ｓ２０Ａを自動的に生成することができる。このため、ＡＸＩバス側でＰＣＩｅバス仕様を考慮した前処理（ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を生成する処理）及び前処理用に必要となる構成部を不要にできる分、バスブリッジ群１０において、ＡＸＩバス仕様，ＰＣＩｅバス仕様間のデータ読み出し処理時における処理内容の軽減化及び装置構成の簡略化を図ることができる。
【００５３】
また、デコーダ２０より生成されるメモリアクセス信号Ｓ２０Ａは、ファーストバイトイネーブルＦＢ３及びラストバイトイネーブルＬＢ３を含むため、これらのイネーブル情報ＦＢ３，ＬＢ３の設定用の記憶部（図８のレジスタブロック５３に相当）を必要としない分、バスブリッジ群１０の装置構成の簡略化を図ることができる。
【００５４】
（変形例）
上述した実施の形態では、バスブリッジ群１０におけるマスタ側のブリッジとしてＡＸＩバス仕様のＡＸＩ用バスブリッジ１１を示したが、ＡＸＩ用バスブリッジ１１に代えてＡＨＢ(Advanced High-performance Bus)バス仕様のバスブリッジを設けることも可能である。ただし、ＡＨＢバス仕様及びＡＸＩバス仕様においては、インクリメントバースト転送処理（アドレスをインクリメントしながら行うバースト転送処理）を実行するタイプに限定される。なお、上述した実施の形態では、インクリメントバースト転送処理を実行するタイプのＡＸＩバス仕様を前提として説明している。
【００５５】
この場合、式(1)で示したＡＸＩバス仕様のデータ変換式に代えて、ＡＨＢバス仕様のデータ変換式として以下の式(2)を利用することができる。
【００５６】
【数２】
0006385761.tif 000003
【００５７】
式(2)において、必要なパラメータはバースト長情報ＨＲＬ（バースト長ＨＬ＝ＨＲＬ＋１）、バーストサイズ情報ＨＲＳ（バーストサイズＨＳ＝“２”のＨＲＳ乗）、アドレスＨＡＤ及び共通バス幅ＢＷＣ（ＡＨＢバスのバス幅＝バス幅ＢＷ２）となる。なお、バースト長ＨＬ、バーストサイズＨＳ及びアドレスＨＡＤは、ＡＸＩバス仕様のバースト長ＢＬ１、バーストサイズＢＳ１及びアドレスＡＤ１に対応し、バーストサイズ情報ＨＲＳ及びバースト長情報ＨＲＬはＡＸＩバス仕様のバーストサイズ情報ＡＲＳ及びバースト長情報ＡＲＬに対応する。
【００５８】
図６はバーストタイプＨＢＵＲＳＴとバースト長ＨＬとの対応関係を表形式で示す説明図である。同図に示すように、バーストタイプＨＢＵＲＳＴが“０”，“１”，“３”，“５”及び“７”の場合はいずれもインクリメントバースト処理を行うタイプ（SINGLE,INCR,INCR4,INCR8,INCR16）であり、バーストタイプＨＢＵＲＳＴからバースト長ＨＬを得ることができる。なお、「ＩＮＣＲｉ」は、バースト転送毎にｉ×バーストサイズＨＳ分のアドレスをインクリメントする処理を意味し、「ＳＩＮＧＬＥ」及び「ＩＮＣＲ」はバースト長が“１”の場合の処理を意味している。
【００５９】
ＰＣＩｅ用バスブリッジ１２のデコーダ２０は図６で示す対応関係に基づくデコード機能をさらに備えることにより、バーストタイプＨＢＵＲＳＴからバースト長ＨＬを取得することができる。したがって、ＰＣＩｅ用バスブリッジ１２内のデコーダ２０は、ＡＨＢバス仕様のバスブリッジからアドレスＨＡＤ、バーストサイズＨＳ及びバーストタイプＨＢＵＲＳＴを制御情報として含む第１の読み出し制御信号を入力して、式(2)に沿った演算を実行することにより、ＡＸＩ用バスブリッジ１１に対する場合と同様、メモリアクセス信号Ｓ２０Ａ及びデコード結果情報Ｓ２０Ｂに相当する信号を得ることができる。
【００６０】
このように、本実施の形態の変形例におけるＰＣＩｅ用バスブリッジ１２のデコーダ２０は、第１の読み出し制御信号（ＨＡＤ，ＨＳ，ＨＢＲＳＴ（ＨＬを間接的に指示する情報））に基づき、読み出し対象部であるメモリ４００用の第２の読み出し制御信号であるメモリアクセス信号Ｓ２０Ａを自動的に生成する。このため、ＰＣＩｅバス仕様を考慮したＡＨＢバス仕様側の前処理（ファーストバイトイネーブルＦＢ１等を得る処理）及び前処理実行時に必要となる構成部（図８のレジスタブロック５３相当）が不要となる分、バスブリッジ群１０の変形例において、ＡＨＢバス仕様，ＰＣＩｅバス仕様間のデータ読み出し処理時における処理内容の軽減化及び装置構成の簡略化を図ることができる。
【００６１】
また、本実施の形態（変形例を含む）のＰＣＩｅ用バスブリッジ１２により、従来問題であったスピンロック機構の実行に伴うアクセス性の低下を回避することができる。したがって、ＡＸＩ用バスブリッジ１１（ＡＨＢバスブリッジ）に接続されるマスタ側は、ＯＳのスピンロック機構などを使用することなく、ＰＣＩｅバス３２に対してアンアラインドなデータ読み出し処理を行うことができる効果を奏する。
【００６２】
この効果により、マスタやターゲット（スレーブ）が複数存在する場合でも、アプリケーションはアクセス状況を考慮することなく、任意のタイミングでＰＣＩｅバス３２にアクセスすることができ、バスブリッジ群１０によってデータ中継されるマルチＣＰＵやマルチタスク環境での動作を改善することができる。
【符号の説明】
【００６３】
１０  バスブリッジ群
１１  ＡＸＩ用バスブリッジ
１２  ＰＣＩｅ用バスブリッジ
２０  デコーダ
２１  変換情報記憶部
２２  トランザクション変換部
３２  ＰＣＩｅバス
４００  メモリ
【図１】
0006385761.tif 000004
【図２】
0006385761.tif 000005
【図３】
0006385761.tif 000006
【図４】
0006385761.tif 000007
【図５】
0006385761.tif 000008
【図６】
0006385761.tif 000009
【図７】
0006385761.tif 000010
【図８】
0006385761.tif 000011
【図９】
0006385761.tif 000012