(57)【要約】【課題】バッファＳＲＡＭの個数を減らしてチップ面積を削減することが可能なデータ処理装置を提供すること。【解決手段】データ処理装置１は、ＳＤＲＡＭ５の領域のいずれをＩＰ（２−１〜２−ｍ，３−１〜３−ｎ）のそれぞれに割付けるかを示す情報を保持するＳＤＲＡＭアドレス割付けレジスタ１８と、バッファＳＲＡＭ１２および１５の領域のいずれをＩＰ（２−１〜２−ｍ，３−１〜３−ｎ）のそれぞれに割付けるかを示す情報を保持するバッファＳＲＡＭアドレス割付けレジスタ１７とを含む。バスＩ／Ｆ１６は、ＳＤＲＡＭアドレス割付けレジスタ１８およびバッファＳＲＡＭアドレス割付けレジスタ１７を参照してＳＤＲＡＭ５から読み出したデータをバッファＳＲＡＭ１５に格納する。したがって、ＩＰ毎にバッファＳＲＡＭを持たせる必要がなくなり、少数のバッファＳＲＡＭに統合することが可能となる。【選択図】図２
2010186403.tif 000002
【特許請求の範囲】
【請求項１】
複数のモジュールとメモリとの間のデータ転送を制御するデータ処理装置であって、
前記メモリからのデータの読み出しを制御する第１のインタフェースと、
前記第１のインタフェースによって読み出されたデータを格納する第１のバッファと、
前記複数のモジュールの中の少なくとも２つのモジュールに対応して設けられ、当該少なくとも２つのモジュールに対するデータの出力を制御する第２のインタフェースと、
前記メモリの領域のいずれを前記少なくとも２つのモジュールのそれぞれに割付けるかを示す情報を保持する第１のレジスタと、
前記第１のバッファの領域のいずれを前記少なくとも２つのモジュールのそれぞれに割付けるかを示す情報を保持する第２のレジスタとを含み、
前記第１のインタフェースは、前記第１のレジスタを参照して前記メモリのいずれの領域からデータを読み出すかを決定し、前記第２のレジスタを参照して前記メモリから読み出したデータを前記第１のバッファのいずれに格納するかを決定し、
前記第２のインタフェースは、前記第２のレジスタを参照して前記第１のバッファのいずれの領域にデータが格納されているかを決定し、当該データを読み出して前記少なくとも２つのモジュールのいずれかに出力する、データ処理装置。
【請求項２】
前記少なくとも２つのモジュールのそれぞれに対応して複数の前記第２のインタフェースが設けられており、
前記第１のバッファは、前記複数の第２のインタフェースのそれぞれに対応して設定された複数の領域を含んでおり、
前記第１のインタフェースが前記メモリから読み出したデータを前記複数の領域のいずれかに格納しているときに、それ以外の前記複数の領域に対応する複数の第２のインタフェースのそれぞれが対応する領域からデータを読み出して前記少なくとも２つのモジュールのいずれかに並行して出力する、請求項１記載のデータ処理装置。
【請求項３】
前記第１のインタフェースは、前記メモリからバーストアクセスでデータを読み出す、請求項１または２記載のデータ処理装置。
【請求項４】
前記データ処理装置はさらに、前記複数のモジュールの中の少なくとも２つのモジュールに対応して設けられ、当該少なくとも２つのモジュールからのデータの入力を制御する第３のインタフェースと、
前記第３のインタフェースによって入力されたデータを格納する第２のバッファと、
前記第２のバッファに格納されるデータの前記メモリへの書き込みを制御する第４のインタフェースとを含み、
前記第３のインタフェースは、前記第２のレジスタを参照して前記少なくとも２つのモジュールから入力されたデータを前記第２のバッファのいずれの領域に格納するかを決定し、
前記第４のインタフェースは、前記第２のレジスタを参照して前記第２のバッファのいずれの領域からデータを読み出すかを決定し、前記第１のレジスタを参照して前記メモリのいずれの領域に前記第２のバッファから読み出したデータを書き込むかを決定する、請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記第４のインタフェースは、前記メモリに対してバーストアクセスでデータを書き込む、請求項４記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理、通信処理などを行なう複数のモジュールからメモリへのアクセスを制御する技術に関し、特に、バッファメモリの削減が可能となるようにメモリへのアクセスを制御するデータ処理装置に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）を搭載したシステムの高機能化、多機能化が進んでいる。このようなシステムの１つとして、マルチメディアに対応したシステムを挙げることができる。
【０００３】
マルチメディア用システムＬＳＩ（Large Scale Integrated circuit）のメモリアーキテクチャにおいては、サポートする画面サイズの拡大が進んできたなどの理由により、１フレーム分の画像データをチップ内蔵メモリに保存することが不可能となってきた。そのため、画像処理に必要な中間データを含めて、画像データを外部のＤＲＡＭ（Dynamic Random Access Memory）などの大容量メモリに格納することが一般的となっている。これに関連する技術として下記の特許文献１に開示された発明がある。
【０００４】
特許文献１は、処理速度を高めることのできる画像処理システムを提供することを目的とする。画像データを一次記憶するＤＲＡＭと、ＤＲＡＭのリードライト制御を行うＤＲＡＭ制御部と、画像データに対して所定の画像処理を行う複数の画像処理部と、画像入力部と、画像出力部と、ＤＲＡＭ制御部と複数の画像処理部との間に配置され、画像データの転送を行うキャッシュシステムとを備える。キャッシュシステムは、ＤＲＡＭに対してリードアドレスの先出しによる先読み動作と、データをまとめて後から書き込むライトバック動作を行う。複数の画像処理部と、画像入力部と、画像出力部とから入出力される画像データは、ＤＭＡによりリードキャッシュあるいはライトキャッシュを介してＤＲＡＭにリードライトされる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０７２８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のマルチメディア用システムＬＳＩの外部メモリとして、たとえばＳＤＲＡＭ（Synchronous DRAM）を用いた場合、このＳＤＲＡＭにアクセスが集中することになる。そのため、ＳＤＲＡＭへのメモリアクセス効率の向上がＳｏＣ（System on Chip）設計上のキーポイントとなる。ＳＤＲＡＭは、ランダムアクセス性能が悪いメモリデバイスとして知られており、アクセス効率の向上には長いバーストアクセスの実現が重要となる。
【０００７】
また、マルチメディア用システムＬＳＩには、画像処理ＩＰ（Intellectual Property）、通信処理ＩＰなどのモジュールが搭載されており、これらのＩＰのそれぞれにＳＤＲＡＭに書き込むデータおよびＳＤＲＡＭから読み出したデータを一時的に格納するバッファＳＲＡＭ（Static Random Access Memory）が設けられている。
【０００８】
しかしながら、ＩＰ毎にバッファＳＲＡＭを持たせるとＳＲＡＭの個数が多くなり、ＬＳＩのチップ面積が大きくなる。また、ＩＰ毎にバスＩ／Ｆ（Interface）を持たせると回路規模が大きくなる。また、ＩＰ毎にバッファＳＲＡＭを持たせると、バッファの容量を柔軟に調整することが困難になるといった問題点もある。しかしながら、上述の特許文献１では、このような問題点を解決することができない。
【０００９】
本発明は、上記問題点を解決するためになされたものであり、その目的は、バッファＳＲＡＭの個数を減らしてチップ面積を削減することが可能なデータ処理装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一実施例によれば、複数のＩＰとＳＤＲＡＭとの間のデータ転送を制御するデータ処理装置が提供される。データ処理装置は、ＳＤＲＡＭからのデータの読み出しを制御するバスＩ／Ｆと、バスＩ／Ｆによって読み出されたデータを格納するバッファＳＲＡＭと、複数のＩＰに対応して設けられ、ＩＰに対するデータの出力を制御するＩＰ  Ｉ／Ｆと、ＳＤＲＡＭの領域のいずれをＩＰのそれぞれに割付けるかを示す情報を保持するＳＤＲＡＭアドレス割付けレジスタと、バッファＳＲＡＭの領域のいずれをＩＰのそれぞれに割付けるかを示す情報を保持するバッファＳＲＡＭアドレス割付けレジスタとを含む。
【００１１】
バスＩ／Ｆは、ＳＤＲＡＭアドレス割付けレジスタを参照してＳＤＲＡＭのいずれの領域からデータを読み出すかを決定し、バッファＳＲＡＭアドレス割付けレジスタを参照してＳＤＲＡＭから読み出したデータをバッファＳＲＡＭのいずれに格納するかを決定する。
【００１２】
また、ＩＰ  Ｉ／Ｆは、バッファＳＲＡＭアドレス割付けレジスタを参照してバッファＳＲＡＭのいずれの領域にデータが格納されているかを決定し、当該データを読み出してＩＰのいずれかに出力する。
【発明の効果】
【００１３】
この実施例によれば、バスＩ／Ｆが、ＳＤＲＡＭアドレス割付けレジスタを参照してＳＤＲＡＭのいずれの領域からデータを読み出すかを決定し、バッファＳＲＡＭアドレス割付けレジスタを参照してＳＤＲＡＭから読み出したデータをバッファＳＲＡＭのいずれに格納するかを決定するので、ＩＰ毎にバッファＳＲＡＭを持たせる必要がなくなり、少数のバッファＳＲＡＭに統合することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】マルチメディア用システムＬＳＩの一般的な構成例を示す図である。
【図２】本発明の第１の実施の形態におけるデータ処理装置を含んだ半導体集積回路の構成例を示す図である。
【図３】ライトチャネルのバッファＳＲＡＭ１２における領域分割を説明するための図である。
【図４】ＳＤＲＡＭ５における領域分割を説明するための図である。
【図５】リードチャネルのバッファＳＲＡＭ１５における領域分割を説明するための図である。
【図６】ＩＰ＿Ｗ（１）２−１がＳＤＲＡＭ５にデータを書き込むときのデータサーバ１の動作を説明するための図である。
【図７】ＩＰ＿Ｒ（１）３−１がＳＤＲＡＭ５からデータを読み出すときのデータサーバ１の動作を説明するための図である。
【図８】ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）の構成をさらに詳細に説明するための図である。
【図９】図８に示すＩＰ＿Ｒ（１）３−１による演算処理の詳細を説明するための図である。
【図１０】本発明の第２の実施の形態におけるデータ処理装置を含んだ半導体集積回路の構成例を示す図である。
【図１１】バッファＳＲＡＭ１５における領域分割を説明するための図である。
【図１２】ＩＰ＿Ｒ（１）３−１がＳＤＲＡＭ５からデータを読み出すときのデータサーバ１の動作を説明するための図である。
【発明を実施するための形態】
【００１５】
図１は、マルチメディア用システムＬＳＩの一般的な構成例を示す図である。このマルチメディア用システムＬＳＩは、画像処理、通信処理などを行なうＩＰ＿Ｗ（１）〜（ｍ）（１０１−１〜１０１−ｍ）およびＩＰ＿Ｒ（１）〜ＩＰ＿Ｒ（ｎ）（１０２−１〜１０２−ｎ）と、ＣＰＵ（Central Processing Unit）１０３と、ＳＤＲＡＭコントローラ１０４と、ＳＤＲＡＭ１０５とを含む。ＩＰ＿Ｗ（１）〜（ｍ）（１０１−１〜１０１−ｍ）、ＩＰ＿Ｒ（１）〜（ｎ）（１０２−１〜１０２−ｎ）、ＣＰＵ１０３およびＳＤＲＡＭコントローラ１０４は、バス１０６を介して接続される。
【００１６】
ＣＰＵ１０３は、ＩＰ＿Ｗ（１）〜（ｍ）（１０１−１〜１０１−ｍ）、ＩＰ＿Ｒ（１）〜（ｎ）（１０２−１〜１０２−ｎ）およびＳＤＲＡＭコントローラ１０４の制御を行なったり、自ら演算処理を行なったりする。
【００１７】
ＩＰ＿Ｗ（１）〜（ｍ）（１０１−１〜１０１−ｍ）は、演算処理したデータをＳＤＲＡＭに格納する機能を有しており、それぞれ、ＩＰコア１１１と、バッファＳＲＡＭ１１２と、バスＩ／Ｆ（Interface）１１３とを含む。ＩＰコア１１１は、画像処理、通信処理などを行なうモジュールである。ＩＰコア１１１は、画像処理などによって生成したデータをＳＤＲＡＭ１０５に書き込む場合、データを一旦バッファＳＲＡＭ１１２に格納する。バッファＳＲＡＭ１１２は、格納されたデータをバスＩ／Ｆ１１３を介してバス１０６に出力する。そして、ＩＰコア１１１は、ＳＤＲＡＭコントローラ１０４を介して、バス１０６に出力されたデータをＳＤＲＡＭ１０５に書き込む。
【００１８】
ＩＰ＿Ｒ（１）〜（ｎ）（１０２−１〜１０２−ｎ）は、ＳＤＲＡＭ１０５から処理対象のデータを読み出す機能を有しており、それぞれ、ＩＰコア１２１と、バッファＳＲＡＭ１２２と、バスＩ／Ｆ１２３とを含む。ＩＰコア１２１は、画像処理などに使用されるデータをＳＤＲＡＭ１０５から読み出す場合、ＳＤＲＡＭコントローラ１０４を介してＳＤＲＡＭ１０５から読み出されたデータがバス１０６に出力される。バス１０６に出力されたデータは、バスＩ／Ｆ１２３を介して一旦バッファＳＲＡＭ１２２に格納される。そして、ＩＰコア１２１は、バッファＳＲＡＭ１２２に格納されたデータを読み出す。
【００１９】
このように、ＩＰコア１１１がＳＤＲＡＭ１０５に書き込むデータを一旦バッファＳＲＡＭ１１２に格納し、ＩＰコア１２１がＳＤＲＡＭ１０５から読み出したデータを一旦バッファＳＲＡＭ１２２に格納する理由は、ＳＤＲＡＭ１０５のアクセス効率を高めるように、長いバーストアクセスを実現するためである。
【００２０】
図１に示すマルチメディア用システムＬＳＩにおいては、ＩＰ毎にバッファＳＲＡＭを有しているため、バッファＳＲＡＭの個数が多くなりチップ面積が大きくなる。また、ＩＰ毎にバスＩ／Ｆを有しているため、回路規模が大きくなる。
【００２１】
また、ＩＰ毎にバッファＳＲＡＭを有しているため、バッファの容量を柔軟に調整することができない。たとえば、５１２バイトのＳＲＡＭでは容量不足の場合には、１０２４バイトのＳＲＡＭを使用しなければならず、容量不足が少しの場合には無駄な容量が多くなってしまう。
【００２２】
また、ＩＰ毎にバッファＳＲＡＭを有するので、あるＩＰが動作しない場合にもそのＩＰに含まれるバッファＳＲＡＭがチップ内に存在することになり、結果としてＬＳＩのチップ面積が大きくなってしまう。
【００２３】
また、ＩＰ毎にバスＩ／Ｆを有するため、ＬＳＩチップ上に多数のバス配線が引き回されることになる。これは、通常、バスにはアドレス信号、データ信号、制御信号などの多数の信号線があるからである。そのため、配線面積が大きくなると共に、タイミング収束が困難になってしまう。
【００２４】
さらには、バスの仕様を変更する場合には、全てのＩＰのバスＩ／Ｆ部分を変更する必要があり、そのための工数が多くなってしまう。このような問題点を解決するための半導体集積回路の構成を以下に説明する。
【００２５】
（第１の実施の形態）
図２は、本発明の第１の実施の形態におけるデータ処理装置を含んだ半導体集積回路の構成例を示す図である。この半導体集積回路は、データサーバ（データ処理装置）１と、画像処理、通信処理などを行なうＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）およびＩＰ＿Ｒ（１）〜ＩＰ＿Ｒ（ｎ）（３−１〜３−ｎ）と、ＳＤＲＡＭコントローラ４と、ＳＤＲＡＭ５とを含む。なお、図示していないが、図１に示すマルチメディア用システムＬＳＩと同様に、ＣＰＵによって、ＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）およびＳＤＲＡＭコントローラ４の制御が行なわれる。また、ＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）およびＩＰ＿Ｒ（１）〜ＩＰ＿Ｒ（ｎ）（３−１〜３−ｎ）を、単にモジュールとも呼ぶ。
【００２６】
データサーバ１は、ＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）が接続されるライトチャネルと、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）が接続されるリードチャネルとを有している。
【００２７】
ライトチャネルは、ＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）のそれぞれに対応して設けられるＩＰ  Ｉ／Ｆ１１−１〜１１−ｍと、バッファＳＲＡＭ１２と、バスＩ／Ｆ１３とを含む。また、リードチャネルは、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）のそれぞれに対応して設けられるＩＰ  Ｉ／Ｆ１４−１〜１４−ｎと、バッファＳＲＡＭ１５と、バスＩ／Ｆ１６とを含む。なお、バッファＳＲＡＭ１２および１５は、データ書き込みと同時にデータ読み出しが行なえるデュアルポートＳＲＡＭなどによって構成される。
【００２８】
データサーバ１はさらに、バッファＳＲＡＭ１２のどの領域をＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）に割付けるか、および、バッファＳＲＡＭ１５のどの領域をＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）に割付けるかを示す情報を格納するバッファＳＲＡＭアドレス割付けレジスタ１７と、ＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）からＳＤＲＡＭ５のどの領域にデータを書き込むか、および、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）がＳＤＲＡＭ５のどの領域からデータを読み出すかを示す情報を格納するＳＤＲＡＭアドレス割付けレジスタ１８とを含む。
【００２９】
図３は、ライトチャネルのバッファＳＲＡＭ１２における領域分割を説明するための図である。図３に示すように、バッファＳＲＡＭ１２の領域４１がＩＰ＿Ｗ（１）用の領域Ａとして割付けられ、領域４２がＩＰ＿Ｗ（１）用の領域Ｂとして割付けられ、領域４３がＩＰ＿Ｗ（２）用の領域Ａとして割付けられ、領域４４がＩＰ＿Ｗ（２）用の領域Ｂとして割付けられている。ＩＰ＿Ｗ（３）〜ＩＰ＿Ｗ（ｍ）についても同様に領域が割付けられる。
【００３０】
たとえば、ＩＰ＿Ｗ（１）が画像処理ＩＰであれば、ＩＰ＿Ｗ（１）用領域として１ライン分の画像データを格納できる容量、たとえば４Ｋバイトの領域がバッファＳＲＡＭ１２内に設けられる。
【００３１】
バッファＳＲＡＭアドレス割付けレジスタ１７は、ＩＰ＿Ｗ（１）用の領域Ａの先頭アドレス、ＩＰ＿Ｗ（１）用の領域Ｂの先頭アドレス、ＩＰ＿Ｗ（２）用の領域Ａの先頭アドレス、およびＩＰ＿Ｗ（２）用の領域Ｂの先頭アドレスを保持する。ＩＰ＿Ｗ（３）〜ＩＰ＿Ｗ（ｍ）についても同様に、各領域の先頭アドレスがバッファＳＲＡＭアドレス割付けレジスタ１７に保持される。なお、領域Ｂの先頭アドレスを領域Ａの先頭アドレスおよび領域Ａの容量から計算するようにすれば、領域Ｂの先頭アドレスをバッファＳＲＡＭアドレス割付けレジスタ１７に保持しなくてもよい。
【００３２】
図４は、ＳＤＲＡＭ５における領域分割を説明するための図である。図４に示すように、ＳＤＲＡＭ５の領域５１がＩＰ＿Ｗ（１）用領域として割付けられ、領域５２がＩＰ＿Ｗ（２）用領域として割付けられている。ＩＰ＿Ｗ（３）〜ＩＰ＿Ｗ（ｍ）についても同様に領域が割付けられる。また、図示していないが、ＩＰ＿Ｒ（１）〜ＩＰ＿Ｒ（ｎ）用領域として、別途ＳＤＲＡＭ５に割付けられている。このＩＰ＿Ｒ（１）〜ＩＰ＿Ｒ（ｎ）用領域は、ＩＰ＿Ｗ（１）〜ＩＰ＿Ｗ（ｍ）用領域と重複するように割付けられてもよいし、また、ＩＰ＿Ｗ（１）〜ＩＰ＿Ｗ（ｍ）用領域と重複しない別領域が割付けられてもよい。
【００３３】
たとえば、ＩＰ＿Ｗ（１）が画像処理ＩＰであれば、ＩＰ＿Ｗ（１）用領域として１画面分の画像データを格納できる容量、たとえば４Ｍバイトの領域がＳＤＲＡＭ５内に設けられる。
【００３４】
ＳＤＲＡＭアドレス割付けレジスタ１８は、ＩＰ＿Ｗ（１）用領域の先頭アドレス、およびＩＰ＿Ｗ（２）用領域の先頭アドレスを保持する。ＩＰ＿Ｗ（３）〜ＩＰ＿Ｗ（ｍ）およびＩＰ＿Ｒ（１）〜ＩＰ＿Ｒ（ｎ）についても同様に、各領域の先頭アドレスがＳＤＲＡＭアドレス割付けレジスタ１８に保持される。
【００３５】
図５は、リードチャネルのバッファＳＲＡＭ１５における領域分割を説明するための図である。図５に示すように、バッファＳＲＡＭ１５の領域６１がＩＰ＿Ｒ（１）用の領域Ａとして割付けられ、領域６２がＩＰ＿Ｒ（１）用の領域Ｂとして割付けられ、領域６３がＩＰ＿Ｒ（２）用の領域Ａとして割付けられ、領域６４がＩＰ＿Ｒ（２）用の領域Ｂとして割付けられている。ＩＰ＿Ｒ（３）〜ＩＰ＿Ｒ（ｍ）についても同様に領域が割付けられる。
【００３６】
たとえば、ＩＰ＿Ｒ（１）が画像処理ＩＰであれば、ＩＰ＿Ｒ（１）用領域として１ライン分の画像データを格納できる容量、たとえば４Ｋバイトの領域がバッファＳＲＡＭ１５内に設けられる。
【００３７】
バッファＳＲＡＭアドレス割付けレジスタ１７は、ＩＰ＿Ｒ（１）用の領域Ａの先頭アドレス、ＩＰ＿Ｒ（１）用の領域Ｂの先頭アドレス、ＩＰ＿Ｒ（２）用の領域Ａの先頭アドレス、およびＩＰ＿Ｒ（２）用の領域Ｂの先頭アドレスを保持する。ＩＰ＿Ｒ（３）〜ＩＰ＿Ｒ（ｍ）についても同様に、各領域の先頭アドレスがバッファＳＲＡＭアドレス割付けレジスタ１７に保持される。なお、領域Ｂの先頭アドレスを領域Ａの先頭アドレスおよび領域Ａの容量から計算するようにすれば、領域Ｂの先頭アドレスをバッファＳＲＡＭアドレス割付けレジスタ１７に保持しなくてもよい。
【００３８】
図６は、ＩＰ＿Ｗ（１）２−１がＳＤＲＡＭ５にデータを書き込むときのデータサーバ１の動作を説明するための図である。図６（ａ）は、ＩＰ＿Ｗ（１）２−１がバッファＳＲＡＭ１２のＩＰ＿Ｗ（１）用領域Ａ（以下、Ａ面と呼ぶ。）４１にデータを書き込むところを示している。
【００３９】
まず、ＩＰ＿Ｗ（１）２−１内のＩＰコア２１が最初のデータをバッファＳＲＡＭ１２に転送する際、ＩＰ  Ｉ／Ｆ１１−１はバッファＳＲＡＭアドレス割付けレジスタ１７を参照してＡ面４１の先頭アドレスを取得する。そして、ＩＰ  Ｉ／Ｆ１１−１は、Ａ面４１の先頭アドレスおよびデータをバッファＳＲＡＭ１２に出力することにより、Ａ面４１の最初の領域にデータを書き込む。そして、ＩＰ  Ｉ／Ｆ１１−１は、バッファＳＲＡＭ１２のアドレスをインクリメントしながら、ＩＰコア２１から転送されるデータを順次バッファＳＲＡＭ１２のＡ面４１に書き込む。なお、選択部４５は、Ａ面４１およびＩＰ＿Ｗ（１）用領域Ｂ（以下、Ｂ面と呼ぶ。）４２のいずれにデータを書き込むかを選択するための回路を模式的に示したものである。
【００４０】
図６（ｂ）は、ＩＰ＿Ｗ（１）２−１がバッファＳＲＡＭ１２のＢ面４２にデータを書き込むところを示している。ＩＰ  Ｉ／Ｆ１１−１がＡ面４１へのデータの書込みを終了すると、バスＩ／Ｆ１３は、ＳＤＲＡＭアドレス割付けレジスタ１８を参照してＳＤＲＡＭ５のＩＰ＿Ｗ（１）用領域５１の先頭アドレスを取得する。そして、バッファＳＲＡＭアドレス割付けレジスタ１７を参照して、Ａ面４１に格納される最初の領域のデータをバス６を介してＳＤＲＡＭコントローラ４に出力すると共に、ＳＤＲＡＭ５のアドレスを出力することにより、そのデータをＳＤＲＡＭ５に書き込ませる。そして、バスＩ／Ｆ１３は、バッファＳＲＡＭ１２のアドレスをインクリメントしながらＡ面４１に格納されるデータを順次バス６を介してＳＤＲＡＭコントローラ４に出力することにより、データをＳＤＲＡＭ５に書き込ませる。このとき、ＳＤＲＡＭ５へのデータ書込みはバーストアクセスにより行なわれる。
【００４１】
これと並行して、ＩＰ  Ｉ／Ｆ１１−１はバッファＳＲＡＭアドレス割付けレジスタ１７を参照してＢ面４２の先頭アドレスを取得する。そして、ＩＰ  Ｉ／Ｆ１１−１は、Ｂ面４２の先頭アドレスおよびデータをバッファＳＲＡＭ１２に出力することにより、Ｂ面４２の最初の領域にデータを書き込む。そして、ＩＰ  Ｉ／Ｆ１１−１は、バッファＳＲＡＭ１２のアドレスをインクリメントしながら、ＩＰコア２１から転送されるデータを順次バッファＳＲＡＭ１２のＢ面４２に書き込む。
【００４２】
図６（ｃ）は、ＩＰ＿Ｗ（１）２−１が再度バッファＳＲＡＭ１２のＡ面４１にデータを書き込むところを示している。図６（ａ）を用いて説明したのと同様の動作を行ない、ＩＰコア２１から転送されるデータを順次バッファＳＲＡＭ１２のＡ面４１に書き込む。
【００４３】
これと並行して、バスＩ／Ｆ１３は、バッファＳＲＡＭ１２のアドレスをインクリメントしながらＢ面４２に格納されるデータを順次バス６を介してＳＤＲＡＭコントローラ４に出力することにより、データをＳＤＲＡＭ５に書き込ませる。
【００４４】
このようにＩＰ＿Ｗ（１）２−１に割付けられたバッファＳＲＡＭ１２の領域４１および４２は、Ａ面→Ｂ面→Ａ面→Ｂ面→…のように２面バッファとして動作し、ＳＤＲＡＭ５へのバーストアクセスを連続的に行なうことが可能となる。
【００４５】
以上、図６（ａ）〜図６（ｃ）を用いて説明した動作を繰り返すことにより、ＳＤＲＡＭ５のＩＰ＿Ｗ（１）用領域５１に順次データを書き込む。なお、ＩＰ＿Ｗ（２）〜（ｍ）（２−２〜２−ｍ）についても同様の動作によりＳＤＲＡＭ５に順次データを書き込む。このとき、ＩＰ  Ｉ／Ｆ（１１−１〜１１−ｍ）のどれがバッファＳＲＡＭ１２にアクセスするかは、図示しないバス調停回路によって制御される。また、ＩＰ  Ｉ／Ｆ（１１−１〜１１−ｍ）は、ＩＰ＿Ｗ（１）〜（ｍ）との間に図示しないバッファを持つなどして、ＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）の任意の１のＩＰ＿Ｗとの間でのデータ転送と並行して他の１のＩＰ＿Ｗとの間で連続にデータ転送が行なえるようにすることができる。バスＩ／Ｆ１３は、バッファＳＲＡＭ１２内に格納されているＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）のデータを転送する際、図示しない調停回路によって、どのデータを転送するか制御する。
【００４６】
図７は、ＩＰ＿Ｒ（１）３−１がＳＤＲＡＭ５からデータを読み出すときのデータサーバ１の動作を説明するための図である。図７（ａ）は、ＳＤＲＡＭ５から読み出されたデータがバッファＳＲＡＭ１５のＩＰ＿Ｒ（１）用領域Ａ（以下、Ａ面と呼ぶ。）６１に格納されるところを示している。
【００４７】
まず、ＩＰ  Ｉ／Ｆ１４−１は、ＩＰ＿Ｒ（１）３−１内のＩＰコア３１からデータ読み出しの開始要求を受けると、その旨をバスＩ／Ｆ１６に通知する。バスＩ／Ｆ１６は、ＳＤＲＡＭアドレス割付けレジスタ１８を参照してＳＤＲＡＭ５のＩＰ＿Ｒ（１）用領域の先頭アドレスを取得する。そして、バス６を介してＳＤＲＡＭコントローラ４に先頭アドレスを出力してＳＤＲＡＭ５からのデータ読み出しを行なう。また、バスＩ／Ｆ１６は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＡ面６１の先頭アドレスを取得し、Ａ面６１の先頭アドレスおよびデータをバッファＳＲＡＭ１５に出力することにより、Ａ面６１の最初の領域にＳＤＲＡＭ５から読み出したデータを書き込む。
【００４８】
その後、バスＩ／Ｆ１６は、バーストアクセスによってＳＤＲＡＭ５から順次データを読み出し、バッファＳＲＡＭ１５のアドレスをインクリメントしながら読み出したデータを順次Ａ面６１に書き込む。なお、選択部６５は、Ａ面６１およびＩＰ＿Ｒ（１）用領域Ｂ（以下、Ｂ面と呼ぶ。）６２のいずれからデータを読み出すかを選択するための回路を模式的に示したものである。
【００４９】
図７（ｂ）は、ＳＤＲＡＭ５から読み出されたデータがバッファＳＲＡＭ１５のＢ面６２に格納されるところを示している。バスＩ／Ｆ１６がＡ面６１へのデータ書込みを終了すると、ＩＰ  Ｉ／Ｆ１４−１はバッファＳＲＡＭアドレス割付けレジスタ１７を参照してＡ面６１に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。ＩＰ＿Ｒ（１）３−１内のＩＰコア３１はそのデータを読み込む。そして、ＩＰ  Ｉ／Ｆ１４−１はバッファＳＲＡＭ１５のアドレスをインクリメントしながらＡ面６１に格納されるデータを順次ＩＰコア３１に出力する。
【００５０】
これと並行して、バスＩ／Ｆ１６は、ＳＤＲＡＭコントローラ４を介してＳＤＲＡＭ５からデータを読み出す。また、バスＩ／Ｆ１６は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＢ面６２の先頭アドレスを取得し、Ｂ面６２の先頭アドレスおよびデータをバッファＳＲＡＭ１５に出力することにより、Ｂ面６２の最初の領域にＳＤＲＡＭ５から読み出したデータを書き込む。
【００５１】
その後、バスＩ／Ｆ１６は、バーストアクセスによってＳＤＲＡＭ５から順次データを読み出し、バッファＳＲＡＭ１５のアドレスをインクリメントしながら読み出したデータを順次Ｂ面６２に書き込む。
【００５２】
図７（ｃ）は、ＳＤＲＡＭ５から読み出されたデータが再度バッファＳＲＡＭ１５のＡ面６１に格納されるところを示している。図７（ａ）を用いて説明したのと同様の動作を行ない、ＳＤＲＡＭ５から読み出されたデータが順次バッファＳＲＡＭ１５のＡ面６１に書き込まれる。
【００５３】
これと並行して、ＩＰ  Ｉ／Ｆ１４−１は、バッファＳＲＡＭ１５のアドレスをインクリメントしながらＢ面６２に格納されるデータを順次ＩＰコア３１に出力する。
【００５４】
このようにＩＰ＿Ｒ（１）３−１に割付けられたバッファＳＲＡＭ１５の領域６１および６２は、Ａ面→Ｂ面→Ａ面→Ｂ面→…のように２面バッファとして動作し、ＳＤＲＡＭ５へのバーストアクセスを連続的に行なうことが可能となる。
【００５５】
以上、図７（ａ）〜図７（ｃ）を用いて説明した動作を繰り返すことにより、ＳＤＲＡＭ５のＩＰ＿Ｒ（１）用領域から順次データを読み出す。なお、ＩＰ＿Ｒ（２）〜（ｎ）（３−２〜３−ｎ）についても同様の動作によりＳＤＲＡＭ５から順次データを読み出す。このとき、ＩＰ  Ｉ／Ｆ（１４−１〜１４−ｎ）のどれがバッファＳＲＡＭ１５にアクセスするかは、図示しないバス調停回路によって制御される。また、ＩＰ  Ｉ／Ｆ（１４−１〜１４−ｎ）は、ＩＰ＿Ｒ（１）〜（ｎ）との間に図示しないバッファを持つなどして、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）の任意の１のＩＰ＿Ｒとの間でのデータ転送に並行して別の１のＩＰ＿Ｒとの間で連続にデータ転送が行なえるようにすることができる。バスＩ／Ｆ１６は、バッファＳＲＡＭ１５内に格納されているＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）のデータを転送する際、図示しない調停回路によって、どのデータを転送するか制御する。
【００５６】
図８は、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）の構成をさらに詳細に説明するための図である。ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）のそれぞれは、さらにＳＲＡＭ３２〜３４を含む。これらのＳＲＡＭ３２〜３４は夫々のＩＰ＿Ｒでの処理において必要とされるメモリであり、たとえば、ＩＰが画像処理ＩＰであれば、ＳＲＡＭ３２〜３４はラインバッファとして使用される。
【００５７】
図９は、図８に示すＩＰ＿Ｒ（１）３−１による演算処理の詳細を説明するための図である。図９（ａ）は、既にＳＲＡＭ３３および３４にデータが格納されており、ＳＤＲＡＭ５から読み出したデータをＳＲＡＭ３２に格納しているところを示している。なお、演算部３５は、ＩＰコア３１に含まれる演算回路を示している。
【００５８】
図９（ａ）に示すように、ＳＤＲＡＭ５から読み出されたデータが既にデータサーバ１内のバッファＳＲＡＭ１５のＢ面６２に格納されており、ＩＰ＿Ｒ（１）３−１内のＳＲＡＭ３２に順次転送される。このとき、ＳＲＡＭ３３および３４には既にデータが格納されており、たとえば、ＩＰ＿Ｒ（１）３−１が画像処理ＩＰであれば、ＳＲＡＭ３３および３４にはそれぞれ１ライン分の画像データが格納されている。演算部３５は、ＳＲＡＭ３２に転送される画像データを取り込むと共に、ＳＲＡＭ３３および３４に格納される画像データを読み出して演算処理を行なう。この演算処理は、１ライン分の画像データに対して行なわれる。なお、ＳＲＡＭ３２に転送されるデータは、後で演算に使用される。
【００５９】
図９（ｂ）は、既にＳＲＡＭ３２および３４にデータが格納されており、ＳＤＲＡＭ５から読み出したデータをＳＲＡＭ３３に格納しているところを示している。図９（ａ）に示す１ライン分の画像データの演算が終了すると、図９（ｂ）に示すように、ＳＤＲＡＭ５から読み出されたデータがデータサーバ１内のバッファＳＲＡＭ１５のＡ面６１に格納されており、ＩＰ＿Ｒ（１）３−１内のＳＲＡＭ３３に順次転送される。このとき、ＳＲＡＭ３２および３４には既に別のラインの画像データが格納されている。演算部３５は、ＳＲＡＭ３３に転送される画像データを取り込むと共に、ＳＲＡＭ３２および３４に格納される画像データを読み出して演算処理を行なう。この演算処理は、１ライン分の画像データに対して行なわれる。なお、ＳＲＡＭ３３に転送されるデータは、後で演算に使用される。
【００６０】
図９（ｃ）は、既にＳＲＡＭ３２および３３にデータが格納されており、ＳＤＲＡＭ５から読み出したデータをＳＲＡＭ３４に格納しているところを示している。図９（ｂ）に示す１ライン分の画像データの演算が終了すると、図９（ｃ）に示すように、ＳＤＲＡＭ５から読み出されたデータがデータサーバ１内のバッファＳＲＡＭ１５のＢ面６２に格納されており、ＩＰ＿Ｒ（１）３−１内のＳＲＡＭ３４に順次転送される。このとき、ＳＲＡＭ３２および３３には既に別のラインの画像データが格納されている。演算部３５は、ＳＲＡＭ３４に転送される画像データを取り込むと共に、ＳＲＡＭ３２および３３に格納される画像データを読み出して演算処理を行なう。この演算処理は、１ライン分の画像データに対して行なわれる。なお、ＳＲＡＭ３４に転送されるデータは、後で演算に使用される。
【００６１】
なお、以上の説明においてはバッファＳＲＡＭ１２および１５の２つの領域を２面バッファとして使用するようにしたが、１面の領域のみを用いてＦＩＦＯ（First In First Out）として使用し、この領域のデータが空にならないように制御しながらデータ転送を行なうようにしてもよい。
【００６２】
また、データサーバ１の外付けメモリとしてＳＤＲＡＭの場合について説明したが、高速ページモードを有するＤＲＡＭなど、大容量のバーストアクセスが可能なメモリであれば適用可能である。
【００６３】
以上説明したように、本実施の形態におけるデータ処理装置によれば、バッファＳＲＡＭ１２および１５のどの領域をＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）およびＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）に割付けるかの情報をバッファＳＲＡＭアドレス割付けレジスタ１７に保持し、ＳＤＲＡＭ５のどの領域をＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）およびＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）に割付けるかの情報をＳＤＲＡＭアドレス割付けレジスタ１８に保持する。そして、ＳＤＲＡＭ５にアクセスするときにバッファＳＲＡＭアドレス割付けレジスタ１７およびＳＤＲＡＭアドレス割付けレジスタ１８を参照するようにしたので、ＩＰ毎にバッファＳＲＡＭを持たせる必要がなくなり、少数のバッファＳＲＡＭに統合することが可能となる。また、使用するＳＲＡＭの個数を減らすことができるので、チップ面積を削減することが可能となる。
【００６４】
また、ＩＰ毎にバスＩ／Ｆを持たせる必要がなくなり、少数のバスＩ／Ｆに統合することができる。したがって、回路規模を削減することが可能となる。
【００６５】
また、ＩＰ＿Ｗ（１）〜（ｍ）（２−１〜２−ｍ）およびＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）が使用するバッファＳＲＡＭの領域割付けをプログラムで設定できるので、各ＩＰが使用するバッファＳＲＡＭの容量を柔軟に設定することが可能となる。
【００６６】
また、システムの動作モードやタイミングに応じて動作するＩＰ群が異なる場合、バッファＳＲＡＭの容量を最も使用する動作モードで必要となる容量のバッファＳＲＡＭのみを搭載すればよいので、バッファＳＲＡＭの容量を削減することが可能となる。たとえば、ＩＰ＿Ｗ（１）とＩＰ＿Ｗ（２）とが時間的に異なるタイミングでのみバッファＳＲＡＭを使用する（第１の期間ではＩＰ＿Ｗ（１）がバッファＳＲＡＭを使用し、第２の期間ではＩＰ＿Ｗ（２）がバッファＳＲＡＭを使用し、別側のＩＰ＿ＷはバッファＳＲＡＭを使用しない）場合、バッファＳＲＡＭの同じ領域をＩＰ＿Ｗ（１）とＩＰ＿Ｗ（２）とに割り当てることも可能となる。
【００６７】
また、データサーバ１がバス６を介してＳＤＲＡＭ５との間のデータ転送を行なうので、各ＩＰがアドレス信号線などの信号線を出力する必要がなくなり、チップ上を引き回される配線の長さを短くすることができる。これによって、タイミング収束を容易にし、チップ面積を削減することが可能となる。
【００６８】
また、各ＩＰとＳＤＲＡＭコントローラとがチップ上遠い位置に配置された場合、ＩＰとＳＤＲＡＭコントローラとの間の配線数が多いとチップ上を引き回される配線が長くなり、アドレスやデータ信号線のスキュー調整が必要となってしまう。上述のように、各ＩＰがアドレス信号線などの信号線を出力する必要がなくなるため、このような問題はなくなる。
【００６９】
さらに、バスの仕様を変更する場合、データサーバ１のバスＩ／Ｆのみ変更を行なえばよいため、変更に要する工数を削減することが可能となる。
【００７０】
（第２の実施の形態）
第１の実施の形態における半導体集積回路においては、図８および図９に示すように、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）内にＳＲＡＭ３２〜３４を設け、ＳＲＡＭ３２〜３４にデータを格納しながら演算処理を行なうものであった。本発明の第２の実施の形態におけるデータ処理装置を含んだ半導体集積回路は、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）内にデータを格納するためのＳＲＡＭを設けずに、データサーバ１内に統合したＳＲＡＭを設けることによりそのような機能を実現するものである。なお、第１の実施の形態における半導体集積回路と同様の構成および機能を有する部分については、その詳細な説明は繰り返さない。
【００７１】
図１０は、本発明の第２の実施の形態におけるデータ処理装置を含んだ半導体集積回路の構成例を示す図である。なお、このデータサーバ（データ処理装置）１においてはライトチャネル部分を省略しているが、図２に示す第１の実施の形態におけるデータサーバ１のライトチャネル部分が設けられていてもよい。
【００７２】
データサーバ１は、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）のそれぞれに対応して設けられるＩＰ  Ｉ／Ｆ１４−１−１〜１４−ｎ−４と、バッファＳＲＡＭ１５と、バスＩ／Ｆ１６と、バッファＳＲＡＭ１５のどの領域をＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）に割付けるかを示す情報を格納するバッファＳＲＡＭアドレス割付けレジスタ１７と、ＩＰ＿Ｒ（１）〜（ｎ）（３−１〜３−ｎ）がＳＤＲＡＭ５のどの領域からデータを読み出すかを示す情報を格納するＳＤＲＡＭアドレス割付けレジスタ１８とを含む。
【００７３】
ＩＰ＿Ｒ（１）３−１に対応して、４つのＩＰ  Ｉ／Ｆ１４−１−１〜１４−１−４が設けられる。また、ＩＰ＿Ｒ（ｎ）３−ｎに対応して、４つのＩＰ  Ｉ／Ｆ１４−ｎ−１〜１４−ｎ−４が設けられる。なお、図示していないが、ＩＰ＿Ｒ（２）〜ＩＰ＿Ｒ（ｎ−１）についても同様にそれぞれ４つのＩＰ  Ｉ／Ｆが設けられる。
【００７４】
図１１は、バッファＳＲＡＭ１５における領域分割を説明するための図である。図１１に示すように、バッファＳＲＡＭ１５の領域７１〜７４がそれぞれＩＰ＿Ｒ（１）用の領域Ａ〜Ｄとして割付けられる。ＩＰ＿Ｒ（２）〜（ｎ）についても同様である。
【００７５】
たとえば、ＩＰ＿Ｒ（１）が画像処理ＩＰであれば、ＩＰ＿Ｒ（１）用領域として１ライン分の画像データを格納できる容量、たとえば４Ｋバイトの領域がバッファＳＲＡＭ１５内に設けられる。
【００７６】
本実施の形態におけるバッファＳＲＡＭ１５は、４つの領域から並行してデータ転送可能な構成を有しており、たとえば、領域Ａにデータを転送しているときに、領域Ｂ〜Ｄのそれぞれからデータを転送することができるものとする。これは、図示しないが、領域毎にバッファを持つなどして１つのシングルポートＳＲＡＭでも実現できる。
【００７７】
バッファＳＲＡＭアドレス割付けレジスタ１７は、ＩＰ＿Ｒ（１）用の領域Ａ〜Ｄのそれぞれの先頭アドレスを保持する。なお、領域Ｂ〜Ｄの先頭アドレスを領域Ａの先頭アドレスおよびそれぞれの領域の容量から計算するようにすれば、領域Ｂ〜Ｄの先頭アドレスをバッファＳＲＡＭアドレス割付けレジスタ１７に保持しなくてもよい。
【００７８】
図１２は、ＩＰ＿Ｒ（１）３−１がＳＤＲＡＭ５からデータを読み出すときのデータサーバ１の動作を説明するための図である。図１２（ａ）は、ＳＤＲＡＭ５から読み出されたデータがバッファＳＲＡＭ１５のＩＰ＿Ｒ（１）用領域Ａ（以下、Ａ面と呼ぶ。）７１に格納されるところを示している。
【００７９】
バスＩ／Ｆ１６は、ＳＤＲＡＭアドレス割付けレジスタ１８を参照してＳＤＲＡＭ５からのデータ読み出しを行なう。また、バスＩ／Ｆ１６は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＡ面７１の先頭アドレスを取得し、Ａ面７１の先頭アドレスおよびデータをバッファＳＲＡＭ１５に出力することにより、Ａ面７１の最初の領域にＳＤＲＡＭ５から読み出したデータを書き込む。そして、バスＩ／Ｆ１６は、バーストアクセスによってＳＤＲＡＭ５から順次データを読み出し、バッファＳＲＡＭ１５のアドレスをインクリメントしながら読み出したデータを順次Ａ面７１に書き込む。
【００８０】
これと並行して、ＩＰ  Ｉ／Ｆ１４−１−２は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照して領域Ｂ（以下、Ｂ面と呼ぶ。）７２に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。また、ＩＰ  Ｉ／Ｆ１４−１−３は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照して領域Ｃ（以下、Ｃ面と呼ぶ。）７３に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。また、ＩＰ  Ｉ／Ｆ１４−１−４は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照して領域Ｄ（以下、Ｄ面と呼ぶ。）７４に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。
【００８１】
ＩＰ＿Ｒ（１）３−１内の演算部３５は、ＩＰ  Ｉ／Ｆ１４−１−２〜１４−１−４から出力されるデータを読み込み、演算処理を行なう。そして、ＩＰ  Ｉ／Ｆ１４−１−２〜１４−１−４は、バッファＳＲＡＭ１５のアドレスをインクリメントしながらＢ〜Ｄ面７２〜７４に格納されるデータを順次ＩＰ＿Ｒ（１）３−１に出力する。
【００８２】
図１２（ｂ）は、ＳＤＲＡＭ５から読み出されたデータがバッファＳＲＡＭ１５のＢ面７２に格納されるところを示している。バスＩ／Ｆ１６は、ＳＤＲＡＭ５からのデータ読み出しを行なう。また、バスＩ／Ｆ１６は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＢ面７２の先頭アドレスを取得し、Ｂ面７２の先頭アドレスおよびデータをバッファＳＲＡＭ１５に出力することにより、Ｂ面７２の最初の領域にＳＤＲＡＭ５から読み出したデータを書き込む。そして、バスＩ／Ｆ１６は、バーストアクセスによってＳＤＲＡＭ５から順次データを読み出し、バッファＳＲＡＭ１５のアドレスをインクリメントしながら読み出したデータを順次Ｂ面７２に書き込む。
【００８３】
これと並行して、ＩＰ  Ｉ／Ｆ１４−１−１は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＡ面７１に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。また、ＩＰ  Ｉ／Ｆ１４−１−３は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＣ面７３に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。また、ＩＰ  Ｉ／Ｆ１４−１−４は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＤ面７４に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。
【００８４】
ＩＰ＿Ｒ（１）３−１内の演算部３５は、ＩＰ  Ｉ／Ｆ１４−１−１および１４−１−３〜１４−１−４から出力されるデータを読み込み、演算処理を行なう。そして、ＩＰ  Ｉ／Ｆ１４−１−１および１４−１−３〜１４−１−４は、バッファＳＲＡＭ１５のアドレスをインクリメントしながらＡ面７１およびＣ〜Ｄ面７３〜７４に格納されるデータを順次ＩＰ＿Ｒ（１）３−１に出力する。
【００８５】
図１２（ｃ）は、ＳＤＲＡＭ５から読み出されたデータがバッファＳＲＡＭ１５のＣ面７３に格納されるところを示している。バスＩ／Ｆ１６は、ＳＤＲＡＭ５からのデータ読み出しを行なう。また、バスＩ／Ｆ１６は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＣ面７３の先頭アドレスを取得し、Ｃ面７３の先頭アドレスおよびデータをバッファＳＲＡＭ１５に出力することにより、Ｃ面７３の最初の領域にＳＤＲＡＭ５から読み出したデータを書き込む。そして、バスＩ／Ｆ１６は、バーストアクセスによってＳＤＲＡＭ５から順次データを読み出し、バッファＳＲＡＭ１５のアドレスをインクリメントしながら読み出したデータを順次Ｃ面７３に書き込む。
【００８６】
これと並行して、ＩＰ  Ｉ／Ｆ１４−１−１は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＡ面７１に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。また、ＩＰ  Ｉ／Ｆ１４−１−２は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＢ面７２に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。また、ＩＰ  Ｉ／Ｆ１４−１−４は、バッファＳＲＡＭアドレス割付けレジスタ１７を参照してＤ面７４に格納される最初の領域のデータをＩＰ＿Ｒ（１）３−１に出力する。
【００８７】
ＩＰ＿Ｒ（１）３−１内の演算部３５は、ＩＰ  Ｉ／Ｆ１４−１−１〜１４−１−２および１４−１−４から出力されるデータを読み込み、演算処理を行なう。そして、ＩＰ  Ｉ／Ｆ１４−１−１〜１４−１−２および１４−１−４は、バッファＳＲＡＭ１５のアドレスをインクリメントしながらＡ〜Ｂ面７１〜７２およびＤ面７４に格納されるデータを順次ＩＰ＿Ｒ（１）３−１に出力する。
【００８８】
以上説明したように、本実施の形態における半導体集積回路によれば、バスＩ／Ｆ１６がＳＤＲＡＭ５から読み出したデータを順次Ａ〜Ｄ面７１〜７４に格納し、格納が完了している領域から複数のデータを読み出してＩＰ＿Ｒに出力するようにしたので、第１の実施の形態において説明した効果に加えて、ＩＰ＿Ｒ内に演算処理用の複数のＳＲＡＭを設ける必要がなくなり、ＳＲＡＭの個数を削減することが可能となる。
【００８９】
また、ＩＰ＿Ｒ内の演算処理用のバッファＳＲＡＭと、データサーバ１内のアクセス用のバッファＳＲＡＭとを共用するため、バッファＳＲＡＭのトータルの容量を削減することが可能となる。
【００９０】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９１】
１  データサーバ、２−１〜２−ｍ，１０１−１〜１０１−ｍ  ＩＰ＿Ｗ（１）〜（ｍ）、３−１〜３−ｎ，１０２−１〜１０２−ｎ  ＩＰ＿Ｒ（１）〜ＩＰ＿Ｒ（ｎ）、４，１０４  ＳＤＲＡＭコントローラ、５，１０５  ＳＤＲＡＭ、６，１０６  バス、１１−１〜１１−ｍ，１４−１〜１４−ｎ，１４−１−１〜１４−ｎ−４  ＩＰ  Ｉ／Ｆ、１２，１５，１１２，１２２  バッファＳＲＡＭ、１３，１６，１１３，１２３  バスＩ／Ｆ、１７  バッファＳＲＡＭアドレス割付けレジスタ、１８  ＳＤＲＡＭアドレス割付けレジスタ、２１，３１  ＩＰコア、３２〜３４  ＳＲＡＭ，３５  演算部、４５，６５  選択部、１０３  ＣＰＵ。
【図１】
2010186403.tif 000003
【図２】
2010186403.tif 000004
【図３】
2010186403.tif 000005
【図４】
2010186403.tif 000006
【図５】
2010186403.tif 000007
【図６】
2010186403.tif 000008
【図７】
2010186403.tif 000009
【図８】
2010186403.tif 000010
【図９】
2010186403.tif 000011
【図１０】
2010186403.tif 000012
【図１１】
2010186403.tif 000013
【図１２】
2010186403.tif 000014