(57)【要約】【課題】バスシステムが許容するトランザクション数の最大値の増大に伴う記憶容量の増大を抑制する。【解決手段】バッファ２２０は、トランザクション処理を識別するための識別情報とリクエストの各々の発行順序を特定するための順序情報とをレスポンスの各々の転送処理を制御するためのトランザクション情報に対応付けて管理情報として保持する。バッファ管理部２３０は、マスタからリクエストが発行された場合にリクエストに基づいて管理情報をバッファに格納し、スレーブからレスポンスが返送された場合にレスポンスに係る識別情報を含む管理情報内のトランザクション情報をトランザクション情報に対応する順序情報に従ってバッファから読み出す。相互接続部は、リクエストをスレーブへ転送し、順序情報に従って読み出されたトランザクション情報に基づいてレスポンスの各々をマスタへ転送する。【選択図】図７
2012118906.tif 000002
【特許請求の範囲】
【請求項１】
一連のリクエストの転送処理と前記一連のリクエストに対応する一連のレスポンスの転送処理とをトランザクション処理として当該トランザクション処理を識別するための識別情報と前記リクエストの各々の発行順序を特定するための順序情報とを前記レスポンスの各々の転送処理を制御するためのトランザクション情報に対応付けて管理情報として保持するバッファと、
マスタから前記リクエストが発行された場合に当該リクエストに基づいて前記管理情報を前記バッファに格納し、スレーブから前記レスポンスが返送された場合に当該レスポンスに係る前記識別情報を含む前記管理情報内の前記トランザクション情報を前記順序情報に従って前記バッファから読み出すバッファ管理部と、
前記マスタから前記リクエストが発行された場合に当該リクエストを前記スレーブへ転送し、前記スレーブから前記レスポンスが返送された場合に前記順序情報に従って読み出された前記トランザクション情報に基づいて当該レスポンスの各々を前記マスタへ転送する相互接続部と
を具備する相互接続装置。
【請求項２】
前記順序情報は、前記リクエストの発行順序を示す管理番号を含み、
前記バッファ管理部は、
前記マスタから前記リクエストが発行された場合に当該リクエストに基づいて前記管理情報を前記バッファに格納する新規管理情報登録部と、
前記スレーブから前記レスポンスが返送された場合に当該レスポンスに係る前記識別情報を含む前記トランザクション情報を前記管理番号の順に前記バッファから読み出すレスポンス処理部と
を具備する請求項１記載の相互接続装置。
【請求項３】
前記順序情報は、前記新規管理情報登録部により格納された前記管理情報が前記バッファ内の前記識別情報が同一の前記管理情報のうちの前記発行順序における先頭であることを示す先頭フラグをさらに含む
請求項２記載の相互接続装置。
【請求項４】
前記レスポンス処理部は、
前記スレーブから前記レスポンスが返送された場合に当該レスポンスに係る前記識別情報を含む前記管理情報のうちの前記先頭フラグに対応するトランザクション情報を前記バッファから読み出すとともに前記先頭フラグを無効にする先頭管理情報更新部と、
前記先頭更新部により読み出された前記管理情報の前記発効順序における次の管理情報内の前記先頭フラグを有効にする次管理情報更新部と
を具備する請求項３記載の相互接続装置。
【請求項５】
前記順序情報は、前記新規登録部により格納された前記管理情報が前記バッファ内の前記識別情報が同一の前記管理情報のうちの前記発行順序における末尾であることを示す末尾フラグをさらに含む
請求項２記載の相互接続装置。
【請求項６】
前記新規管理情報登録部は、前記リクエストが発行された場合に当該リクエストに係る前記識別情報を含む前記管理情報内の前記管理番号のうちの前記末尾フラグに対応する前記管理番号を末尾番号として前記末尾番号の次の管理番号と有効の前記末尾フラグとを含む前記順序情報を前記トランザクション情報に対応付けて前記バッファに格納し、
前記バッファ管理部は、前記末尾番号に対応する前記末尾フラグを無効にする既存管理情報更新部をさらに具備する請求項５記載の相互接続装置。
【請求項７】
前記順序情報は、前記バッファ管理部により格納された前記管理情報の前記発行順序における次の前記管理情報が格納されている位置を示す次位置情報を含む
請求項１記載の相互接続装置。
【請求項８】
前記バッファ管理部は、
前記リクエストが発行された場合に当該リクエストに基づいて前記識別情報および前記順序情報を前記トランザクション情報に対応付けた前記管理情報を新規管理情報として前記新規管理情報を格納する位置を示す前記次位置情報を前記新規管理情報に含めて前記バッファに格納する新規管理情報登録部と、
前記リクエストの転送処理に係る前記識別情報を含む前記管理情報のうちの前記発行順序における末尾の管理情報が含む前記次位置情報を前記新規管理情報の位置を示す前記次位置情報により更新する既存管理情報更新部と、
前記レスポンスが返送された場合に当該レスポンスに係る前記識別情報を含む前記トランザクション情報を前記順序情報に従って前記バッファから読み出すレスポンス処理部と
を具備する請求項７記載の相互接続装置。
【請求項９】
前記順序情報は、前記新規登録部により格納された前記管理情報が前記バッファ内の前記識別情報が同一の前記管理情報のうちの前記発行順序における先頭であることを示す先頭フラグをさらに含む
請求項７記載の相互接続装置。
【請求項１０】
前記レスポンス処理部は、
前記レスポンスが返送された場合に当該レスポンスの転送処理に係る前記識別情報を含む前記管理情報のうちの前記先頭フラグに対応する前記トランザクション情報を前記バッファから読み出すとともに前記先頭フラグを無効にする先頭管理情報更新部と、
前記先頭更新部により読み出された前記管理情報の前記発行順序における次の管理情報内の前記先頭フラグを有効にする前記バッファに格納する次管理情報更新部と
を具備する請求項９記載の相互接続装置。
【請求項１１】
一連のリクエストの転送処理と前記一連のリクエストに対応する一連のレスポンスの転送処理とをトランザクション処理としてマスタから前記リクエストが発行された場合に前記トランザクション処理を識別するための識別情報と前記リクエストの各々の発行順序を特定するための順序情報とを前記レスポンスの各々の転送処理を制御するためのトランザクション情報に対応付けて管理情報としてバッファに格納する新規管理情報登録手順と、
スレーブから前記レスポンスが返送された場合に当該レスポンスに係る前記識別情報を含む前記トランザクション情報を前記順序情報の示す前記発行順序に従って前記バッファから読み出すレスポンス処理手順と
を具備する相互接続装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互接続装置に関し、特にスプリットトランザクションを許容してデータを転送する相互接続装置、および、その制御方法に関する。
【背景技術】
【０００２】
従来、あるモジュールから別のモジュールへデータを転送する場合に、モジュール間をバスにより接続する手法がとられることが多い。モジュールのうち、データ転送を主導するモジュールはマスタと呼ばれ、受動的に動作するモジュールはスレーブと呼ばれる。マスタとなるモジュールとしては、例えばプロセッサが想定される。スレーブとなるモジュールとしては、例えばメモリが想定される。
【０００３】
バス幅やエンディアン方式の異なる複数のバスを備えるバスシステムにおいては、バス幅等の相違に応じてデータ変換を行うバスブリッジが設けられることがある。このバスブリッジに各バスを接続することにより、バス間でのデータ転送が可能となる。これらのバスやバスブリッジは、インターコネクトとも呼ばれる。
【０００４】
このようなバスシステムにおいては、スプリットトランザクションを許容することにより、転送効率を向上させることができる。スプリットトランザクションとは、データ転送のための一連の動作（トランザクション）のうち、データ転送の要求と実際のデータ転送とをそれぞれ独立して制御することである。スプリットトランザクションを許容するバス規格としては、ＡＸＩ（Advanced eXtensible Interface）バスなどがある。
【０００５】
スプリットトランザクションを許容する場合、バスブリッジ等のインターコネクトは、マスタ・スレーブ間でやりとりされる転送が未解決（outstanding）の間、その転送に関するトランザクション情報を保持しておく必要がある。ここで、未解決とは、要求されたデータ転送が完了していない状態である。また、トランザクション情報とは、レスポンスの転送の制御に必要な情報である。例えば、トランザクション情報は、バースト転送を行なう場合のバースト長やバースト数を含む情報である。
【０００６】
スプリットトランザクションにおいて、インターコネクトがトランザクション情報を保持する必要性について説明する。Ｍ１およびＭ２の２つのマスタとＳ１およびＳ２の２つのスレーブとがインターコネクトに接続されたバスシステムを想定する。このバスシステムにおいて、Ｍ１がＳ１に対してデータ転送を要求するリクエストＡを発行したあと、Ｍ２がＳ２に対してデータ転送を要求するリクエストＢを発行したとする。リクエストＡは、バースト転送を要求するものであり、リクエストＢは、バースト転送を要求しないものである。スレーブＳ１およびＳ２は、それぞれ対応するリクエストに応じてレスポンスを返送するが、これらのレスポンスの返送の順番は、リクエストＡ、Ｂの発行の順番と同じとは限らない。このような場合、インターコネクトは、いずれのレスポンスをバースト転送すべきかを判断するために、それぞれの転送が未解決の間、各リクエストに対応するトランザクション情報を保持しておく必要がある。保持しておいたトランザクション情報を参照することにより、インターコネクトは、データ転送を適切に制御することができる。
【０００７】
ＡＸＩバスにおいてトランザクション情報を保持しておく手法として、ＦＩＦＯ（First In First Out）をトランザクションごとに設けたバスシステムが提案されている（例えば、特許文献１参照。）。各ＦＩＦＯの段数は、許容される未解決の転送数の最大値以上とされる。インターコネクトは、各リクエストに対応するトランザクション情報を、そのリクエストに係るトランザクションに対応するＦＩＦＯに格納しておく。この構成によれば、インターコネクトは、ＦＩＦＯ内からトランザクション情報を読み出すときに、対応するトランザクションを検索する必要がなくなるため、トランザクション情報の読出し処理を高速に行うことができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−４１０９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の従来技術では、バスシステムが許容するトランザクションの数の最大値の増大に伴うＦＩＦＯのサイズの増大を抑制することが困難であった。ＦＩＦＯをトランザクションごとに設ける場合、トランザクションの数だけＦＩＦＯを設ける必要がある。このため、バスシステムが許容するトランザクション数の最大値の増大に比例して、各ＦＩＦＯの合計の記憶容量が増大してしまう。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、バスシステムが許容するトランザクション数の最大値の増大に伴う記憶容量の増大を抑制することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、一連のリクエストの転送処理と上記一連のリクエストに対応する一連のレスポンスの転送処理とをトランザクション処理として当該トランザクション処理を識別するための識別情報と上記リクエストの各々の発行順序を特定するための順序情報とを上記レスポンスの各々の転送処理を制御するためのトランザクション情報に対応付けて管理情報として保持するバッファと、マスタから上記リクエストが発行された場合に当該リクエストに基づいて上記管理情報を上記バッファに格納し、スレーブから上記レスポンスが返送された場合に当該レスポンスに係る上記識別情報を含む上記管理情報内の上記トランザクション情報を上記順序情報に従って上記バッファから読み出すバッファ管理部と、上記マスタから上記リクエストが発行された場合に当該リクエストを上記スレーブへ転送し、上記スレーブから上記レスポンスが返送された場合に上記順序情報に従って読み出された上記トランザクション情報に基づいて当該レスポンスの各々を上記マスタへ転送する相互接続部とを具備する相互接続装置、および、その制御方法である。これにより、リクエストの発行順序に従ってレスポンスを転送するという作用をもたらす。
【００１２】
また、この第１の側面において、上記順序情報は、上記リクエストの発行順序を示す管理番号を含み、上記バッファ管理部は、上記マスタから上記リクエストが発行された場合に当該リクエストに基づいて上記管理情報を上記バッファに格納する新規管理情報登録部と、上記スレーブから上記レスポンスが返送された場合に当該レスポンスに係る上記識別情報を含む上記トランザクション情報を上記管理番号の順に上記バッファから読み出すレスポンス処理部とを具備してもよい。これにより、リクエストの発行順序を示す管理番号の順にレスポンスを転送するという作用をもたらす。
【００１３】
また、この第１の側面において、上記順序情報は、上記新規管理情報登録部により格納された上記管理情報が上記バッファ内の上記識別情報が同一の上記管理情報のうちの上記発行順序における先頭であることを示す先頭フラグをさらに含むこととしてもよい。これにより、発行順序における先頭の管理情報を容易に読み出すことができるという作用をもたらす。
【００１４】
また、この第１の側面において、上記レスポンス処理部は、上記スレーブから上記レスポンスが返送された場合に当該レスポンスに係る上記識別情報を含む上記管理情報のうちの上記先頭フラグに対応するトランザクション情報を上記バッファから読み出すとともに上記先頭フラグを無効にする先頭管理情報更新部と、上記先頭更新部により読み出された上記管理情報の上記発効順序における次の管理情報内の上記先頭フラグを有効にする次管理情報更新部とを具備してもよい。これにより、読み出した管理情報の先頭フラグを無効にし、次の管理情報の先頭フラグを有効にするという作用をもたらす。
【００１５】
また、この第１の側面において、上記順序情報は、上記新規登録部により格納された上記管理情報が上記バッファ内の上記識別情報が同一の上記管理情報のうちの上記発行順序における末尾であることを示す末尾フラグをさらに含むこととしてもよい。これにより、発行順序における末尾の管理情報を容易に参照できるという作用をもたらす。
【００１６】
また、この第１の側面において、上記新規管理情報登録部は、上記リクエストが発行された場合に当該リクエストに係る上記識別情報を含む上記管理情報内の上記管理番号のうちの上記末尾フラグに対応する上記管理番号を末尾番号として上記末尾番号の次の管理番号と有効の上記末尾フラグとを含む上記順序情報を上記トランザクション情報に対応付けて上記バッファに格納し、上記バッファ管理部は、上記末尾番号に対応する上記末尾フラグを無効にする既存管理情報更新部をさらに具備してもよい。これにより、発行順序における末尾の管理番号の次の管理番号をトランザクション情報に対応付けることができるという作用をもたらす。
【００１７】
また、この第１の側面において、上記順序情報は、上記バッファ管理部により格納された上記管理情報の上記発行順序における次の上記管理情報が格納されている位置を示す次位置情報を含むこととしてもよい。これにより、発行順序における次の管理番号の格納場所を参照できるという作用をもたらす。
【００１８】
また、この第１の側面において、上記バッファ管理部は、上記リクエストが発行された場合に当該リクエストに基づいて上記識別情報および上記順序情報を上記トランザクション情報に対応付けた上記管理情報を新規管理情報として上記新規管理情報を格納する位置を示す上記次位置情報を上記新規管理情報に含めて上記バッファに格納する新規管理情報登録部と、上記リクエストの転送処理に係る上記識別情報を含む上記管理情報のうちの上記発行順序における末尾の管理情報が含む上記次位置情報を上記新規管理情報の位置を示す上記次位置情報により更新する既存管理情報更新部と、上記レスポンスが返送された場合に当該レスポンスに係る上記識別情報を含む上記トランザクション情報を上記順序情報に従って上記バッファから読み出すレスポンス処理部とを具備してもよい。これにより、末尾の管理情報が含む次位置情報を新規管理情報の位置を示す次位置情報により更新するという作用をもたらす。
【００１９】
また、この第１の側面において、上記順序情報は、上記新規登録部により格納された上記管理情報が上記バッファ内の上記識別情報が同一の上記管理情報のうちの上記発行順序における先頭であることを示す先頭フラグをさらに含むこととしてもよい。これにより、発行順序における先頭の管理情報を容易に読み出すことができるという作用をもたらす。
【００２０】
また、この第１の側面において、上記レスポンス処理部は、上記レスポンスが返送された場合に当該レスポンスの転送処理に係る上記識別情報を含む上記管理情報のうちの上記先頭フラグに対応する上記トランザクション情報を上記バッファから読み出すとともに上記先頭フラグを無効にする先頭管理情報更新部と、上記先頭更新部により読み出された上記管理情報の上記発行順序における次の管理情報内の上記先頭フラグを有効にする上記バッファに格納する次管理情報更新部とを具備してもよい。これにより、読み出した管理情報の先頭フラグを無効にし、次の管理情報の先頭フラグを有効にするという作用をもたらす。
【発明の効果】
【００２１】
本発明によれば、バスシステムが許容するトランザクション数の最大値の増大に伴う記憶容量の増大を抑制するという優れた効果を奏し得る。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施の形態におけるバスシステムの一構成例を示す全体図である。
【図２】ＡＸＩプロトコルにおけるリードアドレスチャネルを構成する信号を示す図である。
【図３】ＡＸＩプロトコルにおけるリードデータチャネルを構成する信号を示す図である。
【図４】ＡＸＩプロトコルにおけるライトアドレスチャネルを構成する信号を示す図である。
【図５】ＡＸＩプロトコルにおけるライトデータチャネルを構成する信号を示す図である。
【図６】ＡＸＩプロトコルにおけるライトレスポンスチャネルを構成する信号を示す図である。
【図７】本発明の第１の実施の形態におけるバスブリッジの一構成例を示すブロック図である。
【図８】本発明の第１の実施の形態における管理情報が含む情報の一例を示す図である。
【図９】本発明の第１の実施の形態における相互接続部の一構成例を示すブロック図である。
【図１０】本発明の第１の実施の形態におけるバッファの一構成例を示す図である。
【図１１】本発明の第１の実施の形態におけるバッファ管理部の一構成例を示すブロック図である。
【図１２】本発明の第１の実施の形態における新規管理情報登録部の一構成例を示すブロック図である。
【図１３】本発明の第１の実施の形態における末尾管理情報取得部の一構成例を示すブロック図である。
【図１４】本発明の第１の実施の形態における新規管理情報設定部の一構成例を示すブロック図である。
【図１５】本発明の第１の実施の形態における新規管理情報設定回路の動作の一例を示す図である。
【図１６】本発明の第１の実施の形態におけるレスポンス処理部の一構成例を示すブロック図である。
【図１７】本発明の第１の実施の形態における先頭管理情報取得部の一構成例を示すブロック図である。
【図１８】本発明の第１の実施の形態における先頭管理情報更新部の動作の一例を示す図である。
【図１９】本発明の第１の実施の形態におけるバッファ管理部の動作の一例を示すフローチャートである。
【図２０】本発明の第１の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。
【図２１】本発明の第１の実施の形態におけるレスポンス処理の一例を示すフローチャートである。
【図２２】本発明の第２の実施の形態における管理情報が含む情報の一例を示す図である。
【図２３】本発明の第２の実施の形態における新規管理情報設定回路の動作の一例を示す図である。
【図２４】本発明の第２の実施の形態におけるレスポンス処理部の一構成例を示すブロック図である。
【図２５】本発明の第２の実施の形態における先頭管理情報取得部の一構成例を示すブロック図である。
【図２６】本発明の第２の実施の形態における次管理情報更新部の一構成例を示すブロック図である。
【図２７】本発明の第２の実施の形態における次管理情報判断回路群の一構成例を示すブロック図である。
【図２８】本発明の第２の実施の形態における次管理情報更新回路の動作の一例を示す図である。
【図２９】本発明の第２の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。
【図３０】本発明の第２の実施の形態におけるレスポンス処理の一例を示すフローチャートである。
【図３１】本発明の第３の実施の形態における管理情報が含む情報の一例を示す図である。
【図３２】本発明の第３の実施の形態におけるバッファ管理部の一構成例を示すブロック図である。
【図３３】本発明の第３の実施の形態における末尾管理情報取得部の一構成例を示すブロック図である。
【図３４】本発明の第３の実施の形態における新規管理情報設定回路の動作の一例を示す図である。
【図３５】本発明の第３の実施の形態における既存管理情報更新部の動作の一例を示す図である。
【図３６】本発明の第３の実施の形態におけるバッファ管理部の動作の一例を示すフローチャートである。
【図３７】本発明の第３の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。
【図３８】本発明の第３の実施の形態における既存管理情報更新処理の一例を示すフローチャートである。
【図３９】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４０】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４１】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４２】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４３】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４４】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４５】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４６】本発明の第３の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図４７】本発明の第４の実施の形態における管理情報が含む情報の一例を示す図である。
【図４８】本発明の第４の実施の形態におけるバッファ管理部の一構成例を示すブロック図である。
【図４９】本発明の第４の実施の形態における新規管理情報登録部の一構成例を示すブロック図である。
【図５０】本発明の第４の実施の形態における末尾管理情報取得部の一構成例を示すブロック図である。
【図５１】本発明の第４の実施の形態における新規管理情報設定回路の動作の一例を示す図である。
【図５２】本発明の第４の実施の形態における既存管理情報更新部の動作の一例を示す図である。
【図５３】本発明の第４の実施の形態における先頭管理情報取得部の一構成例を示すブロック図である。
【図５４】本発明の第４の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。
【図５５】本発明の第４の実施の形態における既存管理情報更新処理の一例を示すフローチャートである。
【図５６】本発明の第５の実施の形態における管理情報が含む情報の一例を示す図である。
【図５７】本発明の第５の実施の形態における新規管理情報設定回路の動作の一例を示す図である。
【図５８】本発明の第５の実施の形態における次管理情報更新部の一構成例を示すブロック図である。
【図５９】本発明の第５の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。
【図６０】本発明の第５の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図６１】本発明の第５の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【図６２】本発明の第５の実施の形態におけるバッファ管理部の動作結果の一例を説明するための図である。
【発明を実施するための形態】
【００２３】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（管理情報としてシリアルナンバーを含む例）
２．第２の実施の形態（管理情報として先頭フラグをさらに含む例）
３．第３の実施の形態（管理情報として末尾フラグをさらに含む例）
４．第４の実施の形態（管理情報としてネクストエントリを含む例）
５．第５の実施の形態（管理情報として先頭フラグをさらに含む例）
【００２４】
＜１．第１の実施の形態＞
［バスシステムの構成］
図１は、本発明の第１の実施の形態におけるバスシステムの全体図の一例である。バスシステムは、Ｍ台のマスタ１１０と、ＡＸＩバス１２０および１３０と、Ｎ台のスレーブ１４０と、バスブリッジ２００とを備える。ＭおよびＮは、それぞれ、１以上の整数である。マスタ１１０はＡＸＩバス１２０に接続されており、スレーブ１４０はＡＸＩバス１３０に接続されている。また、ＡＸＩバス１２０および１３０は、バスブリッジ２００に接続されている。
【００２５】
マスタ１１０はデータ転送を主導する接続機器であり、スレーブ１４０は受動的に動作する接続機器である。マスタ１１０としては、例えばプロセッサが想定される。スレーブ１４０としては、例えばメモリが想定される。
【００２６】
ＡＸＩバス１２０および１３０は、ＡＸＩプロトコルに従ってデータを転送するバスである。バスブリッジ２００は、ＡＸＩプロトコルに従ってデータを転送し、そのデータ転送において必要に応じてデータ変換を行うものである。例えば、バスブリッジ２００は、ＡＸＩバス１２０および１３０のそれぞれのバス幅やエンディアン方式が異なる場合に、転送先のバスのバス幅等に合わせてデータ変換を行う。
【００２７】
ここで、ＡＸＩプロトコルでは、リード動作のためのパスとして、リードアドレスチャネルおよびリードデータチャネルが用意されている。マスタ１１０からリードアドレスチャネルを介してスレーブ１４０にリードアドレスを含むリクエストが転送されると、これに応答してリードデータチャネルを介してスレーブ１４０からマスタ１１０にリードデータが転送される。また、ＡＸＩプロトコルでは、ライト動作のためのパスとして、ライトアドレスチャネル、ライトデータチャネルおよびライトレスポンスチャネルが用意されている。マスタ１１０からライトアドレスチャネルおよびライトデータチャネルを介してスレーブ１４０にリクエストが転送されると、これに応答してスレーブ１４０においてライト動作が行われる。そして、そのライト動作の結果が、ライトレスポンスチャネルを介してスレーブ１４０からマスタ１１０に転送される。
【００２８】
以下、マスタからスレーブへリードアドレスチャネルおよびライトアドレスチャネルを介して転送される信号をリクエストと称する。また、スレーブからマスタへリードデータチャネルおよびライトレスポンスチャネルを介して転送される信号をレスポンスと称する。
【００２９】
ＡＸＩプロトコルにおいては、リクエストの転送処理と、そのリクエストに対応するレスポンスの転送処理とが１つのトランザクションの処理を形成する。１つのトランザクションに含まれるリクエストおよびレスポンスには同じ識別子が付与されるのがＡＸＩプロトコルにおける原則である。また、異なるトランザクション間で同じ識別子を付与した場合には、それらのトランザクション間において順序保証が行われる。
【００３０】
なお、上述の実施の形態のバスブリッジ２００は、特許請求の範囲に記載の相互接続装置の一例である。
【００３１】
［ＡＸＩプロトコルにおけるチャネル構成］
図２は、ＡＸＩプロトコルにおけるリードアドレスチャネルを構成する信号を示す図である。リードアドレスチャネルは、リードアドレスをマスタ１１０からスレーブ１４０に伝達するためのチャネルである。このリードアドレスチャネルは、リードアドレス識別子、リードアドレス、バースト長、バーストサイズ、バーストタイプ、ロックタイプ、キャッシュタイプ、プロテクションタイプ、リードアドレスバリッド、リードアドレスレディの各信号からなる。これらの信号のうち、リードアドレスレディのみがスレーブ１４０からの信号であり、これ以外はマスタ１１０からの信号である。
【００３２】
リードアドレス識別子ＡＲＩＤ［３：０］は、信号のリードアドレスグループを識別するための４ビットのタグである。ＡＸＩプロトコルでは、マスタがトランザクションを発行する際に、スレーブに対して順序関係を維持することを要求する場合には、同じ識別子を付与することとされている。換言すれば、識別子が異なるトランザクション間では順序関係が維持される保証はない。
【００３３】
リードアドレスＡＲＡＤＤＲ［３１：０］は、リード対象となる３２ビットのアドレスであり、バースト転送における初期アドレスを示す信号である。
【００３４】
バースト長ＡＲＬＥＮ［３：０］は、バースト転送のデータ数を示す４ビットの信号である。「１」から「１６」の何れかのデータ数が４ビットにエンコードされて示される。
【００３５】
バーストサイズＡＲＳＩＺＥ［２：０］は、バースト転送の各回における転送サイズを示す３ビットの信号である。「２0」、「２1」、「２2」、「２3」、「２4」、「２5」、「２6」、「２7」の何れかの転送サイズが３ビットにエンコードされて示される。
【００３６】
バーストタイプＡＲＢＵＲＳＴ［１：０］は、バースト転送のアドレス計算のタイプを示す２ビットの信号である。具体的には、ＦＩＦＯ型、連続アクセス、キャッシュラインの何れかのタイプを指定できるようになっている。
【００３７】
ロックタイプＡＲＬＯＣＫ［１：０］は、アトミックアクセスのための情報を示す２ビットの信号である。具体的には、ノーマルアクセス、排他的アクセス、ロック付きアクセスの何れかのタイプを指定できるようになっている。
【００３８】
キャッシュタイプＡＲＣＡＣＨＥ［３：０］は、キャッシュメモリ制御に必要な情報を示す４ビットの信号である。具体的には、キャッシュ可能か否か、ライトスルーかライトバックか等の制御情報が示される。
【００３９】
プロテクションタイプＡＲＰＲＯＴ［２：０］は、プロテクション制御に必要な情報を示す３ビットの信号である。具体的には、特権アクセス、非セキュアアクセス、インストラクションアクセスの各プロテクションレベルを指定できるようになっている。
【００４０】
リードアドレスバリッドＡＲＶＡＬＩＤは、アドレスおよび制御信号の有効性を示すバリッド信号である。リードアドレスレディＡＲＲＥＡＤＹは、スレーブ１４０がアドレスおよび制御信号を受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、リードアドレスバリッドＡＲＶＡＬＩＤおよびリードアドレスレディＡＲＲＥＡＤＹがともにアサートされているときに、アドレスおよび制御信号の転送が行われる。
【００４１】
図３は、ＡＸＩプロトコルにおけるリードデータチャネルを構成する信号を示す図である。リードデータチャネルは、リードデータをスレーブ１４０からマスタ１１０に転送するためのチャネルである。このリードデータチャネルは、リード識別子タグ、リードデータ、リードレスポンス、リードラスト、リードバリッド、リードレディの各信号からなる。これらの信号のうち、リードレディのみがマスタ１１０からの信号であり、これ以外はスレーブ１４０からの信号である。
【００４２】
リード識別子タグＲＩＤ［３：０］は、信号のリードデータグループを識別するための４ビットのタグである。このリード識別子タグＲＩＤ［３：０］はスレーブにおいて生成されるものであり、同一のトランザクションにおいてリードアドレス識別子ＡＲＩＤ［３：０］と一致していなければならない。
【００４３】
リードデータＲＤＡＴＡ［３１：０］は、リードトランザクションによるスレーブ１４０からのリードデータである。ここでは３２ビット幅のリードデータバスを想定したが、ＲＤＡＴＡのビット幅はリードデータバス幅に応じて変化する。リードデータバスは、８、１６、３２、６４、１２８、２５６、５１２および１０２４の何れかのビット幅を有する。
【００４４】
リードレスポンスＲＲＥＳＰ［１：０］は、リードトランザクションによるデータ転送の状態を示す２ビットの信号である。例えば、リードレスポンスには、リードアクセスの成功または失敗を示す信号が含まれる。
【００４５】
リードラストＲＬＡＳＴは、当該データがリードトランザクションにおける最終のデータ転送である旨を示す信号である。
【００４６】
リードバリッドＲＶＡＬＩＤは、要求されたリードデータの有効性を示すバリッド信号である。リードレディＲＲＥＡＤＹは、マスタ１１０がリードデータを受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、リードバリッドＲＶＡＬＩＤおよびリードレディＲＲＥＡＤＹがともにアサートされているときに、リードデータの転送が行われる。
【００４７】
図４は、ＡＸＩプロトコルにおけるライトアドレスチャネルを構成する信号を示す図である。ライトアドレスチャネルは、ライトアドレスをマスタ１１０からスレーブ１４０に伝達するためのチャネルである。このライトアドレスチャネルは、ライトアドレス識別子、ライトアドレス、バースト長、バーストサイズ、バーストタイプ、ロックタイプ、キャッシュタイプ、プロテクションタイプ、ライトアドレスバリッド、ライトアドレスレディの各信号からなる。これらの信号のうち、ライトアドレスレディのみがスレーブ１４０からの信号であり、これ以外はマスタ１１０からの信号である。
【００４８】
ライトアドレス識別子ＡＷＩＤ［３：０］は、信号のライトアドレスグループを識別するための４ビットのタグである。ライトアドレスＡＷＡＤＤＲ［３１：０］は、ライト対象となる３２ビットのアドレスであり、バースト転送における初期アドレスを示す信号である。
【００４９】
バースト長ＡＷＬＥＮ［３：０］は、バースト転送のデータ数を示す４ビットの信号である。バーストサイズＡＷＳＩＺＥ［２：０］は、バースト転送の各回における転送サイズを示す３ビットの信号である。バーストタイプＡＷＢＵＲＳＴ［１：０］は、バースト転送のアドレス計算のタイプを示す２ビットの信号である。ロックタイプＡＷＬＯＣＫ［１：０］は、アトミックアクセスのための情報を示す２ビットの信号である。キャッシュタイプＡＷＣＡＣＨＥ［３：０］は、キャッシュメモリ制御に必要な情報を示す４ビットの信号である。プロテクションタイプＡＷＰＲＯＴ［２：０］は、プロテクション制御に必要な情報を示す３ビットの信号である。これらは基本的にリードアドレスチャネルの場合と同様である。
【００５０】
ライトアドレスバリッドＡＷＶＡＬＩＤは、アドレスおよび制御信号の有効性を示すバリッド信号である。ライトアドレスレディＡＷＲＥＡＤＹは、スレーブ１４０がアドレスおよび制御信号を受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、ライトアドレスバリッドＡＷＶＡＬＩＤおよびライトアドレスレディＡＷＲＥＡＤＹがともにアサートされているときに、アドレスおよび制御信号の転送が行われる。
【００５１】
図５は、ＡＸＩプロトコルにおけるライトデータチャネルを構成する信号を示す図である。ライトデータチャネルは、ライトデータをマスタ１１０からスレーブ１４０に転送するためのチャネルである。このライトデータチャネルは、ライト識別子タグ、ライトデータ、ライトストローブ、ライトラスト、ライトバリッド、ライトレディの各信号からなる。これらの信号のうち、ライトレディのみがスレーブ１４０からの信号であり、これ以外はマスタ１１０からの信号である。
【００５２】
ライト識別子タグＷＩＤ［３：０］は、信号のライトデータグループを識別するための４ビットのタグである。このライト識別子タグＷＩＤ［３：０］は、同一のトランザクションにおいてライトアドレス識別子ＡＷＩＤ［３：０］と一致していなければならない。
【００５３】
ライトデータＷＤＡＴＡ［３１：０］は、ライトトランザクションによるスレーブ１４０へのライトデータである。ここでは３２ビット幅のライトデータバスを想定したが、ＷＤＡＴＡのビット幅はリードデータバス幅に応じて変化する。ライトデータバスは、８、１６、３２、６４、１２８、２５６、５１２および１０２４の何れかのビット幅を有する。
【００５４】
ライトストローブＷＳＴＲＢ［３：０］は、スレーブ１４０のメモリにおいて更新されるべきバイト位置を示す４ビットの信号である。ライトデータバスの８ビット毎にライトストローブＷＳＴＲＢ［３：０］の１ビットが割り当てられる。すなわち、ＷＳＴＲＢ［ｉ］は、ＷＤＡＴＡ［（８×ｉ）＋７：（８×ｉ）］に対応する。
【００５５】
ライトラストＷＬＡＳＴは、当該データがライトトランザクションにおける最終のデータ転送である旨を示す信号である。
【００５６】
ライトバリッドＷＶＡＬＩＤは、ライトデータの有効性を示すバリッド信号である。ライトレディＷＲＥＡＤＹは、スレーブ１４０がライトデータを受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、ライトバリッドＷＶＡＬＩＤおよびライトレディＷＲＥＡＤＹがともにアサートされているときに、ライトデータの転送が行われる。
【００５７】
図６は、ＡＸＩプロトコルにおけるライトレスポンスチャネルを構成する信号を示す図である。ライトレスポンスチャネルは、ライトトランザクションの結果をスレーブ１４０からマスタ１１０に伝達するためのチャネルである。このライトレスポンスチャネルは、レスポンス識別子、ライトレスポンス、ライトレスポンスバリッド、レスポンスレディの各信号からなる。これらの信号のうち、レスポンスレディのみがマスタ１１０からの信号であり、これ以外はスレーブ１４０からの信号である。
【００５８】
レスポンス識別子ＢＩＤ［３：０］は、ライトレスポンスを識別するための４ビットのタグである。このレスポンス識別子ＢＩＤ［３：０］は、同一のトランザクションにおいてライトアドレス識別子ＡＷＩＤ［３：０］と一致していなければならない。
【００５９】
ライトレスポンスＢＲＥＳＰ［１：０］は、ライトトランザクションによるデータ転送の状態を示す２ビットの信号である。例えば、ライトレスポンスには、ライトアクセスの成功または失敗を示す信号が含まれる。
【００６０】
ライトレスポンスバリッドＢＶＡＬＩＤは、ライトレスポンスの有効性を示すバリッド信号である。レスポンスレディＢＲＥＡＤＹは、マスタ１１０がライトレスポンスを受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、ライトレスポンスバリッドＢＶＡＬＩＤおよびレスポンスレディＢＲＥＡＤＹがともにアサートされているときに、ライトレスポンスの伝達が行われる。
【００６１】
［バスブリッジの構成］
図７は、本発明の第１の実施の形態におけるバスブリッジ２００の一構成例を示すブロック図である。バスブリッジ２００は、相互接続部２１０、バッファ２２０、および、バッファ管理部２３０を備える。
【００６２】
相互接続部２１０は、リクエストおよびレスポンスをマスタ１１０およびスレーブ１４０間で転送するものである。詳細には、ＡＸＩバス１２０から信号線８０２を介してリクエストを受信した場合、相互接続部２１０は、そのリクエストをバッファ管理部２３０に信号線８０４を介して出力する。そして、相互接続部２１０は、バッファ管理部２３０から信号線８０７を介してバッファフル通知を受け取った場合、そのバッファフル通知をＡＸＩバス１２０に信号線８０１を介して送信する。リクエストを受け取ったバッファ管理部２３０がバッファフル通知を発行しないのであれば、相互接続部２１０は、そのリクエストをＡＸＩバス１３０に信号線８１１を介して転送する。
【００６３】
また、ＡＸＩバス１３０から信号線８１２を介してレスポンスを受信した場合、相互接続部２１０は、そのレスポンスをバッファ管理部２３０に信号線８０５を介して出力する。そして、相互接続部２１０は、バッファ管理部２３０から信号線８０６を介してレスポンスに対応するトランザクション情報を受け取る。ここで、トランザクション情報は、レスポンスの転送処理を制御するための情報である。トランザクション情報に含まれる情報の詳細については、図８を参照して後述する。相互接続部２１０は、受け取ったトランザクション情報に基づき、受信したレスポンスをＡＸＩバス１２０へ信号線８０３を介して転送する。
【００６４】
バッファ２２０は、管理情報を保持するものである。ここで、管理情報とは、トランザクション識別情報および順序情報をトランザクション情報に対応付けた情報である。トランザクション識別情報は、トランザクションを識別するための情報であり、例えば、ＡＸＩプロトコルにおける識別子ＩＤである。順序情報は、リクエストの発行順序を特定するための情報である。順序情報が含む情報の詳細については、図８を参照して後述する。バッファ２２０は、信号線８０９および８１０を介してバッファ管理部２３０から管理情報を受け取った場合、その管理情報を保持する。
【００６５】
バッファ管理部２３０は、リクエストに基づいてバッファ２２０に管理情報を格納し、レスポンスに対応するトランザクション情報をバッファ２２０から読み出すものである。詳細には、リクエストを相互接続部２１０から受け取った場合、バッファ管理部２３０は、信号線８０８を介してバッファ２２０に格納されている管理情報を参照し、バッファ２２０に新たに管理情報を格納できるか否かを判断する。バッファ２２０が満杯で格納できないのであれば、バッファ管理部２３０は、その旨を示すバッファフル通知を相互接続部２１０に通知する。バッファ２２０が満杯でなければ、バッファ管理部２３０は、リクエストに基づいて管理情報を生成し、バッファ２２０に信号線８０９を介して格納する。レスポンスを相互接続部２１０から受け取った場合、バッファ管理部２３０は、そのレスポンスに対応するトランザクション情報をバッファ２２０から信号線８０８を介して読み出す。バッファ管理部２３０は、読み出したトランザクション情報を相互接続部２１０に出力する。
【００６６】
図８は、本発明の第１の実施の形態における各管理情報の一例を示す図である。各管理情報は、有効フラグＶ、トランザクション識別情報ｉｄ、順序情報、および、トランザクション情報を含む。
【００６７】
有効フラグＶは、当該管理情報が有効であるか否かを示す１ビットの情報である。管理情報が有効とは、当該管理情報内のトランザクション情報が読み出す対象としてバッファ２２０に格納されている状態である。管理情報が無効とは、当該管理情報内のトランザクション情報が読み出す対象とされていない状態である。より具体的には、管理情報が格納されてから、その管理情報内に対応するレスポンスの転送が解決するまでの間、管理情報は有効となる。例えば、管理情報が有効である場合に有効フラグＶに「１」が設定され、無効である場合に「０」が設定される。
【００６８】
トランザクション識別情報ｉｄは、トランザクションを識別するための情報である。トランザクション識別情報ｉｄがとりうる値の個数は、バスシステムが許容するトランザクション数の最大値以上とされる。例えば、最大２５６個のトランザクションが許容される場合、少なくとも８ビットの情報がトランザクション識別情報ｉｄとして設定される。
【００６９】
順序情報は、リクエストの発行順序を特定するための情報である。順序情報は、シリアルナンバーＳＮを含む。シリアルナンバーＳＮは、リクエストの発行順序を示す管理番号である。シリアルナンバーＳＮがとりうる値の個数は、バスシステムが許容する未解決のトランザクション数の最大値以上とされる。例えば、未解決のトランザクション数が最大１６個まで許容される場合、少なくとも４ビットの情報がシリアルナンバーＳＮとして設定される。
【００７０】
トランザクション情報は、レスポンスの転送処理を制御するための情報である。トランザクション情報は、例えば、パッキング実施フラグｐ、アドレス下位ビットａｄｄｒ、バースト長ｌｅｎ、バーストサイズｓｉｚｅ、バーストタイプｂｔｙｐ、および、バーストカウントｂｃｎｔを含む。
【００７１】
パッキング実施フラグｐは、バースト対象のデータのパッキングを実行するか否かを示す１ビットの情報である。アドレス下位ビットａｄｄｒは、アクセス先の下位アドレスを特定するための４ビットの情報である。バースト長ｌｅｎは、バースト転送のデータ数を示す４ビットの情報である。バーストサイズｓｉｚｅは、バースト転送の各回における転送サイズを示す３ビットの情報である。バーストタイプｂｔｙｐは、バースト転送のアドレス計算のタイプを示す２ビットの信号である。バーストカウントｂｃｎｔは、バースト転送の回数を示す４ビットの情報である。
【００７２】
なお、上述の実施の形態のシリアルナンバーＳＮは、特許請求の範囲に記載の管理番号の一例である。
【００７３】
図９は、本発明の第１の実施の形態における相互接続部２１０の一構成例を示すブロック図である。相互接続部２１０は、変換情報生成器２１１および２１３と、アドレスチャネルバスマトリクス２１２と、レスポンスチャネルバスマトリクス２１４とを備える。
【００７４】
変換情報生成器２１１は、ＡＸＩバス１２０から受信したリクエストをＡＸＩバス１３０の仕様に基づき必要に応じて変換するものである。変換情報生成器２１１は、ＡＸＩバス１２０からリクエストを受信した場合、リクエストをバッファ管理部２３０に出力する。そして、変換情報生成器２１１は、リクエストに応じてバッファ管理部２３０がバッファフル通知を発行したか否かを判断する。バッファフル通知が発行されたのであれば、変換情報生成器２１１は、そのリクエストを転送せず、発行元のマスタにバッファフル通知を送信する。例えば、変換情報生成器２１１は、ＡＸＩプロトコルのリードアドレスチャネルにおけるリードアドレスレディ（ＡＲＲＥＡＤＹ）に「０」を設定した信号をバッファフル通知として送信する。バッファフル通知が発行されなかったのであれば、変換情報生成器２１１は、ＡＸＩバス１２０から受信したリクエストを必要に応じて変換してアドレスチャネルバスマトリクス２１２に出力する。
【００７５】
アドレスチャネルバスマトリクス２１２は、変換情報生成器２１１から受け取ったリクエストを送信先のスレーブへＡＸＩバス１３０を介して転送するものである。
【００７６】
変換情報生成器２１３は、ＡＸＩバス１３０から受信したレスポンスをＡＸＩバス１２０の仕様およびトランザクション情報に基づき必要に応じて変換するものである。変換情報生成器２１３は、ＡＸＩバス１３０からレスポンスを受信した場合、そのレスポンスに対応するトランザクション情報をバッファ管理部２３０から受け取る。変換情報生成器２１３は、そのトランザクション情報とＡＸＩバス１３０の仕様とに基づき、必要に応じてレスポンスを変換してレスポンスチャネルバスマトリクス２１４に出力する。例えば、変換情報生成器２１３は、トランザクション情報の示すバースト転送の方式や転送先のバスのバス幅等に応じて転送データを結合または分割する。
【００７７】
レスポンスチャネルバスマトリクス２１４は、変換情報生成器２１３から受け取ったレスポンスをリクエストの送信元のマスタへＡＸＩバス１２０を介して転送するものである。
【００７８】
図１０は、本発明の第１の実施の形態におけるバッファ２２０の一構成例を示す図である。バッファ２２０は、複数のデータを保持する領域を備える。以下、各領域をエントリと称する。各エントリには、管理情報が格納される。バッファ管理部２３０は、管理情報の格納順に関らず、各エントリに格納された管理情報にビット単位でランダムにアクセス可能である。バッファ２２０には、バスシステムが許容する未解決の転送数の最大値以上の数のエントリが設けられる。例えば、バスシステムが最大１６個の未解決の転送を許容する場合、バッファ２２０に少なくとも１６個のエントリが設けられる。各エントリの格納位置を行、エントリ内の各情報の格納位置を列とする。ある行の有効フラグＶの列に「０」の値のデータが設定されている場合、その行に対応するエントリは空いているものとし、「１」の値のデータが設定されている場合、その行に対応するエントリには管理情報が格納されているものとする。例えば、エントリ＃１乃至１６が設けられている場合を想定する。エントリ＃１および３の有効フラグＶに「１」が設定されており、残りのエントリの有効フラグＶに「０」が設定されているものとする。このとき、エントリ＃１および３には管理情報が格納されており、残りのエントリは空の状態である。
【００７９】
図１０に例示したように、このバッファ２２０は、バスシステムが許容する未解決の転送数の最大値（例えば、１６個）の管理情報を保持する分だけの容量しか必要としない。このため、バスシステムが許容するトランザクション数の最大値が増大した場合であっても、管理情報のトランザクション識別情報ｉｄ列の幅を必要に応じて大きくするだけで対応することができる。例えば、トランザクション数の最大値を２５６個から５１２個にする場合、トランザクション識別情報ｉｄの列に割り当てるビット数を８ビットから９ビットにするだけで対応することができる。従って、バッファ２２０のサイズ、すなわち記憶容量の増大を抑制することができる。
【００８０】
図１１は、本発明の第１の実施の形態におけるバッファ管理部２３０の一構成例を示すブロック図である。バッファ管理部２３０は、新規管理情報登録部２４０およびレスポンス処理部２７０を備える。
【００８１】
新規管理情報登録部２４０は、相互接続部２１０からのリクエストに基づいて管理情報をバッファ２２０に格納するものである。新規管理情報登録部２４０は、相互接続部２１０からリクエストを受け取った場合、信号線８０８を介してバッファ２２０内の各エントリにアクセスして、エントリに空きがあるか否かを判断する。空きが無い場合、新規管理情報登録部２４０は、バッファフル通知を発行して相互接続部２１０に返す。空きがある場合、新規管理情報登録部２４０は、空いているエントリのいずれかを選択して、そのエントリにリクエストに基づいて生成した管理情報を格納する。管理情報は信号線８０９を介してバッファ２２０に出力される。エントリが複数空いている場合のエントリの選択方法は任意である。例えば、新規管理情報登録部２４０は、各エントリに固定の優先度を設けておいて優先度に従って選択したり、最も使用頻度の少ないエントリを選択したりする。
【００８２】
レスポンス処理部２７０は、相互接続部２１０からのレスポンスに対応するトランザクション情報を順序情報に従ってバッファ２２０から読み出すものである。レスポンス処理部２７０は、相互接続部２１０からレスポンスを受け取った場合、そのレスポンスに対応するトランザクション情報を順序情報に従って信号線８０８を介してバッファ２２０から読み出す。具体的には、レスポンス処理部２７０は、レスポンスが含む識別子ＩＤと同じトランザクション識別情報ｉｄが設定された管理情報のうちのシリアルナンバーＳＮが最も小さい管理情報内のトランザクション情報を読み出す。レスポンス処理部２７０は、信号線８１０を介してバッファ２２０にアクセスし、トランザクション情報を読み出した管理情報内の有効フラグＶに「０」の値を設定してエントリを空にする。そして、レスポンス処理部２７０は、読み出したトランザクション情報を相互接続部２１０に出力する。
【００８３】
図１２は、本発明の第１の実施の形態における新規管理情報登録部２４０の一構成例を示すブロック図である。新規管理情報登録部２４０は、発行識別子（ＩＤ）取得回路２４１と、末尾管理情報取得部２５０と、新規管理情報設定部２６０とを備える。
【００８４】
発行ＩＤ取得回路２４１は、リクエストから識別子ＩＤを取得するものである。図２を参照して説明したようにリードアドレスチャネルを構成する信号には、リードアドレス識別子ＡＲＩＤが含まれる。また、図４を参照して説明したようにライトアドレスチャネルを構成する信号には、ライトアドレス識別子ＡＷＩＤが含まれ、図５参照して説明したようにライトデータチャネルを構成する信号には、ライト識別子タグＷＩＤが含まれる。これらは、マスタが発行した識別子ＩＤであるから、以下、リードアドレス識別子ＡＲＩＤ、ライトアドレス識別子ＡＷＩＤ、および、ライト識別子タグＷＩＤを発行ＩＤと称する。発行ＩＤ取得回路２４１は、リクエストから発行ＩＤを取り出し、信号線８２１を介して末尾管理情報取得部２５０に出力する。
【００８５】
末尾管理情報取得部２５０は、各エントリにおける、有効フラグＶ、トランザクション識別情報ｉｄ、および、シリアルナンバーＳＮと発行ＩＤとに基づいて発行順序における末尾の管理情報を取得するものである。具体的には、末尾管理情報取得部２５０は、有効フラグＶが「１」であり、かつ、トランザクション識別情報ｉｄが発行ＩＤと一致する管理情報のうちのシリアルナンバーＳＮが最大の管理情報を末尾として求める。末尾の管理情報のシリアルナンバーＳＮを末尾ナンバーＳＮ＿Ｌとして、末尾管理情報取得部２５０は、末尾ナンバーＳＮ＿Ｌと、その管理情報の格納位置とを新規管理情報設定部２６０に出力する。バッファ２２０内のエントリ数と同じビット数のデータが管理情報の格納位置として出力される。例えば、１６個のエントリが設けられている場合、ＬＤ＃１乃至１６のビットデータが格納位置として出力される。各ＬＤ＃i（iは１乃至１６の整数）には、対応するエントリに末尾の管理情報が格納されている場合に「１」が設定され、そうでない場合に「０」が設定されるものとする。ＬＤ＃１乃至１６は、信号線８２２を介して出力され、末尾ナンバーＳＮ＿Ｌは、信号線８２３を介して出力される。
【００８６】
新規管理情報設定部２６０は、リクエストに基づいて管理情報に各情報を設定するものである。新規管理情報設定部２６０は、相互接続部２１０からリクエストを受け取った場合、バッファ２２０の各エントリの有効フラグＶを参照してバッファ２２０内に空きがあるか否かを判断する。空きがなければ、新規管理情報設定部２６０は、バッファフル通知を相互接続部２１０に返す。空きがあれば、新規管理情報設定部２６０は、空いているエントリのいずれかを選択する。新規管理情報設定部２６０は、選択したエントリにおいて、リクエスト、ＬＤ＃１乃至１６、および、末尾ナンバーＳＮ＿Ｌに基づいて管理情報を設定する。管理情報の設定内容の詳細については、図１５を参照して後述する。
【００８７】
図１３は、本発明の第１の実施の形態における末尾管理情報取得部２５０の一構成例を示すブロック図である。末尾管理情報取得部２５０は、シリアルナンバー（ＳＮ）取得回路群２５１および最大シリアルナンバー（ＳＮ）選択部２５６を備える。
【００８８】
ＳＮ取得回路群２５１は、有効フラグＶが「１」であり、かつ、トランザクション識別情報ｉｄが発行ＩＤと一致する各管理情報のシリアルナンバーＳＮを取得するものである。ＳＮ取得回路群２５１は、エントリの数（例えば、１６個）と同数のシリアルナンバー（ＳＮ）取得回路２５２を備える。各ＳＮ取得回路２５２は、識別子（ＩＤ）一致判断部２５３、ＡＮＤ（論理積）ゲート２５４、および、スイッチ２５５を備える。
【００８９】
ＩＤ一致判断部２５３は、発行ＩＤと、対応するエントリに格納されたトランザクション識別情報ｉｄとが一致するか否かを判断するものである。ＩＤ一致判断部２５３は、発行ＩＤとトランザクション識別情報ｉｄとが一致するか否かを判断し、判断結果をＡＮＤゲート２５４に出力する。例えば、一致する場合に「１」、そうでない場合に「０」の値が設定される１ビットの信号が判断結果として出力される。
【００９０】
ＡＮＤゲート２５４は、入力値の論理積を出力するものである。ＡＮＤゲート２５４は、２つの入力端子と出力端子とを備える。入力端子の一方には、対応するエントリの有効フラグＶの値が入力され、他方には、ＩＤ一致判断部２５３による判断結果が入力される。ＡＮＤゲート２５４は、これらの入力値の論理積をスイッチ２５５に出力する。
【００９１】
スイッチ２５５は、ＡＮＤゲートの２５４の出力値に基づいてＳＮ取得回路２５２の一部を開閉するものである。スイッチ２５５は、入力端子、出力端子、および、制御端子を備える。入力端子には、対応するエントリのシリアルナンバーＳＮが入力される。出力端子は最大ＳＮ選択部２５６に接続され、制御端子は、ＡＮＤゲート２５４の出力端子に接続される。ＡＮＤゲート２５４の出力値が「１」である場合に、スイッチ２５５はオン状態となり、入力されたシリアルナンバー（ＳＮ）が最大ＳＮ選択部２５６に出力される。ＡＮＤゲート２５４の出力値が「０」である場合、スイッチ２５５は、オフ状態となり、シリアルナンバーＳＮは出力されない。
【００９２】
最大ＳＮ選択部２５６は、ＳＮ取得回路群２５１が取得した各シリアルナンバーＳＮのうちの最大のシリアルナンバー（ＳＮ）を選択するものである。最大ＳＮ選択部２５６は、各シリアルナンバーＳＮを比較し、最大のシリアルナンバーＳＮを末尾ナンバーＳＮ＿Ｌとして、末尾ナンバーＳＮ＿Ｌを新規管理情報設定部２６０に出力する。また、最大ＳＮ選択部２５６は、その末尾ナンバーＳＮ＿Ｌに対応するビットに「１」が設定されたＬＤ＃１乃至１６を新規管理情報設定部２６０に出力する。
【００９３】
図１４は、本発明の第１の実施の形態における新規管理情報設定部２６０の一構成例を示すブロック図である。新規管理情報設定部２６０は、加算器２６１および新規管理情報設定回路２６２を備える。
【００９４】
加算器２６１は、末尾管理情報取得部２５０から受け取った末尾ナンバーＳＮ＿Ｌに所定値を加算するものである。例えば、加算器２６１は、末尾ナンバーＳＮ＿Ｌをインクリメントする。加算器２６１は、加算結果であるＳＮ＿Ｌ＋1を新規管理情報設定回路２６２に出力する。
【００９５】
新規管理情報設定回路２６２は、リクエストに基づいて管理情報を設定するものである。新規管理情報設定回路２６２は、バッファ２２０から各エントリの有効フラグＶ＃１乃至１６を読み出す。また、新規管理情報設定回路２６２は、末尾管理情報取得部２５０からＬＤ＃１乃至１６を受け取り、加算器２６１からＳＮ＿Ｌ＋１を受け取る。さらに、新規管理情報設定回路２６２は、相互接続部２１０からリクエストを受け取る。
【００９６】
図１５は、本発明の第１の実施の形態における新規管理情報設定回路２６２の動作の一例を示す図である。有効フラグＶ＃１乃至１６が全て「１」である場合、新規管理情報設定回路２６２は、バッファフル通知を発行して相互接続部２１０に通知する。
【００９７】
有効フラグＶ＃１乃至１６のうちのいずれかが「０」であり、かつ、ＬＤ＃ｉ（ｉは１乃至１６の整数）＝１の場合について説明する。この場合、エントリに空きがあり、発行ＩＤと同じトランザクション識別情報ｉｄの管理情報が１つ以上バッファ２２０に格納されているため、新規に登録する管理情報は、発行順序において末尾である。従って、新規管理情報設定回路２６２は、末尾の管理情報のシリアルナンバーＳＮ＿Ｌの次の番号ＳＮ＿Ｌ＋１を新規の管理情報のシリアルナンバーとして設定する必要がある。新規管理情報設定回路２６２は、有効フラグＶに「１」を設定し、トランザクション識別情報ｉｄに発行ＩＤを設定し、シリアルナンバーＳＮにＳＮ＿Ｌ＋１を設定し、トランザクション情報を設定した管理情報を生成する。トランザクション情報には、レスポンスの転送処理を制御するための情報が設定される。例えば、図８に例示したように、リクエストが指定するバースト長やバーストサイズなどの値が設定される。新規管理情報設定回路２６２は、空きのエントリ（Ｖ＝０）のいずれかに、設定した管理情報を格納する。
【００９８】
有効フラグＶ＃１乃至１６のうちのいずれかが「１」であり、かつ、ＬＤ＃１乃至１６が全て「０」の場合について説明する。この場合、エントリに空きがあり、発行ＩＤと同じトランザクション識別情報ｉｄの管理情報は１つもバッファ２２０に格納されていないため、新規に登録する管理情報は発行順序において先頭である。従って、新規管理情報設定回路２６２は、初期値（例えば、０）を新規の管理情報のシリアルナンバーＳＮに設定する必要がある。新規管理情報設定回路２６２は、有効フラグＶに「１」を設定し、トランザクション識別情報ｉｄに発行ＩＤを設定し、シリアルナンバーＳＮに「０」を設定し、トランザクション情報を設定した管理情報を生成する。新規管理情報設定回路２６２は、空きのエントリ（Ｖ＝０）のいずれかに、設定した管理情報を格納する。
【００９９】
図１６は、本発明の第１の実施の形態におけるレスポンス処理部２７０の一構成例を示すブロック図である。レスポンス処理部２７０は、発行識別子（ＩＤ）取得回路２７１、先頭管理情報取得部２８０、および、先頭管理情報更新部２９０を備える。
【０１００】
発行ＩＤ取得回路２７１は、レスポンスから発行ＩＤを取得するものである。図３を参照して説明したようにリードデータチャネルを構成する信号には、リード識別子タグＲＩＤが含まれる。また、図６を参照して説明したようにライトレスポンスチャネルを構成する信号には、レスポンス識別子ＢＩＤが含まれる。これらは、スレーブが発行した識別子ＩＤであるから、以下、リードアドレス識別子ＡＲＩＤ、ライトアドレス識別子ＡＷＩＤ、および、ライト識別子タグＷＩＤに加えて、リード識別子タグＲＩＤおよびレスポンス識別子ＢＩＤも発行ＩＤと称する。発行ＩＤ取得回路２７１は、レスポンスから発行ＩＤを取り出し、信号線８３１を介して先頭管理情報取得部２８０に出力する。
【０１０１】
先頭管理情報取得部２８０は、各エントリにおける、有効フラグＶ、トランザクション識別情報ｉｄ、および、シリアルナンバーＳＮと発行ＩＤとに基づいて発行順序における先頭の管理情報を取得するものである。具体的には、先頭管理情報取得部２８０は、有効フラグＶが「１」であり、かつ、トランザクション識別情報ｉｄが発行ＩＤと一致する管理情報のうちのシリアルナンバーＳＮが最小の管理情報を先頭として求める。先頭管理情報取得部２８０は、先頭の管理情報に対応するビットに「１」に設定したＦＤ＃１乃至１６のビットデータを、信号線８３２を介して先頭管理情報更新部２９０に出力する。
【０１０２】
先頭管理情報更新部２９０は、レスポンスに対応するトランザクション情報のうちの発行順序における先頭のトランザクション情報を読み出すものである。先頭管理情報更新部２９０は、先頭管理情報取得部２８０が取得した先頭の管理情報からトランザクション情報を読み出して相互接続部２１０に出力する。また、先頭管理情報更新部２９０は、リクエストに基づいて、リクエストの最終データが転送されたか否かを判断する。最終データは、例えば、バースト転送において最後に転送されるデータである。最終データが転送された場合、先頭管理情報更新部２９０は、読み出した管理情報における有効フラグＶを「０」に更新してエントリを空にする。そして、先頭管理情報更新部２９０は、他の同一のｉｄを持つ管理情報の全てにおいて、シリアルナンバーＳＮの最小値が先頭、最大値が末尾となるようにシリアルナンバーＳＮを更新する。例えば、先頭管理情報更新部２９０は、同一のｉｄを持つ、先頭から２番目以降の管理情報の全てのシリアルナンバーＳＮをデクリメントする。
【０１０３】
図１７は、本発明の第１の実施の形態における先頭管理情報取得部２８０の一構成例を示すブロック図である。先頭管理情報取得部２８０は、シリアルナンバー（ＳＮ）取得回路群２８１および最小シリアルナンバー（ＳＮ）選択部２８６を備える。
【０１０４】
ＳＮ取得回路群２８１の構成は、図１３を参照して説明したＳＮ取得回路群２５１の構成と同様である。
【０１０５】
最小ＳＮ選択部２８６は、ＳＮ取得回路群２８１が取得した各シリアルナンバーＳＮのうちの最小のシリアルナンバーＳＮを選択するものである。最小ＳＮ選択部２８６は、各シリアルナンバーＳＮを比較し、最小のシリアルナンバーＳＮに対応するビットに「１」を設定したＦＤ＃１乃至１６を先頭管理情報更新部２９０に出力する。
【０１０６】
図１８は、本発明の第１の実施の形態における先頭管理情報更新部２９０の動作の一例を示す図である。ＦＤ＃ｊ（ｊは１乃至１６の整数）＝１であり、かつ、レスポンスが最終でないリードデータである場合、先頭管理情報更新部２９０は、先頭の管理情報（ＦＤ＃ｊ＝１）を更新する。先頭管理情報更新部２９０は、リードデータが最終データであるか否かを、例えば、図２を参照して説明したリードラストＲＬＡＳＴが「０」であるか否かにより判断する。また。先頭の管理情報の更新においては、例えば、バーストカウントｂｃｎｔをインクリメントする。
【０１０７】
ＬＤ＃ｉ（ｉは１乃至１６の整数）＝１であり、かつ、レスポンスが最終のリードデータまたはライトレスポンスである場合、先頭管理情報更新部２９０は先頭の管理情報（ＦＤ＃ｊ＝１）の有効フラグＶに「０」を設定して無効にする。そして、先頭管理情報更新部２９０は、同一のｉｄを持つ、先頭から２番目以降の管理情報の全てにおいて、シリアルナンバーＳＮをデクリメントする。
【０１０８】
［バスブリッジの動作］
図１９乃至２１を参照してバッファ管理部２３０の動作について説明する。図１９は、本発明の第１の実施の形態におけるバッファ管理部２３０の動作の一例を示すフローチャートである。この動作は、バッファ管理部２３０に電源が投入されたときや、バッファ２２０を初期化するときなどに開始する。バッファ管理部２３０は、各エントリの有効フラグＶを「０」に設定することにより、バッファ２２０を初期化する（ステップＳ９１０）。
【０１０９】
バッファ管理部２３０は、リクエストが発行されたか否かを判断する（ステップＳ９２０）。リクエストが発行されたのであれば（ステップＳ９２０：Ｙｅｓ）、バッファ管理部２３０は、新規管理情報登録処理を実行する（ステップＳ９３０）。
【０１１０】
リクエストが発行されていない場合（ステップＳ９２０：Ｎｏ）、または、ステップＳ９３０の後、バッファ管理部２３０はレスポンスが返送されたか否かを判断する（ステップＳ９７０）。レスポンスが返送されたのであれば（ステップＳ９７０：Ｙｅｓ）、バッファ管理部２３０は、レスポンス処理を実行する（ステップＳ９８０）。
【０１１１】
レスポンスが返送されていない場合（ステップＳ９７０：Ｎｏ）、または、ステップＳ９８０の後、バッファ管理部２３０は、ステップＳ９２０に戻る。
【０１１２】
図２０は、本発明の第１の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。新規管理情報登録部２４０は、バッファ２２０内に空きのエントリ（Ｖ＝０）があるか否かを判断する（ステップＳ９３１）。空きのエントリがない場合（ステップＳ９３１：Ｎｏ）、新規管理情報登録部２４０は、バッファフル通知を発行する（ステップＳ９３２）。
【０１１３】
空きのエントリがある場合（ステップＳ９３１：Ｙｅｓ）、新規管理情報登録部２４０は、発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報が既に登録されているか否かを判断する（ステップＳ９３３）。
【０１１４】
発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報が既に登録されている場合（ステップＳ９３３：Ｙｅｓ）、新規管理情報登録部２４０は、いずれかの有効フラグＶ＝０のエントリを選択する。新規管理情報登録部２４０は、選択したエントリにおいて、有効フラグＶに「１」を設定し、トランザクション情報ｉｄに発行ＩＤを設定し（ステップＳ９３４）、また、シリアルナンバーＳＮにＳＮ＿Ｌ＋１を設定する（ステップＳ９３５）。新規管理情報登録部２４０は、選択したエントリにおいて、リクエストに基づいてトランザクション情報を設定する（ステップＳ９３８）。
【０１１５】
発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報が登録されていない場合（ステップＳ９３３：Ｎｏ）、新規管理情報登録部２４０は、いずれかの有効フラグＶ＝０のエントリを選択する。新規管理情報登録部２４０は、選択したエントリにおいて、有効フラグＶに「１」を設定し、トランザクション情報ｉｄに発行ＩＤを設定し（ステップＳ９３９）、また、シリアルナンバーＳＮに「０」を設定する（ステップＳ９４０）。ステップＳ９４０の後、新規管理情報登録部２４０はステップＳ９３８を実行する。
【０１１６】
ステップＳ９３２またはＳ９３８の後、新規管理情報登録部２４０は新規管理情報登録処理を終了する。
【０１１７】
図２１は、本発明の第１の実施の形態におけるレスポンス処理の一例を示すフローチャートである。レスポンス処理部２７０は、発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報が登録されているか否かを判断する（ステップＳ９８１）。
【０１１８】
発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報が登録されている場合（ステップＳ９８１：Ｙｅｓ）、レスポンス処理部２７０は、リクエストが最終のリードデータまたはライトレスポンスであるか否かを判断する（ステップＳ９８２）。
【０１１９】
リクエストが最終のリードデータまたはライトレスポンスである場合（ステップＳ９８２：Ｙｅｓ）について説明する。この場合、レスポンス処理部２７０は、発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報のうちの先頭の管理情報内のトランザクション情報をバッファ２２０から読み出す。レスポンス処理部２７０は、読み出したトランザクション識別情報ｉｄを相互接続部２１０へ出力する（ステップＳ９８３）。そして、レスポンス処理部２７０は、先頭の管理情報を無効にする（ステップＳ９８４）。レスポンス処理部２７０は、同一のＩＤを持つ、先頭から２番目以降の管理情報の全てにおいて、シリアルナンバーＳＮを更新（デクリメント）する（ステップＳ９８５）。
【０１２０】
リクエストが最終のリードデータでなく、ライトレスポンスでもない場合（ステップＳ９８２：Ｎｏ）について説明する。この場合、レスポンス処理部２７０は、発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報のうちの先頭の管理情報内のトランザクション情報をバッファ２２０から読み出す。レスポンス処理部２７０は、読み出したトランザクション識別情報ｉｄを相互接続部２１０へ出力する（ステップＳ９８６）。そして、レスポンス処理部２７０は、先頭の管理情報において、バーストカウントをカウントアップする（ステップＳ９８７）。
【０１２１】
発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報が登録されていない場合（ステップＳ９８１：Ｎｏ）、または、ステップＳ９８４、あるいはＳ９８７の後、レスポンス処理部２７０は、レスポンス処理を終了する。
【０１２２】
なお、第１の実施の形態のバスシステムは、ＡＸＩプロトコルを使用しているが、スプリットトランザクションを許容するプロトコルであれば、ＡＸＩプロトコル以外のプロトコルを使用してもよいのは勿論である。
【０１２３】
また、バスブリッジ２００にバッファ管理部２３０およびバッファ２２０を設ける構成としている。しかし、スプリットトランザクションを許容するインターコネクトであれば、バスブリッジ以外のインターコネクトにバッファ管理部２３０およびバッファ２２０を設けてもよい。
【０１２４】
また、図１においては、ＡＸＩバス１２０にマスタ１１０が接続され、ＡＸＩバス１３０にスレーブ１４０が接続される構成を例示したが、モジュールの接続形態は、図１に例示した構成に限定されない。例えば、ＡＸＩバス１２０にマスタに加えてスレーブを接続してもよいし、ＡＸＩバス１３０にスレーブに加えてマスタを接続してもよい。
【０１２５】
また、図８において、シリアルナンバーＳＮを順序情報として格納しているが、発行順序に従って増減する番号であればよく、連番（ＳＮ）に限定されない。
【０１２６】
また、図８において、トランザクション情報が含む情報を例示したが、レスポンスの転送制御に必要な情報であれば、バッファ２２０は、図８に例示した情報と異なる情報をトランザクション情報として保持してもよい。
【０１２７】
このように、本発明の第１の実施の形態によれば、バッファ管理部２３０は、リクエストに基づいてバッファ２２０にトランザクション識別情報ｉｄおよび順序情報とトランザクション情報とを対応付けて保持しておく。そして、バッファ管理部２３０は、レスポンスに係るＩＤと同じトランザクション識別情報ｉｄに対応するトランザクション情報を順序情報に従って読み出す。バッファ管理部２３０は、トランザクション情報にトランザクション識別情報ｉｄを対応付けて保持するため、バスシステムがスプリットトランザクションを許容する場合であっても、レスポンスに対応するトランザクション情報を容易に読み出すことができる。また、バッファ管理部２３０は、順序情報をトランザクション情報に対応付けて保持するため、リクエストの発行順序に従って、レスポンスに対応するトランザクション情報を読み出すことができる。
【０１２８】
また、本発明の第１の実施の形態によれば、バッファ２２０は、バスシステムが許容する未解決の転送数の最大値（例えば、１６個）の管理情報を保持する分だけの容量しか必要としない。このため、バスシステムが許容するトランザクション数の最大値が増大した場合であっても、管理情報のトランザクション識別情報ｉｄ列の幅を必要に応じて大きくするだけで対応することができる。従って、バッファ２２０のサイズ、すなわち記憶容量の増大を抑制することができる。
【０１２９】
＜２．第２の実施の形態＞
［バスブリッジの構成］
次に図２２乃至３０を参照して本発明の第２の実施の形態のバスブリッジについて説明する。図２２は、本発明の第２の実施の形態における管理情報の一例を示す図である。第２の実施の形態の管理情報は、順序情報が先頭フラグＦをさらに含む以外は、図８に例示した第１の実施の形態の管理情報と同様である。先頭フラグＦは、当該管理情報がバッファ２２０内のトランザクション識別情報ｉｄが同一の管理情報のうちの発行順序における先頭であることを示す１ビットの情報である。例えば、先頭フラグＦは、管理情報が先頭である場合に「１」が設定されて有効となり、そうでない場合に「０」が設定されて無効となる。
【０１３０】
第２の実施の形態の新規管理情報登録部２４０の構成は、先頭フラグＦをさらに設定する点と、末尾の管理情報を先頭フラグＦに基づいて取得する点以外は、第１の実施形態の新規管理情報登録部２４０と同様の構成である。例えば、新規管理情報登録部２４０は、先頭ナンバーＳＮ＿Ｆをデクリメントしていき、同一のトランザクション識別情報ｉｄの管理情報において最初に一致するシリアルナンバーＳＮの管理情報を末尾とする。
【０１３１】
図２３は、本発明の第２の実施の形態における新規管理情報設定回路２６２の動作の一例を示す図である。
【０１３２】
有効フラグＶ＃１乃至１６のうちのいずれかが「０」であり、かつ、ＬＤ＃ｉ（ｉは１乃至１６の整数）＝１の場合について説明する。この場合、新規に登録する管理情報は、発行順序において末尾である。従って、新規管理情報設定回路２６２は、有効フラグＶ、トランザクション識別情報ｉｄ、シリアルナンバーＳＮ、および、トランザクション情報を設定し、さらに先頭フラグＦに「０」を設定する。
【０１３３】
有効フラグＶ＃１乃至１６のうちのいずれかが「０」であり、かつ、ＬＤ＃１乃至１６が全て「０」の場合について説明する。この場合、新規に登録する管理情報は発行順序において先頭である。従って、新規管理情報設定回路２６２は、有効フラグＶ、トランザクション識別情報ｉｄ、シリアルナンバーＳＮ、および、トランザクション情報を設定し、さらに先頭フラグＦに「１」を設定する。
【０１３４】
図２４は、本発明の第２の実施の形態におけるレスポンス処理部３７０の一構成例を示すブロック図である。レスポンス処理部３７０は、先頭管理情報取得部２８０および先頭管理情報更新部２９０の代わりに先頭管理情報更新部３９０および次管理情報更新部４００を備える点以外は図１６に例示した第１の実施の形態のレスポンス処理部２７０と同様の構成である。
【０１３５】
発行ＩＤ取得回路２７１は、取得した発行ＩＤを先頭管理情報取得部３８０のほか、さらに次管理情報更新部４００に信号線８３１を介して出力する。
【０１３６】
先頭管理情報取得部３８０は、各エントリにおける、有効フラグＶ、トランザクション識別情報ｉｄ、および、先頭フラグＦと発行ＩＤとに基づいて発行順序における先頭の管理情報を取得するものである。具体的には、先頭管理情報取得部３８０は、有効フラグＶが「１」であり、トランザクション識別情報ｉｄが発行ＩＤと一致し、かつ、先頭フラグＦが「１」の管理情報を先頭として求める。先頭管理情報取得部３８０は、先頭の管理情報に対応するビットに「１」を設定したＦＤ＃１乃至１６のビットデータを先頭管理情報更新部３９０および次管理情報更新部４００に信号線８３２を介して出力する。
【０１３７】
次管理情報更新部４００は、先頭管理情報取得部３８０が取得した管理情報の次の管理情報の先頭フラグＦを有効に設定するものである。次管理情報更新部４００は、発行ＩＤ取得回路２７１から発行ＩＤを受け取り、先頭管理情報取得部３８０から、ＦＤ＃１乃至１６を受け取る。また、次管理情報更新部４００は、バッファ２２０から各エントリの有効フラグＶ、トランザクション識別情報ｉｄ、および、シリアルナンバーＳＮを読み出す。次管理情報更新部４００は、各エントリのシリアルナンバーＳＮとＦＤ＃１乃至１６とから、先頭の管理情報のシリアルナンバーＳＮ＿Ｆを取得する。次管理情報更新部４００は、有効フラグＶが「１」であり、トランザクション識別情報ｉｄが発行ＩＤと一致し、かつ、シリアルナンバーＳＮがＳＮ＿Ｆ＋１と一致する管理情報を次の管理情報として求める。次管理情報更新部４００は、取得した管理情報の先頭フラグＦを「１」に更新する。
【０１３８】
図２５は、本発明の第２の実施の形態における先頭管理情報取得部３８０の一構成例を示すブロック図である。先頭管理情報取得部３８０は、先頭管理情報判断回路群３８１を備える。
【０１３９】
先頭管理情報判断回路群３８１は、各管理情報が先頭の管理情報であるか否かを判断するものである。先頭管理情報判断回路群３８１は、エントリの数（例えば、１６個）と同数の先頭管理情報判断回路３８２を備える。各先頭管理情報判断回路３８２は、識別子（ＩＤ）一致判断部３８３およびＡＮＤゲート３８４を備える。
【０１４０】
ＩＤ一致判断部３８３は、発行ＩＤと、対応するエントリに格納されたトランザクション識別情報ｉｄとが一致するか否かを判断するものである。ＩＤ一致判断部３８３は、発行ＩＤとトランザクション識別情報ｉｄとが一致するか否かを判断し、判断結果をＡＮＤゲート３８４に出力する。
【０１４１】
ＡＮＤゲート３８４は、入力値の論理積を出力するものである。ＡＮＤゲート３８４は、３つの入力端子と出力端子とを備える。１つ目の入力端子には、対応するエントリの有効フラグＶの値が入力され、２つ目の入力端子には、ＩＤ一致判断部３８３による判断結果が入力される。３つ目の入力端子には、対応するエントリの先頭フラグＦの値が入力される。ＡＮＤゲート３８４は、これらの入力値の論理積をＦＤ＃ｊ（ｊは１乃至１６の整数）として先頭管理情報更新部３９０に出力する。先頭管理情報更新部３９０の構成は、シリアルナンバーＳＮの更新を実行しない点以外は、第１の実施の形態の先頭管理情報更新部２９０と同様の構成である。
【０１４２】
図２６は、本発明の第２の実施の形態における次管理情報更新部４００の一構成例を示すブロック図である。次管理情報更新部４００は、先頭管理情報シリアルナンバー（ＳＮ）選択回路４０１、加算器４０２、次管理情報判断回路群４０３、および、次管理情報更新回路４０８を備える。
【０１４３】
先頭管理情報ＳＮ選択回路４０１は、各シリアルナンバーＳＮの中から、先頭の管理情報のシリアルナンバーＳＮを選択するものである。先頭管理情報ＳＮ選択回路４０１は、先頭管理情報取得部３８０からＦＤ＃１乃至１６を受け取り、バッファ２２０から各管理情報のシリアルナンバーＳＮを読み出す。先頭管理情報ＳＮ選択回路４０１は、読み出した各ＳＮの中から、ＦＤ＃ｊ＝１に対応する管理情報のシリアルナンバーＳＮを選択して先頭ナンバーＳＮ＿Ｆとして加算器４０２に出力する。
【０１４４】
加算器４０２は、先頭管理情報ＳＮ選択回路４０１から受け取った先頭ナンバーＳＮ＿Ｆに所定値を加算するものである。例えば、加算器４０２は、先頭ナンバーＳＮ＿Ｆをインクリメントする。加算器４０２は、加算結果であるＳＮ＿Ｆ＋１を次管理情報判断回路群４０３に出力する。
【０１４５】
図２７は、本発明の第２の実施の形態における次管理情報判断回路群４０３の一構成例を示すブロック図である。次管理情報判断回路群４０３は、各管理情報が、先頭管理情報取得部３８０が取得した管理情報の次の管理情報であるか否かを判断するものである。次管理情報判断回路群４０３は、エントリの数（例えば、１６個）と同数の次管理情報判断回路４０４を備える。各次管理情報判断回路４０４は、識別子（ＩＤ）一致判断部４０５、シリアルナンバー（ＳＮ）一致判断部４０６、および、ＡＮＤゲート４０７を備える。
【０１４６】
ＩＤ一致判断部４０５は、発行ＩＤと、対応するエントリに格納されたトランザクション識別情報ｉｄとが一致するか否かを判断するものである。ＩＤ一致判断部４０５は、判断結果をＡＮＤゲート４０７に出力する。
【０１４７】
ＳＮ一致判断部４０６は、ＳＮ＿Ｆ＋１と、対応するエントリのシリアルナンバーＳＮとが一致するか否かを判断するものである。ＳＮ一致判断部４０６は、判断結果をＡＮＤゲート４０７に出力する。
【０１４８】
ＡＮＤゲート４０７は、入力値の論理積を出力するものである。ＡＮＤゲート４０７は、３つの入力端子と出力端子とを備える。１つ目の入力端子には、対応するエントリの有効フラグＶの値が入力され、２つ目の入力端子には、ＩＤ一致判断部４０５による判断結果が入力される。３つ目の入力端子には、対応するエントリのＳＮ一致判断部４０６の判断結果が入力される。ＡＮＤゲート２５４は、これらの入力値の論理積をＮＤ＃ｋ（ｋは１乃至１６の整数）として次管理情報更新回路４０８に出力する。
【０１４９】
次管理情報更新回路４０８は、次管理情報判断回路群４０３の判断結果の示す次の管理情報において先頭フラグＦを有効にするものである。
【０１５０】
図２８は、本発明の第２の実施の形態における次管理情報更新回路４０８の動作の一例を示す図である。次管理情報判断回路群４０３から受け取ったＮＤ＃ｋ＝１であり、レスポンスが最終のリードデータまたはライトレスポンスである場合、次管理情報更新回路４０８は、先頭の次の管理情報（ＮＤ＃ｋ＝１）において、先頭フラグＦを「１」に更新する。
【０１５１】
［バスブリッジの動作］
図２９および図３０を参照して本発明の第２の実施形態のバッファ管理部２３０の動作について説明する。図２９は、本発明の第２の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。この新規管理情報登録処理は、ステップＳ９３６およびＳ９４１をさらに実行する点以外は、図２０に例示した第１の実施の形態の新規管理情報登録処理と同様である。
【０１５２】
新規管理情報登録部２４０は、選択したＶ＝０のエントリにおいてシリアルナンバーＳＮにＳＮ＿Ｌ＋１を設定し（ステップＳ９３５）、さらに先頭フラグＦに「０」を設定する（ステップＳ９３６）。また、新規管理情報登録部２４０は、選択した有効フラグＶ＝０のエントリにおいてシリアルナンバーＳＮに「０」を設定し（ステップＳ９４０）、さらに先頭フラグＦに「１」を設定する（ステップＳ９４１）。ステップＳ９３６またはＳ９４１の後、新規管理情報登録部２４０は、ステップＳ９３８を実行する。
【０１５３】
図３０は、本発明の第２の実施の形態におけるレスポンス処理の一例を示すフローチャートである。このレスポンス処理は、ステップＳ９８５を含まず、ステップＳ９８８をさらに実行する点以外は、図２１に例示した第１の実施の形態のレスポンス処理と同様である。
【０１５４】
レスポンス処理部３７０は、先頭の管理情報を無効にし（ステップＳ９８４）、先頭の管理情報の次の管理情報において先頭フラグＦを有効にする（ステップＳ９８８）。ステップＳ９８８の後、レスポンス処理部３７０はレスポンス処理を終了する。
【０１５５】
このように、本発明の第２の実施の形態によれば、バッファ管理部２３０は、リクエスト発行時に先頭フラグＦをさらに設定しておくことにより、レスポンスに対応するトランザクション情報のうちの先頭のトランザクション情報を容易に読み出すことができる。具体的には、先頭フラグＦを設定しない場合、図１７に例示したように先頭管理情報取得部２８０が、各シリアルナンバーＳＮを比較して最小のシリアルナンバーＳＮを求める必要がある。これに対し、先頭フラグＦを設定しておく場合、図２５に例示したように先頭管理情報取得部３８０は、各シリアルナンバーＳＮを比較する必要がなくなる。また、先頭フラグＦを設定しておくことにより、レスポンス処理においてシリアルナンバーＳＮを更新する必要がなくなる。
【０１５６】
＜３．第３の実施の形態＞
[バスブリッジの構成］
次に図３１乃至４６を参照して本発明の第３の実施の形態のバスブリッジについて説明する。図３１は、本発明の第３の実施の形態における管理情報の一例を示す図である。第３の実施の形態の管理情報は、順序情報が末尾フラグＬをさらに含む以外は、図２２に例示した第２の実施の形態の管理情報と同様である。末尾フラグＬは、当該管理情報がバッファ２２０内のトランザクション識別情報ｉｄが同一の管理情報のうちの発行順序における末尾であることを示す１ビットの情報である。例えば、末尾フラグＬは、管理情報が末尾である場合に「１」が設定されて有効となり、そうでない場合に「０」が設定されて無効となる。
【０１５７】
図３２は、本発明の第３の実施の形態におけるバッファ管理部４３０の一構成例を示すブロック図である。第２の実施の形態のバッファ管理部４３０は、新規管理情報登録部４４０、既存管理情報更新部４６５、および、レスポンス処理部３７０を備える。このレスポンス処理部３７０の構成は、図２４を参照して説明した第２の実施形態のレスポンス処理部３７０と同様の構成である。
【０１５８】
新規管理情報登録部４４０の構成は、先頭フラグＦおよび末尾フラグＬをさらに設定する点以外は、第１の実施の新規管理情報登録部２４０と同様の構成である。新規管理情報登録部４４０は、末尾管理情報取得部２５０および新規管理情報設定部２６０の代わりに末尾管理情報取得部４５０および新規管理情報設定部４６０（不図示）を備える。末尾管理情報取得部４５０および新規管理情報設定部４６０の構成については、図３３を参照して後述する。
【０１５９】
既存管理情報更新部４６５は、新規管理情報登録部４６０により先頭から２番目以降の管理情報が新規に登録された場合、新規の管理情報の登録前に末尾であった管理情報の末尾フラグＬを無効にするものである。
【０１６０】
図３３は、本発明の第３の実施の形態における末尾管理情報取得部４５０の一構成例を示すブロック図である。末尾管理情報取得部４５０は、末尾管理情報判断回路群４５１および末尾シリアルナンバー（ＳＮ）選択部４５５を備える。
【０１６１】
末尾管理情報判断回路群４５１は、各管理情報が、レスポンスに対応する管理情報のうちの発行順序における末尾の管理情報であるか否かを判断するものである。末尾管理情報判断回路群４５１は、エントリの数（例えば、１６個）と同数の末尾管理情報判断回路４５２を備える。各末尾管理情報判断回路４５２は、識別子（ＩＤ）一致判断部４５３およびＡＮＤゲート４５４を備える。
【０１６２】
ＩＤ一致判断部４５３は、発行ＩＤと、対応するエントリに格納されたトランザクション識別情報ｉｄとが一致するか否かを判断するものである。ＩＤ一致判断部４５３は、判断結果をＡＮＤゲート４５４に出力する。
【０１６３】
ＡＮＤゲート４５４は、入力値の論理積を出力するものである。ＡＮＤゲート４５４は、３つの入力端子と出力端子とを備える。１つ目の入力端子には、対応するエントリの有効フラグＶの値が入力され、２つ目の入力端子には、ＩＤ一致判断部４５３による判断結果が入力される。３つ目の入力端子には、対応するエントリの末尾フラグＬが入力される。ＡＮＤゲート４５４は、これらの入力値の論理積をＬＤ＃ｉとして最大ＳＮ選択部４５５に出力する。
【０１６４】
末尾ＳＮ選択部４５５は、各シリアルナンバーＳＮの中から、末尾の管理情報のシリアルナンバーＳＮを選択するものである。最大ＳＮ選択部４５５は、末尾管理情報判断回路群４５１からＬＤ＃１乃至１６を受け取り、バッファ２２０から各管理情報のシリアルナンバーＳＮを読み出す。最大ＳＮ選択部４５５は、各シリアルナンバーＳＮの中から、ＬＤ＃ｉ＝１の管理情報のシリアルナンバーＳＮを選択し、そのシリアルナンバーＳＮを末尾ナンバーＳＮ＿Ｌとして、ＬＤ＃１乃至１６とともに新規管理情報設定部４６０に出力する。
【０１６５】
新規管理情報設定部４６０の構成は、先頭フラグＦおよび末尾フラグＬをさらに設定する点以外は、第１の実施形態の新規管理情報設定部２６０の構成と同様である。
【０１６６】
図３４は、本発明の第３の実施の形態における新規管理情報設定回路の動作の一例を示す図である。
【０１６７】
有効フラグＶ＃１乃至１６のうちのいずれかが「０」であり、かつ、ＬＤ＃ｉ（ｉは１乃至１６の整数）＝１の場合について説明する。この場合、新規に登録する管理情報は、発行順序において先頭から２番目以降の末尾の管理情報である。従って、新規管理情報設定回路は、有効フラグＶ、トランザクション識別情報ｉｄ、シリアルナンバーＳＮ、先頭フラグＦ、および、トランザクション情報を設定し、さらに末尾フラグＬに「１」を設定する。また、新規管理情報設定回路は、既存管理情報設定回路４６５にＬＤ＃１乃至１６を出力する。
【０１６８】
有効フラグＶ＃１乃至１６のうちのいずれかが「０」であり、かつ、ＬＤ＃１乃至１６が全て「０」の場合について説明する。この場合、新規に登録する管理情報は発行順序において先頭であり、同時に末尾でもある。従って、新規管理情報設定回路２６２は、有効フラグＶ、トランザクション識別情報ｉｄ、シリアルナンバーＳＮ、先頭フラグＦ、および、トランザクション情報を設定し、さらに末尾フラグＬに「１」を設定する。
【０１６９】
図３５は、本発明の第３の実施の形態における既存管理情報更新部４６５の動作の一例を示す図である。ＬＤ＃ｉ＝１である場合、既存管理情報更新部４６５は、末尾の管理情報（ＬＤ＃ｉ＝１）において末尾フラグＬに「０」を設定する。
【０１７０】
［バスブリッジの動作］
図３６乃至３８を参照して本発明の第３の実施形態のバッファ管理部４３０の動作について説明する。図３６は、本発明の第３の実施の形態におけるバッファ管理部４３０の動作の一例を示すフローチャートである。この動作は、ステップＳ９５０をさらに実行する点以外は、第２の実施の形態におけるバッファ管理部２３０の動作と同様である。
【０１７１】
バッファ管理部４３０は、新規管理情報登録処理を実行した後（ステップＳ９３０）、既存管理情報更新処理を実行する（ステップＳ９５０）。ステップＳ９５０の後、バッファ管理部４３０は、ステップＳ９７０を実行する。
【０１７２】
図３７は、本発明の第３の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。この新規管理情報登録処理は、ステップＳ９３７をさらに実行する点以外は、図２９に例示した第２の実施の形態の新規管理情報登録処理と同様である。選択したＶ＝０のエントリにおいて、先頭フラグＦを設定し（ステップＳ９３６またはＳ９４１）、新規管理情報登録部４４０は、末尾フラグＬに「１」を設定する（ステップＳ９３７）。ステップＳ９３７の後、新規管理情報登録部４４０は、ステップＳ９３８を実行する。
【０１７３】
図３８は、本発明の第３の実施の形態における既存管理情報更新処理の一例を示すフローチャートである。既存管理情報更新部４６５は、新規管理情報登録部４４０により先頭から２番目以降の管理情報が登録されたか否かを判断する（ステップＳ９５１）。先頭から２番目以降の管理情報が登録された場合（ステップＳ９５１：Ｙｅｓ）について説明する。この場合、既存管理情報更新部４６５は、発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報のうちの末尾（ＬＤ＃ｉ＝１）を取得する。既存管理情報更新部４６５は、取得した管理情報に末尾フラグＬに「０」を設定する（ステップＳ９５２）。先頭から２番目以降の管理情報が登録されていない場合（ステップＳ９５１：Ｎｏ）、または、ステップＳ９５２の後、既存管理情報更新部４６５は、既存管理情報更新処理を終了する。第３の実施の形態のレスポンス処理は、図３０に例示した第２の実施の形態のレスポンス処理と同様である。
【０１７４】
このように、バッファ管理部４３０は、リクエスト発行時に末尾フラグＬをさらに設定しておくことにより、リクエストに対応するシリアルナンバーＳＮのうちの末尾のシリアルナンバーＳＮを容易に取得することができる。具体的には、末尾フラグＬを設定しない場合、図１３に例示したように末尾管理情報取得部２５０が、各シリアルナンバーＳＮを比較して最大のシリアルナンバーＳＮを求める必要があった。これに対し、先頭フラグＦを設定しておく場合、図３３に例示したように末尾管理情報取得部４５０は、各シリアルナンバーＳＮを比較する必要がなくなる。
【０１７５】
続いて、図３９乃至４６を参照して、第３の実施の形態のバッファ管理部４３０の動作結果の一例について説明する。図３９に示すように、マスタ＃１からスレーブ＃２へリクエストが転送された場合について想定する。マスタ＃１は、発行ＩＤの値を１６進表記の「３」にして２回リクエストを発行したものとする。また、１回目のリクエスト発行前において、バッファ２２０のエントリは全て空であるものとする。
【０１７６】
１回目のリクエストが発行された場合、バッファ管理部４３０は、発行ＩＤ「３」とトランザクション識別情報ｉｄが一致する管理情報がバッファ２２０内に登録されているか否かを判断する。１回目のリクエスト発行時においてエントリが全て空であるため、新規に登録される管理情報は先頭かつ末尾の管理情報である。従って、図４０に示すように、バッファ管理部４３０は、バッファ２２０内の空のエントリ（例えば、エントリ＃１）に発行ＩＤを含む管理情報を設定し、設定時に先頭フラグＦおよび末尾フラグＬを有効にする。
【０１７７】
２回目のリクエストが発行された場合、発行ＩＤとトランザクション識別情報ｉｄが一致する管理情報が登録されているため、新規に登録される管理情報は、先頭から２番目以降の末尾の管理情報である。従って、図４１に示すように、バッファ管理部４３０は、バッファ２２０内の空のエントリ（例えば、エントリ＃４）に発行ＩＤ「３」を含む管理情報を設定し、設定時に先頭フラグＦは無効にし、末尾フラグＬを有効にする。そして、バッファ管理部４３０は、発行ＩＤとトランザクション識別情報ｉｄが一致する管理情報のうち、末尾であった管理情報（すなわち、エントリ＃１内の管理情報）の末尾フラグＬを無効にする。
【０１７８】
次に図４２に示すようにスレーブ＃２からマスタ＃１にレスポンスが返送されたものとする。このレスポンスは、発行ＩＤ「３」のリクエストに応じて返送されたものであるから、レスポンスが含む発行ＩＤは「３」である。また、このレスポンスは、ＲＬＡＳＴ＝１が設定された最終のリードデータを含むものとする。その後、マスタ＃２からスレーブ＃１へリクエストが転送されたものとする。このリクエストの発行ＩＤの値は１６進表記の「Ｂ」であるものとする。
【０１７９】
最終のリードデータが返送された場合、バッファ管理部４３０は、そのリードデータの発行ＩＤ「３」と同一のトランザクション識別情報ｉｄの管理情報のうちの先頭の管理情報内のトランザクション情報をバッファ２２０から読み出す。すなわち、バッファ管理部４３０は、トランザクション識別情報ｉｄが「３」で、先頭フラグＦが有効の管理情報（エントリ＃１の管理情報）内のトランザクション情報を読み出す。バッファ管理部４３０は、図４３に示すように、読み出した管理情報を無効にしてエントリ＃１を空にする。また、バッファ管理部４３０は、読み出した管理情報の次の管理情報（エントリ＃４の管理情報）において先頭フラグＦを有効にする。
【０１８０】
発行ＩＤ「Ｂ」のリクエストが転送された場合、その発行ＩＤ「Ｂ」と一致するトランザクション識別情報ｉｄの管理情報は格納されていないため、新規に登録される管理情報は先頭かつ末尾の管理情報となる。図４３に示すように、バッファ管理部４３０は、バッファ２２０内の空のエントリ（例えば、エントリ＃２）に発行ＩＤを含む管理情報を設定し、先頭フラグＦおよび末尾フラグＬを有効にする。
【０１８１】
この後、図４４に示すようにスレーブ＃２からマスタ＃１にレスポンスが返送されたものとする。このレスポンスは、発行ＩＤ「３」のリクエストに対応するものであるから、レスポンスが含む発行ＩＤは「３」である。また、このレスポンスは、リードラストＲＬＡＳＴ＝０が設定された最終でないリードデータを含むものとする。
【０１８２】
さらに、図４５に示すようにスレーブ＃１からマスタ＃２にレスポンスが返送されたものとする。このレスポンスは、発行ＩＤ「Ｂ」のリクエストに対応するものであるから、レスポンスが含む発行ＩＤは「Ｂ」である。また、このレスポンスは、リードラストＲＬＡＳＴ＝１が設定された最終のリードデータを含むものとする。
【０１８３】
最終でないリードデータが返送された場合、バースト転送が完了していないため、バッファ管理部４３０は、図４６に示すように、そのリードデータに対応する管理情報（エントリ＃４の管理情報）を無効にしない。一方、最終のリードデータが返送された場合、バッファ管理部４３０は、そのリードデータの発行ＩＤ「Ｂ」に対応する管理情報（エントリ＃２の管理情報）内のトランザクション情報を読み出して、そのエントリ＃２を空にする。
【０１８４】
このように、本発明の第３の実施の形態によれば、バッファ管理部４３０は、トランザクション識別情報ｉｄをトランザクション情報に対応付けて保持する。このため、バスブリッジ２００は、発行ＩＤの異なる複数のトランザクションのそれぞれのリクエストおよびレスポンスを独立して制御することができる。この結果、スプリットトランザクションが実現可能となる。また、順序情報をトランザクション情報に対応付けておくため、バスブリッジ２００は、トランザクションにおいて複数のリクエストが発行された場合であっても、リクエストの発行順序に従って、レスポンスに対応するトランザクション情報を読み出すことができる。
【０１８５】
＜４．第４の実施の形態＞
[バスブリッジの構成］
次に図４７乃至５５を参照して本発明の第４の実施の形態のバスブリッジについて説明する。図４７は、本発明の第４の実施の形態における管理情報の一例を示す図である。第４の実施の形態の管理情報は、シリアルナンバーＳＮの代わりにネクストエントリＮｅｘｔを含む点以外は、図８に例示した第１の実施の形態の管理情報と同様である。ネクストエントリＮｅｘｔは、発行順序における当該管理情報の次の管理情報が格納されているエントリの位置を示す情報である。発行順序における末尾の管理情報の場合、その管理情報自身を格納したエントリの位置を示す情報がネクストエントリＮｅｘｔとして設定される。ネクストエントリＮｅｘｔのとりうる値の個数は、バッファ２２０内のエントリ数以上とされる。例えば、エントリ数が１６個の場合、少なくとも４ビットのネクストエントリＮｅｘｔが設定される。
【０１８６】
なお、上述の実施の形態のネクストエントリＮｅｘｔは、特許請求の範囲に記載の次位置情報の一例である。
【０１８７】
図４８は、本発明の第３の実施の形態におけるバッファ管理部５３０の一構成例を示すブロック図である。バッファ管理部５３０は、新規管理情報登録部５４０、既存管理情報更新部５６５、および、レスポンス処理部５７０を備える。
【０１８８】
新規管理情報登録部５４０は、シリアルナンバーＳＮの代わりにネクストエントリＮｅｘｔを管理情報に設定する点以外は、第１の実施の形態の新規管理情報登録部２４０と同様の構成である。新規管理情報登録部５４０は、新規に管理情報を格納したエントリを示す番号（以下、「新規エントリ番号」と称する）を既存管理情報更新部５６５に信号線８５１を介して出力する。また、新規管理情報登録部５４０は、末尾の管理情報に対応するビットに「１」を設定したＬＤ＃１〜１６を既存管理情報更新部５６５に信号線８４２を介して出力する。
【０１８９】
既存管理情報更新部５６５は、末尾であった管理情報（ＬＤ＃ｉ＝１）内のネクストエントリＮｅｘｔの値を、新規エントリ番号に更新するものである。
【０１９０】
レスポンス処理部５７０は、先頭管理情報取得部２８０および先頭管理情報更新部２９０の代わりに先頭管理情報取得部５８０および先頭管理情報更新部５９０を備える点において図１６に例示した第１の実施の形態のレスポンス処理部２７０と異なる。先頭管理情報取得部５８０および先頭管理情報更新部５９０の構成については、図５３を参照して後述する。
【０１９１】
図４９は、本発明の第４の実施の形態における新規管理情報登録部５４０の一構成例を示すブロック図である。新規管理情報登録部５４０は、発行識別子（ＩＤ）取得回路２４１と、末尾管理情報取得部５５０と、新規管理情報設定部５６０とを備える。
【０１９２】
発行ＩＤ取得回路２４１は、リクエストから発行ＩＤを取得するものである。発行ＩＤ取得回路２４１は、リクエストから発行ＩＤを取り出し、信号線８２１を介して末尾管理情報取得部５５０に出力する。
【０１９３】
末尾管理情報取得部５５０は、各エントリにおける、有効フラグＶ、トランザクション識別情報ｉｄ、および、ネクストエントリＮｅｘｔと発行ＩＤとに基づいて発行順序における末尾の管理情報を取得するものである。具体的には、末尾管理情報取得部５５０は、管理情報内のネクストエントリＮｅｘｔの示すエントリが、その管理情報自身を格納するエントリである管理情報を末尾として求める。末尾管理情報取得部５５０は、末尾の管理情報に対応するビットに「１」を設定したＬＤ＃１乃至１６を新規管理情報設定部５６０および既存管理情報設定部５６５に信号線８４２を介して出力する。
【０１９４】
新規管理情報設定部５６０は、リクエストに基づいて管理情報に各情報を設定するものである。新規管理情報設定部５６０は、相互接続部２１０からリクエストを受け取った場合、バッファ２２０の各エントリの有効フラグＶを参照してバッファ２２０内に空きがあるか否かを判断する。空きがなければ、新規管理情報設定部５６０は、バッファフル通知を相互接続部２１０に返す。空きがあれば、新規管理情報設定部５６０は、空いているエントリのいずれかを選択する。新規管理情報設定部５６０は、選択したエントリにおいて、リクエスト、および、ＬＤ＃１乃至１６に基づいて管理情報を設定する。管理情報の設定内容の詳細については、図５１を参照して後述する。また、新規管理情報設定部５６０は、新規エントリ番号を既存管理情報設定部５６５に信号線８５１を介して出力する。
【０１９５】
図５０は、本発明の第４の実施の形態における末尾管理情報取得部５５０の一構成例を示すブロック図である。末尾管理情報取得部５５０は、末尾管理情報判断回路群５５１を備える。
【０１９６】
末尾管理情報判断回路群５５１は、各管理情報が末尾の管理情報であるか否かを判断するものである。末尾管理情報判断回路群５５１は、エントリの数（例えば、１６個）と同数の末尾管理情報判断回路５５２を備える。各末尾管理情報判断回路５５２は、識別子（ＩＤ）一致判断部５５３、末尾ネクストエントリ（Ｎｅｘｔ）判断部５５４、および、ＡＮＤゲート５５５を備える。
【０１９７】
ＩＤ一致判断部５５３は、発行ＩＤと、対応するエントリに格納されたトランザクション識別情報ｉｄとが一致するか否かを判断するものである。ＩＤ一致判断部５５３は、判断結果をＡＮＤゲート５５５に出力する。
【０１９８】
末尾Ｎｅｘｔ判断部５５４は、対応するエントリに格納されたネクストエントリＮｅｘｔが、そのエントリ自身を示すものであるか否かを判断するものである。末尾Ｎｅｘｔ判断部５５４は、判断結果をＡＮＤゲート５５５に出力する。
【０１９９】
ＡＮＤゲート５５５は、入力値の論理積を出力するものである。ＡＮＤゲート５５５は、３つの入力端子と出力端子とを備える。１つ目の入力端子には、対応するエントリの有効フラグＶの値が入力され、２つ目の入力端子には、ＩＤ一致判断部５５３による判断結果が入力される。３つ目の入力端子には、末尾Ｎｅｘｔ判断部５５４による判断結果が入力される。ＡＮＤゲート５５５は、これらの入力値の論理積をＬＤ＃ｉとして新規管理情報設定部５６０に出力する。
【０２００】
図５１は、本発明の第４の実施の形態における新規管理情報設定部５６０内の新規管理情報設定回路の動作の一例を示す図である。
【０２０１】
有効フラグＶ＃１乃至１６のうちのいずれかが「１」であり、かつ、ＬＤ＃ｉ＝１の場合について説明する。この場合、新規に登録する管理情報は、発行順序において先頭から２番目以降の末尾の管理情報である。従って、新規管理情報設定回路は、有効フラグＶ、トランザクション識別情報ｉｄ、および、トランザクション情報を設定し、さらにネクストエントリＮｅｘｔに新規エントリ番号を設定する。また、新規管理情報設定回路は、既存管理情報更新部５６５に新規エントリ番号を通知する。
【０２０２】
有効フラグＶ＃１乃至１６のうちのいずれかが「０」であり、かつ、ＬＤ＃１乃至１６が全て「０」の場合について説明する。この場合、新規に登録する管理情報は発行順序において先頭であり、同時に末尾でもある。従って、新規管理情報設定回路は、有効フラグＶ、トランザクション識別情報ｉｄ、および、トランザクション情報を設定し、さらにネクストエントリＮｅｘｔに新規エントリ番号を設定する。
【０２０３】
図５２は、本発明の第４の実施の形態における既存管理情報更新部５６５の動作の一例を示す図である。ＬＤ＃ｉ＝１である場合、既存管理情報更新部５６５は、末尾の管理情報（ＬＤ＃ｉ＝１）においてネクストエントリＮｅｘｔに新規エントリ番号を設定する。
【０２０４】
図５３は、本発明の第４の実施の形態における先頭管理情報取得部５８０の一構成例を示すブロック図である。先頭管理情報取得部５８０は、ネクストエントリ（Ｎｅｘｔ）取得回路群５８１および先頭管理情報選択部５８６を備える。
【０２０５】
Ｎｅｘｔ取得回路群５８１の構成は、シリアルナンバーＳＮの代わりにネクストエントリＮｅｘｔを取得する点以外は、図１３に例示したＳＮ取得回路群２５１と同様の構成である。
【０２０６】
先頭管理情報選択部５８６は、取得された各ネクストエントリＮｅｘｔに基づいて先頭の管理情報を求めるものである。先頭管理情報選択部５８６は、各ネクストエントリＮｅｘｔのうち、他のネクストエントリＮｅｘｔにより参照されていないネクストエントリＮｅｘｔを選択する。先頭管理情報選択部５８６は、選択したネクストエントリＮｅｘｔに対応するビットに「１」を設定したＦＤ＃１乃至１６を先頭管理情報更新部５９０に出力する。
【０２０７】
［バスブリッジの動作］
図５４は、本発明の第４の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。新規管理情報登録部５４０は、バッファ２２０内に空きのエントリ（Ｖ＝０）があるか否かを判断する（ステップＳ９３１）。空きのエントリがない場合（ステップＳ９３１：Ｎｏ）、新規管理情報登録部５４０は、バッファフル通知を発行する（ステップＳ９３２）。
【０２０８】
空きのエントリがある場合（ステップＳ９３１：Ｙｅｓ）、新規管理情報登録部５４０は、いずれかのＶ＝０のエントリを選択する。新規管理情報登録部５４０は、選択したエントリにおいて、有効フラグＶに「１」を設定し、トランザクション情報ｉｄに発行ＩＤを設定する（ステップＳ９３４）。また、新規管理情報登録部５４０は、そのエントリにおいて、ネクストエントリＮｅｘｔに新規エントリ番号を設定する（ステップＳ９９０）。新規管理情報登録部５４０は、そのエントリにおいて、リクエストに基づいてトランザクション情報を設定する（ステップＳ９３８）。
【０２０９】
ステップＳ９３２またはＳ９３８の後、新規管理情報登録部５４０は新規管理情報登録処理を終了する。
【０２１０】
図５５は、本発明の第４の実施の形態における既存管理情報更新処理の一例を示すフローチャートである。既存管理情報更新部５６５は、新規管理情報登録部５４０により先頭から２番目以降の管理情報が登録されたか否かを判断する（ステップＳ９５１）。先頭から２番目以降の管理情報が登録された場合（ステップＳ９５１：Ｙｅｓ）について説明する。この場合、既存管理情報更新部５６５は、発行ＩＤと同一のトランザクション識別情報ｉｄの管理情報のうちの末尾（ＬＤ＃ｉ＝１）を取得する。既存管理情報更新部５６５は、取得した管理情報においてネクストエントリＮｅｘｔに新規エントリ番号を設定する（ステップＳ９９１）。先頭から２番目以降の管理情報が登録されていない場合（ステップＳ９５１：Ｎｏ）、または、ステップＳ９９１の後、既存管理情報更新部５６５は、既存管理情報更新処理を終了する。
【０２１１】
第４の実施の形態のレスポンス処理は、第１の実施の形態のレスポンス処理と同様である。
【０２１２】
このように、本発明の第４の実施の形態によれば、リクエスト発行時にネクストエントリＮｅｘｔを設定しておくことにより、バッファ管理部５３０は、リクエストに対応する管理情報のうちの末尾の管理情報を容易に取得することができる。具体的には、ネクストエントリＮｅｘｔを設定しない場合、図１３に例示したように末尾管理情報取得部２５０が、各シリアルナンバーＳＮを比較して最大のシリアルナンバーＳＮを求める必要がある。これに対し、ネクストエントリＮｅｘｔを設定しておく場合、図３３に例示したように末尾管理情報取得部４５０は、各シリアルナンバーＳＮを比較する必要がなくなる。
【０２１３】
＜５．第５の実施の形態＞
［バスブリッジの構成］
次に図５６乃至６０を参照して本発明の第５の実施の形態のバスブリッジについて説明する。図５６は、本発明の第５の実施の形態における管理情報の一例を示す図である。第５の実施の形態の管理情報は、順序情報が先頭フラグＦをさらに含む以外は、図４７に例示した第４の実施の形態の管理情報と同様である。先頭フラグＦは、当該管理情報がバッファ２２０内のトランザクション識別情報ｉｄが同一の管理情報のうちの発行順序における先頭であることを示す１ビットの情報である。
【０２１４】
第５の実施の形態の新規管理情報登録部５４０の構成は、先頭フラグＦをさらに設定する点以外は、図４７に示した第４の実施形態の新規管理情報登録部５４０と同様の構成である。また、第５の実施の形態の既存管理情報更新部５６５の構成は、第４の実施の形態の既存管理情報更新部５６５の構成と同様である。
【０２１５】
第５の実施の形態のレスポンス処理部５７０の構成は、次管理情報更新部４００の代わりに次管理情報更新部６００（不図示）を備える点以外は、図２４に例示した第２の実施の形態のレスポンス処理部３７０と同様の構成である。次管理情報更新部６００の構成の詳細については、図５８を参照して後述する。
【０２１６】
図５７は、本発明の第５の実施の形態における新規管理情報設定回路の動作の一例を示す図である。
【０２１７】
有効フラグＶ＃１乃至１６のうちのいずれかが「１」であり、かつ、ＬＤ＃ｉ（ｉは１乃至１６の整数）＝１の場合について説明する。この場合、新規に登録する管理情報は、発行順序において末尾である。従って、新規管理情報設定回路は、有効フラグＶ、トランザクション識別情報ｉｄ、ネクストエントリＮｅｘｔ、および、トランザクション情報を設定し、さらに先頭フラグＦに「０」を設定する。また、新規管理情報設定回路は、新規エントリ番号を既存管理情報更新部４６５に通知する。
【０２１８】
有効フラグＶ＃１乃至１６のうちのいずれかが「１」であり、かつ、ＬＤ＃１乃至１６が全て「０」の場合について説明する。この場合、新規に登録する管理情報は発行順序において先頭である。従って、従って、新規管理情報設定回路は、有効フラグＶ、トランザクション識別情報ｉｄ、ネクストエントリＮｅｘｔ、および、トランザクション情報を設定し、さらに先頭フラグＦに「１」を設定する。
【０２１９】
図５８は、本発明の第５の実施の形態における次管理情報更新部６００の一構成例を示すブロック図である。次管理情報更新部６００は、次管理情報更新回路６０８を備える。次管理情報更新回路６０８は、先頭の次の管理情報における先頭フラグＦを有効にするものである。次管理情報更新回路６０８は、先頭管理情報取得部３８０からＦＤ＃１乃至１６を受け取る。次管理情報更新回路６０８は、先頭の管理情報（ＦＤ＃ｉ＝１）内のネクストエントリＮｅｘｔの示すエントリに有効な管理情報が格納されていれば、そのエントリにおいて、先頭フラグＦを有効にする。
【０２２０】
［バスブリッジの動作］
図５９を参照して本発明の第５の実施形態のバッファ管理部の動作について説明する。図５８は、本発明の第５の実施の形態における新規管理情報登録処理の一例を示すフローチャートである。この新規管理情報登録処理は、ステップＳＳ９３５およびＳ９４０の代わりにＳ９９１およびＳ９９２を実行する点以外は、図２９に例示した第２の実施の形態の新規管理情報登録処理と同様である。
【０２２１】
新規管理情報登録部５４０は、ステップＳ９３４の後、ネクストエントリＮｅｘｔに新規エントリ番号を設定する（ステップＳ９９１）。また、新規管理情報登録部５４０は、ステップＳ９３９の後においても、ネクストエントリＮｅｘｔに新規エントリ番号を設定する（ステップＳ９９２）。
【０２２２】
図６０乃至図６２を参照して、第５の実施の形態のバッファ管理部５３０の動作結果の一例について説明する。図３９に示すように、マスタ＃１からスレーブ＃２へ、発行ＩＤ「３」のリクエストが２回転送された場合について想定する。１回目のリクエストが発行される前において、バッファ２００のエントリは全て空であるものとする。
【０２２３】
１回目のリクエストが発行された場合、バッファ管理部５３０は、発行ＩＤとトランザクション識別情報ｉｄが一致する管理情報がバッファ２２０内に登録されているか否かを判断する。１回目のリクエスト発行時においてエントリが全て空であるため、新規に登録される管理情報は先頭かつ末尾の管理情報である。従って、図６０に示すように、バッファ管理部５３０は、バッファ２２０内の空のエントリ（例えば、エントリ＃１）に発行ＩＤを含む管理情報を設定し、先頭フラグＦを有効にする。このエントリ内の管理情報は末尾であるから、バッファ管理部５３０は、そのエントリ自身を示す新規エントリ番号「０」をネクストエントリＮｅｘｔに設定する。
【０２２４】
２回目のリクエストが発行された場合、発行ＩＤとトランザクション識別情報ｉｄが一致する管理情報が登録されているため、新規に登録される管理情報は、先頭でなく末尾の管理情報である。従って、図６１に示すように、バッファ管理部５３０は、バッファ２２０内の空のエントリ（例えば、エントリ＃４）に発行ＩＤ「３」を含む管理情報を設定し、先頭フラグＦは無効にする。このエントリ内の管理情報は末尾であるから、バッファ管理部５３０は、ネクストエントリＮｅｘｔにそのエントリ自身を示す新規エントリ番号「３」を設定する。そして、バッファ管理部５３０は、発行ＩＤとトランザクション識別情報ｉｄが一致する管理情報のうち、末尾であった管理情報（すなわち、エントリ＃１内の管理情報）のネクストエントリＮｅｘｔを新規エントリ番号「３」により更新する。
【０２２５】
次に、図４２に示したように、スレーブ＃２からマスタ＃１に発行ＩＤ「３」のレスポンスが返送されたものとする。また、このレスポンスは、リードラストＲＬＡＳＴ＝１が設定された最終のリードデータを含むものとする。
【０２２６】
最終のリードデータが返送された場合、バッファ管理部５３０は、トランザクション識別情報ｉｄが「３」で、先頭フラグＦが有効の管理情報（エントリ＃１の管理情報）内のトランザクション情報を読み出す。バッファ管理部５３０は、図６２に示すように、読み出した管理情報を無効にしてエントリ＃１を空にする。また、バッファ管理部５３０は、読み出した管理情報のネクストエントリＮｅｘｔの示すエントリにおいて先頭フラグＦを有効にする。
【０２２７】
このように、本発明の第５の実施の形態によれば、先頭フラグＦをさらに設定しておくことにより、バッファ管理部５３０は、レスポンスに対応するトランザクション情報のうちの先頭のトランザクション情報を容易に読み出すことができる。また、ネクストエントリＮｅｘｔを設定することにより、バッファ管理部５３０は、先頭の次の管理情報を容易に取得することができる。具体的には、ネクストエントリＮｅｘｔを設定しない場合、図２６および図２７に例示したようにＳＮ＿Ｌ＋１を求める加算器や、ＳＮ＿Ｌ＋１と各ＳＮとを比較する回路が必要となる。これに対して、ネクストエントリＮｅｘｔを設定しておいた場合、ネクストエントリＮｅｘｔを参照するだけでよいため、図５８に例示したように、加算器等の回路が不要となる。
【０２２８】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０２２９】
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【符号の説明】
【０２３０】
１１０  マスタ
１２０、１３０  ＡＸＩバス
１４０  スレーブ
２００  バスブリッジ
２１０  相互接続部
２２０  バッファ
２３０、４３０、５３０  バッファ管理部
２１１、２１３  変換情報生成器
２１２  アドレスチャネルバスマトリックス
２１４  レスポンスチャネルバスマトリックス
２４０、４４０、５４０  新規管理情報登録部
２４１、２７１  発行識別子（発行ＩＤ）取得回路
２５０、４５０、５５０  末尾管理情報取得部
２５２、２８２  シリアルナンバー（ＳＮ）取得回路
２５３、２８３、３８３、４０５、４５３、５５３、５８３  ＩＤ一致判断部
２５６  最大シリアルナンバー（ＳＮ）選択部
２６０、４６０、５６０  新規管理情報設定部
２６１、４０２  加算器
２６２  新規管理情報設定回路
２７０、３７０、５７０  レスポンス処理部
２８０、３８０、５８０  先頭管理情報取得部
２８６  最小シリアルナンバー（ＳＮ）選択部
２９０、３９０、５９０  先頭管理情報更新部
３８２  先頭管理情報判断回路
４００、６００  次管理情報更新部
４０１  先頭管理情報シリアルナンバー（ＳＮ）選択回路
４０４  次管理情報判断回路
４０６  シリアルナンバー（ＳＮ）一致判断部
４０８、６０８  次管理情報更新回路
４５０、５５０  末尾管理情報取得部
４５５  末尾ＳＮ選択部
４５２、５５２  末尾管理情報判断回路
４６５、５６５  既存管理情報更新部
５５４  末尾ネクストエントリ（Ｎｅｘｔ）判断部
５８６  先頭管理情報選択部
【図１】
2012118906.tif 000003
【図２】
2012118906.tif 000004
【図３】
2012118906.tif 000005
【図４】
2012118906.tif 000006
【図５】
2012118906.tif 000007
【図６】
2012118906.tif 000008
【図７】
2012118906.tif 000009
【図８】
2012118906.tif 000010
【図９】
2012118906.tif 000011
【図１０】
2012118906.tif 000012
【図１１】
2012118906.tif 000013
【図１２】
2012118906.tif 000014
【図１３】
2012118906.tif 000015
【図１４】
2012118906.tif 000016
【図１５】
2012118906.tif 000017
【図１６】
2012118906.tif 000018
【図１７】
2012118906.tif 000019
【図１８】
2012118906.tif 000020
【図１９】
2012118906.tif 000021
【図２０】
2012118906.tif 000022
【図２１】
2012118906.tif 000023
【図２２】
2012118906.tif 000024
【図２３】
2012118906.tif 000025
【図２４】
2012118906.tif 000026
【図２５】
2012118906.tif 000027
【図２６】
2012118906.tif 000028
【図２７】
2012118906.tif 000029
【図２８】
2012118906.tif 000030
【図２９】
2012118906.tif 000031
【図３０】
2012118906.tif 000032
【図３１】
2012118906.tif 000033
【図３２】
2012118906.tif 000034
【図３３】
2012118906.tif 000035
【図３４】
2012118906.tif 000036
【図３５】
2012118906.tif 000037
【図３６】
2012118906.tif 000038
【図３７】
2012118906.tif 000039
【図３８】
2012118906.tif 000040
【図３９】
2012118906.tif 000041
【図４０】
2012118906.tif 000042
【図４１】
2012118906.tif 000043
【図４２】
2012118906.tif 000044
【図４３】
2012118906.tif 000045
【図４４】
2012118906.tif 000046
【図４５】
2012118906.tif 000047
【図４６】
2012118906.tif 000048
【図４７】
2012118906.tif 000049
【図４８】
2012118906.tif 000050
【図４９】
2012118906.tif 000051
【図５０】
2012118906.tif 000052
【図５１】
2012118906.tif 000053
【図５２】
2012118906.tif 000054
【図５３】
2012118906.tif 000055
【図５４】
2012118906.tif 000056
【図５５】
2012118906.tif 000057
【図５６】
2012118906.tif 000058
【図５７】
2012118906.tif 000059
【図５８】
2012118906.tif 000060
【図５９】
2012118906.tif 000061
【図６０】
2012118906.tif 000062
【図６１】
2012118906.tif 000063
【図６２】
2012118906.tif 000064
【手続補正書】
【提出日】平成23年1月24日(2011.1.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
図９は、本発明の第１の実施の形態における相互接続部２１０の一構成例を示すブロック図である。相互接続部２１０は、変換情報生成器２１１および２１３を備える。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
変換情報生成器２１１は、ＡＸＩバス１２０から受信したリクエストをＡＸＩバス１３０の仕様に基づき必要に応じて変換するものである。変換情報生成器２１１は、ＡＸＩバス１２０からリクエストを受信した場合、リクエストをバッファ管理部２３０に出力する。そして、変換情報生成器２１１は、リクエストに応じてバッファ管理部２３０がバッファフル通知を発行したか否かを判断する。バッファフル通知が発行されたのであれば、変換情報生成器２１１は、そのリクエストを転送せず、発行元のマスタにバッファフル通知を送信する。例えば、変換情報生成器２１１は、ＡＸＩプロトコルのリードアドレスチャネルにおけるリードアドレスレディ（ＡＲＲＥＡＤＹ）に「０」を設定した信号をバッファフル通知として送信する。バッファフル通知が発行されなかったのであれば、変換情報生成器２１１は、ＡＸＩバス１２０から受信したリクエストを必要に応じて変換してＡＸＩバス１３０に出力する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
変換情報生成器２１３は、ＡＸＩバス１３０から受信したレスポンスをＡＸＩバス１２０の仕様およびトランザクション情報に基づき必要に応じて変換するものである。変換情報生成器２１３は、ＡＸＩバス１３０からレスポンスを受信した場合、そのレスポンスに対応するトランザクション情報をバッファ管理部２３０から受け取る。変換情報生成器２１３は、そのトランザクション情報とＡＸＩバス１３０の仕様とに基づき、必要に応じてレスポンスを変換してＡＸＩバス１２０に出力する。例えば、変換情報生成器２１３は、トランザクション情報の示すバースト転送の方式や転送先のバスのバス幅等に応じて転送データを結合または分割する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０２３０
【補正方法】変更
【補正の内容】
【０２３０】
１１０  マスタ
１２０、１３０  ＡＸＩバス
１４０  スレーブ
２００  バスブリッジ
２１０  相互接続部
２２０  バッファ
２３０、４３０、５３０  バッファ管理部
２１１、２１３  変換情報生成器
２４０、４４０、５４０  新規管理情報登録部
２４１、２７１  発行識別子（発行ＩＤ）取得回路
２５０、４５０、５５０  末尾管理情報取得部
２５２、２８２  シリアルナンバー（ＳＮ）取得回路
２５３、２８３、３８３、４０５、４５３、５５３、５８３  ＩＤ一致判断部
２５６  最大シリアルナンバー（ＳＮ）選択部
２６０、４６０、５６０  新規管理情報設定部
２６１、４０２  加算器
２６２  新規管理情報設定回路
２７０、３７０、５７０  レスポンス処理部
２８０、３８０、５８０  先頭管理情報取得部
２８６  最小シリアルナンバー（ＳＮ）選択部
２９０、３９０、５９０  先頭管理情報更新部
３８２  先頭管理情報判断回路
４００、６００  次管理情報更新部
４０１  先頭管理情報シリアルナンバー（ＳＮ）選択回路
４０４  次管理情報判断回路
４０６  シリアルナンバー（ＳＮ）一致判断部
４０８、６０８  次管理情報更新回路
４５０、５５０  末尾管理情報取得部
４５５  末尾ＳＮ選択部
４５２、５５２  末尾管理情報判断回路
４６５、５６５  既存管理情報更新部
５５４  末尾ネクストエントリ（Ｎｅｘｔ）判断部
５８６  先頭管理情報選択部
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2012118906.tif 000065