(57)【要約】【課題】半導体集積回路のデータ転送効率を向上できる。【解決手段】本発明の例に関わる半導体集積回路は、データ転送要求を発行する複数のマスタデバイスＰＥ１，ＰＥ２と、データ転送要求に基づいてデータ転送を行う少なくとも１つのスレイブデバイスＭＣ，２と、複数のマスタデバイスＰＥ１，ＰＥ２からそれぞれ発行される複数のデータ転送要求の調停を行い、その調停結果をスレイブデバイスＭＣ，２に通知し、マスタデバイスＰＥ１，ＰＥ２とスレイブデバイスＭＣとの間のデータ転送を行うネットワークＮＷとを具備し、マスタデバイスＰＥ１，ＰＥ２は、データ転送要求を発行する際に、データ転送要求の発行からデータ転送の開始までの期間を、ネットワークＮＷに通知することを備える。【選択図】図１
2009116702.tif 000002
【特許請求の範囲】
【請求項１】
データ転送要求を発行する複数のマスタデバイスと、
データ転送要求に基づいてデータ転送を行う少なくとも１つのスレイブデバイスと、
前記複数のマスタデバイスからそれぞれ発行された複数のデータ転送要求の調停を行い、その調停結果を前記スレイブデバイスに通知し、前記マスタデバイスと前記スレイブデバイスとの間のデータ転送を行うネットワークとを具備し、
前記マスタデバイスは、前記データ転送要求を発行する際に、そのデータ転送要求に対応するデータ転送要求の発行からデータ転送の開始までの期間を、前記ネットワークに通知することを特徴とする半導体集積回路。
【請求項２】
前記ネットワークは、
前記複数のデータ転送要求のうち、前記データ転送要求の発行からデータ転送の開始までの期間が最も短いデータ転送要求を、前記スレイブデバイスが優先的に受け付けるように調停することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記ネットワークは、
前記複数のマスタデバイスのそれぞれに対して設定されたデータ転送の優先順位を保持し、
優先順位が低く設定されたマスタデバイスのデータ転送要求の発行からデータ転送の開始までの期間とそのデータ転送要求のサイズとの和が、
優先順位が高く設定されたマスタデバイスのデータ転送要求の発行からデータ転送の開始までの期間以下となる場合に、
前記優先順位が低く設定されたマスタデバイスのデータ転送を、前記優先順位が高く設定されたマスタデバイスのデータ転送よりも先に実行されるように調停することを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記マスタデバイスは、
その演算処理が終了する前に、前記ネットワークにデータ転送要求を発行するとともに、そのデータ転送要求に対応する前記データ転送要求の発行からデータ転送の開始までの期間を前記ネットワークに通知することを特徴とする請求項１に記載の半導体集積回路。
【請求項５】
前記スレイブデバイスは、
一定時間毎に値をインクリメントするカウンタと、
前記複数のデータ転送要求とそのデータ転送要求にそれぞれ対応する複数のデータ転送開始時間を保持する複数のレジスタとを有し、
前記複数のレジスタにそれぞれ保持された前記複数のデータ転送要求のうち、前記データ転送開始時間が前記カウンタの値以下になったデータ転送要求から順次、そのデータ転送要求を実行することを特徴とする請求項１に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に係り、特に、データ転送装置に関する。
【背景技術】
【０００２】
データ転送装置において、データ転送処理を発行する演算モジュールは、ネットワークを介して、メモリコントローラにアクセスする。複数の演算モジュールは、データ転送要求を発行する際に、コマンド信号とデータ信号をメモリコントローラに送信する。データ転送方式として、スプリットトランザクション方式が採用される場合、コマンド信号とデータ信号の送受信は、それぞれ期間的に独立されて制御される。
【０００３】
以下、データ転送装置において、２つの演算モジュールを有し、メモリコントローラに接続されるメモリがＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とし、そのライト動作について説明する。
【０００４】
ＤＲＡＭに対するライト動作（書き込み動作）時において、第１及び第２の演算モジュールが書き込みコマンドを発行し、ネットワークが第１の演算モジュールのコマンド信号をメモリコントローラに転送した後、第２の演算モジュールのコマンドをメモリコントローラに転送する場合を考える。
【０００５】
この場合、第１の演算モジュールのデータ信号が、メモリコントローラがコマンド信号を受信し、データ転送要求を受け付けてから、非常に遅いタイミングで出力されると、書き込みの順序を守るために、第１の演算モジュールのデータ転送が終わるまで、第２の演算モジュールのデータ転送は実行できない。
【０００６】
つまり、第２の演算モジュールのデータがすでに送信可能であっても、第１の演算モジュールのデータ転送が終わるまで、第２の演算モジュールは待機状態となってしまう。さらには、ネットワーク及びメモリコントローラも、データ転送が実行されない待機状態となってしまう。その結果として、データ転送効率が低下してしまう。
【０００７】
その一方で、第１及び第２の演算モジュールのデータがそれぞれ揃うまでの間に、ネットワークによって、演算モジュールのデータ転送要求を調停させる方式もある。しかし、この方式では、ＤＲＡＭは、コマンド信号の送受信によるアドレス通知からデータ信号の書き込みまで、一定期間を確保する必要がある。そのため、この場合には、メモリコントローラにデータ信号が到達しているにも関わらず、ＤＲＡＭへのデータ転送まで、待機状態が発生することになる。それゆえ、データ転送効率が低下してしまい、これを防止するためにはシステム内にバッファ回路を設け、バッファサイズを増加させなければならない。
【０００８】
リード動作（読み出し）時においてもライト動作と同様の問題が生じ、システム全体が待機状態となることで、データ転送効率が低下してしまう。
【０００９】
上述の問題を解決する技術として、例えば、特許文献１が開示されている。特許文献１に開示される技術においては、データ転送装置全体を集中管理する必要があるため、システム規模が大きくなるにつれ、システム設計が困難になる。又、メジャーサイクル単位でのアクセスとなるので、特に、各モジュールのデータ転送量にばらつきがある場合、転送効率が低下してしまう。
【特許文献１】特開２００４−３５５２７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、半導体集積回路のデータ転送効率を向上できる技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の例に関わる半導体集積回路は、データ転送要求を発行する複数のマスタデバイスと、データ転送要求に基づいてデータ転送を行う少なくとも１つのスレイブデバイスと、前記複数のマスタデバイスからそれぞれ発行された複数のデータ転送要求の調停を行い、その調停結果を前記スレイブデバイスに通知し、前記マスタデバイスと前記スレイブデバイスとの間のデータ転送を行うネットワークとを具備し、前記マスタデバイスは、前記データ転送要求を発行する際に、そのデータ転送要求に対応するデータ転送要求の発行からデータ転送の開始までの期間を、前記ネットワークに通知することを備える。
【発明の効果】
【００１２】
本発明によれば、半導体集積回路のデータ転送効率を向上できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
【００１４】
１．  概要  
本発明の実施形態は、半導体集積回路に係り、特に、データ転送装置に関する。
【００１５】
本発明の実施形態のデータ転送装置は、複数のマスタデバイスがスレイブデバイスに対してデータ転送要求を発行する際に、マスタデバイスが、その要求の発行からデータ転送の開始までの期間を、マスタデバイスとスレイブデバイスとの間に介在するネットワークに通知することを特徴とする。
【００１６】
具体例としては、データ転送処理が実行される際に、マスタデバイスが、データ転送要求としてのコマンド信号に加えて、コマンド信号とコマンド信号に基づいて入出力されるデータ信号との間のレイテンシ情報を伝える信号（以下、レイテンシ信号と呼ぶ）をスレイブデバイスに出力する。即ち、コマンド信号及びデータ信号に加え、レイテンシ信号が、ネットワークに入力され、それによって、マスタデバイスとスレイブデバイスとの間で入出力される。本実施形態において、レイテンシ信号は、コマンド信号がスレイブデバイスに入力されてから、マスタデバイスとスレイブデバイスとの間のデータ転送が開始されるまでのサイクル数を示す。そして、本実施形態では、ネットワークが、このレイテンシ信号に基づいて、複数のマスタデバイスのデータ転送要求の順序を調停する。
【００１７】
これによって、１つのデータ転送装置内に複数のマスタデバイス及びスレイブデバイスが設けられる場合においても、レイテンシ信号に基づいて、データ転送の順序を調停できる。それゆえ、データ転送の待機状態が生じることなく、データ転送を実行することができる。したがって、本発明の実施形態によれば、半導体集積回路のデータ転送効率を向上できる。
【００１８】
尚、本発明の実施形態において、スレイブデバイスとは、マスタデバイスから発行されるデータ転送要求に基づいて、動作が制御されるデバイスのことである。
【００１９】
２．  実施形態  
（１）  基本構成  
（ａ）  回路  
図１を用いて、本発明の実施形態の半導体集積回路について説明する。
【００２０】
本発明の実施形態の半導体集積回路は、例えば、データ転送装置である。図１は、データ転送装置１の基本構成を示している。このデータ転送装置１は、複数の演算モジュールＰＥ１，ＰＥ２と、ネットワークＮＷと、メモリコントローラＭＣ及びメモリモジュール２から構成されている。
【００２１】
このデータ転送装置１は、例えば、コマンド転送とデータ転送とが、それぞれ時間的に独立して実行されるスプリットトランザクション法に基づくプロトコルによって、制御される。本実施形態のデータ転送装置１内において、演算モジュールＰＥ１，ＰＥ２がマスタデバイスとして機能し、メモリコントローラＭＣ及びメモリモジュール２が、マスタデバイスである複数の演算モジュールＰＥ１，ＰＥ２よって動作が制御されるスレイブデバイスとして機能する。
【００２２】
複数の演算モジュールＰＥ１，ＰＥ２は、ネットワークＮＷに接続される。各演算モジュールＰＥ１，ＰＥ２は、データ転送を実行する際に、データ転送要求（例えば、コマンド信号Ｃｍｄ）をネットワークＮＷに発行し、そのデータ転送要求としてのコマンド信号Ｃｍｄを、ネットワークＮＷを介して、メモリコントローラＭＣに出力する。このコマンド信号Ｃｍｄによって、マスタデバイスとしての演算モジュールＰＥ１，ＰＥ２は、スレイブデバイスとしてのメモリコントローラＭＣ及びメモリモジュール２の動作を制御し、データ信号Ｄａｔａの入出力を実行する。演算モジュールＰＥ１，ＰＥ２は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。尚、本実施形態においては、説明の簡単化のため、２個の演算モジュールを図示しているが、この数に限定されるものではなく、３個以上の演算モジュールが、ネットワークＮＷに接続されてもよい。  
ネットワークＮＷは、複数の演算モジュールからそれぞれ発行されたデータ転送要求（コマンド信号）に対し、それらの要求が同時に発行された際に、データ転送の順序を調停する。そして、その調停結果に基づいて、演算モジュールＰＥ１，ＰＥ２から発行されたデータ転送要求（コマンド信号）に基づいて、要求を受け付けた演算モジュールとメモリコントローラ及びメモリモジュールとの間のデータ転送処理を実行する。ネットワークＮＷには、例えば、クロスバー方式、共通バス方式が用いられる。
【００２３】
メモリコントローラＭＣは、ネットワークＮＷに接続される。メモリコントローラＭＣは、ネットワークＮＷを介して入力される演算モジュールＰＥ１，ＰＥ２からのデータ転送要求を受け付け、要求を受け付けた演算モジュールＰＥ１，ＰＥ２とそのデータ転送の対象となる所定のメモリモジュール２との間のデータ転送の動作スケジュールを管理する。  
メモリコントローラＭＣには、メモリモジュール２が接続され、このメモリモジュール２の動作スケジュールは、メモリコントローラＭＣによって管理される。それによって、要求されたデータ転送が、メモリモジュール２と所定の演算モジュールＰＥ１，ＰＥ２との間で、メモリコントローラＭＣ及びネットワークＮＷを介して、実行される。メモリモジュール２は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）又はフラッシュメモリが用いられる。また、メモリチップとＬＳＩチップが混載された混載メモリモジュールでもよい。
【００２４】
尚、図１に示すデータ転送装置１は、本発明の実施形態の基本構成を示すものであり、他の構成をさらに具備してもよい。
【００２５】
本発明の実施形態のデータ転送装置１において、演算モジュールＰＥ１，ＰＥ２がデータ転送要求（コマンド信号）を発行する際に、コマンド信号Ｃｍｄに加え、データ転送要求の発行からデータ転送の開始までの期間を、演算モジュールＰＥ１，ＰＥ２とスレイブデバイスとしてのメモリコントローラＭＣとの間に介在するネットワークＮＷに通知することを特徴とする。
【００２６】
本実施形態において、その期間は、データ転送装置の動作クロックに対応し、コマンド信号が発行されてからデータ信号の転送が開始されるまでのサイクル数（レイテンシ）で示される。
【００２７】
つまり、演算モジュールＰＥ１，ＰＥ２はコマンド信号に加え、レイテンシ情報を伝える信号（レイテンシ信号）をネットワークＮＷに出力する。また、このレイテンシ信号は、例えば、ネットワークＮＷを介して、スレイブデバイスとしてのメモリコントローラＭＣにも出力される。ネットワークＮＷは、このレイテンシ信号ＲｅｑＤａｔａＬａｔに基づいて、データ転送処理の順序を調停する。そして、この調停された順序で、演算モジュールＰＥ１，ＰＥ２とメモリモジュール２との間のデータ転送が実行される。尚、ネットワークＮＷによるデータ転送の調停方式の詳細については、後述する。
【００２８】
従来では、複数の演算モジュールが１つのデータ転送装置内に設けられる場合、データ転送処理は、各演算モジュールに対してあらかじめ設定された優先順位に基づいて、実行されていた。即ち、優先順位の低い演算モジュールのデータ転送処理の準備が完了していても、優先順位の高い演算モジュールのデータ転送処理が実行及び完了していなければ、設定された優先順位を遵守してデータ転送処理が実行されるため、優先順位の低い演算モジュールのデータ転送処理は待機状態となってしまう。これが、システム全体の待機状態となり、データ転送装置のデータ転送効率の低下の要因となっていた。
【００２９】
それに対し、本発明の実施形態では、データ転送処理は、レイテンシ信号ＲｅｑＤａｔａＬａｔに基づいて調停された順序に基づいて、実行される。即ち、本実施形態によれば、複数の演算モジュールＰＥ１，ＰＥ２から出力されるレイテンシ信号ＲｅｑＤａｔａＬａｔの値から、データ転送処理を開始できるサイクルを判別し、システムの待機状態が発生しないように、データ転送処理の順序がネットワークＮＷによって調停される。したがって、本発明の実施形態によれば、データ転送処理の待機状態を抑制することができ、データ転送装置１のデータ転送効率を向上できる。このような、本実施形態の効果は、特に、スレイブデバイス（メモリコントローラＭＣ及びメモリモジュール２）の制御開始から実際のデータ転送までにタイムラグがあるＤＲＡＭを用いたデータ転送装置（半導体集積回路）の場合に、より効果が大きくなる。
【００３０】
また、レイテンシ信号ＲｅｑＤａｔａＬａｔが示す値は、データ信号Ｄａｔａのサイズや各演算モジュールの動作状況に応じて随時変更されるので、ユーザーから要求されるデータ転送処理に対して、フレキシブルに対応できる。
【００３１】
さらに、本実施形態によれば、データ転送効率を向上させるためのバッファ回路を削減できるため、システム内のバッファサイズを削減でき、データ転送装置１のシステム規模を縮小することができる。
【００３２】
以上のように、本発明の実施形態によれば、半導体集積回路（データ転送装置）のデータ転送効率を向上できる。
【００３３】
（ｂ）  ライト動作  
図２を用いて、本発明の実施形態に示すデータ転送装置のライト（Ｗｒｉｔｅ）動作について説明する。図２は、本実施形態のデータ転送装置のライト動作を示すタイミングチャートである。はじめに、図２に示される各信号について、説明する。
【００３４】
コマンド信号Ｃｍｄは、演算モジュールＰＥ１，ＰＥ２が発行するデータ転送要求の種類を示す。許可信号Ａｃｋは、コマンド信号Ｃｍｄが、メモリコントローラＭＣに受け付けられたことを示す。データ転送サイズ信号Ｓｉｚｅは、転送されるデータのサイズ（容量）を示す信号である。ライト有効データ信号ＷＤａｔａＶａｌｉｄは、そのサイクルで、データ信号Ｄａｔａが有効であるあることを示す信号であり、ライトデータ許可信号ＷｄａｔａＡｃｋは、データ信号ＤａｔａがメモリコントローラＭＣに受け付けられたことを示す信号である。そして、レイテンシ信号ＲｅｑＤａｔａＬａｔは、コマンド信号Ｃｍｄと共に、演算モジュールＰＥ１，ＰＥ２からそれぞれ出力され、コマンド信号Ｃｍｄが出力されてからデータ信号の転送が開始されるまでの期間を示している。尚、コマンド信号Ｃｍｄと共に、データ信号Ｄａｔａの転送先を示すアドレス信号も同時に出力されるが、ここでは、その説明を省略する。
【００３５】
以下、簡単化のため、ネットワークＮＷでの遅延（レイテンシ）は無く、ネットワークＮＷはレイテンシ０でデータ転送できるものとして、本実施形態のライト動作について説明する。尚、本実施形態においても、複数の演算モジュールＰＥ１，ＰＥ２からデータ転送要求がそれぞれ異なるタイミングで発行された場合には、あらかじめ設定された演算モジュールの優先順位、例えば、演算モジュールＰＥ１、次に演算モジュールＰＥ２の順に、優先的にデータ転送が実行されるものとする。
【００３６】
はじめに、図２に示すように、データ転送装置の動作クロックＣＬＫの１サイクル目において、図１に示す２つの演算モジュールＰＥ１，ＰＥ２が、ライト動作を実行するためのデータ転送要求（コマンド信号）を、メモリコントローラＭＣにそれぞれ同時発行する。この際、ライト動作ｗｒ１，２を示すコマンド信号Ｃｍｄが、ネットワークＮＷを介して、２つの演算モジュールＰＥ１，ＰＥ２からメモリコントローラＭＣへ、同時に出力される。また、レイテンシ信号ＲｅｑＤａｔａＬａｔも、コマンド信号Ｃｍｄとともに、ネットワークＮＷを介して、演算モジュールＰＥ１，ＰＥ２からメモリコントローラＭＣへ出力される。
【００３７】
レイテンシ信号ＲｅｑＤａｔａＬａｔは、その信号が示す値に基づき、ネットワークＮＷ内によって、２つの演算モジュールＰＥ１，ＰＥ２からのデータ出力のサイクルが判別され、後述の調停方式によって、演算モジュールＰＥ１，ＰＥ２のデータ転送処理の順序が調停される。図２に示す例では、各レイテンシ信号ＲｅｑＤａｔａＬａｔは、演算モジュールＰＥ１のデータ出力は３サイクル後に、演算モジュールＰＥ２のデータ出力は１サイクル後に、実行されることを示している。つまり、演算モジュールＰＥ２のデータ転送処理が、演算モジュールＰＥ１のデータ転送処理よりも、早く準備される。そのため、ネットワークＮＷは、演算モジュールＰＥ２のライト動作を実行した後に、演算モジュールＰＥ１のライト動作を実行するように、データ転送処理の順序を調停・設定する。
【００３８】
そして、コマンド信号Ｃｍｄとレイテンシ信号ＲｅｑＤａｔａＬａｔが、メモリコントローラＭＣに入力される。ネットワークＮＷによる調停結果に基づいて、許可信号Ａｃｋが、メモリコントローラＭＣから演算モジュールＰＥ２に出力され、続いて、演算モジュールＰＥ１に出力される。
【００３９】
許可信号Ａｃｋが２サイクル目で演算モジュールＰＥ２に入力されると、演算モジュールＰＥ２では、すでに、出力されるデータ信号Ｄａｔａの準備が整っているので、直ちにデータ転送処理が実行される。そのため、演算モジュールＰＥ２及びメモリコントローラＭＣのデータ有効信号ＤａｔａＶａｌｉｄ及びライトデータ許可信号ＷＤａｔａＡｃｋが、２サイクル目から３サイクル目でアクティブ状態となり、演算モジュールＰＥ２のメモリコントローラＭＣ及びメモリモジュール２に対するライト動作のためのデータ転送が実行される。そして、演算モジュールＰＥ２のデータ転送処理は、３サイクル目で完了する。
【００４０】
一方、演算モジュールＰＥ１では、３サイクル目で許可信号Ａｃｋが入力されても、データ信号Ｄａｔａの出力の準備は、コマンド信号Ｃｍｄの送信から３サイクル目で完了する。そのため、演算モジュールＰＥ１では、動作クロックＣＬＫの４サイクルめと同期して、データ有効信号ＤａｔａＶａｌｉｄ及びライトデータ許可信号ＷＤａｔａＡｃｋがアクティブ状態となり、ライト動作のためのデータ転送が実行される。演算モジュールＰＥ１のデータ転送処理は、５サイクル目で完了する。尚、上述のように、演算モジュールＰＥ１が転送されるデータ信号Ｄａｔａを準備している間には、演算モジュールＰＥ２のデータ転送が実行されているため、データ転送装置内に、データ転送の待機状態は発生しない。
【００４１】
以上の動作によって、本実施形態のデータ転送装置におけるライト動作が完了する。尚、上述の動作において、レイテンシ信号ＲｅｑＤａｔａＬａｔが示す値は、単に演算モジュールＰＥ１，ＰＥ２のコマンド信号Ｃｍｄの出力からデータ信号Ｄａｔａの出力までのレイテンシの値を示すのみである。しかし、コマンド信号Ｃｍｄのサイズが大きい場合には、そのサイズに応じて、データ転送のタイミングが遅延する場合がある。そのため、コマンド信号のサイズも考慮して、レイテンシ信号ＲｅｑＤａｔａＬＡｔが示す値を変更することが、より好ましい。
【００４２】
従来のように、演算モジュールＰＥ１のデータ転送要求の優先順位が、演算モジュールＰＥ２よりも高く設定され、優先順位に基づいてデータ転送が実行される場合には、メモリコントローラＭＣが同時に発行されたデータ転送要求を受け付けると、演算モジュールＰＥ１のデータ転送が終了してから、演算モジュールＰＥ２のデータ転送が実行されるため、システム内に２サイクル目から３サイクル目で待機状態が発生してしまう。その結果として、２つの演算モジュールデータＰＥ１，ＰＥ２のデータ転送処理の完了が７サイクル目以降となり、データ転送装置のデータ転送効率が低下してしまう。
【００４３】
しかし、本実施形態においては、ネットワークＮＷが、演算モジュールＰＥ１，ＰＥ２から出力されたレイテンシ信号ＲｅｑＤａｔａＬＡｔからデータ信号Ｄａｔａの出力サイクルを判別し、ライト動作の順序を調停する。即ち、本実施形態のデータ転送装置１では、複数の演算モジュールＰＥ１，ＰＥ２のレイテンシを考慮して、システムの待機状態が発生しないように、ライト動作のためのデータ転送処理が連続して実行される。そのため、本実施形態のデータ転送装置１においては、５サイクル目で、データ転送処理を完了することができる。
【００４４】
それゆえ、本発明の実施形態のデータ転送装置のライト動作において、データ転送処理の待機状態が生じることなく、データ転送処理を実行できる。
【００４５】
したがって、本発明の実施形態によれば、半導体集積回路のデータ転送効率を向上できる。
【００４６】
（ｃ）  リード動作  
図３を用いて、本発明の第１の実施形態に示すデータ転送装置のリード（Ｒｅａｄ）動作について説明する。尚、ライト動作と同一の信号については、同じ符号を付し、詳細な説明は省略する。図３に示すリード有効データ信号ＲＤａｔａＶａｌｉｄは、そのサイクルで、データ信号Ｄａｔａが有効であるあることを示す信号であり、リードデータ許可信号ＲｄａｔａＡｃｋは、データ信号ＤａｔａがメモリコントローラＭＣに受け付けられたことを示す信号である。
【００４７】
はじめに、動作クロックＣＬＫの１サイクル目において、ライト動作と同様に、演算モジュールＰＥ１，ＰＥ２からリード動作を実行するためのデータ転送要求が発行され、リード動作ｒｄ１，ｒｄ２を示すコマンド信号Ｃｍｄが、メモリコントローラＭＣに同時に出力される。これと共に、レイテンシ信号ＲｅｑＤａｔａＬａｔも、演算モジュールＰＥ１，ＰＥ２からメモリコントローラＭＣへ出力される。
【００４８】
ネットワークＮＷは、そのレイテンシ信号ＲｅｑＤａｔａＬａｔの値から、２つの演算モジュールＰＥ１，ＰＥ２へのデータ入力のサイクルを判別する。
【００４９】
図３に示す例では、各レイテンシ信号ＲｅｑＤａｔａＬａｔは、演算モジュールＰＥ１のデータ出力は３サイクル後に、演算モジュールＰＥ２のデータ出力は１サイクル後に、データの入力が可能となることを示している。そのため、ネットワークＮＷは、演算モジュールＰＥ２のリード動作を実行した後に、演算モジュールＰＥ１のリード動作を実行するように、メモリモジュール２から演算モジュールＰＥ１，ＰＥ２へのデータ転送処理の順序を調停する。それゆえ、許可信号Ａｃｋが、メモリコントローラＭＣから演算モジュールＰＥ２に出力され、続いて、演算モジュールＰＥ１に出力される。
【００５０】
演算モジュールＰＥ２では、許可信号Ａｃｋが２サイクル目で入力される。演算モジュールＰＥ２では、すでに、データ信号Ｄａｔａを受け取る準備が整っているので、直ちにデータ転送処理が実行される。そのため、演算モジュールＰＥ２及びメモリコントローラＭＣの読み出しデータ有効信号ＲＤａｔａＶａｌｉｄ及びリードデータ許可信号ＲＤａｔａＡｃｋが、２サイクル目から３サイクル目でアクティブ状態となり、演算モジュールＰＥ２におけるライト動作のためのデータ転送が実行される。そして演算モジュールＰＥ２のデータ転送処理は、３サイクル目で完了する。
【００５１】
一方、演算モジュールＰＥ１では、許可信号Ａｃｋが３サイクル目で入力されても、データ信号Ｄａｔａを受け取る準備は、コマンド信号Ｃｍｄの出力から３サイクル目で完了する。そのため、演算モジュールＰＥ１では、演算モジュールＰＥ２のリード動作が完了した動作クロックＣＬＫの４サイクル目と同期して、リードデータ有効信号ＲＤａｔａＶａｌｉｄ及びリードデータ許可信号ＲＤａｔａＡｃｋがアクティブ状態となり、リード動作のためのデータ転送が実行される。
【００５２】
上記の動作によって、本実施形態のデータ転送装置におけるリード動作が完了する。
【００５３】
以上のように、本発明の実施形態のデータ転送装置のリード動作において、ライト動作と同様に、データ転送処理の待機状態が生じることなく、データ転送処理を実行できる。したがって、本発明の実施形態によれば、半導体集積回路のデータ転送効率を向上できる。
【００５４】
（２）  実施例  
以下、図４乃至図６を用いて、図１に示すデータ転送装置１に示す各構成の実施例について、より詳細に説明する。尚、上述の各構成と同一のものに対しては、同一符号を付して、詳細な説明は省略する。
【００５５】
（ａ）  ネットワーク  
図４を用いて、図１に示すデータ転送装置１に用いられるネットワークＮＷの実施例について、説明する。上述のように、ネットワークＮＷは、データ転送装置１内で、複数の演算モジュールＰＥ１，ＰＥ２からデータ転送要求が同時に発行された際に調停を行う。
【００５６】
図４に示すように、ネットワークＮＷには、演算モジュールＰＥ１，ＰＥ２が接続され、ネットワークＮＷの内部には、マルチプレクサ１０及び調停回路１１が設けられる。
【００５７】
演算モジュールＰＥ１，ＰＥ２は、コマンド信号Ｃｍｄ、レイテンシ信号ＲｅｑＤａｔａＬａｔをそれぞれ出力し、それに伴い、データ信号Ｄａｔａを入出力する。
【００５８】
コマンド信号Ｃｍｄ、レイテンシ信号ＲｅｑＤａｔａＬａｔ及びデータ信号Ｄａｔａが、ネットワークＮＷ内部のマルチプレクサ１０に、入力される。また、ネットワークＮＷ内部の調停回路１１には、コマンド信号Ｃｍｄ及びレイテンシ信号ＲｅｑＤａｔａＬａｔが入力される。
【００５９】
調停回路１１は、入力されたコマンド信号Ｃｍｄ及びレイテンシ信号ＲｅｑＤａｔａＬａｔに基づいて、演算モジュールＰＥ１，ＰＥ２のデータ転送要求を調停する。そして、調停回路１１は、その調停結果に基づく制御信号をマルチプレクサ１０に出力する。マルチプレクサ１０は、この制御信号によって、入力された２つの演算モジュールＰＥ１，ＰＥ２のコマンド信号Ｃｍｄ及びレイテンシ信号ＲｅｑＤａｔａＬａｔのうち、いずれか一方を、メモリコントローラＭＣに出力し、その後、他方のデータ要求をメモリコントローラＭＣに出力する。
【００６０】
これによって、ネットワークＮＷは、データ転送処理の順序を調停し、データ信号Ｄａｔａの入出力を行う。
【００６１】
以下、ネットワークＮＷによる調停方式のいくつかの例について、説明する。
【００６２】
（ｉ）  第１の調停方式  
第１の調停方式では、調停回路１１に入力された複数のレイテンシ信号の値を比較することによって、調停を行う。具体的には、この調停方式のネットワークＮＷは、複数の演算モジュールＰＥ１，ＰＥ２のデータ転送要求に対し、レイテンシ信号の値が小さいものを優先して、データ転送を実行するように、調停する。
【００６３】
第１の調停方式によれば、調停回路１１を、例えば、コンパレータのように、簡単な回路構成で実現でき、且つ、データ転送要求の優先順位の判定を高速で実行できる。
【００６４】
（ｉｉ）  第２の調停方式  
上述のように、本発明の実施形態においても、データ転送要求が重複しないで発行された場合のために、演算モジュールの優先順位があらかじめ設定されている。
【００６５】
第２の調停方式では、ある演算モジュールのレイテンシ信号ＲｅｑＤａｔａＬａｔの値とそれに対応するデータ転送サイズ信号Ｓｉｚｅの値との和が、優先度が高く設定された演算モジュールのレイテンシ信号ＲｅｑＤａｔａＬａｔの値以下となる場合に、あらかじめ設定された優先順位によらず、優先順位が低い演算モジュールのデータ転送要求であっても、データ転送の順序が逆転するように要求を受け付けて、データ転送を行う。
【００６６】
上述のように、データ転送サイズ信号Ｓｉｚｅの値が大きければ、データ転送が遅延する場合がある。よって、第２の調停方式では、レイテンシ信号ＲｅｑＤａｔＬａｔの値の大小のみによらず、データ転送サイズ信号Ｓｉｚｅの値に起因するレイテンシも考慮して、データ転送要求の順序を調停することで、優先順位が高く設定された演算モジュールのレイテンシ信号の値が大きくとも、そのデータ転送要求を先に実行することができる。
【００６７】
それゆえ、第２の調停方式によれば、優先順位の高い演算モジュールのデータ転送要求が必要以上に遅れてしまうことを回避できる。
【００６８】
（ｉｉｉ）  第３の調停方式  
第３の調停方式では、ある演算モジュールからのレイテンシ信号の値が、あらかじめ設定されたしきい値よりも大きい場合には、他の演算モジュールからのデータ転送要求がなくとも、ある演算モジュールのデータ転送要求を受け付けない。
【００６９】
レイテンシ信号ＲｅｑＤａｔａＬａｔの値が大きいデータ転送要求（コマンド信号Ｃｍｄ）を受け付けた場合、コマンド信号の入力のみで、実際のデータ転送は、長期間実行されないことになる。これは、後からレイテンシ信号ＲｅｑＤａｔａＬａｔの値が小さいデータ転送要求が入力されても、そのデータ転送が実行できず、実質的にシステムの待機状態となってしまう。  
しかし、第３の調停方式のように、しきい値を設定し、そのしきい値より大きいレイテンシ信号ＲｅｑＤａｔａＬａｔに対応するデータ転送要求を受け付けなければ、後から入力されるしきい値よりも小さなレイテンシ信号ＲｅｑＤａｔａＬａｔに対応するデータ転送要求を受け付けて、実行でき、データ転送装置１内部で、データ転送が長期間実行されない状態を回避できる。
【００７０】
尚、第３の調停方式で設定されるしきい値は、調停回路１１からメモリコントローラＭＣまでのレイテンシと、メモリモジュールのアドレス発行からデータ入出力までのレイテンシとを加算した値に基づいて、算出されることが好ましい。また、この第３の調停方式は、第１又は第２の調停方式と併用することも可能である。
【００７１】
以上のように、図４に示すデータ転送要求の調停を行うネットワークＮＷでは、その内部に、複数の演算モジュールからのデータ転送要求を調停するための調停回路１１が設けられ、（ｉ）〜（ｉｉｉ）に示す調停方式のいずれかを採用することで、半導体集積回路のデータ転送効率を向上できる。
【００７２】
（ｂ）  演算モジュール  
図５を用いて、図１に示すデータ転送装置１に用いられる演算モジュールの実施例について、説明する。
【００７３】
図５に示すように、複数の演算モジュールＰＥ１，ＰＥ２が、１つのネットワークＮＷに、接続されている。  
演算モジュールＰＥ１，ＰＥ２のそれぞれは、その内部に、制御部３０、データバッファ３１，３３及び演算部３２を有している。バッファ３１，３３は、例えば、キャッシュメモリである。また、演算部３２は、例えば、ＤＳＰであり、以下では、この演算部３２のことをＤＳＰ３２と呼ぶ。尚、演算モジュールＰＥ１，ＰＥ２の内部構成は、図５に示す構成に限定されるものではない。
【００７４】
制御部３０は、各演算モジュールＰＥ１，ＰＥ２の全体の動作を制御する。バッファ３１は、制御部３０を介して、演算モジュールＰＥ１，ＰＥ２内に入力されたデータを格納する。ＤＳＰ３２は、バッファ３１に保持されたデータに対して、演算処理を実行する。バッファ３３は、ＤＳＰ３２により演算処理されたデータを保持し、そのデータを制御部３０に出力する。そして、制御部３０は、ネットワークＮＷ及びメモリコントローラＭＣを介して、演算処理されたデータを、メモリモジュール２に出力する。これによって、メモリモジュール２内のデータは、演算処理されたデータに書き換えられる。このような処理が、各演算モジュールＰＥ１，ＰＥ２のそれぞれで、データ転送処理が行われる度に、実行される。
【００７５】
ここで、例えば、演算モジュールＰＥ１の１回当たりの演算処理が１００サイクルで終了するようにあらかじめ予測されていた場合、演算モジュールＰＥ１は、演算処理の開始と同時に、データ転送要求としてのライトコマンド信号又はリードコマンド信号を、ネットワークＮＷ及びメモリコントローラＭＣに出力する。このコマンド信号と同時に発行されるレイテンシ信号の値は、例えば、“１００”に設定される。このようにレイテンシ信号が設定されると、メモリコントローラＭＣは、１００サイクル後に、データ転送処理が開始されることを想定して、メモリモジュール２に対するスケジューリングを行う。
【００７６】
これによって、メモリコントローラＭＣは、適切な動作タイミングで、メモリモジュール２に対するアドレス信号の出力などの、メモリモジュール２の制御を実行できる。
【００７７】
以上のように、動作サイクルがあらかじめ予測されている演算モジュールＰＥ１，ＰＥ２内の演算処理において、演算処理が終了する前に、演算結果がデータ転送されるメモリモジュール２に対してスケジュールを設定しておくことで、データ転送処理の待機状態などを削減でき、それと共に、演算モジュール内でのデータ待ち期間を短縮でき、演算処理効率の向上を図ることができる。したがって、半導体集積回路のデータ転送効率を向上できる。
【００７８】
（ｃ）  メモリコントローラ  
図６を用いて、図１に示すデータ転送装置１に用いられるメモリコントローラＭＣの実施例について、説明する。上述のように、本発明の実施形態においては、レイテンシ信号に基づいて、複数の演算モジュールから発行されたデータ転送要求の調停が、ネットワークＮＷによって実行される。  
図６に示す内部構成のメモリコントローラＭＣは、調停結果を受け付け、メモリモジュール２に対するスケジューリングを行う。図６に示すように、レイテンシ信号ＲｅｑＤａｔａＬａｔは、メモリコントローラＭＣ内に設けられた減算器４０に入力される。減算器４０には、レジスタ４１内に保持されたオフセット値が、さらに入力される。そして、減算器４０は、入力されたレイテンシ信号ＲｅｑＤａｔａＬａｔの値からオフセット値を減算する。これによって、アクセス制御が開始できるまでのレイテンシ（以下、アクセス開始可能レイテンシと呼ぶ）が求められる。このオフセット値は、例えば、メモリモジュール２のＣＡＳレイテンシの値に基づいて、設定されることが好ましい。尚、ＣＡＳレイテンシは、カラムのアドレスを指定するＣＡＳ信号が出力されてから、実際にデータ信号のライト／リードが実行されるまでに要するレイテンシである。
【００７９】
また、メモリコントローラＭＣ内には、カウンタ４４が設けられる。このカウンタ４４は、加算器４３によるインクリメントを、データ転送装置の動作中、常に一定のサイクルで実行する。インクリメントにより得られるカウンタ４４の値は、メモリコントローラＭＣ内部の“現在の時間”を示している。インクリメントによる“現在の時間”の更新は、データ転送装置１全体の動作サイクル或いは演算モジュールＰＥ１，ＰＥ２の動作サイクルと同期して実行される。
【００８０】
そして、“アクセス開始可能レイテンシ”と“現在の時間”とが、加算器４２によって、加算され、この加算値がメモリモジュールへのアクセス制御が開始可能となる時間（以下、アクセス開始可能時間と呼ぶ）を示す。
【００８１】
アクセス開始可能時間の値は、それに対応するコマンド信号Ｃｍｄごとに、メモリコントローラＭＣ内に設けられた複数のレジスタ４６内に保持される。尚、レジスタ４６は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式のレジスタであり、以下、このレジスタ４６のことをＦＩＦＯ４６と呼ぶ。これと同時に、コマンド信号Ｃｍｄに対応するデータ信号Ｄａｔａが、レジスタ４７にそれぞれ保持される。
【００８２】
ＦＩＦＯ４６に格納された“アクセス開始可能時間”の値は、比較器４５によって、カウンタ４４が示す“現在の期間”の値と比較される。
【００８３】
そして、“アクセス開始可能時間”と“現在の時間”とが一致した、又は、“アクセス開始可能時間”が“現在の時間”以下となったＦＩＦＯのイネーブルビットがアクティブとなり、そのＦＩＦＯに保持されたコマンド信号Ｃｍｄが有効となる。有効になったコマンド信号Ｃｍｄ及びデータの入出力先を示すアドレス信号Ａｄｄｒｅｓｓ、そして、このコマンド信号Ｃｍｄに対応するレジスタ４７に保持されたデータ信号Ｄａｔａが、ＰＨＹ（物理層回路）４８によるデジタル／アナログ変換や電圧変換などの物理的・電気的変換処理を経て、メモリモジュール２に出力される。そして、メモリモジュール２に対するライト動作／リード動作が開始され、データ転送が実行される。このような“アクセス開始可能時間”と“現在の時間”との比較が、ＦＩＦＯ４６毎に順次実行され、条件を満たしたコマンド信号Ｃｍｄのデータ転送が順次実行される。尚、例えば、ＰＨＹ４８など、比較器４５より後段に設けられる回路に起因する遅延が発生しない又は小さい場合には、このアクセス開始可能時間が実質的にデータ転送が開始される時間（データ転送開始時間）となる。
【００８４】
これによって、ネットワークＮＷを介して、演算モジュールＰＥ１，ＰＥ２とメモリモジュール２との間で、データ転送処理が実行される。
【００８５】
以上のように、図６に示すメモリコントローラＭＣは、ネットワークＮＷによる調停結果を反映し、レイテンシ信号に基づく“アクセス開始可能時間（データ転送開始時間）”の値が、メモリコントローラＭＣ内のカウンタ４４が示す“現在の時間”の値以下になったコマンド信号を実行するように、メモリモジュール２に対するスケジューリングを行う。これによって、メモリコントローラＭＣが、レイテンシ信号ＲｅｑＤａｔａＬａｔに基づいて、メモリモジュール２の動作を管理でき、データ転送のタイミングを調整することができる。  
したがって、半導体集積回路のデータ転送効率を向上できる。  
尚、図６に示す例では、１つのメモリコントローラＭＣを有する例を図示しているが、これに限定されるものではなく、同様の構成のメモリコントローラを複数個設けてもよい。メモリコントローラＭＣを複数個設けることによって、メモリモジュール２へのアクセス効率を向上するように、コマンド信号Ｃｍｄを選択し、データ転送効率を向上することもできる。また、メモリコントローラＭＣの内部構成は、メモリコントローラＭＣに入力されたレイテンシ信号ＲｅｑＤａｔａＬａｔに応じて、メモリモジュール２へのデータ転送（コマンド信号Ｃｍｄの実行）のタイミング調整を行える構成であればよく、図６に示される構成に限定されるものではない。
【００８６】
（３）  応用例  
図７乃至図９を用いて、本発明の実施形態の応用例について、説明する。尚、上述と同一部材については、同一符号を付し、詳細な説明は省略する。
【００８７】
図７は、本発明の実施形態の応用例のデータ転送装置１Ａを示している。
【００８８】
図７に示すように、データ転送装置１内のデータ転送経路間に、バッファ回路３を挿入することで、コマンド信号Ｃｍｄ又はデータ信号Ｄａｔａに対してパイプライン処理を行う。この構成によれば、動作周波数の低下を防止して、大規模且つ高い動作周波数のデータ転送装置１Ａを提供できる。
【００８９】
但し、このような場合、挿入されたバッファ回路３に起因するレイテンシが発生する。そのため、本発明の実施形態のように、コマンド信号Ｃｍｄ及びデータ信号Ｄａｔａに加え、レイテンシ信号ＲｅｑＤａｔａＬａｔを付加すると、演算モジュールＰＥ１，ＰＥ２とメモリコントローラＭＣとの間で、レイテンシの整合性が取れなくなる場合がある。そこで、図８及び図９を用いて、レイテンシの整合性を確保することができるバッファ回路３について説明する。
【００９０】
図８に示されるバッファ回路３では、コマンド信号は内部バッファ２０に入力され、コマンド信号が内部バッファ２０を通過する際に、１サイクル経過する。これに対して、データ信号は、バッファ回路３を通過する際に、内部バッファを通過しないで外部へ出力されるので、サイクルの増減が発生せず、０サイクルでバッファ回路３内部を通過する。
【００９１】
つまり、このバッファ回路３の通過後のコマンド信号ＣｍｄＢからデータ信号ＤａｔａＢのレイテンシ信号ＲｅｑＤａｔａＬａｔＢの値は、バッファ回路３の通過前のコマンド信号ＣｍｄＡからデータ信号ＤａｔａＡのレイテンシ信号ＲｅｑＤａｔａＬａｔＡの値に比べて、１サイクル分短くなる。
【００９２】
そのため、図８に示すように、レイテンシ信号ＲｅｑＤａｔａＬａｔＡの転送経路に、減算器２１を挿入し、レイテンシ信号が示す値を１つ減らすことによって、バッファ回路３の通過前後のコマンド信号及びデータ信号のレイテンシの整合性をとる。
【００９３】
また、図９は、図８に示すバッファ回路とは異なる例を示している。図９に示されるバッファ回路３では、データ信号の転送経路に内部バッファ２７が設けられる。この場合、ライト動作とリード動作とで、レイテンシの整合性を取る方式が異なる。
【００９４】
ライト動作の場合、データ信号ＤａｔａＡは、その転送経路に内部バッファ２７が設けられ、その内部バッファ２７によりバッファされるため、１サイクルの期間が経過する。一方、コマンド信号ＣｍｄＡは、データ信号ＤａｔａＡのようにバッファされずにバッファ回路３内部を通過するので、０サイクルで外部へ出力される。つまり、このバッファ回路３の通過後のコマンド信号ＣｍｄＢからデータ信号ＤａｔａＢのレイテンシ信号ＲｅｑＤａｔＬａｔＢの値は、バッファ回路３の通過前のコマンド信号ＣｍｄＡからデータ信号ＤａｔａＡのレイテンシ信号ＲｅｑＤａｔａＬａｔＡの値に比べて、１サイクル分長くなる。
【００９５】
リード動作の場合にも、ライト動作と同様に、データ信号のみに１サイクル分の期間が必要となる。しかし、リード動作では、コマンド信号Ｃｍｄは演算モジュールＰＥ１，ＰＥ２からメモリモジュール２へと転送されるのに対し、データ信号Ｄａｔａはメモリモジュール２から演算モジュールＰＥ１，ＰＥ２へと転送され、コマンド信号とデータ信号とで信号の転送方向が異なる。
【００９６】
そのため、このバッファ回路３の通過後のコマンド信号ＣｍｄＢからデータ信号ＤａｔａＢのレイテンシ信号ＲｅｑＤａｔＬａｔＢの値は、バッファ回路３の通過前のコマンド信号ＣｍｄＡからデータ信号ＤａｔａＡのレイテンシ信号ＲｅｑＤａｔａＬａｔＡの値よりも、１サイクル分短くしなければならない。
【００９７】
そのため、図９に示すように、バッファ回路３内部のレイテンシ信号の転送経路に、加算器２４及び減算器２５を設けることで、入力されるレイテンシ信号の値を１つ増加又は減少させる。加算器２４によって値が加算されたレイテンシ信号は、ライト動作に対応し、減算器によって値が減算されたレイテンシ信号はリード動作に対応する。そして、コマンド信号ＣｍｄＡを選択信号とするマルチプレクサ２６によって、ライト動作又はリード動作に対応するレイテンシ信号のいずれ一方が選択される。  
これによって、データ転送装置１Ａのライト動作及びリード動作のそれぞれに対して、コマンド信号とデータ信号との間のレイテンシの整合性が確保される。
【００９８】
尚、コマンド信号とデータ信号の転送経路のそれぞれに内部バッファが設けられる場合には、前述の２種類の構成を直列接続した場合と同じ動作になる。そのため、ライト動作の場合には、レイテンシ信号に対する加算及び減算処理は必要ないが、リード動作の場合にはレイテンシ信号の値を２サイクル分短くする必要がある。
【００９９】
以上のように、図８又は図９に示されるバッファ回路３が、図７に示されるデータ転送装置１Ａのバッファ回路３として用いられる。それゆえ、図８及び図９に示すバッファ回路３によって、データ転送装置１Ａ内のコマンド信号とデータ信号との間のレイテンシの整合性が確保される。  
したがって、本発明の実施形態の応用例によれば、半導体集積回路のデータ転送効率を向上できるとともに、大規模且つ高い動作周波数で動作する半導体集積回路を提供できる。尚、本応用例においては、説明の簡単化のため、２つの演算モジュールＰＥ１，ＰＥ２を図示しているが、３つ以上の演算モジュールが１つのネットワークに接続されてもよい。
【０１００】
（４）  変形例  
図１０を用いて、本発明の実施形態の変形例について、説明する。尚、同一部材については、同一符号を付し、詳細な説明は省略する。
【０１０１】
図１０は、本発明の実施形態の変形例のデータ転送装置１Ｂを示している。上述のデータ転送装置１では、１つのメモリコントローラＭＣが、ネットワークＮＷに接続される構成を示していた。しかし、それに限定されず、図１０に示されるデータ転送装置１Ｂのように、複数のメモリコントローラＭＣ１，ＭＣ２及び複数のメモリモジュール２Ａ，２Ｂが、１つのネットワークＮＷに接続されてもよい。
【０１０２】
このような構成のデータ転送装置１Ｂにおいては、メモリコントローラＭＣ１，ＭＣ２毎及びメモリモジュール２Ａ，２Ｂ毎に、コマンド信号Ｃｍｄの出力からデータ信号の入出力までレイテンシが異なる場合がある。例えば、図１０に示すように、メモリコントローラＭＣ１，ＭＣ２には、メモリモジュール２Ａ，２ＢとしてＤＲＡＭ２Ａ又はＳＲＡＭ２Ｂが、それぞれ接続される。ＤＲＡＭのデータ転送は、コマンド信号Ｃｍｄとデータ信号Ｄａｔａとのレイテンシが離れていることが好ましく、その一方で、ＳＲＡＭのデータ転送は、コマンド信号Ｃｍｄとデータ信号Ｄａｔａとのレイテンシが離れていないことが好ましい。その結果として、メモリコントローラＭＣ１とメモリコントローラＭＣ２とで、演算モジュールＰＥ１，ＰＥ２に要求されるレイテンシ信号の値が異なる。
【０１０３】
それゆえ、ネットワークＮＷの調停方式に第３の調停方式が用いられる場合には、調停の判定を行うためのしきい値は、メモリコントローラのＭＣ１，ＭＣ２が要求するレイテンシに応じて、個別に設定されることが望ましい。
【０１０４】
尚、本変形例においては、説明の簡単化のため、２つのメモリコントローラＭＣ１，ＭＣ２を図示しているが、３つ以上のメモリコントローラが１つのネットワークに接続されてもよい。
【０１０５】
また、演算モジュールＰＥ１，ＰＥ２とメモリコントローラＭＣ１，ＭＣ２との間に、複数のネットワークを介在させてもよい。この構成において、複数のネットワークの構成が、動的に切り替わる場合には、メモリコントローラと複数のネットワークとの間のレイテンシ情報を伝える信号をさらに付加してもよい。
【０１０６】
さらに、本発明の実施形態においては、メモリコントローラＭＣ及びメモリモジュールをスレイブデバイスとして用いたデータ転送装置１，１Ａ，１Ｂについて、説明したが、これに限定されるものではない。例えば、メモリコントローラＭＣの代わりに、ハードディスクインターフェイスを用い、メモリモジュール２の代わりにハードディスクを用いてもよい。
【０１０７】
以上のように、本発明の実施形態の変形例においても、半導体集積回路のデータ転送効率を向上できる。
【０１０８】
３．  その他  
本発明の実施形態は、半導体集積回路のデータ転送効率を向上できる。
【０１０９】
尚、本発明の実施形態の半導体集積回路は、以下の特徴をさらに有する。
【０１１０】
Ａ）  前記ネットワークはしきい値を保持し、前記データ転送要求の発行からデータ転送の開始までの期間が前記しきい値よりも大きい場合には、前記データ転送要求を受け付けないことを特徴とする。  
Ｂ）  前記マスタデバイスと前記ネットワークとの間、或いは、前記ネットワークと前記スレイブデバイスとの間に、バッファ回路をさらに具備し、前記バッファ回路は、前記データ転送要求をバッファする内部バッファと、そのデータ転送要求に対応する前記データ転送要求の発行からデータ転送の開始までの期間に対して減算処理を行う減算器とを有することを特徴とする。  
Ｃ）  前記マスタデバイスと前記ネットワークとの間、或いは、前記ネットワークと前記スレイブデバイスとの間に、バッファ回路をさらに具備し、前記バッファ回路は、前記データ転送要求に基づくデータをバッファする内部バッファ回路と、そのデータ転送要求に対応する前記データ転送要求の発行からデータ転送の開始までの期間に対して減算処理を行う減算器と、そのデータ転送要求に対応する前記データ転送要求の発行からデータ転送の開始までの期間に対して加算処理を行う加算器と、前記データ転送要求を選択信号として、前記減算器の出力又は前記加算器の出力のいずれか一方を選択する選択回路を有することを特徴とする。
【０１１１】
本発明の例は、前述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で、各構成要素を変形して具体化できる。また、前述の実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、前述の実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１１２】
【図１】本発明の実施形態のデータ転送装置の基本構成を示すブロック図。
【図２】データ転送装置のライト動作を示すタイミングチャート。
【図３】データ転送装置のリード動作を示すタイミングチャート。
【図４】ネットワークの内部構成を示すブロック図。
【図５】演算モジュールの内部構成を示すブロック図。
【図６】メモリコントローラの内部構成を示すブロック図。
【図７】本発明の実施形態の応用例を示すブロック図。
【図８】バッファ回路の内部構成の一例を示すブロック図。
【図９】バッファ回路の内部構成の一例を示すブロック図。
【図１０】本発明の実施形態の変形例を示すブロック図。
【符号の説明】
【０１１３】
１，１Ａ，１Ｂ：データ転送装置、ＰＥ１，ＰＥ２：演算モジュール、ＮＷ：ネットワーク、ＭＣ，ＭＣ１，ＭＣ２：メモリコントローラ、２，２Ａ，２Ｂ：メモリモジュール、３：バッファ回路、１０，２６：マルチプレクサ、１１：調停回路、２０，２７：内部バッファ、２１，２５，２４，４２：加算器、４０：減算器、３０：制御部、３１，３３：バッファ、３２：演算部（ＤＳＰ）、４１，４６，４７：レジスタ、４３：インクリメント用加算器、４４：カウンタ、４５：比較器、４６：ＦＩＦＯ、４８：ＰＨＹ。
【図１】
2009116702.tif 000003
【図２】
2009116702.tif 000004
【図３】
2009116702.tif 000005
【図４】
2009116702.tif 000006
【図５】
2009116702.tif 000007
【図６】
2009116702.tif 000008
【図７】
2009116702.tif 000009
【図８】
2009116702.tif 000010
【図９】
2009116702.tif 000011
【図１０】
2009116702.tif 000012