(57)【特許請求の範囲】
【請求項１】
複数のマスタデバイスのうちの一のマスタデバイスに、アクセス対象デバイスへのアクセスリクエストを生成させ、
前記アクセスリクエストに基づいて、スレーブデバイスに、前記アクセスリクエストを生成した前記一のマスタデバイスを特定させ、
前記スレーブデバイスに、その特定された前記一のマスタデバイスに応じた応答タイミングで、前記一のマスタデバイスへの応答をさせる
アクセス制御方法。
【請求項２】
前記応答タイミングは、前記スレーブデバイスが前記アクセスリクエストを受け取った第１のタイミング、または、前記アクセス対象デバイスが前記アクセスリクエストに基づく処理を終了した第２のタイミングである
請求項１に記載のアクセス制御方法。
【請求項３】
前記アクセスリクエストは、前記応答タイミングについての前記一のマスタデバイスの要求を示す要求情報を含み、
前記スレーブデバイスに応答させる際、特定された前記一のマスタデバイス、および前記要求情報に基づいて、前記応答タイミングを決定させる
請求項２に記載のアクセス制御方法。
【請求項４】
前記応答タイミングを決定させる際、前記要求情報が前記第１のタイミングを示す場合には、特定された前記一のマスタデバイスに基づいて、前記応答タイミングを決定させる
請求項３に記載のアクセス制御方法。
【請求項５】
前記応答タイミングを決定させる際、前記要求情報が前記第２のタイミングを示す場合には、前記第２のタイミングを前記応答タイミングにする
請求項３に記載のアクセス制御方法。
【請求項６】
前記スレーブデバイスはバッファメモリを有し、
前記第１のタイミングは、前記アクセスリクエストを前記バッファメモリに記憶したタイミングである
請求項２に記載のアクセス制御方法。
【請求項７】
前記複数のマスタデバイスに、互いに異なる識別子を割り当て、
前記一のマスタデバイスを特定させる際、前記識別子に基づいて特定させる
請求項１に記載のアクセス制御方法。
【請求項８】
前記アクセスリクエストを生成させる際、前記アクセスリクエストが前記一のマスタデバイスの識別子を含むように処理させる
請求項７に記載のアクセス制御方法。
【請求項９】
前記一のマスタデバイスおよび前記スレーブデバイスの間の信号経路上のデバイスに、前記アクセスリクエストが前記一のマスタデバイスの識別子を含むように処理させる
請求項７に記載のアクセス制御方法。
【請求項１０】
前記スレーブデバイスは、前記アクセス対象デバイスを制御するものである
請求項１に記載のアクセス制御方法。
【請求項１１】
前記アクセス対象デバイスはメモリであり、
前記アクセスリクエストは書込リクエストである
請求項１に記載のアクセス制御方法。
【請求項１２】
アクセス対象デバイスへのアクセスリクエストを生成可能に構成された複数のマスタデバイスと、
前記アクセスリクエストに基づいて、前記複数のマスタデバイスのうちの、前記アクセスリクエストを生成した一のマスタデバイスに応じた応答タイミングで、前記一のマスタデバイスに応答するスレーブデバイスと
を備えたバスシステム。
【請求項１３】
アクセス対象デバイスへのアクセスリクエストを生成可能に構成された複数のマスタデバイスと、
前記アクセスリクエストに基づいて、前記複数のマスタデバイスのうちの、前記アクセスリクエストを生成した一のマスタデバイスに応じた応答タイミングで、前記一のマスタデバイスに応答するスレーブデバイスと
を備えた半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、アクセス制御方法、そのようなアクセス制御方法を用いてアクセス制御を行うバスシステム、およびそのようなバスシステムを備えた半導体装置に関する。
【背景技術】
【０００２】
プロセッサは、しばしば、例えばバスおよびメモリコントローラを介してメモリと接続される。そして、プロセッサは、演算処理を行う際、メモリに対してデータを書き込み、あるいはメモリからデータを読み出す。プロセッサがメモリに対してデータを書き込む場合における制御方法としては、例えば、ポステッド転送（バッファラブルともいう）と、ノンポステッド転送がある（例えば、特許文献１）。【０００３】
ポステッド転送では、例えば、プロセッサ（マスタ）がメモリコントローラ（スレーブ）に対して書込リクエストを行ったときに、メモリコントローラは、メモリに対するデータの書き込みが完了する前に、プロセッサに対してレスポンスを行う。このポステッド転送では、レスポンスを返すタイミングが早くなるため、転送性能が向上する。これにより、システム全体における処理速度の向上が期待できる。しかしながら、プロセッサが、あるアドレスに対してこのような書込リクエストを行った後に読出リクエストを行った場合、最新のデータがメモリにまだ書き込まれていないため、書き換えられる前の古いデータが読み出されるおそれがある。このように、ポステッド転送では、いわゆるコヒーレンシ（データの一貫性）に関する問題が生じるおそれがある。【０００４】
ノンポステッド転送では、例えば、プロセッサ（マスタ）がメモリコントローラ（スレーブ）に対して書込リクエストを行ったときに、メモリコントローラは、メモリに対するデータの書き込みが完了した後に、プロセッサに対してレスポンスを行う。この場合には、ポステッド転送に比べてレスポンスを返すタイミングが遅いため、転送性能が低下し、システム全体における処理速度が低下するおそれがあるが、コヒーレンシに関する問題の発生を抑えることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７１９４５６６号明細書
【発明の概要】
【０００６】
このように、メモリアクセスでは、コヒーレンシに関する問題の発生を抑えつつ転送性能を高めることが望まれており、さらなる転送性能の向上が期待されている。
【０００７】
したがって、コヒーレンシに関する問題の発生を抑えつつ転送性能を高めることができるアクセス制御方法、バスシステム、および半導体装置を提供することが望ましい。
【０００８】
本開示の一実施の形態におけるアクセス制御方法は、複数のマスタデバイスのうちの一のマスタデバイスに、アクセス対象デバイスへのアクセスリクエストを生成させ、アクセスリクエストに基づいて、スレーブデバイスに、アクセスリクエストを生成した一のマスタデバイスを特定させ、スレーブデバイスに、その特定された一のマスタデバイスに応じた応答タイミングで、一のマスタデバイスへの応答をさせるものである。
【０００９】
本開示の一実施の形態におけるバスシステムは、複数のマスタデバイスと、スレーブデバイスとを備えている。複数のマスタデバイスは、アクセス対象デバイスへのアクセスリクエストを生成可能に構成されたものである。スレーブデバイスは、アクセスリクエストに基づいて、複数のマスタデバイスのうちの、アクセスリクエストを生成した一のマスタデバイスに応じた応答タイミングで、一のマスタデバイスに応答するものである。
【００１０】
本開示の一実施の形態における半導体装置は、複数のマスタデバイスと、スレーブデバイスとを備えている。複数のマスタデバイスは、アクセス対象デバイスへのアクセスリクエストを生成可能に構成されたものである。スレーブデバイスは、アクセスリクエストに基づいて、複数のマスタデバイスのうちの、アクセスリクエストを生成した一のマスタデバイスに応じた応答タイミングで、一のマスタデバイスに応答するものである。
【００１１】
本開示の一実施の形態におけるアクセス制御方法、バスシステム、および半導体装置では、複数のマスタデバイスのうちの一のマスタデバイスにより、アクセスリクエストが生成され、そのアクセスリクエストに基づいて、アクセス対象デバイスへの処理が行われる。その際、スレーブデバイスから一のマスタデバイスへの応答は、一のマスタデバイスに応じた応答タイミングで行われる。
【００１２】
本開示の一実施の形態におけるアクセス制御方法、バスシステム、および半導体装置によれば、一のマスタデバイスに応じた応答タイミングで、一のマスタデバイスへの応答を行うようにしたので、コヒーレンシに関する問題の発生を抑えつつ転送性能を高めることができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれの効果があってもよい。
【図面の簡単な説明】
【００１３】
【図１】本開示の一実施の形態に係るバスシステムの一構成例を表すブロック図である。
【図２】図１に示したメモリコントローラの一構成例を表すブロック図である。
【図３】図２に示したレスポンス制御部の一構成例を表すブロック図である。
【図４】図３に示したレスポンス制御部の一動作例を表す表である。
【図５】図１に示した他のメモリコントローラの一構成例を表すブロック図である。
【図６】図１に示したバスシステムの一動作例を表す説明図である。
【図７】図１に示したバスシステムの他の動作例を表す説明図である。
【図８】図１に示したバスシステムの他の動作例を表す説明図である。
【図９】比較例１に係るバスシステムの一動作例を表す説明図である。
【図１０】比較例２に係るバスシステムの一動作例を表す説明図である。
【図１１】比較例２に係るバスシステムの他の動作例を表す説明図である。
【図１２】比較例３に係るバスシステムの一動作例を表す説明図である。
【図１３】比較例３に係るバスシステムの他の動作例を表す説明図である。
【図１４】変形例に係るレスポンス制御部の一構成例を表すブロック図である。
【図１５】他の変形例に係るバスシステムの一動作例を表す説明図である。
【図１６】図１５に示したバスシステムの他の動作例を表す説明図である。
【図１７】図１５に示したバスシステムに係るレスポンス制御部の一構成例を表すブロック図である。
【図１８】他の変形例に係るバスシステムの一構成例を表すブロック図である。
【図１９】他の変形例に係るインターコネクト部の一構成例を表すブロック図である。
【図２０】他の変形例に係るバスシステムの一構成例を表すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本開示の一実施の形態について、図面を参照して詳細に説明する。
【００１５】
［構成例］
（全体構成例）
図１は、一実施の形態に係るバスシステムの一構成例を表すものである。このバスシステム１は、この例では、１チップで構成された、いわゆるＳｏＣ（System on Chip）のシステムである。なお、本開示の実施の形態に係るアクセス制御方法および半導体装置は、本実施の形態により具現化されるので、併せて説明する。
【００１６】
バスシステム１は、情報処理部９と、ＤＭＡ（Direct Memory Access）コントローラ２０と、インターコネクト部３０と、メモリコントローラ４０，６０と、メモリ５０，７０とを備えている。この例では、メモリ５０，７０を除く回路を１チップに集積している。なお、これに限定されるものではなく、これら全ての回路を１チップに集積してもよい。
【００１７】
情報処理部９は、演算処理を行うものである。情報処理部９は、この例では、キャッシュ１０と、２つのコア１１，１２とを有している。キャッシュ１０は、レベル２（Ｌ２）キャッシュメモリである。コア１１，１２は、いわゆるプロセッサコアである。情報処理部９は、バスＢ１を介してインタ−コネクト部３０に接続されている。情報処理部９としては、例えば、ＡＲＭ社製プロセッサ（例えばCortex-A9 MPCore）、ＡＲＭ社製レベル２キャッシュコントローラ（例えばＬ２Ｃ−３１０）などのＩＰ（Intellectual Property）の組み合わせを用いることができる。インタ−コネクト部３０との間のバスインタフェースとしては、例えばＡＸＩ（Advanced eXtensive Interface）を使用可能である。
【００１８】
キャッシュ１０およびコア１１，１２には、それぞれ、互いに異なる識別子ＭＩが割り当てられている。この例では、識別子ＭＩは８ビットのパラメータである。具体的には、この例では、キャッシュ１０の識別子ＭＩは、１６進数表記で“０ｘ１０”（２進数表記では“０００１００００”）であり、コア１１の識別子ＭＩは“０ｘ１１”（２進数表記では“０００１０００１”）であり、コア１２の識別子ＭＩは“０ｘ１２”（２進数表記では“０００１００１０”）である。キャッシュ１０およびコア１１，１２の識別子ＭＩの上位４ビット（ビットｂ４〜ｂ７）は、互いに同じである。すなわち、この例では、情報処理部９の各ブロック（キャッシュ１０およびコア１１，１２）における、バスインタフェースを介したデータ転送性能が同じであることを考慮し、識別子ＭＩの上位４ビットを同じにしている。そして、キャッシュ１０およびコア１１，１２の識別子ＭＩの下位４ビット（ビットｂ０〜ｂ３）は、互いに異なるようにしている。
【００１９】
情報処理部９は、メモリ５０やメモリ７０に対して書込リクエストを行う場合には、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡをインターコネクト部３０に供給し、インターコネクト部３０からレスポンス信号ＲＥを受け取るようになっている。書込アドレスＷｒＡＤＤは、アドレス情報に加え、識別子ＭＩ、転送モード情報ＭＯＤＥなどを含むものである。転送モード情報ＭＯＤＥは、書込リクエストを行うデバイス（この例では情報処理部９）が、ポステッド転送とノンポステッド転送のどちらを要求するかを示すものである。具体的には、情報処理部９は、ポステッド転送による書込リクエストを行う場合には、転送モード情報ＭＯＤＥを“１”に設定し、ノンポステッド転送による書込リクエストを行う場合には、転送モード情報ＭＯＤＥを“０”に設定する。また、書込アドレスＷｒＡＤＤは、この他、書き込むデータのビット幅やバースト長に関する情報、セキュリティ情報などを含むようにしてもよい。
【００２０】
なお、バスインタフェースとしてＡＸＩを用いる場合には、転送モード情報ＭＯＤＥは、ＡＸＩのパラメータＡＷＣＡＣＨＥ［０］に対応するものである。また、識別子ＭＩを、ＡＸＩのサイドバンド信号に割り当てることが可能である。このとき、パラメータＡＷＵＳＥＲなどの既存のサイドバンド信号を用いてもよいし、サイドバンド信号を新たに定義してもよい。
【００２１】
また、情報処理部９は、メモリ５０やメモリ７０に対して読出リクエストを行う場合には、読出アドレスＲｄＡＤＤをインターコネクト部３０に供給し、インターコネクト部３０から読出データＲｄＤＡＴＡを受け取るようになっている。
【００２２】
ＤＭＡコントローラ２０は、メモリ５０，７０に対するＤＭＡ転送を制御するコントローラである。ＤＭＡコントローラ２０には、情報処理部９の各ブロックと同様に、識別子ＭＩが割り当てられている。具体的には、この例では、ＤＭＡコントローラ２０の識別子ＭＩは“０ｘ２０”（２進数表記では“００１０００００”）である。ＤＭＡコントローラ２０は、情報処理部９と同様に、バスＢ２を介してインタ−コネクト部３０に接続されている。そして、ＤＭＡコントローラ２０は、メモリ５０やメモリ７０に対して書込リクエストを行う場合には、情報処理部９と同様に、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡをインターコネクト部３０に供給し、インターコネクト部３０からレスポンスＲＥを受け取る。また、ＤＭＡコントローラ２０は、メモリ５０やメモリ７０に対して読出リクエストを行う際には、情報処理部９と同様に、読出アドレスＲｄＡＤＤをインターコネクト部３０に供給し、インターコネクト部３０から読出データＲｄＤＡＴＡを受け取るようになっている。
【００２３】
この図では、情報処理部９およびＤＭＡコントローラ２０をインターコネクト部３０に接続したが、これに限定されるものではなく、他のデバイスを接続してもよい。その場合には、このデバイスに、情報処理部９（キャッシュ１０、２つのコア１１，１２）およびＤＭＡコントローラ２０の識別子ＭＩとは異なる識別子ＭＩを割り当てることが望ましい。例えば、ＤＭＡコントローラ２０とほぼ同じデータ転送性能を有する他のＤＭＡコントローラ１２０を接続する場合には、例えば、このＤＭＡコントローラ１２０の識別子ＭＩを“０ｘ２１”（２進数表記では“００１００００１”）にすることができる。すなわち、この例では、ＤＭＡコントローラ２０，１２０のデータ転送性能はほぼ同じであることを考慮し、識別子ＭＩの上位４ビットを同じにしている。
【００２４】
インターコネクト部３０は、情報処理部９およびＤＭＡコントローラ２０からのメモリ５０，７０へのアクセスを調停するものである。インターコネクト部３０は、バスＢ１を介して情報処理部９に接続され、バスＢ２を介してＤＭＡコントローラ２０に接続され、バスＢ１１を介してメモリコントローラ４０に接続され、バスＢ１２を介してメモリコントローラ６０に接続されている。
【００２５】
情報処理部９またはＤＭＡコントローラ２０がメモリ５０に対して書込リクエストを行った場合には、インターコネクト部３０は、書込リクエストを行ったデバイスから供給された書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡをメモリコントローラ４０に引き渡し、メモリコントローラ４０から供給されたレスポンス信号ＲＥを、書込リクエストを行ったデバイスに引き渡す。また、情報処理部９またはＤＭＡコントローラ２０がメモリ５０に対して読出リクエストを行った場合には、インターコネクト部３０は、読出リクエストを行ったデバイスから供給された読出アドレスＲｄＡＤＤを、メモリコントローラ４０に引き渡し、メモリコントローラ４０から供給された読出データＲｄＤＡＴＡを、読出リクエストを行ったデバイスに引き渡す。
【００２６】
同様に、情報処理部９またはＤＭＡコントローラ２０がメモリ７０に対して書込リクエストを行った場合には、インターコネクト部３０は、書込リクエストを行ったデバイスから供給された書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡをメモリコントローラ６０に引き渡し、メモリコントローラ６０から供給されたレスポンス信号ＲＥを、書込リクエストを行ったデバイスに引き渡す。また、情報処理部９またはＤＭＡコントローラ２０がメモリ７０に対して読出リクエストを行った場合には、インターコネクト部３０は、読出リクエストを行ったデバイスから供給された読出アドレスＲｄＡＤＤをメモリコントローラ６０に引き渡し、メモリコントローラ６０から供給された読出データＲｄＤＡＴＡを、読出リクエストを行ったデバイスに引き渡すようになっている。
【００２７】
メモリコントローラ４０は、メモリ５０の動作を制御するものである。メモリコントローラ４０は、バスＢ１１を介してインターコネクト部３０に接続されている。メモリコントローラ４０は、インターコネクト部３０から供給された書込アドレスＷｒＡＤＤおよび読出アドレスＲｄＡＤＤに基づいて制御コマンドＣＯＭを生成して、その制御コマンドＣＯＭをメモリ５０に供給する。また、メモリコントローラ４０は、インターコネクト部３０から供給された書込アドレスＷｒＡＤＤおよび読出アドレスＲｄＡＤＤに基づいてアドレスＡＤＤを生成し、そのアドレスＡＤＤをメモリ５０に供給する。また、メモリコントローラ４０は、インターコネクト部３０から供給された書込データＷｒＤＡＴＡを、データＤＡＴＡとしてメモリ５０に供給し、また、メモリ５０から供給されたデータＤＡＴＡを、読出データＲｄＤＡＴＡとしてインターコネクト部３０に供給する。メモリコントローラ４０は、メモリ５０に対してデータを書き込む場合には、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファ４４（後述）に一時的に記憶させ、その後に、書込バッファ４４に記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行うようになっている。
【００２８】
また、メモリコントローラ４０は、レスポンス信号ＲＥを生成する機能をも有している。その際、メモリコントローラ４０は、識別子ＭＩおよび転送モード情報ＭＯＤＥに基づいて、レスポンス信号ＲＥを生成するタイミングを決定するようになっている。具体的には、メモリコントローラ４０は、後述するように、情報処理部９またはＤＭＡコントローラ２０が、メモリ５０に対して、ノンポステッド転送（ＭＯＤＥ＝０）による書込リクエストを行った場合には、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成し、そのレスポンス信号ＲＥを、インターコネクト部３０を介して書込リクエストを行ったデバイスに供給する。すなわち、この場合には、ノンポステッド転送が行われる。また、メモリコントローラ４０は、情報処理部９またはＤＭＡコントローラ２０が、メモリ５０に対して、ポステッド転送（ＭＯＤＥ＝１）による書込リクエストを行った場合には、識別子ＭＩに基づいて、転送方式を選択する。すなわち、情報処理部９（キャッシュ１０、およびコア１１，１２）が書込リクエストを行った場合には、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成し、そのレスポンス信号ＲＥを、インターコネクト部３０を介して書込リクエストを行ったデバイスに供給する。すなわち、この場合には、ノンポステッド転送が行われる。また、ＤＭＡコントローラ２０が書込リクエストを行った場合には、内蔵する書込バッファ４４（後述）にデータが書き込まれたタイミングでレスポンス信号ＲＥを生成し、そのレスポンス信号ＲＥを、インターコネクト部３０を介して書込リクエストを行ったデバイスに供給する。すなわち、この場合には、ポステッド転送が行われるようになっている。
【００２９】
このように、メモリコントローラ４０では、情報処理部９が書込リクエストを行った場合には、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成する。これにより、コヒーレンシに関する問題の発生を抑えることができる。すなわち、仮に、情報処理部９は、メモリ５０のあるアドレスに対して、ポステッド転送による書込リクエストを行った直後に読出リクエストを行った場合には、書き換えられる前のデータが読み出されてしまうおそれがある。一方、メモリコントローラ４０では、情報処理部９が書込リクエストを行う場合には、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成するようにした。よって、その直後に情報処理部９がその書込リクエストと同じアドレスに対して読出リクエストを行う場合でも、書き換えられた後のデータが読み出されるため、コヒーレンシに関する問題の発生を抑えることができるようになっている。
【００３０】
メモリコントローラ６０は、メモリコントローラ４０と同様に、メモリ７０の動作を制御するものである。メモリコントローラ６０は、バスＢ１２を介してインターコネクト部３０に接続されている。また、メモリコントローラ６０は、メモリ７０に対してデータを書き込む場合には、メモリコントローラ４０と同様に、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファ６４（後述）に一時的に記憶させ、その後に、書込バッファ６４に記憶された情報に基づいて、メモリ７０に対してデータの書き込みを行う。このメモリコントローラ６０は、メモリコントローラ４０とは異なり、スヌープ機構を有している。すなわち、メモリコントローラ６０は、読出リクエストを受けとった場合において、書込バッファ６４に読み出したいデータが記憶されている場合には、この書込バッファ６４からデータを読み出し、読出データＲｄＤＡＴＡとして出力する。このように、メモリ７０からデータを読み出すのではなく、書込バッファ６４からデータを読み出すことにより、コヒーレンシに関する問題の発生を抑えることができるようになっている。
【００３１】
また、メモリコントローラ６０は、メモリコントローラ４０と同様に、レスポンス信号ＲＥを生成する機能をも有している。その際、メモリコントローラ６０は、転送モード情報ＭＯＤＥに基づいて、レスポンス信号ＲＥを生成するタイミングを決定するようになっている。具体的には、メモリコントローラ６０は、後述するように、情報処理部９またはＤＭＡコントローラ２０が、メモリ７０に対して、ノンポステッド転送（ＭＯＤＥ＝０）による書込リクエストを行った場合には、メモリ７０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成し、そのレスポンス信号ＲＥを、インターコネクト部３０を介して書込リクエストを行ったデバイスに供給する。すなわち、この場合には、ノンポステッド転送が行われる。また、メモリコントローラ６０は、情報処理部９またはＤＭＡコントローラ２０が、メモリ７０に対して、ポステッド転送（ＭＯＤＥ＝１）による書込リクエストを行った場合には、内蔵する書込バッファ６４（後述）にデータが書き込まれたタイミングでレスポンス信号ＲＥを生成し、そのレスポンス信号ＲＥを、インターコネクト部３０を介して書込リクエストを行ったデバイスに供給する。すなわち、この場合には、ポステッド転送が行われるようになっている。
【００３２】
メモリ５０，７０は、データを記憶するものであり、情報処理部９の作業用メモリとして機能するものである。メモリ５０，７０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）を用いて構成されるものである。メモリ５０は、メモリコントローラ４０から制御コマンドＣＯＭおよびアドレスＡＤＤを受け取るとともに、メモリコントローラ４０との間でデータＤＡＴＡをやりとりするものである。同様に、メモリ７０は、メモリコントローラ６０から制御コマンドＣＯＭおよびアドレスＡＤＤを受け取るとともに、メモリコントローラ６０との間でデータＤＡＴＡをやりとりするものである。
【００３３】
（メモリコントローラ４０）
図２は、メモリコントローラ４０の一構成例を表すものである。メモリコントローラ４０は、書込インタフェース４１と、読出インタフェース４８と、コントローラ４９とを有している。
【００３４】
書込インタフェース４１は、書込アクセスに関するインタフェースである。具体的には、書込インタフェース４１は、インターコネクト部３０から供給された書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを一時的に記憶し、この書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡをコントローラ４９に引き渡すようになっている。また、書込インタフェース４１は、書込アドレスＷｒＡＤＤに基づいてレスポンス信号ＲＥを生成する機能も有している。書込インタフェース４１は、書込バッファ４４と、レスポンス制御部８０と、レスポンス信号生成部４３とを有している。
【００３５】
書込バッファ４４は、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを一時的に記憶するバッファメモリである。そして、書込バッファ４４は、コントローラ４９からの指示に基づいて、記憶された書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、コントローラ４９に供給するようになっている。
【００３６】
レスポンス制御部８０は、書込アドレスＷｒＡＤＤに基づいてパラメータＰＷを生成するものである。
【００３７】
図３は、レスポンス制御部８０の一構成例である。レスポンス制御部８０は、識別子取得部８１と、転送モード情報取得部８５と、レジスタ８２と、論理積演算部８３と、比較部８４と、論理積回路８６とを有している。
【００３８】
識別子取得部８１は、書込アドレスＷｒＡＤＤから識別子ＭＩを取得するものである。転送モード情報取得部８５は、書込アドレスＷｒＡＤＤから転送モード情報ＭＯＤＥを取得するものである。
【００３９】
レジスタ８２は、パラメータＭＩＭａｓｋ，ＭＩＭａｔｃｈを記憶するものである。パラメータＭＩｍａｓｋ，ＭＩＭａｔｃｈは、それぞれ８ビットのパラメータである。メモリコントローラ４０では、パラメータＭＩｍａｓｋは、１６進数表記で“０ｘ１０”（２進数表記では“０００１００００”）に設定され、パラメータＭＩＭａｔｃｈは“０ｘ１０”に設定されている。
【００４０】
論理積回路８３は、識別子ＭＩの各ビットの値と、パラメータＭＩＭａｓｋ（この例では“０ｘ１０”）の対応するビットの値との論理積をそれぞれ求めて、８ビットのパラメータを生成するものである。すなわち、論理積回路８３は、この例では、識別子ＭＩのビットｂ４以外のビットをマスクする。具体的には、論理積回路８３は、ビットｂ４の値が識別子ＭＩのビットｂ４の値であり、ビットｂ０〜ｂ３，ｂ５〜ｂ７の値が“０”であるパラメータを生成して出力するようになっている。
【００４１】
比較部８４は、論理積演算部８３の出力パラメータと、８ビットのパラメータＭＩＭａｔｃｈ（この例では“０ｘ１０”）とを比較して、その比較結果をパラメータＤＰＷとして出力するものである。具体的には、比較部８４は、これらのパラメータが一致した場合にはパラメータＤＰＷを“１”とし、一致しない場合にはパラメータＤＰＷを“０”にするようになっている。
【００４２】
図４は、識別子ＭＩとパラメータＤＰＷとの関係を表すものである。メモリコントローラ４０では、情報処理装置９が書込リクエストを行う場合には、パラメータＤＰＷは“１”になり、ＤＭＡコントローラ２０が書込リクエストを行う場合には、パラメータＤＰＷは“０”になる。すなわち、情報処理装置９が書込リクエストを行う場合には、情報処理装置９の識別子ＭＩのビットｂ４が“１”であるため、パラメータＤＰＷは“１”になり、ＤＭＡコントローラ２０が書込リクエストを行う場合には、ＤＭＡコントローラ２０の識別子ＭＩのビットｂ４が“０”であるため、パラメータＤＰＷは“０”になる。このように、レスポンス制御部８０では、識別子ＭＩのビットｂ４の値に基づいて、パラメータＤＰＷを生成するようになっている。
【００４３】
論理積回路８６は、パラメータＤＰＷの反転値と、転送モード情報ＭＯＤＥの値との論理積を求め、その結果をパラメータＰＷとして出力するものである。パラメータＰＷは、値が“１”である場合にはポステッド転送を示し、値が“０”である場合にはノンポステッド転送を示すものである。
【００４４】
この構成により、レスポンス制御部８０は、情報処理装置９が書込リクエストを行う場合には、図４に示したようにパラメータＤＰＷが“１”になるため、パラメータＰＷを“０”にする。また、レスポンス制御部８０は、ＤＭＡコントローラ２０が書込リクエストを行う場合には、図４に示したようにパラメータＤＰＷが“０”になるため、転送モード情報ＭＯＤＥの値をパラメータＰＷとして出力するようになっている。
【００４５】
レスポンス信号生成部４３は、パラメータＰＷおよびコントローラ４９から供給される制御信号に基づいて、レスポンス信号ＲＥを生成するものである。具体的には、レスポンス信号生成部４３は、レスポンス制御部８０から、値が“１”であるパラメータＰＷを受け取った場合には、そのタイミングでレスポンス信号ＲＥを生成する。言い換えれば、レスポンス信号生成部４３は、書込バッファ４４にデータが書き込まれたタイミングでレスポンス信号ＲＥを生成する。すなわち、この場合には、ポステッド転送が行われる。また、レスポンス信号生成部４３は、値が“０”であるパラメータＰＷを受け取った場合には、メモリ５０に対してデータの書き込みが完了したことを示す制御信号をコントローラ４９から受け取ったタイミングで、レスポンス信号ＲＥを生成する。すなわち、この場合には、ノンポステッド転送が行われるようになっている。
【００４６】
読出インタフェース４８は、読出アクセスに関するインタフェースである。読出インタフェース４８は、インターコネクト部３０から供給された読出アドレスＲｄＡＤＤに基づいて所定の処理を行い、この読出アドレスＲｄＡＤＤをコントローラ４９に引き渡すとともに、コントローラ４９から供給された読出データＲｄＤＡＴＡに基づいて所定の処理を行い、この読出データＲｄＤＡＴＡをインターコネクト部３０に引き渡すようになっている。
【００４７】
コントローラ４９は、書込インタフェース４１および読出インタフェース４８からの指示に基づいて、メモリ５０の動作を制御するものである。具体的には、コントローラ４９は、書込アドレスＷｒＡＤＤおよび読出アドレスＲｄＡＤＤに基づいて、書込コマンドや読出コマンドなどの制御コマンドＣＯＭを生成して、その制御コマンドＣＯＭをメモリ５０に供給する。また、コントローラ４９は、書込アドレスＷｒＡＤＤおよび読出アドレスＲｄＡＤＤに基づいてアドレスＡＤＤを生成し、そのアドレスＡＤＤをメモリ５０に供給する。また、コントローラ４９は、書込インタフェース４１から供給された書込データＷｒＤＡＴＡを、データＤＡＴＡとしてメモリ５０に供給し、また、メモリ５０から供給されたデータＤＡＴＡを、読出データＲｄＤＡＴＡとして読出インタフェース４８に供給するようになっている。
【００４８】
（メモリコントローラ６０）
図５は、メモリコントローラ６０の一構成例を表すものである。メモリコントローラ６０は、読出インタフェース６８と、書込インタフェース６１と、コントローラ６９とを有している。
【００４９】
読出インタフェース６８は、読出インタフェース４８と同様に、読出アクセスに関するインタフェースである。読出インタフェース６８は、読出インタフェース４８とは異なり、スヌープ機構を有している。すなわち、読出インタフェース６８は、読出リクエストを受け取った場合において、書込インタフェース６１の書込バッファ６４（後述）に読み出したいデータが記憶されている場合には、この書込バッファ６４からデータを読み出し、読出データＲｄＤＡＴＡとして出力する。これにより、メモリコントローラ６０およびメモリ７０では、コヒーレンシに関する問題の発生を抑えることができるようになっている。
【００５０】
書込インタフェース６１は、書込インタフェース４１と同様に、書込アクセスに関するインタフェースである。書込インタフェース６１は、書込バッファ６４と、レスポンス制御部９０と、レスポンス信号生成部６３とを有している。
【００５１】
書込バッファ６４は、書込バッファ４４と同様に、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを一時的に記憶するバッファメモリである。また、書込バッファ６４は、読出インタフェース６８からの指示に基づいて、書込バッファ６４に記憶された書込データＷｒＤＡＴＡを読出インタフェース６８に供給するようになっている。
【００５２】
レスポンス制御部９０は、レスポンス制御部８０と同様に、書込アドレスＷｒＡＤＤに基づいてパラメータＰＷを生成するものである。レスポンス制御部９０の構成は、レスポンス制御部８０（図３）と同じである。ここで、レスポンス制御部９０では、パラメータＭＩＭaskは“０ｘ００”に設定されている。これにより、メモリコントローラ６０では、図４に示したように、情報処理装置９およびＤＭＡコントローラ２０のどちらがメモリ７０に対して書込リクエストを行っても、パラメータＤＰＷは“０”になる。よって、レスポンス制御部９０は、転送モード情報ＭＯＤＥの値を、パラメータＰＷとして出力するようになっている。
【００５３】
レスポンス信号生成部６３は、レスポンス信号生成部４３と同様に、パラメータＰＷおよびコントローラ６９から供給される制御信号に基づいて、レスポンス信号ＲＥを生成するものである。コントローラ６９は、コントローラ４９と同様に、書込インタフェース６１および読出インタフェース６８からの指示に基づいて、メモリ７０の動作を制御するものである。
【００５４】
ここで、キャッシュ１０、コア１１，１２、およびＤＭＡコントローラ２０は、本開示における「マスタデバイス」の一具体例に対応し、メモリコントローラ４０は、本開示における「スレーブデバイス」の一具体例に対応する。メモリ５０は、本開示における「アクセス対象デバイス」の一具体例に対応する。書込リクエストは、本開示における「アクセスリクエスト」の一具体例に対応する。転送モード情報ＭＯＤＥは、本開示における「要求情報」の一具体例に対応する。
【００５５】
［動作および作用］
続いて、本実施の形態のバスシステム１の動作および作用について説明する。
【００５６】
（全体動作概要）
まず、図１などを参照して、バスシステム１の全体動作概要を説明する。情報処理部９は、演算処理を行う。ＤＭＡコントローラ２０は、ＤＭＡ転送を制御する。インターコネクト部３０は、情報処理部９およびＤＭＡコントローラ２０からのメモリ５０，７０へのアクセスを調停する。メモリコントローラ４０は、メモリ５０の動作を制御するとともに、レスポンス信号ＲＥを生成する。その際、メモリコントローラ４０は、識別子ＭＩおよび転送モード情報ＭＯＤＥに基づいて、レスポンス信号ＲＥを生成するタイミングを決定する。メモリコントローラ６０は、メモリ７０の動作を制御するとともに、レスポンス信号ＲＥを生成する。その際、メモリコントローラ６０は、転送モード情報ＭＯＤＥに基づいて、レスポンス信号ＲＥを生成するタイミングを決定する。メモリ５０，７０は、データを記憶する。
【００５７】
次に、３つの動作例を挙げて、バスシステム１の詳細動作について説明する。
【００５８】
（動作例１）
まず、情報処理部９のキャッシュ１０が、メモリ５０に対して、ポステッド転送による書込リクエストを行う動作例１について説明する。
【００５９】
図６は、バスシステム１の動作例１を表すものである。図６において、太い実線で示した信号は、レスポンス信号ＲＥを生成するタイミングより前にアクティブになる信号を示し、太い破線で示した信号は、レスポンス信号ＲＥを生成するタイミングより後にアクティブになる信号を示す。
【００６０】
まず、情報処理部９のキャッシュ１０が、メモリ５０に対するポステッド転送による書込リクエストを行う。具体的には、情報処理部９は、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、キャッシュ１０の識別子ＭＩ（“０ｘ１０”）、および、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。すなわち、キャッシュ１０は、ポステッド転送を要求しているため、転送モード情報ＭＯＤＥは“１”に設定される。そして、インターコネクト部３０は、情報処理部９から供給された書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、メモリコントローラ４０に引き渡す。そして、メモリコントローラ４０は、インターコネクト部３０から、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ４０は、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、書込バッファ４４に一時的に記憶させ、その後に、書込バッファ４４に記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。
【００６１】
メモリコントローラ４０のレスポンス制御部８０は、書込アドレスＷｒＡＤＤに基づいて、値が“０”のパラメータＰＷを生成する。すなわち、書込アドレスＷｒＡＤＤに含まれる識別子ＭＩが“０ｘ１０”であるため、パラメータＤＰＷが“１”になり、パラメータＰＷが“０”になる。よって、レスポンス信号生成部４３は、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成する。バスシステム１では、このようにして、ノンポステッド転送が行われる。
【００６２】
情報処理部９は、ポステッド転送による書込リクエストを行った後に、その書込リクエストを行ったアドレスに対して読出リクエストを行う場合がある。具体的には、例えば、いわゆるエビクション動作を行う場合に、そのようなケースが起こりうる。例えば、ＡＲＭ社製プロセッサCortex-A9 MPCoreおよびレベル２キャッシュコントローラＬ２Ｃ−３１０を用いて情報処理部９を構成した場合において、エビクション動作を行う際、転送モード情報ＭＯＤＥ（ＡＷＣＡＣＨＥ［０］）は“１”に設定される。すなわち、この場合には、情報処理部９はポステッド転送による書込リクエストを行う。このような場合において、メモリコントローラ４０は、上述したように、ノンポステッド転送を行うべきと判断し、メモリ５０に対してデータの書き込みが完了したタイミングでレスポンス信号ＲＥを生成する。これにより、書込アクセスの後の読出アクセスにおいて、メモリ５０から、書き換えられる前の古いデータが読み出されるおそれを低減することができるため、コヒーレンシに関する問題の発生を抑えることができる。
【００６３】
このように、バスシステム１では、情報処理部９がメモリ５０に対してポステッド転送による書込リクエストを行う場合には、メモリコントローラ４０は、ノンポステッド転送を行うべきと判断する。これにより、バスシステム１では、コヒーレンシに関する問題の発生を抑えることができる。
【００６４】
（動作例２）
次に、ＤＭＡコントローラ２０が、メモリ５０に対して、ポステッド転送による書込リクエストを行う動作例２について説明する。
【００６５】
図７は、バスシステム１の動作例２を表すものである。まず、ＤＭＡコントローラ２０が、メモリ５０に対するポステッド転送による書込リクエストを行う。具体的には、ＤＭＡコントローラ２０は、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、ＤＭＡコントローラ２０の識別子ＭＩ（“０ｘ２０”）、および、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。メモリコントローラ４０は、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。そして、メモリコントローラ４０は、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、書込バッファ４４に一時的に記憶させる。
【００６６】
メモリコントローラ４０のレスポンス制御部８０は、書込アドレスＷｒＡＤＤに基づいて、値が“１”のパラメータＰＷを生成する。すなわち、書込アドレスＷｒＡＤＤに含まれる識別子ＭＩが“０ｘ２０”であるため、パラメータＤＰＷが“０”になり、よって、パラメータＰＷは、転送モード情報ＭＯＤＥの値と同じ値“１”になる。よって、レスポンス信号生成部４３は、書込バッファ４４にデータが書き込まれたタイミングで、レスポンス信号ＲＥを生成する。そして、メモリコントローラ４０は、書込バッファ４４に記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。バスシステム１では、このようにして、ポステッド転送が行われる。
【００６７】
ＤＭＡコントローラ２０は、しばしば、複数の書込リクエストにより一連の書込転送を行う。以下、４回の書込リクエストにより、１キロバイト（＝４×２５６バイト）の転送を行う場合を例に説明する。このような場合には、ＤＭＡコントローラ２０は、例えば、ポステッド転送による書込リクエストを３回行った後に、ノンポステッド転送による書込リクエストを１回行う。このとき、メモリコントローラ４０は、リクエスト通りに、最初の３回の書込リクエストに対してポステッド転送を行うべきと判断し、その後の１回の書込リクエストに対してノンポステッド転送を行うべきと判断する。これにより、バスシステム１では、最初の３回の書込リクエストに対してレスポンスを返すタイミングを早くすることができるため、転送性能が向上する。また、その後の１回の書込リクエストに対しては、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成するため、コヒーレンシに関する問題の発生を抑えることができる。
【００６８】
このように、バスシステム１では、ＤＭＡコントローラ２０がメモリ５０に対して書込リクエストを行う場合には、メモリコントローラ４０は、そのリクエスト通りに、ポステッド転送またはノンポステッド転送を行う。すなわち、ＤＭＡコントローラ２０は、きめ細やかに書込リクエストを行うことができるので、メモリコントローラ４０は、その書込リクエストに従うようにした。これにより、バスシステム１では、コヒーレンシに関する問題の発生を抑えることができるとともに、転送性能を高めることができる。
【００６９】
（動作例３）
次に、情報処理部９のキャッシュ１０が、メモリ７０に対して、ポステッド転送による書込リクエストを行う動作例３について説明する。
【００７０】
図８は、バスシステム１の動作例３を表すものである。まず、情報処理部９のキャッシュ１０が、メモリ７０に対するポステッド転送による書込リクエストを行う。具体的には、情報処理部９は、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、キャッシュ１０の識別子ＭＩ（“０ｘ１０”）、および、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。メモリコントローラ６０は、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。そして、メモリコントローラ６０は、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、書込バッファ６４に一時的に記憶させる。
【００７１】
メモリコントローラ６０のレスポンス制御部９０は、書込アドレスＷｒＡＤＤに基づいて、値が“１”のパラメータＰＷを生成する。すなわち、メモリコントローラ６０では、パラメータＤＰＷが“０”であるため（図４）、パラメータＰＷは、転送モード情報ＭＯＤＥの値と同じ値“１”になる。よって、レスポンス信号生成部４３は、書込バッファ６４にデータが書き込まれたタイミングで、レスポンス信号ＲＥを生成する。そして、メモリコントローラ６０は、書込バッファ６４に記憶された情報に基づいて、メモリ７０に対してデータの書き込みを行う。バスシステム１では、このようにして、ポステッド転送が行われる。また、その後に、メモリコントローラ６０が読出リクエストを受け取り、書込バッファ６４に読み出したいデータが記憶されている場合には、メモリコントローラ６０は、この書込バッファ６４からデータを読み出し、読出データＲｄＤＡＴＡとして出力する。
【００７２】
このように、バスシステム１では、情報処理部９がメモリ７０に対してポステッド転送による書込リクエストを行う場合には、メモリコントローラ６０は、そのリクエスト通りに、ポステッド転送を行うべきと判断する。これにより、バスシステム１では、レスポンスを返すタイミングが早くすることができるため、転送性能が向上する。これにより、バスシステム１では、システム全体における処理速度を高めることができる。特に、ポステッド転送では、メモリコントローラ６０が有するスヌープ機構を有効に活用することができるため、コヒーレンシに関する問題の発生を抑えることができるとともに、転送性能を高めることができる。
【００７３】
次に、いくつかの比較例と対比して、本実施の形態の作用を説明する。
【００７４】
（比較例１）
図９は、比較例１に係るバスシステム１Ｒの一例を表すものである。バスシステム１Ｒは、情報処理部９Ｒと、ＤＭＡコントローラ２０Ｒと、インターコネクト部３０と、メモリコントローラ４０Ｒと、メモリ５０とを備えている。情報処理部９ＲおよびＤＭＡコントローラ２０Ｒは、識別子ＭＩが割り当てられていないものである。メモリコントローラ４０Ｒは、スヌープ機構を有するものである。また、メモリコントローラ４０Ｒは、転送モード情報ＭＯＤＥに基づいて、レスポンス信号ＲＥを生成するタイミングを決定するようになっている。
【００７５】
この図９の例では、情報処理部９Ｒが、メモリ５０に対してポステッド転送による書込リクエストを行う。具体的には、まず、情報処理部９Ｒが、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。そして、メモリコントローラ４０Ｒは、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ４０Ｒは、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファに一時的に記憶させる。
【００７６】
メモリコントローラ４０Ｒは、転送モード情報ＭＯＤＥの値が“１”である為、内蔵する書込バッファにデータが書き込まれたタイミングで、レスポンス信号ＲＥを生成する。そして、メモリコントローラ４０Ｒは、その書込バッファに記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。バスシステム１Ｒでは、このようにして、ポステッド転送が行われる。また、その後に、メモリコントローラ４０Ｒが読出リクエストを受け取り、書込バッファに読み出したいデータが記憶されている場合には、メモリコントローラ４０Ｒは、この書込バッファからデータを読み出し、読出データＲｄＤＡＴＡとして出力する。
【００７７】
比較例１に係るバスシステム１Ｒでは、メモリコントローラ４０Ｒにスヌープ機構を設けたので、ポステッド転送を行う場合でも、コヒーレンシに関する問題の発生を抑えることができる。しかしながら、スヌープ機構は、回路の規模が大きく、コストが上昇するおそれがある。
【００７８】
一方、本実施の形態に係るバスシステム１では、情報処理部９がポステッド転送による書込リクエストを行う場合には、メモリコントローラ４０は、ノンポステッド転送を行うべきと判断する。これにより、スヌープ機構を設けずにコヒーレンシに関する問題の発生を抑えることができるため、回路規模を小さくすることができ、コストの上昇を抑えることができる。
【００７９】
（比較例２）
図１０，１１は、比較例２に係るバスシステム１Ｓの一例を表すものである。バスシステム１Ｓは、情報処理部９Ｒと、ＤＭＡコントローラ２０Ｒと、インターコネクト部３０と、メモリコントローラ４０Ｓと、メモリ５０とを備えている。メモリコントローラ４０Ｓは、スヌープ機構を有しないものである。また、メモリコントローラ４０Ｓは、受け取った転送モード情報ＭＯＤＥに依らず、常にノンポステッド転送を行うべきと判断するものである。
【００８０】
図１０の例では、情報処理部９Ｒが、メモリ５０に対してポステッド転送による書込リクエストを行う。具体的には、まず、情報処理部９Ｒが、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。そして、メモリコントローラ４０Ｓは、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ４０Ｓは、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファに一時的に記憶させ、その後に、その書込バッファに記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。メモリコントローラ４０Ｓは、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成する。バスシステム１Ｓでは、このようにして、ノンポステッド転送が行われる。
【００８１】
図１１の例では、ＤＭＡコントローラ２０Ｒが、メモリ５０に対してポステッド転送による書込リクエストを行う。具体的には、まず、ＤＭＡコントローラ２０Ｒが、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。そして、メモリコントローラ４０Ｓは、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ４０Ｓは、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファに一時的に記憶させ、その後に、その書込バッファに記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。メモリコントローラ４０Ｓは、メモリ５０に対してデータの書き込みが完了したタイミングで、レスポンス信号ＲＥを生成する。バスシステム１Ｓでは、このようにして、ノンポステッド転送が行われる。
【００８２】
比較例２に係るバスシステム１Ｓでは、メモリコントローラ４０Ｓは、受け取った転送モード情報ＭＯＤＥに依らず、常にノンポステッド転送を行うべきと判断するようにしたので、コヒーレンシに関する問題の発生を抑えることができる。しかしながら、ＤＭＡコントローラ２０Ｒがポステッド転送による書込リクエストを行った場合にもノンポステッド転送を行うため、システム全体における処理速度が低下するおそれがある。すなわち、ＤＭＡコントローラ２０Ｒは、書込アクセスを行った直後に、同じアドレスに対して読出アクセスを行う可能性が低い。よって、ＤＭＡコントローラ２０Ｒからのアクセスに対して、このようにレスポンスを返すタイミングを遅くすると、転送性能が低くなってしまい、システム全体における処理速度が低下してしまうおそれがある。
【００８３】
一方、本実施の形態に係るバスシステム１では、メモリコントローラ４６が、識別子ＭＩに基づいて、ポステッド転送を行うべきかノンポステッド転送を行うべきかを判断するようにした。これにより、例えば、情報処理部９がポステッド転送による書込リクエストを行う場合にはノンポステッド転送を行い、ＤＭＡコントローラ２０がポステッド転送による書込リクエストを行う場合にはポステッド転送を行うことができる。このように、バスシステム１では、書込リクエストを行うデバイスによって、異なる転送を行うことができるようにしたので、コヒーレンシに関する問題の発生を抑えつつ転送性能を高めることができる。
【００８４】
（比較例３）
図１２，１３は、比較例３に係るバスシステム１Ｔの一例を表すものである。バスシステム１Ｔは、情報処理部９Ｔと、ＤＭＡコントローラ２０Ｒと、インターコネクト部３０と、メモリコントローラ４０Ｔ，６０Ｔと、メモリ５０，７０とを備えている。情報処理部９Ｔは、メモリ５０，７０に対して、常にノンポステッド転送による書込リクエストを行うものである。メモリコントローラ４０Ｔは、スヌープ機構を有しないものであり、メモリコントローラ６０Ｔは、スヌープ機構を有するものである。メモリコントローラ４０Ｔ，６０Ｔは、転送モード情報ＭＯＤＥに基づいて、レスポンス信号ＲＥを生成するタイミングを決定するようになっている。
【００８５】
図１２の例では、情報処理部９Ｔが、メモリ５０に対してノンポステッド転送による書込リクエストを行う。具体的には、まず、情報処理部９Ｔが、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、値が“０”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝０）が含まれている。そして、メモリコントローラ４０Ｔは、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ４０Ｔは、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファに一時的に記憶させ、その後に、その書込バッファに記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。そして、メモリコントローラ４０Ｔは、メモリ５０に対してデータの書き込みが完了したタイミングでレスポンス信号ＲＥを生成する。バスシステム１Ｔでは、このようにして、ノンポステッド転送が行われる。
【００８６】
図１３の例では、情報処理部９Ｔが、メモリ７０に対してノンポステッド転送による書込リクエストを行う。具体的には、まず、情報処理部９Ｔが、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、値が“０”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝０）が含まれている。そして、メモリコントローラ６０Ｔは、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ６０Ｔは、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファに一時的に記憶させ、その後に、その書込バッファに記憶された情報に基づいて、メモリ７０に対してデータの書き込みを行う。そして、メモリコントローラ６０Ｔは、メモリ７０に対してデータの書き込みが完了したタイミングでレスポンス信号ＲＥを生成する。バスシステム１Ｔでは、このようにして、ノンポステッド転送が行われる。また、その後に、メモリコントローラ６０Ｔが読出リクエストを受け取り、書込バッファに読み出したいデータが記憶されている場合には、メモリコントローラ６０Ｔは、この書込バッファからデータを読み出し、読出データＲｄＤＡＴＡとして出力する。
【００８７】
比較例３に係るバスシステム１Ｔでは、情報処理部９Ｔが常にノンポステッド転送による書込リクエストを行うようにしたので、コヒーレンシに関する問題の発生を抑えることができる。しかしながら、メモリコントローラ６０Ｔがスヌープ機構を有するにも関わらず、常にノンポステッド転送を行うため、スヌープ機構を有効に働かせることができず、性能を発揮することができない。
【００８８】
一方、本実施の形態に係るバスシステム１では、メモリコントローラ４０，６０が、それぞれ独立して、ポステッド転送を行うべきかノンポステッド転送を行うべきかを判断するようにした。これにより、例えば、情報処理部９がポステッド転送による書込リクエストを行う場合には、スヌープ機構を有しないメモリコントローラ４０は、ノンポステッド転送を選択することによりコヒーレンシに関する問題の発生を抑えることができるとともに、スヌープ機構を有するメモリコントローラ６０は、ポステッド転送を選択することにより転送性能を高めることができる。このように、スヌープ機構を有するデバイスとスヌープ機構を有しないデバイスが混在する場合でも、コヒーレンシに関する問題の発生を抑えることができるとともに、転送性能を高めることができる。
【００８９】
［効果］
以上のように本実施の形態では、識別子に基づいて、ポステッド転送を行うべきかノンポステッド転送を行うべきかを判断するようにしたので、例えば、情報処理部がポステッド転送による書込リクエストを行う場合にはノンポステッド転送を選択することによりコヒーレンシに関する問題の発生を抑えることができるとともに、ＤＭＡコントローラがポステッド転送による書込リクエストを行う場合にはポステッド転送を選択することにより、転送性能を高めることができる。
【００９０】
本実施の形態では、複数のメモリコントローラが、それぞれ独立して、ポステッド転送を行うべきかノンポステッド転送を行うべきかを判断するようにしたので、例えば、スヌープ機構を有しないメモリコントローラは、ノンポステッド転送を選択することによりコヒーレンシに関する問題の発生を抑えることができるとともに、スヌープ機構を有するメモリコントローラは、ポステッド転送を選択することにより転送性能を高めることができる。
【００９１】
［変形例１］
上記実施の形態では、レスポンス制御部８０において、１組のパラメータＭＩＭａｓｋ，ＭＩＭａｔｃｈを用いたが、これに限定されるものではなく、これに代えて、複数組のパラメータＭＩＭａｓｋ，ＭＩＭａｔｃｈを用いてもよい。図１４に、２組のパラメータＭＩＭａｓｋ，ＭＩＭａｔｃｈを用いる場合の例を示す。このレスポンス制御部８０Ａは、レジスタ８２Ａと、論理積演算部８３１，８３２と、比較部８４１，８４２と、論理和回路８７Ａとを有している。レジスタ８２Ａは、パラメータＭＩＭａｓｋ１，ＭＩＭａｔｃｈ１およびパラメータＭＩＭａｓｋ２，ＭＩＭａｔｃｈ２を記憶するものである。論理積演算部８３１は、識別子ＭＩの各ビットの値と、パラメータＭＩＭａｓｋ１の対応するビットの値との論理積をそれぞれ求めて、８ビットのパラメータを生成するものである。比較部８４１は、論理積演算部８３１の出力パラメータと、８ビットのパラメータＭＩＭａｔｃｈ１とを比較して、その比較結果を出力するものである。論理積演算部８３２は、識別子ＭＩの各ビットの値と、パラメータＭＩＭａｓｋ２の対応するビットの値との論理積をそれぞれ求めて、８ビットのパラメータを生成するものである。比較部８４２は、論理積演算部８３２の出力パラメータと、８ビットのパラメータＭＩＭａｔｃｈ２とを比較して、その比較結果を出力するものである。論理和回路８７Ａは、比較部８４１における比較結果と、比較部８４２における比較結果との論理和を求めて、パラメータＤＰＷとして出力するものである。このように、複数組のパラメータＭＩＭａｓｋ，ＭＩＭａｔｃｈを用いることにより、より高い自由度で、書込アクセスを制御することができる。
【００９２】
［変形例２］
上記実施の形態では、メモリコントローラ４０は、識別子ＭＩに基づいて書込リクエストを行うデバイスを特定したが、これに限定されるものではない。以下に、本変形例について、詳細に説明する。
【００９３】
図１５，１６は、本変形例に係るバスシステム１Ｂの一例を表すものである。バスシステム１Ｂは、情報処理部９Ｂと、ＤＭＡコントローラ２０Ｂと、インターコネクト部３０と、メモリコントローラ４０Ｂ，６０Ｂと、メモリ５０，７０とを備えている。図１７は、メモリコントローラ４０Ｂ，６０Ｂに係るレスポンス制御部８０Ｂの一構成例を表すものである。
【００９４】
情報処理部９ＢおよびＤＭＡコントローラ２０Ｂは、転送（アクセス）ごとに、転送識別子ＩＤを付与するものである。この例では、情報処理部９Ｂが付与する転送識別子ＩＤは、０以上１２７以下であり。ＤＭＡコントローラ２０Ｂが付与する転送識別子ＩＤは、１２８以上２５５以下である。そして、情報処理部９ＢおよびＤＭＡコントローラ２０Ｂは、この転送識別子ＩＤを含む書込アドレスＷｒＡＤＤを生成するようになっている。メモリコントローラ４０Ｂ，６０Ｂは、書込アドレスＷｒＡＤＤに含まれる転送識別子ＩＤを用いて、書込リクエストや読出リクエストを行ったデバイスを識別可能に構成されたものである。すなわち、上記実施の形態に係るメモリコントローラ４０，６０は、識別子ＭＩを用いて、書込リクエストや読出リクエストを行ったデバイスを識別できるようにしたが、このメモリコントローラ４０Ｂ，６０Ｂは、転送識別子ＩＤを用いて、書込リクエストや読出リクエストを行ったデバイスを識別できるようにしている。
【００９５】
レスポンス制御部８０Ｂは、転送識別子取得部８１Ｂと、レジスタ８２Ｂとを有している。転送識別子取得部８１Ｂは、書込アドレスＷｒＡＤＤから転送識別子ＩＤを取得するものである。レジスタ８２Ｂは、パラメータＩＤＭａｓｋ，ＩＤＭａｔｃｈを記憶するものである。パラメータＩＤｍａｓｋは、１６進数表記で“０ｘ８０”（２進数表記では“１０００００００”）に設定され、パラメータＩＤＭａｔｃｈは、“０ｘ００”に設定されている。
【００９６】
図１５の例では、情報処理部９Ｂが、メモリ５０に対してポステッド転送による書込リクエストを行う。具体的には、まず、情報処理部９Ｂが、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、０以上１２７以下の転送識別子ＩＤと、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。そして、メモリコントローラ４０Ｂは、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ４０Ｂは、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファ４４に一時的に記憶させ、その後に、その書込バッファ４４に記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。
【００９７】
メモリコントローラ４０Ｂのレスポンス制御部８０Ｂは、書込アドレスＷｒＡＤＤに基づいて、値が“０”のパラメータＰＷを生成する。すなわち、書込アドレスＷｒＡＤＤに含まれる転送識別子ＩＤが０以上１２７以下であるため、パラメータＤＰＷが“１”になり、パラメータＰＷが“０”になる。よって、メモリコントローラ４０Ｂは、メモリ５０に対してデータの書き込みが完了したタイミングでレスポンス信号ＲＥを生成する。バスシステム１Ｂでは、このようにして、ノンポステッド転送が行われる。
【００９８】
図１６の例では、ＤＭＡコントローラ２０Ｂが、メモリ５０に対してポステッド転送による書込リクエストを行う。具体的には、まず、ＤＭＡコントローラ２０Ｂが、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを生成してインターコネクト部３０に供給する。この書込アドレスＷｒＡＤＤには、１２８以上２５５以下の転送識別子ＩＤと、値が“１”である転送モード情報ＭＯＤＥ（ＭＯＤＥ＝１）が含まれている。そして、メモリコントローラ４０Ｂは、インターコネクト部３０を介して、書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを受け取る。メモリコントローラ４０Ｂは、その書込アドレスＷｒＡＤＤおよび書込データＷｒＤＡＴＡを、内蔵する書込バッファ４４に一時的に記憶させる。
【００９９】
メモリコントローラ４０Ｂのレスポンス制御部８０Ｂは、書込アドレスＷｒＡＤＤに基づいて、値が“１”のパラメータＰＷを生成する。すなわち、書込アドレスＷｒＡＤＤに含まれる転送識別子ＩＤが１２８以上２５５以下であるため、パラメータＤＰＷが“０”になり、よって、パラメータＰＷは、転送モード情報ＭＯＤＥの値と同じ値“１”になる。よって、メモリコントローラ４０Ｂは、書込バッファ４４にデータが書き込まれたタイミングでレスポンス信号ＲＥを生成する。バスシステム１Ｂでは、このようにして、ポステッド転送が行われる。そして、メモリコントローラ４０Ｂは、書込バッファ４４に記憶された情報に基づいて、メモリ５０に対してデータの書き込みを行う。
【０１００】
このように構成しても、上記実施の形態の場合と同様の効果を得ることができる。なお、これに限定されるものではなく、例えば、情報処理部とＤＭＡコントローラがアクセスするメモリ領域（アドレス領域）を分け、メモリコントローラが、アドレス情報に基づいて書込リクエストを行うデバイスを特定するようにしてもよい。
【０１０１】
［変形例３］
上記実施の形態では、情報処理部９およびＤＭＡコントローラ２０が、識別子ＭＩを含む書込アドレスＷｒＡＤＤを生成したが、これに限定されるものではなく、これに代えて、例えば、図１８に示すバスシステム１Ｃのように、インターコネクト部が、識別子ＭＩを含む書込アドレスＷｒＡＤＤを生成してもよい。このバスシステム１Ｃは、情報処理部９Ｃと、ＤＭＡコントローラ２０Ｃと、インターコネクト部３０Ｃと、メモリコントローラ４０，６０と、メモリ５０，７０とを備えている。情報処理部９ＣおよびＤＭＡコントローラ２０Ｃは、識別子ＭＩを含まない書込アドレスＷｒＡＤＤを生成するものである。インターコネクト部３０Ｃは、識別子生成部３１Ｃと、識別子生成部３２Ｃとを有している。識別子生成部３１Ｃは、情報処理部９Ｃから供給された書込アドレスＷｒＡＤＤに、情報処理部９Ｃの識別子ＭＩ（例えば“０ｘ１０”）を追加するものである。識別子生成部３２Ｃは、ＤＭＡコントローラ２０Ｃから供給された書込アドレスＷｒＡＤＤに、ＤＭＡコントローラ２０Ｃの識別子ＭＩ（例えば“０ｘ２０”）を追加するものである。このように構成しても、上記実施の形態の場合と同様の効果を得ることができる。
【０１０２】
［変形例４］
上記実施の形態では、メモリコントローラ４０，６０が、レスポンス信号ＲＥの生成タイミングを制御したが、これに限定されるものではなく、これに代えて、例えば、インターコネクト部がレスポンス信号ＲＥの生成タイミングを制御してもよい。以下に、本変形例に係るインターコネクト部３０Ｄについて、詳細に説明する。
【０１０３】
図１９は、インターコネクト部３０Ｄの一構成例を表すものである。インターコネクト部３０Ｄは、レスポンス制御部３３Ｄ，３５Ｄと、レスポンス信号生成部３４Ｄ，３６Ｄと、処理部３７Ｄとを有している。レスポンス制御部３３Ｄは、レスポンス制御部８０（図３）と同様に、情報処理部９ＣからバスＢ１を介して供給された書込アドレスＷｒＡＤＤに基づいて、パラメータＰＷを生成するものである。レスポンス信号生成部３４Ｄは、レスポンス信号生成部４３と同様に、レスポンス制御部３３Ｄが生成したパラメータＰＷおよび処理部３７Ｄから供給された制御信号に基づいてレスポンス信号ＲＥを生成し、このレスポンス信号ＲＥをバスＢ１を介して情報処理部９Ｃに供給するものである。レスポンス制御部３５Ｄは、レスポンス制御部８０（図３）と同様に、ＤＭＡコントローラ２０からバスＢ２を介して供給された書込アドレスＷｒＡＤＤに基づいて、パラメータＰＷを生成するものである。レスポンス信号生成部３６Ｄは、レスポンス信号生成部４３と同様に、レスポンス制御部３５Ｄが生成したパラメータＰＷおよび処理部３７Ｄから供給された制御信号に基づいてレスポンス信号ＲＥを生成し、このレスポンス信号ＲＥをバスＢ２を介してＤＭＡコントローラ２０に供給するものである。処理部３７Ｄは、情報処理部９およびＤＭＡコントローラ２０からのメモリ５０，７０へのアクセスを調停するものである。このように構成しても、上記実施の形態の場合と同様の効果を得ることができる。
【０１０４】
以上、実施の形態およびいくつかの変形例を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
【０１０５】
例えば、上記実施の形態等では、インターコネクト部を１つ設けたが、これに限定されるものではなく、これに代えて、図２０に示すバスシステム２のように複数のインターコネクト部（この例では２つのインターコネクト部１３１，１３２）を設けてもよい。この例では、情報処理部９およびＤＭＡコントローラ２０は、２つのインターコネクト部１３１，１３２を介して、メモリ５０，７０にアクセスする。
【０１０６】
また、例えば、上記実施の形態等では、本技術をメモリアクセスに適用したが、これに限定されるものではなく、リクエストに対してレスポンスを行う様々な用途に適用することができる。
【０１０７】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【０１０８】
なお、本技術は以下のような構成とすることができる。
【０１０９】
（１）複数のマスタデバイスのうちの一のマスタデバイスに、アクセス対象デバイスへのアクセスリクエストを生成させ、
前記アクセスリクエストに基づいて、スレーブデバイスに、前記アクセスリクエストを生成した前記一のマスタデバイスを特定させ、
前記スレーブデバイスに、その特定された前記一のマスタデバイスに応じた応答タイミングで、前記一のマスタデバイスへの応答をさせる
アクセス制御方法。
【０１１０】
（２）前記応答タイミングは、前記スレーブデバイスが前記アクセスリクエストを受け取った第１のタイミング、または、前記アクセス対象デバイスが前記アクセスリクエストに基づく処理を終了した第２のタイミングである
前記（１）に記載のアクセス制御方法。
【０１１１】
（３）前記アクセスリクエストは、前記応答タイミングについての前記一のマスタデバイスの要求を示す要求情報を含み、
前記スレーブデバイスに応答させる際、特定された前記一のマスタデバイス、および前記要求情報に基づいて、前記応答タイミングを決定させる
前記（２）に記載のアクセス制御方法。
【０１１２】
（４）前記応答タイミングを決定させる際、前記要求情報が前記第１のタイミングを示す場合には、特定された前記一のマスタデバイスに基づいて、前記応答タイミングを決定させる
前記（３）に記載のアクセス制御方法。
【０１１３】
（５）前記応答タイミングを決定させる際、前記要求情報が前記第２のタイミングを示す場合には、前記第２のタイミングを前記応答タイミングにする
前記（３）または（４）に記載のアクセス制御方法。
【０１１４】
（６）前記スレーブデバイスはバッファメモリを有し、
前記第１のタイミングは、前記アクセスリクエストを前記バッファメモリに記憶したタイミングである
前記（２）から（５）のいずれかに記載のアクセス制御方法。
【０１１５】
（７）前記複数のマスタデバイスに、互いに異なる識別子を割り当て、
前記一のマスタデバイスを特定させる際、前記識別子に基づいて特定させる
前記（１）から（６）のいずれかに記載のアクセス制御方法。
【０１１６】
（８）前記アクセスリクエストを生成させる際、前記アクセスリクエストが前記一のマスタデバイスの識別子を含むように処理させる
前記（７）に記載のアクセス制御方法。
【０１１７】
（９）前記一のマスタデバイスおよび前記スレーブデバイスの間の信号経路上のデバイスに、前記アクセスリクエストが前記一のマスタデバイスの識別子を含むように処理させる
前記（７）に記載のアクセス制御方法。
【０１１８】
（１０）前記スレーブデバイスは、前記アクセス対象デバイスを制御するものである
前記（１）から（９）のいずれかに記載のアクセス制御方法。
【０１１９】
（１１）前記アクセス対象デバイスはメモリであり、
前記アクセスリクエストは書込リクエストである
前記（１）から（１０）のいずれかに記載のアクセス制御方法。
【０１２０】
（１２）アクセス対象デバイスへのアクセスリクエストを生成可能に構成された複数のマスタデバイスと、
前記アクセスリクエストに基づいて、前記複数のマスタデバイスのうちの、前記アクセスリクエストを生成した一のマスタデバイスに応じた応答タイミングで、前記一のマスタデバイスに応答するスレーブデバイスと
を備えたバスシステム。
【０１２１】
（１３）アクセス対象デバイスへのアクセスリクエストを生成可能に構成された複数のマスタデバイスと、
前記アクセスリクエストに基づいて、前記複数のマスタデバイスのうちの、前記アクセスリクエストを生成した一のマスタデバイスに応じた応答タイミングで、前記一のマスタデバイスに応答するスレーブデバイスと
を備えた半導体装置。
【０１２２】
本出願は、日本国特許庁において２０１４年９月１０日に出願された日本特許出願番号２０１４−１８３７７７号を基礎として優先権を主張するものであり、この出願のすべての内容を参照によって本出願に援用する。
【０１２３】
当業者であれば、設計上の要件や他の要因に応じて、種々の修正、コンビネーション、サブコンビネーション、および変更を想到し得るが、それらは添付の請求の範囲やその均等物の範囲に含まれるものであることが理解される。
【図１】
0006497392.tif 000002
【図２】
0006497392.tif 000003
【図３】
0006497392.tif 000004
【図４】
0006497392.tif 000005
【図５】
0006497392.tif 000006
【図６】
0006497392.tif 000007
【図７】
0006497392.tif 000008
【図８】
0006497392.tif 000009
【図９】
0006497392.tif 000010
【図１０】
0006497392.tif 000011
【図１１】
0006497392.tif 000012
【図１２】
0006497392.tif 000013
【図１３】
0006497392.tif 000014
【図１４】
0006497392.tif 000015
【図１５】
0006497392.tif 000016
【図１６】
0006497392.tif 000017
【図１７】
0006497392.tif 000018
【図１８】
0006497392.tif 000019
【図１９】
0006497392.tif 000020
【図２０】
0006497392.tif 000021