JP6416488B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP6416488B2
JP6416488B2 JP2014072334A JP2014072334A JP6416488B2 JP 6416488 B2 JP6416488 B2 JP 6416488B2 JP 2014072334 A JP2014072334 A JP 2014072334A JP 2014072334 A JP2014072334 A JP 2014072334A JP 6416488 B2 JP6416488 B2 JP 6416488B2
Authority
JP
Japan
Prior art keywords
bus
response
write
dummy
control circuit
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.)
Active
Application number
JP2014072334A
Other languages
English (en)
Other versions
JP2015194900A (ja
Inventor
和憲 山下
和憲 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2014072334A priority Critical patent/JP6416488B2/ja
Publication of JP2015194900A publication Critical patent/JP2015194900A/ja
Application granted granted Critical
Publication of JP6416488B2 publication Critical patent/JP6416488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Description

本発明は、半導体装置に関し、特に、バスを介したDMA転送を実行可能な半導体装置に関する。
DMA(Direct Memory Access)は、コンピュータシステムにおいて、プロセッサを介さずにコンポーネント間でバスを介したデータ転送を行う技術である。かかるDMAによるデータ転送(以下、「DMA転送」という。)では、プロセッサにおいてデータ転送要求が発生した場合、プロセッサは、DMAコントローラに対してデータ転送命令を与え、DMAコントローラは、該データ転送命令に基づいて、プロセッサの処理とは独立に、データの転送処理を行う。DMAコントローラは、該転送処理が完了すると、CPUに対して割り込みをかけ、該転送処理完了したことを通知する。一般に、プロセッサやDMAコントローラは、バス乃至はバスIPを制御してメモリ等にアクセスすることから、「バスマスタ」又は「イニシエータ」と呼ばれ、該アクセスされるメモリ等は「バススレーブ」又は「ターゲット」と呼ばれる。
例えば、下記特許文献1は、バスを介してデータ転送を行うデータ転送装置であって、データをターゲットデバイスへ書き込むデバイスコントローラと、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコア11と、を備える該データ転送装置を開示する。そして、前記デバイスコントローラは、前記転送完了通知要求信号を受信した場合、前記ターゲットデバイスへの前記データの全てのすべての書き込みに伴い転送完了通知信号を出力する。
特開2009−277004号公報
バスマスタとして動作するプロセッサ又はDMAコントローラが、例えば、バスIPを介して、SRAM等のメモリにアクセスする場合、バスIPの競合が発生し得る。すなわち、プロセッサのアクセス(例えば、リード/ライト)は、典型的には、DMAコントローラのそれよりも優先度が高く、プロセッサのアクセス中に発生したDMAコントローラのアクセスは、プロセッサのアクセスの終了後に実行される。また、データの整合性を保証するため、DMAコントローラによるメモリへのライトアクセス制御が発生する場合、プロセッサは、該ライトアクセス制御が終了し、割り込みがかかるまで、ウェイト状態になる必要がある。DMAコントローラは、メモリへのデータ転送終了の通知をバスIPから受け取ると、プロセッサに対して割り込みをかけ、プロセッサは、これを受けて、実行を再開する。
しかしながら、DMAコントローラが、メモリに対するデータのライトアクセス制御を行ってから、バスIPからデータ転送終了の通知を受け取るまで、典型的には、数クロックを要する場合があり、プロセッサへの割り込みや次のライトアクセス制御に対してレイテンシーが発生するのが実情である。
また、DMAコントローラが、プロセッサとの間で競合せず、所定の時間内にアクセスが終了することがわかっている場合であっても、DMAコントローラは、バスIPからのデータ転送終了の通知に基づいて割り込みをかけていたため、同様に、望ましくないレイテンシーが発生していた。
そこで、本発明は、DMA転送におけるレイテンシーの改善を図ることのできる半導体装置を提供することを目的とする。
より具体的には、本発明は、バスIPを介して接続されるDMAコントローラとメモリとの間のDMA転送によるライトアクセス制御において、データ転送終了の通知を早期に送ることで、レイテンシーの改善を図ることのできる半導体装置を提供することを目的とする。
上記課題を解決するための本発明は、以下に示す発明特定事項乃至は技術的特徴を含んで構成される。
ある観点に従う本発明は、バスIPを介してリクエスト/レスポンスに基づく所定のバスプロトコルに従いデータ転送可能に接続された、バスマスタとして動作する少なくとも1つのプロセッサと、バススレーブとして動作する少なくとも1つのメモリと、前記バスマスタとして動作するDMAコントローラとを含む半導体装置である。前記半導体装置は、前記少なくとも1つのプロセッサ及び前記DMAコントローラに接続され、前記バスIPと同じ挙動をするように構成されたダミーバスIPと、前記ダミーバスIPに接続され、前記メモリと同じ挙動をするように構成されたダミーメモリと、前記DMAコントローラと、前記バスIP及び前記ダミーバスIPとの間に設けられたバス制御回路とを備える。前記ダミーバスIPは、前記DMAコントローラにより発行されたリクエストに基づく先行レスポンスを前記バス制御回路に送出する。また、前記バス制御回路は、前記ダミーバスIPから送出された前記先行レスポンスに基づいて、前記リクエストに対するレスポンスを前記DMAコントローラに送出する。
とりわけ、前記ダミーバスIPは、前記バスマスタにより発行されたライトリクエストに基づいて前記先行レスポンスを前記バス制御回路に送出し、前記バス制御回路は、前記ダミーバスIPから送出された前記先行レスポンスに基づいて、前記ライトリクエストに対するライトレスポンスを前記DMAコントローラに送出し得る。
これにより、前記半導体装置では、前記DMAコントローラから前記メモリに対してライトアクセスが発行された場合に、前記メモリからのライトレスポンスを待つことなく、擬似的なライトレスポンスを前記DMAコントローラに返すことができるようになる。したがって、前記DMAコントローラは、前記メモリに対するライトアクセスを直ちに終了させることができ、レイテンシーが改善されることになる。
前記DMAコントローラは、前記ライトリクエストに対する前記ライトレスポンスを受け取った場合に、前記プロセッサに対して割り込みをかけ得る。
前記ダミーバスIPは、前記バスIPが前記バスマスタにより発行されたリクエストに基づいて前記メモリに対して該リクエストを発行するタイミングと同一のタイミングで、前記先行レスポンスを前記バス制御回路に送出し得る。
前記ダミーバスIPは、前記バスマスタにより発行されたリクエストに従うデータ本体を無視するように構成され得る。また、これに伴い、前記ダミーメモリは、前記バスマスタにより発行されたリクエストに従うデータ本体を記憶する記憶セルを有しないように構成される一方で、該リクエストに対するレスポンスを前記ダミーバスIPに発行するように構成され得る。
前記半導体装置は、前記少なくとも1つのプロセッサ及び前記DMAコントローラと前記ダミーバスIPとの間に設けられた第1のタイミング調整回路をさらに備え得る。
また、前記バス制御回路は、前記先行レスポンスに基づく前記ライトレスポンスを前記DMAコントローラに送出した後、前記バスIPを介して、前記メモリにより発行された前記リクエストに対する真のライトレスポンスを受け取った場合、該真のライトレスポンスが前記DMAコントローラに送出されないように制御し得る。
さらに、前記バス制御回路は、前記ダミーバスIPから送出される前記先行レスポンスを受け取った場合に、前記ライトリクエストに先行する、前記バスマスタにより発行された他のリクエストが存在すると判断する場合には、前記先行レスポンスに基づく前記ライトリクエストに対するライトレスポンスに代えて、前記バスIPを介して受け取った、前記メモリにより発行された前記ライトリクエストに対する真のライトレスポンスを前記DMAコントローラに送出し得る。
さらにまた、バス制御回路は、前記他のリクエストに対するレスポンスを前記バスマスタに送出した後、前記真のライトレスポンスを前記DMAコントローラに送出し得る。
また、前記バス制御回路は、前記バスマスタにより発行されたリクエストを一時的に格納するバッファと、前記メモリにより発行され前記バスIPを介して受け取ったレスポンスと前記バッファに格納された前記リクエストとの対応関係に従って、前記バスマスタにより発行された前記リクエストに対する所定のレスポンスを前記バスマスタに送出するように制御するレスポンス制御部とを備え得る。
また、前記バス制御回路は、前記バスマスタにより発行されたリクエストを前記バッファに格納するためのタイミングを調整する第2のタイミング調整回路をさらに備え得る。
また、前記半導体装置は、前記少なくとも1つのプロセッサにより発行されるライトリクエストの数と、前記ダミーバスIPを介して受け取った前記ダミーメモリにより発行されたライトレスポンスの数とを監視する少なくとも1つのバス監視回路をさらに備え得る。前記バス制御回路は、前記バス監視回路により前記少なくとも1つのプロセッサから前記メモリに対する現在処理中のライトリクエストが存在しないと判断される場合に、前記DMAコントローラにより一のライトリクエストが発行された時点で、該一のライトリクエストに対するライトレスポンスを前記DMAコントローラに送出し得る。
また、前記半導体装置に複数のバス監視回路が設けられた場合、前記複数のバス監視回路のそれぞれは、複数の前記プロセッサのうちの対応する一のプロセッサにより発行されるライトリクエストの数を監視し得る。
また、前記半導体装置は、複数の前記メモリと、該複数のメモリのそれぞれに対応する複数のダミーメモリとを備え得る。前記ダミーバスIPは、前記バスマスタにより発行された前記複数のダミーメモリのそれぞれに対するライトアクセスに基づいて、前記先行レスポンスを前記バス制御回路にそれぞれ送出し得る。
また、別の観点に従う本発明は、方法の発明としても把握することができる。
なお、本明細書等において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、1つの手段が有する機能が2つ以上の物理的手段により実現されても、2つ以上の手段の機能が1つの物理的手段により実現されても良い。
本発明によれば、DMA転送におけるレイテンシーの改善を図ることのできる半導体装置が実現される。
より具体的には、本発明によれば、DMAコントローラからメモリに対してライトリクエストが発行された場合に、該メモリからのライトレスポンスを待つことなく、擬似的なライトレスポンスを該DMAコントローラに返すため、該DMAコントローラは、該メモリに対するライトアクセスを直ちに終了させることができ、したがって、半導体装置におけるレイテンシーを改善することができるようになる。
また、本発明によれば、レイテンシー改善のために導入したダミーバスIP及びダミーメモリは、本来のバスIP及びメモリの回路構成を全て再現する必要はなく、したがって、回路規模の増大を回避しつつ、レイテンシーの改善を図ることのできる半導体装置が実現される。
本発明の他の技術的特徴、目的、及び作用効果乃至は利点は、添付した図面を参照して説明される以下の実施形態により明らかにされる。
本発明の一実施形態に係る半導体装置の概略構成の一例を説明するブロックダイアグラムである。 本発明の一実施形態に係る半導体装置のバスIPの概略構成の一例を示すブロックダイアグラムである。 本発明の一実施形態に係る半導体装置のダミーバスIPの概略構成の一例を示すブロックダイアグラムである。 本発明の一実施形態に係る半導体装置の概略的動作の一例を説明するためのタイミングチャートである。 本発明の一実施形態に係る半導体装置の概略的動作の他の例を説明するためのタイミングチャートである。 本発明の一実施形態に係る半導体装置のバス制御回路の概略構成の一例を示すブロックダイアグラムである。 本発明の一実施形態に係る半導体装置のバス制御回路におけるレスポンス処理を説明するためのフローチャートである。 本発明の一実施形態に係る半導体装置のバス制御回路におけるレスポンス処理を説明するためのフローチャートである。 本発明の一実施形態に係る半導体装置のバス制御回路におけるレスポンス処理を説明するためのフローチャートである。 本発明の一実施形態に係る半導体装置のバス制御回路の概略構成の他の例を示すブロックダイアグラムである。 本発明の一実施形態に係る半導体装置のバス制御回路の動作の一例を説明するためのタイミングチャートである。 本発明の一実施形態に係る半導体装置のバス制御回路の動作の他の例を説明するためのタイミングチャートである。 本発明の一実施形態に係る半導体装置の概略構成の一例を示すブロックダイアグラムである。 本発明の一実施形態に係る半導体装置のバス制御回路の概略構成の他の例を示すブロックダイアグラムである。 本発明の一実施形態に係る半導体装置の概略構成の一例を示すブロックダイアグラムである。 本発明の一実施形態に係る半導体装置の概略構成の一例を示すブロックダイアグラムである。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。本発明は、その趣旨を逸脱しない範囲で種々変形(例えば各実施形態を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
本発明は、バスIPを介してリクエスト/レスポンスに基づくバスプロトコルに従いデータ転送可能に接続された、プロセッサと、メモリと、DMAコントローラ(DMAC)とを含む半導体装置である。該半導体装置は、該バスIPと同じ挙動をするように構成されたダミーバスIPと、該ダミーバスIPに接続され、該メモリと同じ挙動をするように構成されたダミーメモリと、該DMACと該バスIP及び該ダミーバスIPとの間に設けられたバス制御回路とをさらに備える。該ダミーバスIPは、該DMACにより発行されたライトリクエストに基づく先行レスポンスを該バス制御回路に送出し、該バス制御回路は、該先行レスポンスに基づいて、該ライトリクエストに対するライトレスポンスを該DMAコントローラに送出する。
[第1の実施形態]
図1は、本発明の一実施形態に係る半導体装置の概略構成の一例を説明するブロックダイアグラムである。同図に示すように、半導体装置100は、例えば、プロセッサ110と、メモリ120と、バスIP130と、DMAコントローラ(以下、「DMAC」という。)140とを含んで構成される。すなわち、プロセッサ110、メモリ120、及びDMAC140との間は、いわゆるバスが形成されている。本実施形態ではさらに、半導体装置100は、例えば、ダミーバスIP150と、ダミーメモリ160と、タイミング調整回路170と、バス制御回路180とを含む。すなわち、ダミーパスIP、ダミーメモリ、及びタイミング調整回路によりダミーブロックが形成されている。
プロセッサ110は、プログラムとして記述された命令コードを解釈することにより所定の処理を実行するコンポーネントである。ここでは、「プロセッサ」という語は、CPUやMPU、コプロセッサ、マイクロコントローラ等と同義のものとして扱われ、また、マルチコアプロセッサを意味するものであっても良い。プロセッサ110は、図示されていないが、例えば、演算回路と、デコーダと、各種のレジスタと、プログラムカウンタとを含んで構成される。プロセッサ110はまた、キャッシュメモリを含んで良い。プロセッサ110は、例えば、バスIP130を介して、メモリ120と接続される。プロセッサ110は、例えば、バスマスタとして、バススレーブであるメモリ120にアクセスするため、所定のリクエスト(例えばライトリクエストやリードリクエスト)を発行する。リクエストは、半導体装置100において例えば固有のアクセスIDによって一意に識別される。
メモリ120は、例えば、揮発性メモリ及び/又は書き換え可能な不揮発性メモリを含んで構成されるコンポーネントである。揮発性メモリの例としては、DRAMやSRAMが挙げられ、また、書き換え可能な不揮発性メモリの例としては、フラッシュメモリが挙げられるが、これらに限られるものではない。図中、1つのメモリ120のみが示されているが、複数のメモリ120が設けられていても良い。
バスIP130は、所定のバスプロトコルに従って、バスマスタとバススレーブとの間のデータ転送(バス通信)を実現するためのインターフェース回路である。バスプロトコルでは、例えば、リクエスト及びレスポンスというアクセスがそれぞれ定義される。リクエストは、バスマスタからバススレーブに対して送られるデータユニットであり、リクエストには、例えば、リードコマンドやライトコマンド等がある。レスポンスは、バススレーブからバスマスタに対して送られるデータユニットであり、リクエストには、例えば、リードデータやライト終了メッセージ等がある。本実施形態では、プロセッサ110及びDMAC140のそれぞれがバスマスタとして動作し、メモリ120がバススレーブとして動作する例を示している。したがって、本例では、バスIP130は、バスマスタと通信するための2つのイニシエータエージェント(IA)131と、メモリ120と通信するための1つのターゲットエージェント(TA)132とを含んで構成されている。
図2は、本発明の一実施形態に係る半導体装置のバスIPの概略構成の一例を示すブロックダイアグラムである。同図では、2つのイニシエータエージェント131A及び131Bと、1つのターゲットエージェント132とを含むバスIP130の概略構成が示されている。また、同図に示すように、バスIP130の内部では、バスプロトコルのリクエストとレスポンスとを別々に管理するように、それぞれ異なる経路が形成されている。
イニシエータエージェント131A及び131Bのそれぞれは、プロトコル変換部1311と、各種のバッファ1312a〜1312dと、アドレスデコーダ1313とを含んで構成される。プロトコル変換部1311は、外部から受け取ったデータを、所定のバスプロトコルに従って、順次に、内部データに変換し、対応するバッファ1312a又は1312bに送出する一方、対応するバッファ1312c又は1312dから受け取った内部データを、所定のバスプロトコルに従って、外部のデータに変換する。リクエストバッファ1312aは、データユニットとしてのリクエストを格納するFIFO形式のバッファ回路であり、ライトデータバッファ1312bは、ライトリクエストに従うライトデータを格納するFIFO形式のバッファ回路である。リクエストバッファ1312aから送出されるリクエストは、アドレスデコーダ1313に入力される。また、レスポンスバッファ1312cは、ターゲットエージェント132から受け取ったレスポンスを格納するFIFO形式のバッファ回路であり、リードデータバッファ1312dは、ターゲットエージェント132から受け取ったリードデータを格納するFIFO形式のバッファ回路である。アドレスデコーダ1313は、リクエストバッファ1312aから受け取ったリクエストが示すアドレスに基づいて、アクセス先のバススレーブ及びそのアドレスを特定する。
また、プロトコル変換部1311は、バスマスタから受け取ったリクエストが互いに識別可能なように、該受け取ったリクエストに対してバスマスタに固有のアクセスIDを付与し得る。アクセスIDは、リクエストに対するレスポンスに引き継がれ、これによって、バスIP130は、バススレーブから受け取ったレスポンスがどのリクエストに対応するかを認識することができる。
ターゲットエージェント132は、プロトコル変換部1321と、各種のバッファ1322a〜1322dとを含んで構成される。ターゲットエージェント132は、アドレスレコーダを含まない点でイニシエータエージェント131と異なりが、その他は同じであるため、説明を省略する。
図1に戻り、DMAC140は、指定されたコンポーネント間で、直接的にデータを転送するためのコンポーネントである。例えば、DMAC140は、自身がバスマスタとして、バススレーブであるメモリ120に対してアクセスするため、リクエスト(例えばライトリクエストやリードリクエスト)を発行する。例えば、DMAC140は、プロセッサ110によって、内部のレジスタ(図示せず)に、転送元のアドレス、転送先のアドレス、及び転送すべきデータの長さを示すパラメータを含むデータ転送命令がセットされると、該命令に従ってデータ転送を実行する。プロセッサ110からデータ転送命令を受けたバスマスタであるDMAC140は、バススレーブからデータ転送終了の通知を受けると、プロセッサ110に割り込みをかける。
ダミーバスIP150は、バスIP130と同じ挙動を示すように構成されたダミー回路である。すなわち、ダミーバスIP150は、バスIP130と同一の回路構成であっても良いが、リクエスト/レスポンスに関する機能を再現するために必要な最小限の回路構成によって実現され得る。したがって、ダミーバスIP150は、必要最小限の回路のみ実装しているため、バスIP130と比較して回路規模は非常に小さくかつシンプルなものになる。ダミーバスIP150は、メモリ120に対してライトアクセスが可能になったタイミングで、先行レスポンス(先行レスポンス状態信号)PRを先行レスポンス信号線Lを介して、バス制御回路180に送出する。先行レスポンスPRは、DMAC140がライトアクセスを行った場合に有効なレスポンスである。例えば、ダミーバスIP150は、例えばバス上に現れるマスタIDに基づいて、どのバスマスタ(例えばプロセッサ110又はDMAC140のいずれか)がライトアクセスを行ったかを判断し、DMAC140からのライトアクセスであると判断する場合に、先行レスポンスPRを送出する。
ダミーメモリ160は、メモリ120と同じ挙動を示すように構成されたダミー回路である。ダミーメモリ160もまた、ダミーバスIP150からのリクエストに対してレスポンスを返すという機能を再現するために必要な最小限の回路によって構成され得る。すなわち、ダミーメモリは、個々のデータセグメントを記憶する記憶セル及び該記憶セルにアクセスするための構成を有していない。したがって、メモリ120と比較して回路規模は非常に小さくかつシンプルなものになる。
図3は、本発明の一実施形態に係る半導体装置のダミーバスIPの概略構成の一例を示すブロックダイアグラムである。
ダミーバスIP150は、上述した通り、バスIP130のリクエスト/レスポンス機能を再現する可能に構成された回路であり、イニシエータエージェント151A及び151B並びにターゲットエージェント152を含んで構成される。
より具体的には、ダミーバスIP150は、プロトコル変換部1511と、リクエストバッファ1512a及びレスポンスバッファ1512cと、アドレスデコーダ1513とを含んで構成される。すなわち、ダミーバスIP150では、リクエスト及びレスポンスに従うデータ本体を無視することができるため、それらを格納するバッファが省略され得るとともに、アクセス先バススレーブ内のアドレスを特定する必要がないため、アドレスを特定するための回路が省略され得る。したがって、プロトコル変換部1511及びアドレスデコーダ1513もまた、データ本体及びアドレスに関する回路が省略されて構成され得る。これにより、ダミーバスIP150もまた、必要最小限の回路のみ実装しているため、バスIP130と比較して回路規模は非常に小さくかつシンプルなものになる。
図1に戻り、タイミング調整回路170は、バスマスタとバススレーブとの間のバス配線を分岐したことによる、設計上のタイミング収束(タイミングクロージャ)の問題を保証するための回路であり、例えば、フリップフロップを含んで構成される。図示されていないが、タイミング調整回路170は、バスプロトコルを遵守する制御回路を含む。例えば、プロセッサ110とダミーバスIP150との間のアクセスは、FF1を介して行われ、また、DMAC140とダミーバスIP150との間のアクセスは、FF2を介して行われる。なお、タイミング調整回路170は、タイミング収束の問題を考慮する必要がない場合、省略され得る。
バス制御回路180は、バススレーブ側から送られてくるレスポンスに基づく制御を行う回路である。具体的には、バス制御回路180は、バスマスタにより発行されたリクエストをバッファに一時的に格納するとともに、メモリ120により発行され、バスIP130を介して受け取ったレスポンスの内容と該バッファに格納されたリクエストの内容との対応関係が維持されるように管理することによって、バスマスタに対してリクエストに対する適切なレスポンスを送出するように制御する。また、バス制御回路180は、複数のバスマスタによるそれぞれのアクセス(すなわち、リクエスト/レスポンス)を例えばマスタIDによって一意に管理する。
なお、本例では、バス制御回路180は、ダミーメモリ160によるレスポンスを直接的に受けるように、レスポンス信号線Lによりダミーメモリ160と接続されている。なお、実装においては、ダミーバスIP150及びダミーメモリ160の回路規模は小さいため、レスポンス信号線Lの配線長も短くなり、したがって、この点でタイミング収束を考慮する必要はない。
図4は、本発明の一実施形態に係る半導体装置の概略的動作の一例を説明するためのタイミングチャートである。
半導体装置100において、DMAC140がメモリ120に対してライトアクセスするためにライトリクエストを発行すると、該ライトアクセスは、バスIP130のイニシエータエージェント131B及びダミーバスIP150のイニシエータエージェント151Bに伝えられる。バスIP130とダミーバスIP150とは、同じ挙動をするため、それぞれのターゲットエージェント132及び152にも、同じタイミングでライトアクセスが現れる。そこで、バス制御回路180は、ダミーバスIP150のターゲットエージェント152に該ライトアクセスが現れたタイミングで直ちに、該ライトリクエストに対するライトレスポンスをDMAC140に返戻する。
すなわち、同図に示すように、例えば、DMAC140が、nクロック目で、ライトリクエストを発行したとする。該ライトリクエストは、バスIP130(及びダミーバスIP150)のレイテンシーによりn+4クロック目に、ターゲットエージェント132及び152に現れるとする。メモリ120は、したがって、次のクロックタイミング(n+5クロック目)で、該ライトリクエストに対するライトレスポンス(ライト終了ステータス)を返戻し、これが、バスIP130を介して、その3クロック後(n+8クロック目)に現れることになる。
本実施形態では、ターゲットエージェント152にライトリクエストが現れたタイミングで、先行レスポンスPRがバス制御回路180に発行される。バス制御回路180は、後述するように、該先行レスポンスPRを受けて、所定の条件の下、DMAC140に対して、該ライトリクエストに対するライトレスポンスを送出する。なお、リクエストとレスポンスとは、シングルリクエストによるバーストアクセスがない限り、通常は、1対1に対応する。したがって、バス制御回路180は、先行レスポンスに従ってライトレスポンスを送出した場合には、メモリ120からバスIP130を介して真のライトレスポンスを受け取ったとしても、これを無視することで、リクエストとレスポンスとの間の整合性を保つようにしている。
なお、図5に示すように、バス制御回路180がライトリクエストに対する先行レスポンスPRを受け取った場合であっても、該ライトリクエストに対して先行する他のリクエストが既に存在する場合には、バス制御回路180は、先行レスポンスPRに基づくライトレスポンスを発行せず、該他のリクエストに対するレスポンスをバスマスタに送出した後、メモリ120から送られる該ライトリクエストに対するライトレスポンスをバスマスタに送出する。
以上のように、半導体装置100は、DMAC140からメモリ120に対してライトアクセスが発行された場合に、メモリ120からのライトレスポンスを待つことなく、擬似的なライトレスポンスをDMAC140に返戻するため、DMAC140は、メモリ120に対するライトアクセスを直ちに終了させることができ、したがって、レイテンシーを改善することができるようになる。
次に、バス制御回路180の詳細について説明する。図6は、本発明の一実施形態に係る半導体装置のバス制御回路の概略構成の一例を示すブロックダイアグラムである。同図に示すように、バス制御回路180は、例えば、バッファ181と、ORゲート182と、レスポンス制御回路183とを含んで構成される。
バッファ181は、FIFO形式のバッファ回路であり、バスマスタ(すなわち、DMAC140)から送られてくるリクエストを一時的に格納する。バッファ181に格納されているリクエストの数は、図示しないカウンタによってカウントされている。バッファ181は、バススレーブ側からORゲート182を介して何らかのレスポンスを受けるごとに、FIFO取り出しブロック181aから順次にリクエストがレスポンス制御回路183によって取り出されるように動作する。
レスポンス制御回路183は、バススレーブ側から受け取った先行レスポンスに関する2つの値をそれぞれカウントするカウンタ183aを含み、カウンタ183aによるカウント値のそれぞれに従って、バススレーブ側から受け取ったレスポンスに応じた処理を行う。カウンタ183aは、例えば、バススレーブ側から受け取った先行レスポンスPRに対してバスマスタにライトレスポンスを返した回数(以下、「レスポンス返戻回数」という。)、及びバススレーブ側から受け取った先行レスポンスPRの数に対してバスマスタにライトレスポンスを未だ返していない数(以下、「レスポンス残数」という。)をそれぞれカウントする。
具体的には、レスポンス制御回路183は、先行レスポンス信号線Lを介して先行レスポンスPRを受け取った場合、バッファ181を参照し、取り出されるべきリクエストがライトリクエストである場合に、バッファ181からリクエストを1つ取り出して、バスIP130からのレスポンスとは無関係に、バスマスタに対してライトリクエストに対するレスポンスを送出し、これに伴って、カウンタ183aのカウンタ値をそれぞれ更新する。その後、レスポンス制御回路183は、バスIP130からライトリクエストに対する真のレスポンスを受け取った場合、レスポンス残数のカウント値が0でなければ、これをデクリメントし、バスIP130から送られてきた該レスポンスを無視する(つまり、バスマスタ側に転送しない)。すなわち、一例では、レスポンス制御回路183は、バスIP130からレスポンスを受け取っても、先行レスポンスPRを受け取ってバスマスタにライトレスポンスを返した回数だけ、無視するようになっている。一方、レスポンス制御回路183は、該レスポンス残数のカウント値が0であれば、バスIP130から送られてきたレスポンスをそのままバスマスタに渡す。
図7A乃至図7Cは、本発明の一実施形態に係る半導体装置のバス制御回路におけるレスポンス処理を説明するためのフローチャートである。なお、バス制御回路180は、かかるレスポンス処理とは別に、バスマスタ(すなわち、DMAC140)からリクエストを受け取るごとに、これをバッファ181に格納している。
同図に示すように、バス制御回路180は、バススレーブ側からレスポンスがあったか否かを監視している(S701)。バス制御回路180は、バススレーブ側からレスポンスを受けると(S701のYes)、該レスポンスが先行レスポンスPRであるか否かを判断するとともに(S702)、先行レスポンスPRに関するレスポンス残数が0でない(≠0)か否かを判断する(S703及びS704)。すなわち、バス制御回路180は、レスポンスが先行レスポンスPRでなく(S702のNo)、レスポンス残数が0であると判断する場合(S703のNo)、通常レスポンスに関する処理を行う(S705)。通常レスポンスに関する処理は、図7Bを参照して説明される。
また、バス制御回路180は、レスポンスが先行レスポンスPRでなく(S702のNo)、レスポンス残数が0でないと判断する場合(S703のYes)、又はレスポンスが先行レスポンスPRであり(S702のYes)、レスポンス残数が0であると判断する場合(S704のNo)、先行レスポンスに関する処理を行う(S706)。つまり、バス制御回路180は、レスポンスが先行レスポンスPRであるか、又は先行レスポンスPRに関するレスポンス残数が0でなければ、通常レスポンスに関する処理に代えて、先行レスポンスPRに関する処理を行うことになる。先行レスポンスに関する処理は、図7Cを参照して説明される。
さらに、バス制御回路180は、レスポンスが先行レスポンスPRであり(S702のYes)、先行レスポンスPRに対するレスポンス数が0でないと判断する場合(S704のYes)、先行レスポンスに関する処理を行った後(S707)、通常レスポンスに関する処理を行う(S708)。
図7Bを参照し、通常レスポンスに関する処理では、バス制御回路180は、バッファ181を参照し、FIFO取り出しブロック181aに格納されているリクエストがライトリクエストであるか否かを判断する(S7051)。バス制御回路180は、FIFO取り出しブロック181aにあるデータがライトレスポンスでないと判断する場合には(S7051のNo)、FIFO取り出しブロック181aに格納されているリクエスト(例えばリードリクエスト)を取り出して破棄する(S7052)。続いて、バス制御回路180は、バススレーブ側から受け取ったレスポンス(例えばリードレスポンス)をバスマスタに送出し(S7053)、通常レスポンスに関する処理を終了する。これにより、バス制御回路180は、バススレーブ側からのレスポンスの監視に戻る。
これに対して、バス制御回路180は、FIFO取り出しブロック181aにあるデータがライトレスポンスであると判断する場合(S7051のYes)、続いて、先行レスポンスPRに関するレスポンス返戻数が0であるか否かを判断する(S7054)。バス制御回路180は、レスポンス返戻数が0でないと判断する場合(S7054のYes)、カウンタ値の値を1つデクリメントし(S7055)、通常レスポンスに関する処理を終了する。これにより、バス制御回路180は、バススレーブ側からのレスポンスの監視に戻る。
次に、図7Cを参照し、先行レスポンスに関する処理では、バス制御回路180は、まず、先行レスポンスに関するレスポンス残数を1つインクリメントする(S7061)。続いて、バス制御回路180は、バッファ181を参照し、FIFO取り出しブロック181aに格納されているリクエストがライトリクエストであるか否かを判断する(S7062)。バス制御回路180は、FIFO取り出しブロック181aに格納されているリクエストがライトリクエストでないと判断する場合には(S7062のNo)、先行レスポンスに関する処理を終了する。
一方、バス制御回路180は、FIFO取り出しブロック181aに格納されているリクエストがライトリクエストであると判断する場合には(S7062のYes)、FIFO取り出しブロック181aに格納されている該ライトリクエストを取り出して(S7063)、該取り出したライトリクエストをバスマスタに送出する(S7064)。続いて、バス制御回路180は、レスポンス返戻数を1つインクリメントし(S7065)、さらに、レスポンス残数を1つデクリメントし(S7066)、先行レスポンスに関する処理を終了する。これにより、バス制御回路180は、バススレーブ側からのレスポンスの監視に戻る。
また、バス制御回路180は、レスポンスが先行レスポンスPRであり(S702のYes)、レスポンス残数が0でないと判断する場合(S704のYes)、上述した先行レスポンスに関する処理を行い(S707)、さらに、上述した通常レスポンスに関する処理を行う(S708)。
即ち、かかる処理は、バス制御回路180が先行レスポンスPRを受けるとともに、バスIP130からレスポンスを受け取る場合に実行される。例えば、バス制御回路180が先行レスポンスPR及びこれと全く独立したレスポンスを受け取る場合と、先行レスポンスPR及びこれに対応する真のライトレスポンスを受け取る場合が、想定されうる。
前者の場合、バス制御回路180は、先行レスポンスに関する処理(S707)においては、所定の条件に合致すればライトレスポンスを返戻し、合致しなければレスポンスを返戻することはない。バス制御回路180は、次の通常レスポンスに関する処理においては、レスポンス返戻数が0であれば、レスポンスを返戻する。また、後者の場合、バス制御回路180は、先行レスポンスに関する処理(S707)においては、所定の条件に合致すればライトレスポンスを返戻し、合致しなければレスポンスを返戻することはない。バス制御回路180は、次の通常レスポンスに関する処理においては、先行レスポンスに関する処理(S707)によりライトレスポンスを返戻することでレスポンス返戻数が0以上になっているので、レスポンスを返戻することはない。つまり、バス制御回路180は、先行レスポンスに関する処理において所定の条件に合致しない場合には、何もレスポンスを返戻せず、次の通常レスポンスに関する処理においてレスポンスを返戻することになる。
図8は、本発明の一実施形態に係る半導体装置のバス制御回路の概略構成の他の例を示すブロックダイアグラムである。同図に示すバス制御回路180は、タイミング調整回路184をさらに含む。タイミング調整回路184は、バス制御回路180を設けたことによる設計上のタイミング収束の問題を保証するための回路である。すなわち、バス制御回路180自体は、レスポンス信号線Lを介した先行レスポンスに基づいて、バスマスタ側に所定のレスポンスを返戻する機能を有すれば良く、通常は、タイミング収束の問題は考慮する必要がないと考えられる。しかしながら、タイミング収束の問題を考慮したい場合には、同図に示すように、例えば、バッファ181の前段にタイミング調整回路184を配置しても良い。タイミング調整回路184は、例えば、フリップフロップを含んで構成される。
次に、バス制御回路180の動作の一例について説明する。図9乃至図10は、本発明の一実施形態に係る半導体装置のバス制御回路の動作の一例を説明するためのタイミングチャートである。
図9に示すように、クロックCLKに従って、バスマスタ(すなわち、DMAC140)からバス制御回路180に送られたリクエストは、順次に、バッファ181に格納される。このとき、バッファ181内の格納されたリクエストの数はカウントされている。同図は、nクロック目でライトリクエストが送られ、続いて、リードリクエスト及びリードリクエストが送られ、その2クロック後(n+5クロック目)に、ライトリクエストが送られてきたことを示している。また、FIFO取り出しブロック181aには、次に取り出されるべきリクエストがセットされている。
ここでは、バス制御回路180は、バスマスタからリクエストを受け取ってから、該リクエストに対応する真のレスポンスをバススレーブ(すなわち、メモリ120)から受け取るまで、8クロック要するものとする。また、ダミーバスIP150は、ライトリクエストに対して、5クロック後に先行レスポンスPRをバス制御回路180に送出することができるものとする。
したがって、バス制御回路180は、n+5クロック目で、先行レスポンスPRを受け取ると、次のクロックタイミング(n+6クロック目)でライトレスポンスをバスマスタに送出する。このとき、カウンタ183aによるカウンタ値は“1”となる。したがって、図から明らかなように、本例では、バス制御回路180は、3クロック先行してレスポンスをバスマスタに返戻することができることになる。
バス制御回路180は、例えば、最初のライトリクエストを受け取った後、n+8クロック目で、それに対応する真のレスポンスを受け取ることになる。しかしながら、バス制御回路180は、該最初のライトリクエストに対するレスポンスを、先行レスポンスPRに基づいて、バスマスタに送出していることから、該真のレスポンスを無視し、したがって、カウンタ183aによるカウンタ値は“0”となる。バス制御回路180は、続いて受け取ったリードリクエストについては、次のクロックタイミングでそのままバスマスタに送出する。
なお、n+10クロック目において、バス制御回路180は、先行レスポンスPRを受け取ったとすると、次のクロックタイミングでは、リードレスポンスとライトレスポンスとが競合することになるが、本例では、バス制御回路180は、リードレスポンスを先に送出するものとしている。
また、別の例として、図10に示すような順番で、バス制御回路180は、リードリクエスト及びライトリクエストを受け取ったとする。n+4クロック目で受け取ったライトリクエストに対して、バス制御回路180は、n+9クロック目で、先行レスポンスPRを受け取ると、次のクロックタイミングでライトレスポンスを送出するのではなく、バッファ181に先に格納されたリードリクエストが取り出された後に、ライトレスポンスを送出する。すなわち、バス制御回路180は、n+13クロック目で、n+4クロック目で受け取ったライトリクエストに対するライトリクエストを受け取るため、これをバスマスタに送出する。
[第2の実施形態]
本実施形態は、メモリ120に対するライトリクエストの数と、ダミーバスIP150を介して受け取ったダミーメモリにより発行されたライトレスポンス(ライト終了ステータス)の数とに基づいて、DMAC140以外のバスマスタ(すなわち、プロセッサ110)からメモリ120に対する現在処理中のライトリクエストが存在するか否かを判断し、現在処理中のライトリクエストが存在しない場合には、DMAC140からのライトリクエストが発行された時点で、直ちに、該ライトリクエストに対するライトレスポンスを返すことのできる半導体装置を開示する。
図11は、本発明の一実施形態に係る半導体装置の概略構成の一例を示すブロックダイアグラムである。同図に示すように、半導体装置1100は、バスIP130に入力されるライトリクエストを監視するバス監視回路1110をさらに備える。また、半導体装置1100では、バス制御回路180に代えて、バス制御回路1120が設けられている。なお、以下では、図1に示した半導体装置100と同じコンポーネントについては、説明を省略する。
バス監視回路1110は、プロセッサ110からメモリ120に対するライトアクセスが入力されると、カウント値を1つインクリメントし、また、ダミーバスIP150から該ライトアクセスに対するライトレスポンスが入力されると、カウント値を1つデクリメントするカウンタ1111を含む。該カウンタ1111は、カウント値が0になった場合に、ongoing信号の値を“H”にし、カウント値が0以外の場合に、ongoing信号の値を“L”にして送出する。
図12は、本発明の一実施形態に係る半導体装置のバス制御回路の概略構成の一例を示すブロックダイアグラムである。
同図に示すように、本実施形態のバス制御回路1120は、先行レスポンス制御回路1121をさらに備える。先行レスポンス制御回路1121には、バスマスタからのリクエストが入力されるとともに、バス監視回路1110から送出されるongoing信号及び先行レスポンスPRが入力される。
先行レスポンス制御回路1121は、バスマスタからのリクエストがライトリクエストである場合に、該ライトリクエストに対してダミーバスIP150から受け取った先行レスポンスの送出制御を行う。先行レスポンス制御回路1121は、図示しないカウンタを有し、該カウンタによって、先行レスポンスPRを送出した回数をカウントする。
すなわち、先行レスポンス制御回路1121は、バスマスタからのリクエストがライトリクエストである場合に、まず、ongoing信号の値が“H”であるか否かを判断する。先行レスポンス制御回路1121は、ongoing信号の値が“H”であると判断する場合、次に、カウント値が0であるか否かを判断し、該カウント値が0であると判断する場合に、受け取った先行レスポンスPRをORゲート182及びレスポンス制御回路183に送出する。先行レスポンスPRを受けたレスポンス制御回路183は、上述した処理を行うことになる。一方、先行レスポンス制御回路1121は、ongoing信号の値が“H”であると判断する場合であっても、カウント値が0でないと判断する場合には、カウンタのカウント値を1つデクリメントさせ、先行レスポンスPRに対する処理を何も行わない。これにより、先行レスポンス制御回路1121は、現在処理中のライトアクセスがない場合に限り、先行レスポンスを通過させることができるようになる。
[第3の実施形態]
本実施形態は、第2の実施形態の変形であり、バススレーブとして動作するメモリ120にアクセス可能なバスマスタがDAMC140に加え2つ以上存在する場合に適応された半導体装置を開示する。
図13は、本発明の一実施形態に係る半導体装置の概略構成の一例を示すブロックダイアグラムである。同図に示すように、本実施形態の半導体装置1300は、バスマスタとして、プロセッサ110A及び110Bと、DMAC140とを備える。また、プロセッサ110Bが追加されたことに伴い、3つのフリップフロップを含むタイミング調整回路170’と、2つのバス監視回路1110A及び1110Bが設けられている。バス監視回路1110A及び1110Bの構成は、第2の実施形態に示されたものと同様である。
バス制御回路1120’もまた、これらの変更に適応するように変更されている。すなわち、バス制御回路1120’は、バス監視回路1110A及び1110Bがそれぞれ送出するongoing信号の値が、ともに“H”の場合のみ、先行レスポンスPRを送出するように制御される。
このように、バススレーブであるメモリ120にアクセス可能なバスマスタがDAMC140に加え2つ以上存在する場合であっても、メモリ120に対するそれぞれのバスマスタからのライトアクセスを監視することによって、適切な先行レスポンスPRに基づくライトレスポンスを発行することができるようになる。
[第4の実施形態]
本実施形態は、第2の実施形態の変形であり、複数のメモリ120が存在する場合に適応された半導体装置を開示する。
図14は、本発明の一実施形態に係る半導体装置の概略構成の一例を示すブロックダイアグラムである。同図に示すように、本実施形態の半導体装置1400は、バススレーブとして動作する複数のメモリ120A及び120Bに、バスIP130を介してアクセス可能に構成されている。したがって、半導体装置1400は、かかる構成に対応するように、ダミーバスIP150及び複数のダミーメモリ160A及び160Bを備えている。
バス制御回路1120’は、ダミーバスIP150のターゲットエージェント152A及び152Bのいずれかにより発行される先行レスポンスを監視する。また、バス監視回路1110’は、バスマスタのアクセス先ごとに、発行されたライトアクセスの数及び該ライトアクセスに対するライトレスポンス(ライト終了ステータス)の数をそれぞれ管理するように構成される。
このように、半導体装置100が複数のメモリ120を備える場合であっても、それぞれのメモリ120に対するアクセスのレイテンシーを改善することができるようになる。
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を並行して又は異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちのいくつかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで1つのものとしても良く、また、他のステップ、動作又は機能を追加しても良い。
また、本明細書では、さまざまな実施形態が開示されているが、一の実施形態における特定のフィーチャ(技術的事項)を、適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。
本発明は、バスを備えた半導体装置の分野に広く利用することができる。
100,1100,1300,1400…半導体装置
110…プロセッサ
120…メモリ
130…バスIP
131…イニシエータエージェント
1311…プロトコル変換部
1312a〜1312d…バッファ
1313…アドレスデコーダ
132…ターゲットエージェント
1321…プロトコル変換部
1322a〜1312d…バッファ
140…DMAコントローラ(DMAC)
150…ダミーバスIP
151…イニシエータエージェント
1511…プロトコル変換部
1512a,1512c…バッファ
1313…アドレスデコーダ
152…ターゲットエージェント
1521…プロトコル変換部
1522a,1522c…バッファ
160…ダミーメモリ
170…タイミング調整回路
180…バス制御回路
181…バッファ
182…ORゲート
183…レスポンス制御回路
1110,1110’…バス監視回路
1111…カウンタ
1120,1120’…バス制御回路
1121…先行レスポンス制御回路


Claims (14)

  1. バスIPを介してリクエスト/レスポンスに基づく所定のバスプロトコルに従いデータ転送可能に接続された、バスマスタとして動作する少なくとも1つのプロセッサと、バススレーブとして動作する少なくとも1つのメモリと、前記バスマスタとして動作するDMAコントローラとを含む半導体装置であって、
    前記少なくとも1つのプロセッサ及び前記DMAコントローラに接続され、前記バスIPと同じ挙動をするように構成されたダミーバスIPと、
    前記ダミーバスIPに接続され、前記メモリと同じ挙動をするように構成されたダミーメモリと、
    前記DMAコントローラと、前記バスIP及び前記ダミーバスIPとの間に設けられたバス制御回路と、を備え、
    前記ダミーバスIPは、前記DMAコントローラにより発行されたリクエストがライトリクエストである場合に、前記メモリがライトレスポンスを送出するタイミングよりも前に、先行レスポンスを前記バス制御回路に送出し、
    前記バス制御回路は、前記ダミーバスIPから送出された前記先行レスポンスに基づいて、前記ライトリクエストに対するライトレスポンスを前記DMAコントローラに送出する、
    半導体装置。
  2. 前記DMAコントローラは、前記ライトリクエストに対する前記ライトレスポンスを受け取った場合に、前記プロセッサに対して割り込みをかける、請求項記載の半導体装置。
  3. 前記ダミーバスIPは、前記バスIPが前記バスマスタにより発行された前記ライトリクエストに基づいて前記メモリに対して該ライトリクエストを発行するタイミングと同一のタイミングで、前記先行レスポンスを前記バス制御回路に送出する、請求項1記載の半導体装置。
  4. 前記ダミーバスIPは、前記バスマスタにより発行された前記ライトリクエストに従うデータ本体を無視するように構成される、請求項1記載の半導体装置。
  5. 前記ダミーメモリは、前記バスマスタにより発行された前記ライトリクエストに従うデータ本体を記憶する記憶セルを有しないように構成される一方で、該ライトリクエストに対するレスポンスを前記ダミーバスIPに発行するように構成される、請求項記載の半導体装置。
  6. 前記少なくとも1つのプロセッサ及び前記DMAコントローラと前記ダミーバスIPとの間に設けられた第1のタイミング調整回路をさらに備える、請求項1記載の半導体装置。
  7. 前記バス制御回路は、前記先行レスポンスに基づく前記ライトレスポンスを前記DMAコントローラに送出した後、前記バスIPを介して、前記メモリにより発行された前記ライトリクエストに対する真のライトレスポンスを受け取った場合、該真のライトレスポンスが前記DMAコントローラに送出されないように制御する、請求項記載の半導体装置。
  8. 前記バス制御回路は、前記ダミーバスIPから送出される前記先行レスポンスを受け取った場合に、前記ライトリクエストに先行する、前記バスマスタにより発行された他のリクエストが存在すると判断する場合には、前記先行レスポンスに基づく前記ライトリクエストに対するライトレスポンスに代えて、前記バスIPを介して受け取った、前記メモリにより発行された前記ライトリクエストに対する前記真のライトレスポンスを前記DMAコントローラに送出する、請求項記載の半導体装置。
  9. 前記バス制御回路は、前記他のリクエストに対するレスポンスを前記バスマスタに送出した後、前記真のライトレスポンスを前記DMAコントローラに送出する、請求項記載の半導体装置。
  10. バス制御回路は、
    前記バスマスタにより発行された前記リクエストを一時的に格納するバッファと、
    前記バッファから取り出されるべき前記リクエストが前記ライトリクエストである場合に、前記メモリにより発行され前記バスIPを介して受け取ったレスポンスと前記バッファから取り出されるべき前記ライトリクエストとの対応関係に従って、前記バスマスタにより発行された前記ライトリクエストに対する所定のレスポンスを前記バスマスタに送出するように制御するレスポンス制御部と、
    を備える、請求項1記載の半導体装置。
  11. 前記バス制御回路は、前記バスマスタにより発行されたリクエストを前記バッファに格納するためのタイミングを調整する第2のタイミング調整回路をさらに備える、請求項10記載の半導体装置。
  12. バスIPを介してリクエスト/レスポンスに基づく所定のバスプロトコルに従いデータ転送可能に接続された、バスマスタとして動作する少なくとも1つのプロセッサと、バススレーブとして動作する少なくとも1つのメモリと、前記バスマスタとして動作するDMAコントローラとを含む半導体装置であって、
    前記少なくとも1つのプロセッサ及び前記DMAコントローラに接続され、前記バスIPと同じ挙動をするように構成されたダミーバスIPと、
    前記ダミーバスIPに接続され、前記メモリと同じ挙動をするように構成されたダミーメモリと、
    前記DMAコントローラと、前記バスIP及び前記ダミーバスIPとの間に設けられたバス制御回路と、
    前記少なくとも1つのプロセッサにより発行されるライトリクエストの数と、前記ダミーバスIPを介して受け取った前記ダミーメモリにより発行されたライトレスポンスの数とを監視する少なくとも1つのバス監視回路とを備え、
    前記ダミーバスIPは、前記DMAコントローラにより発行されたリクエストがライトリクエストである場合に、前記メモリが前記ライトレスポンスを送出するタイミングよりも前に、先行レスポンスを前記バス制御回路に送出し、
    前記バス制御回路は、前記バス監視回路により前記少なくとも1つのプロセッサから前記メモリに対する現在処理中のライトリクエストが存在しないと判断される場合に、前記先行レスポンスに基づいて、前記DMAコントローラにより発行された前記ライトリクエストに対するライトレスポンスを前記DMAコントローラに送出する、半導体装置。
  13. 複数の前記バス監視回路のそれぞれは、複数の前記プロセッサのうちの対応する一のプロセッサにより発行されるライトリクエストの数を監視する、請求項12記載の半導体装置。
  14. 複数の前記メモリと、該複数のメモリのそれぞれに対応する複数のダミーメモリとを備え、
    前記ダミーバスIPは、前記バスマスタにより発行された前記複数のダミーメモリのそれぞれに対するライトアクセスに基づいて、前記先行レスポンスを前記バス制御回路にそれぞれ送出する、
    請求項13記載の半導体装置。
JP2014072334A 2014-03-31 2014-03-31 半導体装置 Active JP6416488B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014072334A JP6416488B2 (ja) 2014-03-31 2014-03-31 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014072334A JP6416488B2 (ja) 2014-03-31 2014-03-31 半導体装置

Publications (2)

Publication Number Publication Date
JP2015194900A JP2015194900A (ja) 2015-11-05
JP6416488B2 true JP6416488B2 (ja) 2018-10-31

Family

ID=54433847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014072334A Active JP6416488B2 (ja) 2014-03-31 2014-03-31 半導体装置

Country Status (1)

Country Link
JP (1) JP6416488B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188251A1 (en) * 2020-12-16 2022-06-16 Samsung Electronics Co., Ltd. Operating method of transaction accelerator, operating method of computing device including transaction accelerator, and computing device including transaction accelerator

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981500A (ja) * 1995-09-18 1997-03-28 Yaskawa Electric Corp 仮想dma転送方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188251A1 (en) * 2020-12-16 2022-06-16 Samsung Electronics Co., Ltd. Operating method of transaction accelerator, operating method of computing device including transaction accelerator, and computing device including transaction accelerator

Also Published As

Publication number Publication date
JP2015194900A (ja) 2015-11-05

Similar Documents

Publication Publication Date Title
US20210011872A1 (en) Multicore bus architecture with non-blocking high performance transaction credit system
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
JP5498505B2 (ja) データバースト間の競合の解決
US20220261373A1 (en) Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels
JP2012038293A5 (ja)
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JP2006338538A (ja) ストリームプロセッサ
US9170963B2 (en) Apparatus and method for generating interrupt signal that supports multi-processor
JP2007058716A (ja) データ転送バスシステム
JP2006113689A (ja) バスブリッジ装置およびデータ転送方法
US7913013B2 (en) Semiconductor integrated circuit
JP6416488B2 (ja) 半導体装置
JP2005293596A (ja) データ要求のアービトレーション
JP5981004B2 (ja) 半導体装置
JP2018128845A (ja) マルチプロセッサシステム
US10503471B2 (en) Electronic devices and operation methods of the same
JP5715670B2 (ja) 通信装置
US9411758B2 (en) Semiconductor device
JP2007102447A (ja) 演算処理装置
JP2006215621A (ja) Dma制御装置
CN105786744B (zh) 互连装置和互连的操作方法
US20150052307A1 (en) Processor and control method of processor
JP6430710B2 (ja) データ転送制御装置及びデータ転送の制御方法
US20100153610A1 (en) Bus arbiter and bus system
JP2015014962A (ja) 演算装置、演算方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180328

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180419

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180419

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180719

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180918

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181004

R150 Certificate of patent or registration of utility model

Ref document number: 6416488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250