JP2020098386A - バスシステム - Google Patents
バスシステム Download PDFInfo
- Publication number
- JP2020098386A JP2020098386A JP2018235365A JP2018235365A JP2020098386A JP 2020098386 A JP2020098386 A JP 2020098386A JP 2018235365 A JP2018235365 A JP 2018235365A JP 2018235365 A JP2018235365 A JP 2018235365A JP 2020098386 A JP2020098386 A JP 2020098386A
- Authority
- JP
- Japan
- Prior art keywords
- access
- slave
- response
- master
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】マスタからのアクセスの発行順序で、独立で動作しているスレーブからレスポンスが返されるバスシステムを提供する。【解決手段】マスタと、第一のスレーブと、第二のスレーブと、バスを含み、マスタは、第一のスレーブに第一のアクセスを発行し、第一のアクセスに対するレスポンスを受信する前に、第二のスレーブに第二のアクセスを発行するバスシステムにおいて、バスは、マスタから第二のアクセスを受信した際に、第二のアクセスを第二のスレーブに発行し、バスは、マスタから第二のアクセスを受信した際に、第二のアクセスを第二のスレーブに発行し、第二のアクセスは、第一のアクセスがどのスレーブに発行されたかを示す先行アクセススレーブ情報を含み、第二のスレーブは、第二のアクセスに含まれる先行アクセススレーブ情報に基づいて、第一のアクセスの状態を第一のスレーブに問い合わせ、第一のスレーブは、第一のアクセスの状態を応答する。【選択図】図1
Description
本発明は、バスシステムに関し、特に、複数スレーブへの同時アクセスを許容したシステムにおいて、スレーブからのレスポンスの順序を保証するバスシステムに関する。
近年、バスシステムにおいては、データ転送を要求するリクエストと実際のデータ転送であるレスポンスを独立して制御するスプリットトランザクションが導入されている。スプリットトランザクションでは、マスタは複数のスレーブに対して同時期にリクエストを発行することが可能になり、データの転送効率を向上させることができる。一方、同時期にリクエストを受け取った複数のスレーブは独立して動作しているため、各スレーブがマスタにレスポンスを返すタイミングは異なる。そのため、マスタがリクエストの発行順序と同じ順序でレスポンスが返されることを期待している場合、期待とは異なる順序でレスポンスが返されるおそれがある。
これに対し、マスタが先行して発行したリクエストとレスポンスの順序保証が必要なリクエストを異なるスレーブに発行した場合、先行リクエストに対するレスポンスがスレーブから返されるまで、異なるスレーブへのリクエスト発行を保留するバスがある。しかし、先行リクエストに対するレスポンスがスレーブから返されるまで次のリクエスト発行を保留するため、データの転送効率が低下してしまう。そのため、バスがバッファを持ち、期待する順序と異なる順序でスレーブから返されたレスポンスを期待する順序に並び替えるバスシステムが提案されている。(特許文献1参照)
上述の従来技術では、バスのバッファを利用してスレーブからのレスポンスを期待する順序に並び替えることで順序保証をする。しかし、近年のバスマスタは一度のリクエストで大量のデータ転送を要求することが多い。例えば、データバス幅が128ビットのバスシステムで256ビート分のリードデータを要求する場合、少なくとも4096バイトのバッファが必要となり、バスの回路規模が増加してしまう。
本発明の目的は、マスタからのアクセスの発行順序で、独立で動作しているスレーブからレスポンスが返されるようにするバスシステムを提供することである。
本発明のバスシステムは、マスタと、第一のスレーブと、第二のスレーブと、前記マスタから前記第一および第二のスレーブを接続するバスを含み、
前記マスタは、前記第一のスレーブに第一のアクセスを発行し、前記第一のアクセスに対するレスポンスを受信する前に、前記第二のスレーブに第二のアクセスを発行するバスシステムにおいて、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記第二のアクセスは、前記第一のアクセスがどのスレーブに発行されたかを示す先行アクセススレーブ情報を含み、
前記第二のスレーブは、前記第二のアクセスに含まれる先行アクセススレーブ情報に基づいて、第一のアクセスの状態を第一のスレーブに問い合わせ、
前記第一のスレーブは、前記第一のアクセスの状態を応答する。
前記マスタは、前記第一のスレーブに第一のアクセスを発行し、前記第一のアクセスに対するレスポンスを受信する前に、前記第二のスレーブに第二のアクセスを発行するバスシステムにおいて、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記第二のアクセスは、前記第一のアクセスがどのスレーブに発行されたかを示す先行アクセススレーブ情報を含み、
前記第二のスレーブは、前記第二のアクセスに含まれる先行アクセススレーブ情報に基づいて、第一のアクセスの状態を第一のスレーブに問い合わせ、
前記第一のスレーブは、前記第一のアクセスの状態を応答する。
本発明によれば、複数スレーブへの同時アクセスを許容したシステムにおいて、異なるスレーブからのレスポンスの順序保証を比較的少ない回路で、データ転送効率の低下を抑制することが可能になる。
<実施例1>
図1は実施例におけるバスシステム100の構成図である。バスシステム100は、マスタ110、スレーブ(A)131、スレーブ(B)132がバス120を介して接続されている。スレーブ(A)131とスレーブ(B)132はDRAMコントローラであり、それぞれDRAM(A)191とDRAM(B)192を制御する。本実施例では、スレーブ(A)131とスレーブ(B)132はDRAMコントローラとしているが、マスタ110からのアクセスを処理してレスポンスを返すスレーブであればDRAMコントローラに限らない。マスタ110はアクセスをバス120に発行し、同じID情報と同じDir情報を持つアクセスに対するレスポンスはアクセスを発行した順序で返されることを期待する。それ以外のアクセスに対するレスポンスは順不同で返されてもよい。アクセスにはアドレス情報、アクセスを識別するためのID情報、アクセスがリードかライトかを示すDir情報、一連のアクセスであることを示す連続アクセス情報が含まれる。さらに、一連のアクセスの場合は、前記の情報以外に、一連のアクセスの先頭・中間・最後を示すアクセス位置情報と、先行アクセスがどのスレーブに発行されるかを示す先行アクセススレーブ情報が含まれる。
図1は実施例におけるバスシステム100の構成図である。バスシステム100は、マスタ110、スレーブ(A)131、スレーブ(B)132がバス120を介して接続されている。スレーブ(A)131とスレーブ(B)132はDRAMコントローラであり、それぞれDRAM(A)191とDRAM(B)192を制御する。本実施例では、スレーブ(A)131とスレーブ(B)132はDRAMコントローラとしているが、マスタ110からのアクセスを処理してレスポンスを返すスレーブであればDRAMコントローラに限らない。マスタ110はアクセスをバス120に発行し、同じID情報と同じDir情報を持つアクセスに対するレスポンスはアクセスを発行した順序で返されることを期待する。それ以外のアクセスに対するレスポンスは順不同で返されてもよい。アクセスにはアドレス情報、アクセスを識別するためのID情報、アクセスがリードかライトかを示すDir情報、一連のアクセスであることを示す連続アクセス情報が含まれる。さらに、一連のアクセスの場合は、前記の情報以外に、一連のアクセスの先頭・中間・最後を示すアクセス位置情報と、先行アクセスがどのスレーブに発行されるかを示す先行アクセススレーブ情報が含まれる。
バス120は、マスタ110から受信したアクセスに含まれるアドレス情報に基づいてスレーブ(A)131またはスレーブ(B)132に転送する。スレーブ(A)131とスレーブ(B)132は受信したアクセスからDRAMコマンドを生成し、DRAM(A)191、DRAM(B)192に発行する。また、スレーブ(A)131とスレーブ(B)132は、アクセスの処理が完了するとレスポンスをバス120に送信し、バス120は受信したレスポンスをマスタ110に送信する。
アクセス制御部200は、マスタ110からアクセスを受信すると、受信したアクセスに含まれる、連続アクセス情報と、アクセス位置情報に応じて、アクセスの実行を保留するか、アクセスの実行を許可するかを決定する。また、アクセス制御部200は、実行が許可されたアクセスをDRAMに発行する。
アクセス可否問合部220は、前記アクセス制御部200が保留したアクセスに対する先行アクセススレーブ情報、ID情報、Dir情報に応じて、該当するスレーブにアクセスの実行可否を問い合わせる。その結果、実行が許可されると判断したら、前記アクセスの保留を解除する。
アクセス可否応答部210は、前記実行が許可されたアクセスのID情報、Dir情報を保持する。後続アクセススレーブから問い合わせが来た際に該当のアクセスが保持されていた状態の場合、後続アクセスの実行を許可する。該当のアクセスが保持されていない場合、後続アクセスの実行を許可しない。
図2は第一の実施例におけるアクセス制御部200の構成図である。
アクセス制御部200は、アクセス保留判定部201と、アクセス保留部202と、アクセス実行部203を備える。
アクセス保留判定部201は、バス120からアクセスを受信すると、連続アクセス情報と、アクセス位置情報をデコードする。連続アクセス情報が一連のアクセスであることを示し、アクセス位置情報が中間または最後を示す場合、アクセスをアクセス保留部202に送信する。それ以外の場合は、アクセスをアクセス実行部203に送信する。
アクセス保留部202は、アクセス保留判定部201から受信したアクセスを保持し、保持されているアクセスのID情報、Dir情報、先行アクセススレーブ情報をアクセス可否問合部220に出力する。
前記アクセスに対して、アクセス可否問合部220から保留を解除するよう指示されたら、前記アクセスをアクセス実行部203に送信する。
アクセス実行部203は、アクセス保留判定部201およびアクセス保留部202から送信されたアクセスを保持し、DRAMのプロトコル仕様やタイミング仕様に従って、前記アクセスをDRAMに発行する。
また、アクセス実行部203は、前記アクセスのアクセス位置情報が先頭、または、中間を示す場合、前記アクセスがDRAMに発行されて、レスポンス完了するまでの残り時間の確定を待つ。アクセス実行後、レスポンス完了するまでの残り時間が確定すると、前記連続アクセス情報、アクセス位置情報、残り時間、ID情報、Dir情報をアクセス可否応答部210に通知する。
図3は、第一の実施例におけるアクセス可否問合部220の構成図である。
アクセス可否問合部220は、アクセス問合テーブル222を備える。
アクセス問合テーブル222は、アクセス保留部202から、先行アクセススレーブ情報、Dir情報、ID情報を受信すると、それらの情報を一つのエントリとして登録する。アクセス可否問合部220は、先行アクセス問合テーブル222に新たにエントリが登録されると、先行アクセススレーブ情報をデコードし、該当するスレーブに対して問合信号をアサートし、Dir情報、ID情報を送信する。アクセス可否問合部220は、スレーブからアクセス応答信号を受信すると、アクセス問合テーブル222内のエントリから、該当するエントリを検索し、該当エントリを削除する。
図4は、第一の実施例における、アクセス可否応答部210の構成図である。アクセス可否応答部210は、アクセス応答テーブル212を備える。レスポンス時間保持部213は、アクセス制御部200がDRAMにアクセスを発行してから、レスポンスがバスに返送されるまでにかかる、レスポンス時間の情報を持つ。アクセス応答テーブル212は、レスポンス時間保持部213から、レスポンス時間の情報を得る。
アクセス応答テーブル212は、他スレーブのアクセス可否問合部220からのアクセス問合信号と、Dir情報と、ID情報を受信する。アクセス応答テーブル212は、アクセス問合信号のアサートを検知すると、該当するアクセスのエントリが格納されていない場合は、Dir情報と、ID情報と、問合元スレーブの情報を、一つのエントリとして格納し、エントリの問合受信フラグをアサートする。該当するエントリが格納されており、レスポンス完了までの残り時間が、レスポンス時間より大きい場合は、該当するエントリの問合受信フラグをアサートする。該当するエントリが格納されており、残り時間がレスポンス時間以下である場合は、該当する問合元スレーブにアクセス応答信号をアサートし、該エントリを削除する。
アクセス応答テーブル212は、アクセス制御部200においてアクセスがレスポンス完了するまでの残り時間が確定したタイミングで、連続アクセス情報、アクセス位置情報、残り時間、ID情報、Dir情報を受信する。そして、前記連続アクセス情報が一連のアクセスであることを示し、アクセス位置情報が先頭または中間を示し、前記アクセスのエントリが既に格納されている場合、該当するエントリの残り時間を格納し、残り時間通知済フラグをアサートする。前記アクセスのエントリが格納されていない場合、Dir情報、ID情報、残り時間を新たなエントリとして格納し、残り時間通知済フラグをアサートする。アクセス可否応答部210は、アクセス応答テーブル212内の各エントリの残り時間を毎サイクル0になるまでデクリメントする。アクセス可否応答部210は、アクセス応答テーブル212に、問合受信フラグ、残り時間通知済フラグがともにアサートされ、残り時間がレスポンス時間以下になったエントリが存在する場合、該当する問合元スレーブにアクセス応答信号をアサートする。また、アクセス可否応答部210は、該エントリを削除する。
図5は、第一の実施例におけるバスシステムの挙動を示す波形図である。本波形図ではマスタ110がスレーブ(A)131にリードのRD1を発行し、対応するレスポンスを受信する前に、スレーブ(B)132にリードのRD1を発行した際の波形である。D1とRD2は一連のアクセスであり、同じID情報である。
マスタ110は、T2でRD1を発行し、T3でRD2を発行する。RD2には、スレーブ(A)を示す先行アクセススレーブ情報が含まれる。また、RD1が持つアクセス位置情報は、先頭であり、D2が持つアクセス位置情報は、最後である。T3でスレーブ(A)は、RD1を受信する。RD1が持つ連続アクセス情報は、連続した転送の一部であることを示し、アクセス位置情報は先頭であるため、アクセス保留判定部201は、RD1を、アクセス実行部203に送信する。一方、T4で、スレーブ(B)132は、RD2を受信する。RD2は、連続アクセス情報が一連の転送の一部であることを示し、アクセス位置情報は最後であるため、アクセス保留判定部201は、RD2を、アクセス保留部202に送信する。同時に、アクセス保留部202からアクセス可否問合部220にID情報、Dir情報、先行アクセススレーブ情報が渡され、アクセス問合テーブル222に格納される。
T5から、スレーブ(B)132のアクセス可否問合部220は、アクセス許可問合信号をアサートし、Dir情報とID情報をスレーブ(A)131に送信する。
スレーブ(A)131のアクセス可否応答部210は、T5でDir情報とID情報をスレーブ(B)から受信し、先行アクセス応答テーブルに、Dir情報とID情報と送信元スレーブ情報を格納し、問合受信フラグをアサートする。T6で、スレーブ(A)131のアクセス実行部203は、RD1が発行されて、レスポンスが完了するまでの残り時間を確定し、アクセス可否応答部210にRD1のID情報、Dir情報、レスポンス完了までの残り時間を送信する。アクセス可否応答部210はRD1のDir情報、ID情報、残り時間を受信し、先行アクセス応答テーブル212から、同じDir情報、ID情報を持つエントリを検索する。T5でRD1と同じDir情報、ID情報を持つエントリがすでに登録されているため、アクセス応答テーブル212は、該当エントリの残り時間のみ登録し、残り時間通知済フラグをアサートする。アクセス可否応答部210は、T7から、毎サイクル、エントリ内部の残り時間をデクリメントする。
アクセス応答テーブル212に登録された、RD1のエントリのレスポンス完了までのサイクル数は、デクリメントの結果、T9でバスに対するレスポンス時間以下になる。アクセス可否応答部210は、T11で、アクセス応答信号をアサートする。スレーブ(A)131はDRAM(A)191に、RD1を発行し、T16およびT17にデータを受信する。また、T17およびT18にバス120にデータを送信する。バス120は、T18およびT19にマスタ110にデータを送信する。スレーブ(B)132のアクセス可否問合部220は、T11でアクセス応答信号のアサートを検知すると、アクセス保留部202にDir情報とID情報を送信する。スレーブ(B)132のアクセス保留部202は、該当するDir情報とID情報を持つRD2の保留を解除し、アクセス実行部203に送信する。スレーブ(B)132はDRAM(B)192に、RD2を発行し、T18およびT19にデータを受信する。また、T19およびT20にバス120にデータを送信する。バス120は、T20およびT21にマスタ110にデータを送信する。
これにより、マスタはT18およびT19でRD1のアクセスに対するレスポンスであるD1を受信し、T20およびT21でRD2のアクセスに対するレスポンスであるD2を受信する。バス120にバッファを持つことなく、マスタ110が期待する順序でレスポンスを受信することができる。また、従来のように、バス120やマスタ110が先行リクエストに対するレスポンスがスレーブから返されるまで次のリクエスト発行を保留する場合より、レスポンスの状態に関係なく早いタイミングで発行できる。従来と比べて、データ転送効率の低下を抑制できる。
実施例において、アクセス実行部203は、DRAMに発行されるまでの残り時間が確定したタイミングでID情報、Dir情報をアクセス可否問合部210に通知するものとしたが、それに限定されるものではない。例えば、アクセスがDRAMに発行されたタイミングでID情報、Dir情報を通知するものであってもよい。
<実施例2>
実施例1では、マスタが必ずレスポンスを受信できる前提で説明をした。
実施例1では、マスタが必ずレスポンスを受信できる前提で説明をした。
しかし、実際は、マスタがレスポンスの受信を保留する場合もある。
レスポンスの受信を保留するマスタが存在し、他のマスタとレスポンスの経路をシェアしている場合、前記マスタが発行したアクセスに対するレスポンスが前記マスタに受信されるまで、それ以降のアクセスに対するレスポンスは前記他のマスタに返せなくなる。
その場合、実施例1の方法ではレスポンスの順序を保証できない。実施例2は、更にこれを鑑みたものである。
図6は、第2の実施例におけるバスシステムの構成である。バスシステム100では、マスタ110、マスタ111、スレーブ(A)133、スレーブ(B)134がバス121を介して接続されている。マスタ110は実施例1と同じ構成で、マスタ111はレスポンスの受信を保留することができる。マスタ111は、レスポンスを受信すると、レスポンスの送信元のスレーブに対して、レスポンス受信完了信号を発行する。バス121は、実施例1のバス120に加えて、前記レスポンス受信完了信号を該当するスレーブに発行することができる。スレーブ(A)133、スレーブ(B)134は、実施例1のスレーブ(A)131、スレーブ(B)132に加えて、マスタ111からレスポンス受信完了信号を受信するまで、アクセス応答信号のアサートを保留する。
図7は、第2の実施例におけるアクセス可否応答部310の構成である。
アクセス可否応答部310は、アクセス応答テーブル312、レスポンス時間保持部313、保留可能マスタ情報保持部314、アクセス情報判定部315、アクセス許可保留制御部316を備える。また、アクセス可否応答部310は、実施例1のアクセス可否応答部210に加えて、レスポンス受信完了信号を受信するインタフェースを持つ。
アクセス応答テーブル312とレスポンス時間保持部313の構成は、実施例1のアクセス応答テーブル212、レスポンス時間保持部213と同様である。
保留可能マスタ情報保持部314は、スレーブにアクセスするマスタのうち、レスポンスの受信を保留する可能性があるマスタのID情報が予め設定される。
アクセス情報判定部315は、アクセス制御部200から、連続アクセス情報、アクセス位置情報、アクセスがレスポンス完了するまでの残り時間、ID情報、Dir情報を受信する。まず、受信したアクセスのID情報がレスポンスを保留する可能性があるマスタからのアクセスか否かを確認する。レスポンスを保留するマスタからのアクセスである場合、アクセス許可保留制御部316に該当マスタからのレスポンス受信完了信号を受信するまで待つよう指示する。次に、連続アクセス情報と、アクセス位置情報をデコードし、一連のアクセスでない場合や、アクセス位置が最後の場合は、受信した情報を破棄する。それ以外の場合、実施例1と同様にアクセス応答テーブル312にエントリを登録する。
アクセス応答テーブル312は、登録済みのエントリの残り時間を毎サイクル0になるまでデクリメントする。
スレーブ(A)は、第一のアクセスがレスポンス完了するまでの残り時間から、スレーブ(B)が第二のアクセスを実行後、レスポンスを返送するまでにかかる時間を引いた時間が経過してから、スレーブ(A)のアクセスの状態をスレーブ(B)に応答する。
アクセス許可保留制御部316は、レスポンス受信完了信号を待つように指示を受けると、該当マスタからのレスポンス受信完了信号を受信するまで、アクセス応答テーブル312から出力されたアクセス応答信号を他スレーブに送信しない。レスポンス受信完了信号を受信すると、保留可能マスタ情報保持部331に保留する可能性があるマスタからのものか否かを確認する。レスポンスを保留できるマスタからのアクセスである場合、該当するアクセス応答信号の保留を解除し、該当するスレーブにアクセス応答信号を送信する。
図8は、第2の実施例におけるバスシステム100の挙動を示す波形図である。
本波形図では、マスタ110は、第1の実施例同様に、RD1及びRD2を発行する。マスタ111は、マスタ110に先だってスレーブ(A)133にRD0を発行する。マスタ111はレスポンスの受信を保留することができ、レスポンスの受信を完了するとレスポンス受信完了信号を、バス121をスレーブ(A)133に発行する。
マスタ111は、T1でRD0を発行する。マスタ110は、T2でRD1を発行し、T3でRD2を発行する。
スレーブ(A)133はT2でRD0を受信する。RD0は、一連の転送の一部ではないため、アクセス保留判定部201は、RD0を、アクセス実行部203に送信する。T4で、RD0のレスポンス完了までの残り時間が確定したものとする。このとき、RD0のレスポンス完了までの残り時間が確定したことがアクセス可否応答部310に通知される。RD0はレスポンスの受信を保留することができるマスタからのアクセスであるため、アクセス情報判定部315から、アクセス許可保留制御部316にレスポンス受信完了信号を待つよう指示する。スレーブ(A)133は、T8でRD0をDRAMに発行し、T14およびT15にRD0のレスポンスをDRAMから受信し、T15およびT16にRD0のデータD0をバス121に送信する。
一方、スレーブ(A)133はT3でRD1を受信し、RD1は一連の転送の一部であり、アクセス位置情報は先頭であるため、アクセス保留判定部201は、RD1をアクセス実行部203に送信する。T6で、RD1のレスポンス完了までの残り時間が確定したものとする。このとき、RD1のレスポンス完了までの残り時間が確定したことがアクセス可否応答部310に通知される。RD1は、アクセス位置情報が先頭であるため、アクセス応答テーブル312に格納される。スレーブ(A)133は、T10でRD1をDRAMに発行し、T16およびT17にRD1のレスポンスをDRAMから受信し、T17およびT18にRD1のデータD1をバス121に送信する。
スレーブ(B)134は、T4でRD2を受信し、RD2は、一連の転送の一部であり、アクセス位置情報が最後であるため、アクセス保留判定部201は、RD2をアクセス保留部202に送信する。T5から、スレーブ(B)134のアクセス可否問合部220は、スレーブ(A)133に対して、アクセス問合信号をアサートし、Dir情報とID情報を送信する。
マスタ111は、T16およびT17に、RD0のデータをバス121から受信し、T18にレスポンス受信完了信号をスレーブ(A)133に発行する。スレーブ(A)133は、T14にレスポンス受信完了信号を受信し、アクセス許可保留制御部316は、T19に、アクセス応答信号の保留を解除し、スレーブ(B)134に送信する。
スレーブ(B)は、前記アクセス応答信号を受信して、RD2の保留を解除する。その後の波形は、実施例1と同様であり、T28およびT29にバス121にRD2のデータD2を送信する。
これにより、マスタがレスポンスの受信を保留するバスシステムにおいても、マスタ110が期待する順序でレスポンスを受信することができる。
<実施例3>
本実施例ではスレーブの接続形態について説明する。実施例1、実施例2では、スレーブが2つの構成で、一方のスレーブから他方のスレーブに問い合わせならびに応答を行うケースについて説明したが、スレーブ間の接続形態の構成としていくつか考えられる。
本実施例ではスレーブの接続形態について説明する。実施例1、実施例2では、スレーブが2つの構成で、一方のスレーブから他方のスレーブに問い合わせならびに応答を行うケースについて説明したが、スレーブ間の接続形態の構成としていくつか考えられる。
図9は、すべてのスレーブ間の、アクセス問合とアクセス応答の信号を相互接続するものである。この場合、スレーブ間それぞれが独立して実施例1と同様のアクセス問合とアクセス応答を行う。
図10は、スレーブ間をリング状に接続するものである。この場合、スレーブ間が一つのリングパスをシェアし、各スレーブは問合情報、応答情報を送受信する通信部270を持つ。
図11は、図10のスレーブ間の接続形態におけるアクセス可否応答部250である。アクセス可否応答部250は、アクセス可否応答部210のアクセス応答信号の出力に加えて、応答先スレーブ情報の出力を持つ。
図12は、図10のスレーブ間の接続形態におけるアクセス可否問合部260である。アクセス可否問合部220のアクセス問合信号、Dir情報、ID情報に加えて、問合先のスレーブ情報の出力を持つ。
通信部270は、アクセス可否問合部260から、アクセス問合信号、Dir情報、ID情報、先行アクセススレーブ情報を受信すると、Dir情報、ID情報、先行アクセススレーブ情報をパケット化して、通信部270の接続先のスレーブへ送信する。接続先スレーブの通信部270は、問合のパケットを受信すると、パケットに含まれている先行アクセススレーブ情報をデコードする。デコードの結果、自スレーブが問合先となっている場合、通信部270は、Dir情報、ID情報をパケットから取り出し、アクセス可否応答部250に送信するとともに、アクセス問合信号をアサートする。デコードの結果、自スレーブが問合先となっていない場合は、通信部270の接続先のスレーブにパケットを送信する。
また、通信部270は、アクセス可否応答部250から、アクセス応答信号、問合元スレーブ情報を受信すると、問合元スレーブ情報をパケット化して、通信部270の接続先のスレーブへ送信する。接続先スレーブの通信部270は、応答のパケットを受信すると、応答先スレーブ情報をデコードする。通信部270は、自スレーブが問合元となっている場合は、アクセス可否問合せ部260に対するアクセス応答信号をアサートする。自スレーブが問合先となっていない場合は、通信部270の接続先のスレーブにパケットを送信する。
ここでは、問合や応答のパケットが共通の信号を使用して送信される例を示したが、本発明は、これに限定されるものではない。例えば、問合と応答がそれぞれ独立の信号で送信される形態であってもよい。
100 バスシステム
110 マスタ
111 マスタ
120 バス
121 バス
131 スレーブ(A)
132 スレーブ(B)
133 スレーブ(A)
134 スレーブ(B)
135 スレーブ(A)
136 スレーブ(B)
137 スレーブ(C)
200 アクセス制御部
201 アクセス保留判定部
202 アクセス保留部
203 アクセス実行部
210 アクセス可否応答部
212 先行アクセス応答テーブル
213 レスポンス時間保持部
220 アクセス可否問合部
222 先行アクセス問合テーブル
250 アクセス可否応答部
260 アクセス可否問合部
270 通信部
310 アクセス可否応答部
312 アクセス応答テーブル
313 レスポンス時間保持部
314 保留可能マスタ情報保持部
315 アクセス情報判定部
316 アクセス許可保留制御部
191 DRAM(A)
192 DRAM(B)
110 マスタ
111 マスタ
120 バス
121 バス
131 スレーブ(A)
132 スレーブ(B)
133 スレーブ(A)
134 スレーブ(B)
135 スレーブ(A)
136 スレーブ(B)
137 スレーブ(C)
200 アクセス制御部
201 アクセス保留判定部
202 アクセス保留部
203 アクセス実行部
210 アクセス可否応答部
212 先行アクセス応答テーブル
213 レスポンス時間保持部
220 アクセス可否問合部
222 先行アクセス問合テーブル
250 アクセス可否応答部
260 アクセス可否問合部
270 通信部
310 アクセス可否応答部
312 アクセス応答テーブル
313 レスポンス時間保持部
314 保留可能マスタ情報保持部
315 アクセス情報判定部
316 アクセス許可保留制御部
191 DRAM(A)
192 DRAM(B)
Claims (7)
- マスタと、第一のスレーブと、第二のスレーブと、前記マスタから前記第一および第二のスレーブを接続するバスを含み、
前記マスタは、前記第一のスレーブに第一のアクセスを発行し、前記第一のアクセスに対するレスポンスを受信する前に、前記第二のスレーブに第二のアクセスを発行するバスシステムにおいて、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記バスは、前記マスタから前記第二のアクセスを受信した際に、前記第一のアクセスのレスポンスの状態に関係なく前記第二のアクセスを前記第二のスレーブに発行し、
前記第二のアクセスは、前記第一のアクセスがどのスレーブに発行されたかを示す先行アクセススレーブ情報を含み、
前記第二のスレーブは、前記第二のアクセスに含まれる先行アクセススレーブ情報に基づいて、第一のアクセスの状態を第一のスレーブに問い合わせ、
前記第一のスレーブは、前記第一のアクセスの状態を応答する、
バスシステム。 - 前記第一及び第二のアクセスは、一連のアクセスであることを示す連続アクセス情報、及び、前記マスタからの一連のアクセスの先頭、中間、最後のいずれかを示す情報を含み、
前記第一及び第二のスレーブは、
アクセスの実行を制御するアクセス制御部と、
アクセスの状態を受信するアクセス可否問合部と、
アクセスの状態を通知するアクセス可否応答部を含み、
前記アクセス制御部は、
受信したアクセスが先頭のアクセスの場合、前記アクセスの状態に関係なくアクセスを許可し、
受信したアクセスが中間または最後のアクセスの場合、前記アクセスの状態を受信するまではアクセスを保留し、アクセスの状態を受信したらアクセスを許可し、
前記アクセス可否問合部は、受信したアクセスが前記中間もしくは最後のアクセスの場合、先行アクセススレーブにアクセスの状態を問い合わせ、
前記アクセス可否応答部は、アクセスの状態を後続アクセススレーブに応答することを特徴とする請求項1記載のバスシステム。 - 前記アクセスの状態は、前記第一のアクセスが完了するまでの残り時間が確定した状態であり、前記第一のスレーブは、前記残り時間から、前記第二のスレーブが第二のアクセスを実行後、レスポンスを返送するまでにかかる時間を引いた時間が経過してから、前記第一のスレーブのアクセスの状態を、前記第二のスレーブに応答することを特徴とする
請求項2記載のバスシステム。 - 前記アクセスの状態は、前記第一のアクセスが実行された状態であり、
前記第一のスレーブは、前記第一のスレーブがアクセスを実行後、レスポンスを返送するまでにかかる時間から、前記第二のスレーブがアクセスを実行後、レスポンスを返送するまでにかかる時間を引いた時間が経過してから、前記第一のスレーブのアクセスの状態を、前記第二のスレーブに応答することを特徴とする
請求項2記載のバスシステム。 - 前記各スレーブ間の接続形態として、各スレーブ間を相互接続することを特徴とする
請求項1から請求項4の何れか1項に記載のバスシステム。 - 前記各スレーブ間の接続形態として、各スレーブ間をリング状に接続することを特徴とする請求項1から請求項4の何れか1項に記載のバスシステム。
- 前記第一および前記第二のスレーブはDRAMコントローラであることを特徴とする請求項1から請求項6の何れか1項に記載のバスシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018235365A JP2020098386A (ja) | 2018-12-17 | 2018-12-17 | バスシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018235365A JP2020098386A (ja) | 2018-12-17 | 2018-12-17 | バスシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020098386A true JP2020098386A (ja) | 2020-06-25 |
Family
ID=71105949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018235365A Pending JP2020098386A (ja) | 2018-12-17 | 2018-12-17 | バスシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020098386A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500156A (zh) * | 2022-03-18 | 2022-05-13 | 西安超越申泰信息科技有限公司 | 一种可灵活配置的总线式通信系统、通信方法 |
-
2018
- 2018-12-17 JP JP2018235365A patent/JP2020098386A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500156A (zh) * | 2022-03-18 | 2022-05-13 | 西安超越申泰信息科技有限公司 | 一种可灵活配置的总线式通信系统、通信方法 |
CN114500156B (zh) * | 2022-03-18 | 2024-04-30 | 超越科技股份有限公司 | 一种可灵活配置的总线式通信系统、通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102532173B1 (ko) | 메모리 액세스 기술 및 컴퓨터 시스템 | |
US20100131681A1 (en) | Bus Based Communications Between A Processor And A Peripheral Controller In A Digital Processing System | |
JP2004171209A (ja) | 共有メモリデータ転送装置 | |
KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
JP2012008919A (ja) | 情報処理装置 | |
KR20020009823A (ko) | 버스 시스템 및 그 버스 중재방법 | |
US10318362B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
JP2020098386A (ja) | バスシステム | |
JP7493311B2 (ja) | バスシステムおよびその制御方法 | |
KR20080074545A (ko) | 버스 시스템 및 그 제어 방법 | |
JP2001282704A (ja) | データ処理装置及びデータ処理方法とデータ処理システム | |
JP4193746B2 (ja) | マトリックス状バス接続システム | |
JP4499235B2 (ja) | Pciバス互換性を有するマスターおよびアービターと仲裁方法 | |
JP2020140286A (ja) | バスシステム | |
JP2008108126A (ja) | データ転送制御装置及びそのバスアクセス調停方法 | |
JP4818820B2 (ja) | バスシステムおよびバススレーブならびにバス制御方法 | |
TWI724608B (zh) | 微控制器架構及架構內資料讀取方法 | |
JP4472402B2 (ja) | バス装置 | |
WO2023231768A1 (zh) | 一种多核处理器及相关核间通信方法 | |
JP3356110B2 (ja) | 機能拡張システム及びそれに用いるデータ転送方法 | |
CN116340239A (zh) | 基于相同传输标识符的突发传输访问隔离方法及装置 | |
JPH07210320A (ja) | ファイル装置用多重化インタフェース及びその制御方法 | |
JP2001195351A (ja) | バスシステム及びバスアクセス方法 | |
JP2015215641A (ja) | 情報処理装置,エミュレーションプログラム,及びエミュレーション方法 | |
JPH0351943A (ja) | 高速バスと低速バスのバスライン共用化方式 |