(57)【要約】      （修正有）【課題】マスタからのアクセスの発行順序で、独立で動作しているスレーブからレスポンスが返されるバスシステムを提供する。【解決手段】マスタと、第一のスレーブと、第二のスレーブと、バスを含み、マスタは、第一のスレーブに第一のアクセスを発行し、第一のアクセスに対するレスポンスを受信する前に、第二のスレーブに第二のアクセスを発行するバスシステムにおいて、バスは、マスタから第二のアクセスを受信した際に、第二のアクセスを第二のスレーブに発行し、バスは、マスタから第二のアクセスを受信した際に、第二のアクセスを第二のスレーブに発行し、第二のアクセスは、第一のアクセスがどのスレーブに発行されたかを示す先行アクセススレーブ情報を含み、第二のスレーブは、第二のアクセスに含まれる先行アクセススレーブ情報に基づいて、第一のアクセスの状態を第一のスレーブに問い合わせ、第一のスレーブは、第一のアクセスの状態を応答する。【選択図】図１
2020098386.tif 000002
【特許請求の範囲】
【請求項１】
マスタと、第一のスレーブと、第二のスレーブと、前記マスタから前記第一および第二のスレーブを接続するバスを含み、
前記マスタは、前記第一のスレーブに第一のアクセスを発行し、前記第一のアクセスに対するレスポンスを受信する前に、前記第二のスレーブに第二のアクセスを発行するバスシステムにおいて、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記第二のアクセスは、前記第一のアクセスがどのスレーブに発行されたかを示す先行アクセススレーブ情報を含み、
前記第二のスレーブは、前記第二のアクセスに含まれる先行アクセススレーブ情報に基づいて、第一のアクセスの状態を第一のスレーブに問い合わせ、
前記第一のスレーブは、前記第一のアクセスの状態を応答する、
バスシステム。
【請求項２】
前記第一及び第二のアクセスは、一連のアクセスであることを示す連続アクセス情報、及び、前記マスタからの一連のアクセスの先頭、中間、最後のいずれかを示す情報を含み、
前記第一及び第二のスレーブは、
アクセスの実行を制御するアクセス制御部と、
アクセスの状態を受信するアクセス可否問合部と、
アクセスの状態を通知するアクセス可否応答部を含み、
前記アクセス制御部は、
受信したアクセスが先頭のアクセスの場合、前記アクセスの状態に関係なくアクセスを許可し、
受信したアクセスが中間または最後のアクセスの場合、前記アクセスの状態を受信するまではアクセスを保留し、アクセスの状態を受信したらアクセスを許可し、
前記アクセス可否問合部は、受信したアクセスが前記中間もしくは最後のアクセスの場合、先行アクセススレーブにアクセスの状態を問い合わせ、
前記アクセス可否応答部は、アクセスの状態を後続アクセススレーブに応答することを特徴とする請求項１記載のバスシステム。
【請求項３】
前記アクセスの状態は、前記第一のアクセスが完了するまでの残り時間が確定した状態であり、前記第一のスレーブは、前記残り時間から、前記第二のスレーブが第二のアクセスを実行後、レスポンスを返送するまでにかかる時間を引いた時間が経過してから、前記第一のスレーブのアクセスの状態を、前記第二のスレーブに応答することを特徴とする
請求項２記載のバスシステム。
【請求項４】
前記アクセスの状態は、前記第一のアクセスが実行された状態であり、
前記第一のスレーブは、前記第一のスレーブがアクセスを実行後、レスポンスを返送するまでにかかる時間から、前記第二のスレーブがアクセスを実行後、レスポンスを返送するまでにかかる時間を引いた時間が経過してから、前記第一のスレーブのアクセスの状態を、前記第二のスレーブに応答することを特徴とする
請求項２記載のバスシステム。
【請求項５】
前記各スレーブ間の接続形態として、各スレーブ間を相互接続することを特徴とする
請求項１から請求項４の何れか１項に記載のバスシステム。
【請求項６】
前記各スレーブ間の接続形態として、各スレーブ間をリング状に接続することを特徴とする請求項１から請求項４の何れか１項に記載のバスシステム。
【請求項７】
前記第一および前記第二のスレーブはＤＲＡＭコントローラであることを特徴とする請求項１から請求項６の何れか１項に記載のバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスシステムに関し、特に、複数スレーブへの同時アクセスを許容したシステムにおいて、スレーブからのレスポンスの順序を保証するバスシステムに関する。
【背景技術】
【０００２】
近年、バスシステムにおいては、データ転送を要求するリクエストと実際のデータ転送であるレスポンスを独立して制御するスプリットトランザクションが導入されている。スプリットトランザクションでは、マスタは複数のスレーブに対して同時期にリクエストを発行することが可能になり、データの転送効率を向上させることができる。一方、同時期にリクエストを受け取った複数のスレーブは独立して動作しているため、各スレーブがマスタにレスポンスを返すタイミングは異なる。そのため、マスタがリクエストの発行順序と同じ順序でレスポンスが返されることを期待している場合、期待とは異なる順序でレスポンスが返されるおそれがある。
【０００３】
これに対し、マスタが先行して発行したリクエストとレスポンスの順序保証が必要なリクエストを異なるスレーブに発行した場合、先行リクエストに対するレスポンスがスレーブから返されるまで、異なるスレーブへのリクエスト発行を保留するバスがある。しかし、先行リクエストに対するレスポンスがスレーブから返されるまで次のリクエスト発行を保留するため、データの転送効率が低下してしまう。そのため、バスがバッファを持ち、期待する順序と異なる順序でスレーブから返されたレスポンスを期待する順序に並び替えるバスシステムが提案されている。（特許文献１参照）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−７３８５１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術では、バスのバッファを利用してスレーブからのレスポンスを期待する順序に並び替えることで順序保証をする。しかし、近年のバスマスタは一度のリクエストで大量のデータ転送を要求することが多い。例えば、データバス幅が１２８ビットのバスシステムで２５６ビート分のリードデータを要求する場合、少なくとも４０９６バイトのバッファが必要となり、バスの回路規模が増加してしまう。
【０００６】
本発明の目的は、マスタからのアクセスの発行順序で、独立で動作しているスレーブからレスポンスが返されるようにするバスシステムを提供することである。
【課題を解決するための手段】
【０００７】
本発明のバスシステムは、マスタと、第一のスレーブと、第二のスレーブと、前記マスタから前記第一および第二のスレーブを接続するバスを含み、
前記マスタは、前記第一のスレーブに第一のアクセスを発行し、前記第一のアクセスに対するレスポンスを受信する前に、前記第二のスレーブに第二のアクセスを発行するバスシステムにおいて、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記第二のアクセスは、前記第一のアクセスがどのスレーブに発行されたかを示す先行アクセススレーブ情報を含み、
前記第二のスレーブは、前記第二のアクセスに含まれる先行アクセススレーブ情報に基づいて、第一のアクセスの状態を第一のスレーブに問い合わせ、
前記第一のスレーブは、前記第一のアクセスの状態を応答する。
【発明の効果】
【０００８】
本発明によれば、複数スレーブへの同時アクセスを許容したシステムにおいて、異なるスレーブからのレスポンスの順序保証を比較的少ない回路で、データ転送効率の低下を抑制することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施例におけるバスシステムの構成図
【図２】第一の実施例におけるアクセス制御部の構成図
【図３】第一の実施例におけるアクセス可否問合部の構成図
【図４】第一の実施例におけるアクセス可否応答部の構成図
【図５】第一の実施例におけるバスシステムの挙動を示す波形図
【図６】第二の実施例におけるバスシステムの構成図
【図７】第二の実施例におけるアクセス可否問合部の構成図
【図８】第二の実施例におけるバスシステムの挙動を示す波形図
【図９】第三の実施例におけるスレーブ間を全接続したバスシステムの構成図
【図１０】第三の実施例におけるスレーブ間をリング状に接続したバスシステムの構成図
【図１１】第三の実施例におけるアクセス可否問合部の構成図
【図１２】第三の実施例におけるアクセス可否応答部の構成図
【発明を実施するための形態】
【００１０】
＜実施例１＞
図１は実施例におけるバスシステム１００の構成図である。バスシステム１００は、マスタ１１０、スレーブ（Ａ）１３１、スレーブ（Ｂ）１３２がバス１２０を介して接続されている。スレーブ（Ａ）１３１とスレーブ（Ｂ）１３２はＤＲＡＭコントローラであり、それぞれＤＲＡＭ（Ａ）１９１とＤＲＡＭ（Ｂ）１９２を制御する。本実施例では、スレーブ（Ａ）１３１とスレーブ（Ｂ）１３２はＤＲＡＭコントローラとしているが、マスタ１１０からのアクセスを処理してレスポンスを返すスレーブであればＤＲＡＭコントローラに限らない。マスタ１１０はアクセスをバス１２０に発行し、同じＩＤ情報と同じＤｉｒ情報を持つアクセスに対するレスポンスはアクセスを発行した順序で返されることを期待する。それ以外のアクセスに対するレスポンスは順不同で返されてもよい。アクセスにはアドレス情報、アクセスを識別するためのＩＤ情報、アクセスがリードかライトかを示すＤｉｒ情報、一連のアクセスであることを示す連続アクセス情報が含まれる。さらに、一連のアクセスの場合は、前記の情報以外に、一連のアクセスの先頭・中間・最後を示すアクセス位置情報と、先行アクセスがどのスレーブに発行されるかを示す先行アクセススレーブ情報が含まれる。
【００１１】
バス１２０は、マスタ１１０から受信したアクセスに含まれるアドレス情報に基づいてスレーブ（Ａ）１３１またはスレーブ（Ｂ）１３２に転送する。スレーブ（Ａ）１３１とスレーブ（Ｂ）１３２は受信したアクセスからＤＲＡＭコマンドを生成し、ＤＲＡＭ（Ａ）１９１、ＤＲＡＭ（Ｂ）１９２に発行する。また、スレーブ（Ａ）１３１とスレーブ（Ｂ）１３２は、アクセスの処理が完了するとレスポンスをバス１２０に送信し、バス１２０は受信したレスポンスをマスタ１１０に送信する。
【００１２】
アクセス制御部２００は、マスタ１１０からアクセスを受信すると、受信したアクセスに含まれる、連続アクセス情報と、アクセス位置情報に応じて、アクセスの実行を保留するか、アクセスの実行を許可するかを決定する。また、アクセス制御部２００は、実行が許可されたアクセスをＤＲＡＭに発行する。
【００１３】
アクセス可否問合部２２０は、前記アクセス制御部２００が保留したアクセスに対する先行アクセススレーブ情報、ＩＤ情報、Ｄｉｒ情報に応じて、該当するスレーブにアクセスの実行可否を問い合わせる。その結果、実行が許可されると判断したら、前記アクセスの保留を解除する。
【００１４】
アクセス可否応答部２１０は、前記実行が許可されたアクセスのＩＤ情報、Ｄｉｒ情報を保持する。後続アクセススレーブから問い合わせが来た際に該当のアクセスが保持されていた状態の場合、後続アクセスの実行を許可する。該当のアクセスが保持されていない場合、後続アクセスの実行を許可しない。
【００１５】
図２は第一の実施例におけるアクセス制御部２００の構成図である。
【００１６】
アクセス制御部２００は、アクセス保留判定部２０１と、アクセス保留部２０２と、アクセス実行部２０３を備える。
【００１７】
アクセス保留判定部２０１は、バス１２０からアクセスを受信すると、連続アクセス情報と、アクセス位置情報をデコードする。連続アクセス情報が一連のアクセスであることを示し、アクセス位置情報が中間または最後を示す場合、アクセスをアクセス保留部２０２に送信する。それ以外の場合は、アクセスをアクセス実行部２０３に送信する。
【００１８】
アクセス保留部２０２は、アクセス保留判定部２０１から受信したアクセスを保持し、保持されているアクセスのＩＤ情報、Ｄｉｒ情報、先行アクセススレーブ情報をアクセス可否問合部２２０に出力する。
【００１９】
前記アクセスに対して、アクセス可否問合部２２０から保留を解除するよう指示されたら、前記アクセスをアクセス実行部２０３に送信する。
【００２０】
アクセス実行部２０３は、アクセス保留判定部２０１およびアクセス保留部２０２から送信されたアクセスを保持し、ＤＲＡＭのプロトコル仕様やタイミング仕様に従って、前記アクセスをＤＲＡＭに発行する。
【００２１】
また、アクセス実行部２０３は、前記アクセスのアクセス位置情報が先頭、または、中間を示す場合、前記アクセスがＤＲＡＭに発行されて、レスポンス完了するまでの残り時間の確定を待つ。アクセス実行後、レスポンス完了するまでの残り時間が確定すると、前記連続アクセス情報、アクセス位置情報、残り時間、ＩＤ情報、Ｄｉｒ情報をアクセス可否応答部２１０に通知する。
【００２２】
図３は、第一の実施例におけるアクセス可否問合部２２０の構成図である。
【００２３】
アクセス可否問合部２２０は、アクセス問合テーブル２２２を備える。
【００２４】
アクセス問合テーブル２２２は、アクセス保留部２０２から、先行アクセススレーブ情報、Ｄｉｒ情報、ＩＤ情報を受信すると、それらの情報を一つのエントリとして登録する。アクセス可否問合部２２０は、先行アクセス問合テーブル２２２に新たにエントリが登録されると、先行アクセススレーブ情報をデコードし、該当するスレーブに対して問合信号をアサートし、Ｄｉｒ情報、ＩＤ情報を送信する。アクセス可否問合部２２０は、スレーブからアクセス応答信号を受信すると、アクセス問合テーブル２２２内のエントリから、該当するエントリを検索し、該当エントリを削除する。
【００２５】
図４は、第一の実施例における、アクセス可否応答部２１０の構成図である。アクセス可否応答部２１０は、アクセス応答テーブル２１２を備える。レスポンス時間保持部２１３は、アクセス制御部２００がＤＲＡＭにアクセスを発行してから、レスポンスがバスに返送されるまでにかかる、レスポンス時間の情報を持つ。アクセス応答テーブル２１２は、レスポンス時間保持部２１３から、レスポンス時間の情報を得る。
【００２６】
アクセス応答テーブル２１２は、他スレーブのアクセス可否問合部２２０からのアクセス問合信号と、Ｄｉｒ情報と、ＩＤ情報を受信する。アクセス応答テーブル２１２は、アクセス問合信号のアサートを検知すると、該当するアクセスのエントリが格納されていない場合は、Ｄｉｒ情報と、ＩＤ情報と、問合元スレーブの情報を、一つのエントリとして格納し、エントリの問合受信フラグをアサートする。該当するエントリが格納されており、レスポンス完了までの残り時間が、レスポンス時間より大きい場合は、該当するエントリの問合受信フラグをアサートする。該当するエントリが格納されており、残り時間がレスポンス時間以下である場合は、該当する問合元スレーブにアクセス応答信号をアサートし、該エントリを削除する。
【００２７】
アクセス応答テーブル２１２は、アクセス制御部２００においてアクセスがレスポンス完了するまでの残り時間が確定したタイミングで、連続アクセス情報、アクセス位置情報、残り時間、ＩＤ情報、Ｄｉｒ情報を受信する。そして、前記連続アクセス情報が一連のアクセスであることを示し、アクセス位置情報が先頭または中間を示し、前記アクセスのエントリが既に格納されている場合、該当するエントリの残り時間を格納し、残り時間通知済フラグをアサートする。前記アクセスのエントリが格納されていない場合、Ｄｉｒ情報、ＩＤ情報、残り時間を新たなエントリとして格納し、残り時間通知済フラグをアサートする。アクセス可否応答部２１０は、アクセス応答テーブル２１２内の各エントリの残り時間を毎サイクル０になるまでデクリメントする。アクセス可否応答部２１０は、アクセス応答テーブル２１２に、問合受信フラグ、残り時間通知済フラグがともにアサートされ、残り時間がレスポンス時間以下になったエントリが存在する場合、該当する問合元スレーブにアクセス応答信号をアサートする。また、アクセス可否応答部２１０は、該エントリを削除する。
【００２８】
図５は、第一の実施例におけるバスシステムの挙動を示す波形図である。本波形図ではマスタ１１０がスレーブ（Ａ）１３１にリードのＲＤ１を発行し、対応するレスポンスを受信する前に、スレーブ（Ｂ）１３２にリードのＲＤ１を発行した際の波形である。Ｄ１とＲＤ２は一連のアクセスであり、同じＩＤ情報である。
【００２９】
マスタ１１０は、Ｔ２でＲＤ１を発行し、Ｔ３でＲＤ２を発行する。ＲＤ２には、スレーブ（Ａ）を示す先行アクセススレーブ情報が含まれる。また、ＲＤ１が持つアクセス位置情報は、先頭であり、Ｄ２が持つアクセス位置情報は、最後である。Ｔ３でスレーブ（Ａ）は、ＲＤ１を受信する。ＲＤ１が持つ連続アクセス情報は、連続した転送の一部であることを示し、アクセス位置情報は先頭であるため、アクセス保留判定部２０１は、ＲＤ１を、アクセス実行部２０３に送信する。一方、Ｔ４で、スレーブ（Ｂ）１３２は、ＲＤ２を受信する。ＲＤ２は、連続アクセス情報が一連の転送の一部であることを示し、アクセス位置情報は最後であるため、アクセス保留判定部２０１は、ＲＤ２を、アクセス保留部２０２に送信する。同時に、アクセス保留部２０２からアクセス可否問合部２２０にＩＤ情報、Ｄｉｒ情報、先行アクセススレーブ情報が渡され、アクセス問合テーブル２２２に格納される。
【００３０】
Ｔ５から、スレーブ（Ｂ）１３２のアクセス可否問合部２２０は、アクセス許可問合信号をアサートし、Ｄｉｒ情報とＩＤ情報をスレーブ（Ａ）１３１に送信する。
【００３１】
スレーブ（Ａ）１３１のアクセス可否応答部２１０は、Ｔ５でＤｉｒ情報とＩＤ情報をスレーブ（Ｂ）から受信し、先行アクセス応答テーブルに、Ｄｉｒ情報とＩＤ情報と送信元スレーブ情報を格納し、問合受信フラグをアサートする。Ｔ６で、スレーブ（Ａ）１３１のアクセス実行部２０３は、ＲＤ１が発行されて、レスポンスが完了するまでの残り時間を確定し、アクセス可否応答部２１０にＲＤ１のＩＤ情報、Ｄｉｒ情報、レスポンス完了までの残り時間を送信する。アクセス可否応答部２１０はＲＤ１のＤｉｒ情報、ＩＤ情報、残り時間を受信し、先行アクセス応答テーブル２１２から、同じＤｉｒ情報、ＩＤ情報を持つエントリを検索する。Ｔ５でＲＤ１と同じＤｉｒ情報、ＩＤ情報を持つエントリがすでに登録されているため、アクセス応答テーブル２１２は、該当エントリの残り時間のみ登録し、残り時間通知済フラグをアサートする。アクセス可否応答部２１０は、Ｔ７から、毎サイクル、エントリ内部の残り時間をデクリメントする。
【００３２】
アクセス応答テーブル２１２に登録された、ＲＤ１のエントリのレスポンス完了までのサイクル数は、デクリメントの結果、Ｔ９でバスに対するレスポンス時間以下になる。アクセス可否応答部２１０は、Ｔ１１で、アクセス応答信号をアサートする。スレーブ（Ａ）１３１はＤＲＡＭ（Ａ）１９１に、ＲＤ１を発行し、Ｔ１６およびＴ１７にデータを受信する。また、Ｔ１７およびＴ１８にバス１２０にデータを送信する。バス１２０は、Ｔ１８およびＴ１９にマスタ１１０にデータを送信する。スレーブ（Ｂ）１３２のアクセス可否問合部２２０は、Ｔ１１でアクセス応答信号のアサートを検知すると、アクセス保留部２０２にＤｉｒ情報とＩＤ情報を送信する。スレーブ（Ｂ）１３２のアクセス保留部２０２は、該当するＤｉｒ情報とＩＤ情報を持つＲＤ２の保留を解除し、アクセス実行部２０３に送信する。スレーブ（Ｂ）１３２はＤＲＡＭ（Ｂ）１９２に、ＲＤ２を発行し、Ｔ１８およびＴ１９にデータを受信する。また、Ｔ１９およびＴ２０にバス１２０にデータを送信する。バス１２０は、Ｔ２０およびＴ２１にマスタ１１０にデータを送信する。
【００３３】
これにより、マスタはＴ１８およびＴ１９でＲＤ１のアクセスに対するレスポンスであるＤ１を受信し、Ｔ２０およびＴ２１でＲＤ２のアクセスに対するレスポンスであるＤ２を受信する。バス１２０にバッファを持つことなく、マスタ１１０が期待する順序でレスポンスを受信することができる。また、従来のように、バス１２０やマスタ１１０が先行リクエストに対するレスポンスがスレーブから返されるまで次のリクエスト発行を保留する場合より、レスポンスの状態に関係なく早いタイミングで発行できる。従来と比べて、データ転送効率の低下を抑制できる。
【００３４】
実施例において、アクセス実行部２０３は、ＤＲＡＭに発行されるまでの残り時間が確定したタイミングでＩＤ情報、Ｄｉｒ情報をアクセス可否問合部２１０に通知するものとしたが、それに限定されるものではない。例えば、アクセスがＤＲＡＭに発行されたタイミングでＩＤ情報、Ｄｉｒ情報を通知するものであってもよい。
【００３５】
＜実施例２＞
実施例１では、マスタが必ずレスポンスを受信できる前提で説明をした。
【００３６】
しかし、実際は、マスタがレスポンスの受信を保留する場合もある。
【００３７】
レスポンスの受信を保留するマスタが存在し、他のマスタとレスポンスの経路をシェアしている場合、前記マスタが発行したアクセスに対するレスポンスが前記マスタに受信されるまで、それ以降のアクセスに対するレスポンスは前記他のマスタに返せなくなる。
【００３８】
その場合、実施例１の方法ではレスポンスの順序を保証できない。実施例２は、更にこれを鑑みたものである。
【００３９】
図６は、第２の実施例におけるバスシステムの構成である。バスシステム１００では、マスタ１１０、マスタ１１１、スレーブ（Ａ）１３３、スレーブ（Ｂ）１３４がバス１２１を介して接続されている。マスタ１１０は実施例１と同じ構成で、マスタ１１１はレスポンスの受信を保留することができる。マスタ１１１は、レスポンスを受信すると、レスポンスの送信元のスレーブに対して、レスポンス受信完了信号を発行する。バス１２１は、実施例１のバス１２０に加えて、前記レスポンス受信完了信号を該当するスレーブに発行することができる。スレーブ（Ａ）１３３、スレーブ（Ｂ）１３４は、実施例１のスレーブ（Ａ）１３１、スレーブ（Ｂ）１３２に加えて、マスタ１１１からレスポンス受信完了信号を受信するまで、アクセス応答信号のアサートを保留する。
【００４０】
図７は、第２の実施例におけるアクセス可否応答部３１０の構成である。
【００４１】
アクセス可否応答部３１０は、アクセス応答テーブル３１２、レスポンス時間保持部３１３、保留可能マスタ情報保持部３１４、アクセス情報判定部３１５、アクセス許可保留制御部３１６を備える。また、アクセス可否応答部３１０は、実施例１のアクセス可否応答部２１０に加えて、レスポンス受信完了信号を受信するインタフェースを持つ。
【００４２】
アクセス応答テーブル３１２とレスポンス時間保持部３１３の構成は、実施例１のアクセス応答テーブル２１２、レスポンス時間保持部２１３と同様である。
【００４３】
保留可能マスタ情報保持部３１４は、スレーブにアクセスするマスタのうち、レスポンスの受信を保留する可能性があるマスタのＩＤ情報が予め設定される。
【００４４】
アクセス情報判定部３１５は、アクセス制御部２００から、連続アクセス情報、アクセス位置情報、アクセスがレスポンス完了するまでの残り時間、ＩＤ情報、Ｄｉｒ情報を受信する。まず、受信したアクセスのＩＤ情報がレスポンスを保留する可能性があるマスタからのアクセスか否かを確認する。レスポンスを保留するマスタからのアクセスである場合、アクセス許可保留制御部３１６に該当マスタからのレスポンス受信完了信号を受信するまで待つよう指示する。次に、連続アクセス情報と、アクセス位置情報をデコードし、一連のアクセスでない場合や、アクセス位置が最後の場合は、受信した情報を破棄する。それ以外の場合、実施例１と同様にアクセス応答テーブル３１２にエントリを登録する。
【００４５】
アクセス応答テーブル３１２は、登録済みのエントリの残り時間を毎サイクル０になるまでデクリメントする。
【００４６】
スレーブ（Ａ）は、第一のアクセスがレスポンス完了するまでの残り時間から、スレーブ（Ｂ）が第二のアクセスを実行後、レスポンスを返送するまでにかかる時間を引いた時間が経過してから、スレーブ（Ａ）のアクセスの状態をスレーブ（Ｂ）に応答する。
【００４７】
アクセス許可保留制御部３１６は、レスポンス受信完了信号を待つように指示を受けると、該当マスタからのレスポンス受信完了信号を受信するまで、アクセス応答テーブル３１２から出力されたアクセス応答信号を他スレーブに送信しない。レスポンス受信完了信号を受信すると、保留可能マスタ情報保持部３３１に保留する可能性があるマスタからのものか否かを確認する。レスポンスを保留できるマスタからのアクセスである場合、該当するアクセス応答信号の保留を解除し、該当するスレーブにアクセス応答信号を送信する。
【００４８】
図８は、第２の実施例におけるバスシステム１００の挙動を示す波形図である。
【００４９】
本波形図では、マスタ１１０は、第１の実施例同様に、ＲＤ１及びＲＤ２を発行する。マスタ１１１は、マスタ１１０に先だってスレーブ（Ａ）１３３にＲＤ０を発行する。マスタ１１１はレスポンスの受信を保留することができ、レスポンスの受信を完了するとレスポンス受信完了信号を、バス１２１をスレーブ（Ａ）１３３に発行する。
【００５０】
マスタ１１１は、Ｔ１でＲＤ０を発行する。マスタ１１０は、Ｔ２でＲＤ１を発行し、Ｔ３でＲＤ２を発行する。
【００５１】
スレーブ（Ａ）１３３はＴ２でＲＤ０を受信する。ＲＤ０は、一連の転送の一部ではないため、アクセス保留判定部２０１は、ＲＤ０を、アクセス実行部２０３に送信する。Ｔ４で、ＲＤ０のレスポンス完了までの残り時間が確定したものとする。このとき、ＲＤ０のレスポンス完了までの残り時間が確定したことがアクセス可否応答部３１０に通知される。ＲＤ０はレスポンスの受信を保留することができるマスタからのアクセスであるため、アクセス情報判定部３１５から、アクセス許可保留制御部３１６にレスポンス受信完了信号を待つよう指示する。スレーブ（Ａ）１３３は、Ｔ８でＲＤ０をＤＲＡＭに発行し、Ｔ１４およびＴ１５にＲＤ０のレスポンスをＤＲＡＭから受信し、Ｔ１５およびＴ１６にＲＤ０のデータＤ０をバス１２１に送信する。
【００５２】
一方、スレーブ（Ａ）１３３はＴ３でＲＤ１を受信し、ＲＤ１は一連の転送の一部であり、アクセス位置情報は先頭であるため、アクセス保留判定部２０１は、ＲＤ１をアクセス実行部２０３に送信する。Ｔ６で、ＲＤ１のレスポンス完了までの残り時間が確定したものとする。このとき、ＲＤ１のレスポンス完了までの残り時間が確定したことがアクセス可否応答部３１０に通知される。ＲＤ１は、アクセス位置情報が先頭であるため、アクセス応答テーブル３１２に格納される。スレーブ（Ａ）１３３は、Ｔ１０でＲＤ１をＤＲＡＭに発行し、Ｔ１６およびＴ１７にＲＤ１のレスポンスをＤＲＡＭから受信し、Ｔ１７およびＴ１８にＲＤ１のデータＤ１をバス１２１に送信する。
【００５３】
スレーブ（Ｂ）１３４は、Ｔ４でＲＤ２を受信し、ＲＤ２は、一連の転送の一部であり、アクセス位置情報が最後であるため、アクセス保留判定部２０１は、ＲＤ２をアクセス保留部２０２に送信する。Ｔ５から、スレーブ（Ｂ）１３４のアクセス可否問合部２２０は、スレーブ（Ａ）１３３に対して、アクセス問合信号をアサートし、Ｄｉｒ情報とＩＤ情報を送信する。
【００５４】
マスタ１１１は、Ｔ１６およびＴ１７に、ＲＤ０のデータをバス１２１から受信し、Ｔ１８にレスポンス受信完了信号をスレーブ（Ａ）１３３に発行する。スレーブ（Ａ）１３３は、Ｔ１４にレスポンス受信完了信号を受信し、アクセス許可保留制御部３１６は、Ｔ１９に、アクセス応答信号の保留を解除し、スレーブ（Ｂ）１３４に送信する。
【００５５】
スレーブ（Ｂ）は、前記アクセス応答信号を受信して、ＲＤ２の保留を解除する。その後の波形は、実施例１と同様であり、Ｔ２８およびＴ２９にバス１２１にＲＤ２のデータＤ２を送信する。
【００５６】
これにより、マスタがレスポンスの受信を保留するバスシステムにおいても、マスタ１１０が期待する順序でレスポンスを受信することができる。
【００５７】
＜実施例３＞
本実施例ではスレーブの接続形態について説明する。実施例１、実施例２では、スレーブが２つの構成で、一方のスレーブから他方のスレーブに問い合わせならびに応答を行うケースについて説明したが、スレーブ間の接続形態の構成としていくつか考えられる。
【００５８】
図９は、すべてのスレーブ間の、アクセス問合とアクセス応答の信号を相互接続するものである。この場合、スレーブ間それぞれが独立して実施例１と同様のアクセス問合とアクセス応答を行う。
【００５９】
図１０は、スレーブ間をリング状に接続するものである。この場合、スレーブ間が一つのリングパスをシェアし、各スレーブは問合情報、応答情報を送受信する通信部２７０を持つ。
【００６０】
図１１は、図１０のスレーブ間の接続形態におけるアクセス可否応答部２５０である。アクセス可否応答部２５０は、アクセス可否応答部２１０のアクセス応答信号の出力に加えて、応答先スレーブ情報の出力を持つ。
【００６１】
図１２は、図１０のスレーブ間の接続形態におけるアクセス可否問合部２６０である。アクセス可否問合部２２０のアクセス問合信号、Ｄｉｒ情報、ＩＤ情報に加えて、問合先のスレーブ情報の出力を持つ。
【００６２】
通信部２７０は、アクセス可否問合部２６０から、アクセス問合信号、Ｄｉｒ情報、ＩＤ情報、先行アクセススレーブ情報を受信すると、Ｄｉｒ情報、ＩＤ情報、先行アクセススレーブ情報をパケット化して、通信部２７０の接続先のスレーブへ送信する。接続先スレーブの通信部２７０は、問合のパケットを受信すると、パケットに含まれている先行アクセススレーブ情報をデコードする。デコードの結果、自スレーブが問合先となっている場合、通信部２７０は、Ｄｉｒ情報、ＩＤ情報をパケットから取り出し、アクセス可否応答部２５０に送信するとともに、アクセス問合信号をアサートする。デコードの結果、自スレーブが問合先となっていない場合は、通信部２７０の接続先のスレーブにパケットを送信する。
【００６３】
また、通信部２７０は、アクセス可否応答部２５０から、アクセス応答信号、問合元スレーブ情報を受信すると、問合元スレーブ情報をパケット化して、通信部２７０の接続先のスレーブへ送信する。接続先スレーブの通信部２７０は、応答のパケットを受信すると、応答先スレーブ情報をデコードする。通信部２７０は、自スレーブが問合元となっている場合は、アクセス可否問合せ部２６０に対するアクセス応答信号をアサートする。自スレーブが問合先となっていない場合は、通信部２７０の接続先のスレーブにパケットを送信する。
【００６４】
ここでは、問合や応答のパケットが共通の信号を使用して送信される例を示したが、本発明は、これに限定されるものではない。例えば、問合と応答がそれぞれ独立の信号で送信される形態であってもよい。
【符号の説明】
【００６５】
１００  バスシステム
１１０  マスタ
１１１  マスタ
１２０  バス
１２１  バス
１３１  スレーブ（Ａ）
１３２  スレーブ（Ｂ）
１３３  スレーブ（Ａ）
１３４  スレーブ（Ｂ）
１３５  スレーブ（Ａ）
１３６  スレーブ（Ｂ）
１３７  スレーブ（Ｃ）
２００  アクセス制御部
２０１  アクセス保留判定部
２０２  アクセス保留部
２０３  アクセス実行部
２１０  アクセス可否応答部
２１２  先行アクセス応答テーブル
２１３  レスポンス時間保持部
２２０  アクセス可否問合部
２２２  先行アクセス問合テーブル
２５０  アクセス可否応答部
２６０  アクセス可否問合部
２７０  通信部
３１０  アクセス可否応答部
３１２  アクセス応答テーブル
３１３  レスポンス時間保持部
３１４  保留可能マスタ情報保持部
３１５  アクセス情報判定部
３１６  アクセス許可保留制御部
１９１  ＤＲＡＭ（Ａ）
１９２  ＤＲＡＭ（Ｂ）
【図１】
2020098386.tif 000003
【図２】
2020098386.tif 000004
【図３】
2020098386.tif 000005
【図４】
2020098386.tif 000006
【図５】
2020098386.tif 000007
【図６】
2020098386.tif 000008
【図７】
2020098386.tif 000009
【図８】
2020098386.tif 000010
【図９】
2020098386.tif 000011
【図１０】
2020098386.tif 000012
【図１１】
2020098386.tif 000013
【図１２】
2020098386.tif 000014