(57)【要約】  共有データ記憶装置（１８）とデータローカル記憶装置（１６）との間のデータ移動を、複数の並列データ処理要素によって該データが使用され得るように、制御するためのデータ移動コントローラ（２０）について説明する。データ移動コントローラ（２０）は、共有データ記憶装置（１８）と一組の処理要素（１２）との間での複数の異なるデータ転送方法を定義する各種データパラメータ（５７、６１、６２）が使用中にロードされる一組のデータレジスタ（５６、５８、６０）を有する。データパラメータ（５７、６１、６２）は、複数の処理要素（１２）の内の予め定義されたものへデータの一部を転送するための一組の時間遅延と、実行すべきデータ転送全体のタイプを定義する。このプログラム可能な方法でデータ転送を行うことにより、データ移動コントローラ（２０）とＳＩＭＤ連想プロセッサ（１２）を効率的に併用することができる。一例を挙げると、無線通信基地局で受信した多重ソースのデジタルデータのストリームを効率的に処理してマルチパス効果に起因する歪を除去する。【選択図】図３
2008503131.tif 000002
【特許請求の範囲】
【請求項１】
共有データ記憶装置とデータローカル記憶装置との間のデータ移動を、複数の並列データ処理要素によって該データが使用され得るように制御するためのデータ移動コントローラであって、
共有データ記憶装置と、ローカルデータ記憶装置に関連付けられた一組の処理要素との間の複数の様々なデータ転送を定義する各種データパラメータが使用中にロードされる一組のデータレジスタを有し、
所定の処理要素と共に使用されるローカルメモリの予め定義された領域にデータの一部を転送するための一組の時間遅延と、実行すべきデータ転送のタイプとが、データパラメータによって定義される、データ移動コントローラ。
【請求項２】
複数のデータレジスタがプログラム可能であり、共有データ記憶装置とローカルデータ記憶装置との間でデータ転送を行う際に個々の時間遅延を指定するためのオフセット値を各々データレジスタにロードできる、請求項１に記載のコントローラ。
【請求項３】
データレジスタにプログラミングされているオフセット値が使用中にロードされ、その後、所定の値までデクリメントされて対応する遅延を発生させる複数のデータカウンタを更に有する、請求項２に記載のデータ移動コントローラ。
【請求項４】
複数のデータレジスタが第１のステップ値を格納するための第１のステップレジスタを更に含み、該第１のステップ値によって、データレジスタに格納されたオフセット値に適用される、デクリメントの大きさが決定される、請求項２又は請求項３に記載のコントローラ。
【請求項５】
第１のステップ値が、共有メモリから取り出されるサンプルのデータのサイズにより決定される、請求項４に記載のコントローラ。
【請求項６】
複数のデータレジスタが第２のステップ値を格納するための第２のステップレジスタを更に含み、第２のステップ値の助けを借りて、データ転送を行う方法が決定される、請求項４又は請求項５に記載のコントローラ。
【請求項７】
第２のステップ値が、連続するオフセット値から第１のステップ値を引いた差を有する、請求項６に記載のコントローラ。
【請求項８】
実行すべきデータ転送全体のタイプを決定するためのアルゴリズムを実行するための手段を更に有する、請求項１乃至請求項７の何れか一項に記載のコントローラ。
【請求項９】
実行すべきデータ転送全体のタイプがオフセット値、第１のステップ値、及び第２のステップ値によって定義される、請求項６又は７に従属する請求項８に記載のコントローラ。
【請求項１０】
単純順次ブロックモード転送、ブロック並べ替えブロックモード転送、マルチキャストブロックモード転送、及びオーバーラップブロックモード転送を含むグループから選択される複数のタイプのデータ転送を実現できるようにコントローラが構成されている、請求項１乃至請求項９の何れか一項に記載のコントローラ。
【請求項１１】
コントローラは、サブサンプリングブロックモード転送を実現できるように構成されている、請求項１乃至請求項１０の何れか一項に記載のコントローラ。
【請求項１２】
第２のステップ値は、更なるデータ取込み命令を実行することなくサブサンプリングを実行する方法を決定する、請求項５に従属する請求項１１、又は請求項５に従属する請求項６乃至請求項１０の何れか一項に従属する請求項１１に記載のコントローラ。
【請求項１３】
複数のデータレジスタは、データ転送時に分割不可能な単位として処理すべきデータサンプルのサイズを指定するためのデータサイズレジスタを有する、請求項１乃至請求項１２の何れか一項に記載のコントローラ。
【請求項１４】
転送すべきバイトをバイトレーンに整列してから、バイトライン間でバイトをスワップしてバイトの順序付けを変更するように構成されたデータバイトアライナーを更に有する、請求項１乃至請求項１３の何れか一項に記載のコントローラ。
【請求項１５】
データバイトアライナーは、指定されたバイト境界にデータバイトを整列するように構成されている、請求項１４に記載のコントローラ。
【請求項１６】
データバイトアライナーは、転送すべきデータバイトをデータサイズレジスタにおいて指定されたサンプルサイズに従って整列するように構成されている、請求項１３に従属する請求項１４に記載のコントローラ。
【請求項１７】
データバイトアライナーは、転送すべきデータバイトを転送対象のデータサンプルのアドレスの最下位ビットに従って整列するように構成されている、請求項１６に記載のコントローラ。
【請求項１８】
バイトアライナーは、データ転送及び共有データ記憶装置に関するグローバルパラメータに従ってバイトを整列するように構成されたグローバルバイトアライナーを有する、請求項１４乃至請求項１７の何れか一項に記載のコントローラ。
【請求項１９】
バイトアライナーは、ローカルデータ記憶装置に関するローカルパラメータに従ってバイトを整列するローカルバイトアライナーを有する、請求項１８に記載のコントローラ。
【請求項２０】
ローカルデータ記憶装置へ転送すべきデータバイトの順序を循環させるためのバイトローテータを有し、このバイトローテータは、指定されたデータバイト境界にデータバイトを循環させるよう構成されている、請求項１乃至請求項１９の何れか一項に記載のコントローラ。
【請求項２１】
無線通信基地局で受信した多重ソースのデジタルデータのストリームを効率的に処理してマルチパス効果に起因する歪を除去するための装置であって、請求項１乃至請求項２０の何れか一項で定義されたデータコントローラを使用して共有メモリから処理用のローカルメモリへデータを転送する装置。
【請求項２２】
共有データ記憶装置とデータローカル記憶装置との間のデータ移動を、複数の並列データ処理要素によって該データが使用され得るように制御するための方法であって、
共有データ記憶装置と、ローカルデータ記憶装置に関連付けられた一組の処理要素との間の複数の様々なデータ転送を定義するために各種データパラメータを一組のデータレジスタにロードするステップであって、所定の処理要素と共に使用されるローカルメモリの予め定義された領域にデータの一部を転送するための一組の時間遅延と、実行すべきデータ転送のタイプとが、データパラメータによって定義されるステップと、
格納されたパラメータに基づいて所望の転送を実行するステップと、を含む方法。
【請求項２３】
無線通信基地局で受信した多重ソースのデジタルデータのストリームを効率的に処理してマルチパス効果に起因する歪を除去するための方法であって、請求項２２に示したように、共有メモリから処理用のローカルメモリへデータを転送することを含む方法。
【請求項２４】
発信元から送信され基地局により受信された歪んだ無線通信信号を処理する方法であって、
発信元と基地局との間の多重伝送経路に関する複数の位相遅延時間を決定するステップと、
複数のスキューオフセットパラメータを、対応する位相遅延時間から算出するステップであり、該複数のスキューオフセットパラメータの値により、各転送のタイミングを含む、プロセッサの各ブロックへのデータの転送方法が指定されるステップと、
受信した歪みのある無線通信信号をデジタルデータのバイトとして共有データ記憶装置に格納するステップと、
共有データ記憶装置と並列プロセッサの複数のブロック用のローカルデータ記憶装置との間でデジタルデータのバイトをどのような方法で転送するかをスキューオフセットパラメータを使用して制御するステップと、を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置に関する改良に関し、より詳細には、これのみに限られるものではないが、移動体通信基地局等の無線通信基地局で受信した多重ソースのデジタルデータのストリームを効率的に処理してマルチパス効果に起因する歪を除去するための方法及び装置に関する。
【背景技術】
【０００２】
通信では、特に移動体通信用の基地局では、受信機のチャネルから元の信号を取り出す必要がある。受信信号は、マルチパス効果（例えば、建物が密集した都市部での干渉による信号反射）が原因で強い歪を生じることがよくある。各マルチパスはよくフィンガーと呼ばれる。
【０００３】
複合受信信号から個々のフィンガーのデータを抽出することは、関連する位相遅延の情報を用いて可能である。より詳しくは、各々のフィンガーで必要とされるデータは、受信されたデータストリーム（次にサブサンプリングされる）のサブセットであり、送信機と受信機との間の該当する特定のマルチパスにおける予想される異なる往復遅延に応じた異なる位相遅延を有する。これらのサブサンプリングされたデータセットは、次の処理段階でコーヒレントに和をとり、受信信号のＳ／Ｎ（信号対雑音）比を最大限に向上させる必要がある。
【０００４】
このような位相遅延の情報を特定してから、その位相遅延を利用して各フィンガーの関連情報を抽出することは簡単な作業ではない。それでも、この処理を実行するための技法は知られている。例えば、異なる位相遅延は、各フレーム内の既知のシーケンスに対してのより早い段階の整合フィルタステップ（相関）（エネルギーのピークが得られる）によって決定することができ、これは強力なマルチパスに対応する。このデータは、受信されたデータの次の処理を制御するのに必要な情報を提供する。
【０００５】
Ｓ／Ｎ比を改善するために、受信されたデータに対して必要な各種の処理技法を実行できるようにするには、強力なコンピュータが必要である。しかし、この処理を、データを受信しながらリアルタイムで（つまり、オンザフライで）実行する必要があるという時間的な制約により、処理された信号のＳ／Ｎ比は悪くなり、受信された信号の品質の低下につながる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の状況での受信信号の品質の改善が求められている。より詳しくは、データストリームを受信しながらリアルタイム処理を実行できるように、マルチパス歪を効率的に解決するために必要な各種の処理を全て実行できるだけの柔軟性を維持しながら、処理を高速化するデータ転送方式及び装置を提供することが求められている。
【課題を解決するための手段】
【０００７】
本発明は、柔軟なデータ処理を実行するための要件、つまり、単一のデータストリームからいくつかの異なるデータ転送モード（例えばロード）を「オンザフライ」で実行するための要件によってデータ処理障害（bottleneck）が生じるという認識の上に立っている。この障害は、利用可能な短い時間内に必要なデータ転送を実行する際に、異なる転送モード間の切り替えを行うために処理要素が複数回のデータ取込みを行わなければならないことに関係している。このデータ処理障害に対する解決策は、データコントローラの再プログラミングを最小限に抑えて必要な複数のデータ転送モードを実行するのに十分な柔軟性を有するプログラム可能なデータ移動コントローラを提供することである。何故なら、データを「オンザフライ」で転送する場合にはデータ取込みが損失の大きいオーバーヘッドとなるためである。
【０００８】
より詳しくは、本発明の一様相によれば、共有データ記憶装置とデータローカル記憶装置との間のデータ移動を、複数の並列データ処理要素によって該データが使用され得るように、制御するためのデータ移動コントローラが提供されている。このデータ移動コントローラは、共有データ記憶装置と、ローカルデータ記憶装置に関連付けられた一組の処理要素との間の複数の様々なデータ転送を定義する各種データパラメータが使用中にロードされる一組のデータレジスタを有する。このデータパラメータは、所定の処理要素と共に使用されるローカルメモリの予め定義された領域にデータの一部を転送するための一組の時間遅延と、実行すべきデータ転送のタイプを定義する。
【０００９】
データ転送を行う際に各種の処理タスクの実行及び遅延の発生方法をプログラミングする機能により、更なるタスクを実行するために必要な個々のデータアクセスを最小限に抑えることができる。これにより、システムははるかに効率的となり、データ障害が解決される。また、複数のタイプのデータ転送を実行する機能により、プログラマは様々な条件及び状況で効率アップを図ることができる。この点に関しては、本発明によって、最も効率的なデータ転送タイプのうちの１つが可能になる。つまり、データストリームをインターセプトしデータのマルチドロップを実行することが可能である。データのマルチドロップは、更なるデータ取込みオペレーションを要求することなく同じデータブロックを複数のデータブロックにコピーする場合に行われる。
【００１０】
複数のデータレジスタがプログラム可能であることが好ましく、各々のデータレジスタには、共有データ記憶装置とローカルデータ記憶装置との間でデータ転送を行う際に個々の時間遅延を指定するためのオフセット値をロードできる。
【００１１】
データ移動コントローラはまた、データレジスタにプログラミングされているオフセット値が使用中にロードされ、その後所定の値までデクリメントされて対応する遅延を発生させる複数のデータカウンタを有することが好ましい。
【００１２】
データ移動コントローラ内に対応するカウンタ値をロードする役目を果たすプログラム可能な複数のデータレジスタを提供することは、データ移動コントローラをプログラミングすることによりデータ転送を完全に制御できることを意味する。このことは、解決策は完全なモジュール方式を取っており、ローカルデータ記憶装置等には変更を加える必要がないことを有利に意味する。また、各データサンプル転送でカウンタをデクリメントするのが本発明のこの様相を実施するための比較的簡単な方法である。
【００１３】
本発明では、受信データのストリームをブロック単位で複数のプロセッサに一斉送信できるようにすることで効率を高めている。このようなブロックデータ転送をデータ移動コントローラの制御下で行うことによりデータ転送が高速化され、データ処理の効率が向上する。
【００１４】
コントローラは、実行すべきデータ転送全体のタイプを決定するアルゴリズムの実行手段を更に含んでいてもよい。アルゴリズムは、指定されたパラメータを使用してデータ転送を効率的に実行するための簡単な規則を提供する。アルゴリズムに関する情報により、プログラマは、本発明により可能な効率性を様々な状況でソフトウェアによって有利に利用できる。
【００１５】
コントローラは、単純順次ブロックモード転送、ブロック並べ替えブロックモード転送、マルチキャストブロックモード転送、及びオーバーラップブロックモード転送を含むグループから選択される複数のタイプのデータ転送を実現できるように構成されていることが好ましい。これにより、データの再要求を必要とすることなく複数の処理要素が一定のデータストリームを様々な方法で使用できるようになる。
【００１６】
また、レジスタ値だけでサブサンプリングブロックモード転送を実現できるようにコントローラを配置することも可能である。これにより、通常ならば並列プログラミング環境でより多くのプログラミングとメモリデータ取込みとを必要とするようなデータロードの実行が可能である。
【００１７】
コントローラは、転送すべきバイトをバイトレーンに整列してから、バイトライン間でバイトをスワップしてバイトの順序付けを変更するように構成されたデータバイトアライナーを更に含んでいてもよい。また、これにより、データ転送の柔軟性が更に高まるとともに、同時係属中の国際特許出願第ＰＣＴ／ＧＢ２００５／０００８９５号に説明されているようなローカル記憶装置でデータを使用することができる。
【００１８】
データバイトアライナーを配置することで、指定されたバイト境界（byte boundary）にデータバイトを整列すること、及びデータサイズレジスタ内に指定されたサンプルサイズに従ってこの処理を行うことも可能である。これにより、ローカルメモリへのデータの転送を簡単且つ迅速に行うことができる。
【００１９】
バイトアライナーは、データ転送及び共有データ記憶装置に関するグローバルパラメータに従ってバイトを整列するように構成されるグローバルバイトアライナーと、ローカルデータ記憶装置に関するローカルパラメータに従ってバイトを整列するローカルバイトアライナーとを有していてもよい。これにより、データ転送の制御の柔軟性が更に向上する。
【００２０】
コントローラは、ローカルデータ記憶装置へ転送すべきデータバイトの順序を循環させるためのバイトローテータを更に有することができ、バイトローテータは、指定されたデータバイト境界にデータバイトを循環させるように構成される。繰り返すが、データ転送を操作することにより、データが処理されるべき特定の方法に合わせて適切なフォーマットのデータを提供できる。このことは、冒頭で説明した用途のように複合データが処理される場合に特に有利である。
【００２１】
本発明は、以下のことを可能にするように構成されている。
１．データのストリームを複数のＡＰＥブロックに一斉送信できる。各々のブロックは、連続するセクション、順序変更されたセクション、オーバーラップセクションでデータストリーム内の異なる点においてデータを格納し始めることができる。
２．各々のＡＰＥブロックはデータストリームの一部をサブサンプリングできる。
これにより、
３．ＳＤＭＣ  ＤＭＡを再プログラミングしなければならない回数が最小限に抑えられる。
【００２２】
ここで示した機能の一部を達成するために、従来技術では、各々のブロック境界でＳＤＭＣをプログラミングし直す必要があるので、かなりの制御オーバーヘッドが付加される。本発明では、ＳＤＭＣを一度プログラミングするだけでよく（ただし、より多くのパラメータを使用する）、次いで処理ブロックがデータストリームからデータを「オンザフライ」で収集する。更に、本発明ではデータのマルチドロップが可能であり、ＳＤＳから同じデータを繰り返しアクセスする必要はない。これにより、ＳＤＳの帯域幅の要件が緩和される。
【００２３】
本発明は、無線通信基地局で受信した多重ソースのデジタルデータのストリームを効率的に処理してマルチパス効果に起因する歪を除去するための装置にも及ぶ。この装置は、上で定義したようなデータコントローラを使用し、共有メモリから処理用のローカルメモリへデータを転送する。
【００２４】
本発明の他の様相によれば、共有データ記憶装置とデータローカル記憶装置との間のデータ移動を、複数の並列データ処理要素によって該データが使用され得るように、制御するための方法が提供されている。この方法は、共有データ記憶装置と、ローカルデータ記憶装置に関連付けられた一組の処理要素との間の複数の様々なデータ転送を定義する各種データパラメータを一組のデータレジスタにロードするステップであり、データパラメータは、所定の処理要素と共に使用されるローカルメモリの予め定義された領域にデータの一部を転送するために一組の時間遅延と、実行すべきデータ転送のタイプを定義するステップと、格納されたパラメータに基づいて所望の転送を実行するステップとを含む。
【００２５】
本発明の本様相は、無線通信基地局で受信した多重ソースのデジタルデータのストリームを効率的に処理してマルチパス効果に起因する歪を除去するための方法に関し、この方法は、上記したように共有メモリから処理用のローカルメモリへデータを転送する方法を含む。
【００２６】
本発明の更なる様相によれば、発信元から送信され基地局により受信された歪んだ無線通信信号を処理する方法が提供されている。この方法は、発信元と基地局との間の多重伝送経路に関する複数の位相遅延時間を決定するステップと、複数のスキューオフセットパラメータを対応する位相遅延時間から算出するステップであって、複数のスキューオフセットパラメータの値により、プロセッサの各々のブロックへのデータの転送方法（各々の転送のタイミング等）が指定されるステップと、受信した歪みのある無線通信信号をデジタルデータのバイトとして共有データ記憶装置に格納するステップと、共有データ記憶装置と並列プロセッサの複数のブロック用のローカルデータ記憶装置との間でデジタルデータのバイトをどのような方法で転送するかを、スキューオフセットパラメータを使用して制御するステップと、を含む。
【００２７】
例として、添付の図面を参照して、本発明を説明する。
【発明を実施するための最良の形態】
【００２８】
本実施形態は、公知のＡｓｐｅｘ  ＳＩＭＤ（単一命令多重データ（Single Instruction Multiple Data））並列プロセッサと併用して歪んだ受信信号を適切に処理する、改良されたＳＤＭＣ（二次データ移動コントローラ（Secondary Data Movement Controller））に関するものである。Ａｓｐｅｘ並列プロセッサは、一般に開示された同時係属中の国際特許出願第ＰＣＴ／ＧＢ２００５／０００８９５号に記載の連想処理要素（Associative Processing Elements）（ＡＰＥ）の使用を基礎にしている。より詳しくは、並列プロセッサは、チップあたり４０９６個のＡＰＥ（ブロックあたり２５６個のＡＰＥ）を有する。このプロセッサは、以下に示す３つの要素を伴う階層メモリ構造を有する。
１．ＴＤＳ  三次データ記憶装置（Tertiary Data Store）
主記憶装置。ＤＭＡを介してＳＤＳとの間でデータがやり取りされる。
２．ＳＤＳ  二次データ記憶装置（Secondary Data Store）
中間記憶装置。二次データ移動コントローラ（Secondary Data Movement Controller）（ＳＤＭＣ）と呼ばれる専用のＤＭＡによってＰＤＳとの間でデータがやり取りされる。
３．ＰＤＳ  一次データ記憶装置（Primary Data Store）
ローカル記憶装置。ＡＰＥデータレジスタの１つ上のレベル。
【００２９】
次に図１を参照すると、本発明の現状で好ましい実施形態を実施するための装置１０が示されている。装置１０は、連想記憶装置（Content Addressable Memory）１４及び一次データ記憶装置（ＰＤＳ）１６とインターフェースで接続された連想プロセッサ（Associative Processor）アレイ１２を有する。
【００３０】
連想プロセッサアレイ１２は、プログラム可能で、均質で、かつフォールトトレラントなＳＩＭＤ並列プロセッサであり、一連の同一の処理装置（ＡＰＥ）、ソフトウェアによってプログラム可能な相互通信ネットワーク、及び完全にオーバーラップしたデータＩ／Ｏ用のベクトルデータバッファ（図示せず）を内蔵している。物理レベルでは、連想プロセッサ１２は、全てのＡＰＥが同じ算術演算、論理演算、又は関係演算をビット直列方式で同時に実行できるビット直列ワード並列型の連想並列プロセッサとして実装されている。連想プロセッサ１２のアーキテクチャは開示されており当業者には公知であるので、本明細書ではこれ以上の説明を省略する。
【００３１】
連想記憶装置１４は、１２８本のワード行（各々のワードは６４ビット幅）を通常有する配列の形態をとっている。連想記憶装置１４は、連想プロセッサアレイ１２の作業レジスタと考えることができる。
【００３２】
ＰＤＳ１６は、連想プロセッサ１２のローカル入出力データ記憶装置と考えることができる直交型メモリである。ＰＤＳ１６は、ＳＤＭＣ（二次データ移動コントローラ）２０の管理下にあるローカルＡＬバス（図示せず）を介して、ＲＡＭ又はその他の従来のメモリサブシステム等の二次データ記憶装置（ＳＤＳ）１８とインターフェースによって接続されている。連想記憶装置１４は、ＡＧバス２２を介してデータのやり取りを行う。ＳＤＭＣ２０は命令を受信すると、ＳＤＳ１８とＰＤＳ１６との間のデータ転送に関する、ソフトウェアによってプログラム可能なオペレーションを実行する（詳細は後述参照）。
【００３３】
ＳＤＳ１８とＰＤＳ１６との間では、ＳＤＭＣ２０の制御下でビット並列ワード直列方式によりデータが転送される。このタイプのデータ転送は、これ以降、二次データ転送（Secondary Data Transfer）（ＳＤＴ）と呼ぶ。ＰＤＳ１６と連想プロセッサ１２との間では、ビット直列ワード並列方式によりデータが転送される。このタイプのデータ転送は、これ以降、一次データ転送（Primary Data Transfer）（ＰＤＴ）と呼ぶ。一次データ転送と二次データ転送は両方とも、４種類のモード（Ｄ８、Ｄ１６、Ｄ３２、Ｄ６４）でのデータ転送を可能にする。ここで、Ｄ８モードは８ビットのデータアイテムを８個転送し、Ｄ１６モードは１６ビットのデータアイテムを４個転送し、Ｄ３２モードは３２ビットのデータアイテムを２個転送し、Ｄ６４モードは６４ビットのデータアイテムを１個転送する。
【００３４】
ＰＤＳ１６の内部構造を図２に示し、以下に説明する。コーナーターニング機能を実行するメモリとしてのＰＤＳ１６の動作は、上記した同時係属中の国際特許出願、図３、及び添付の付録に記載されている。
【００３５】
ＰＤＳ１６は、複数の行と列を持つメモリマトリックスの形式で配列された複数のデータメモリセル３６を有する。この例では、メモリマトリックスは８本の行と８本の列で構成され、各々の行は６４ビットのデータレジスタ４０を有している。したがって、各々のデータメモリセル３６は、８個のメモリビットセル５０（後述する）を有している。ＰＤＳ１６はまた、転送されるデータアイテムの、メモリマトリックス内でのワード行位置を特定するために８ビットＳＤＴ行ポインタシフトレジスタ３８を含み、このシフトレジスタ３８の各々のビットは、メモリマトリックスの特定のワード行（つまり、データレジスタ４０）と関連付けられている。ＳＤＴ行ポインタシフトレジスタ３８は、モジュール化を容易にするために、ＡＬバスを介してルーティングされている。ＳＤＴ行ポインタシフトレジスタ３８の入力ＰＣＩと出力ＰＣＯとを互いに連鎖させることで、モジュール式のＩＯ構成を組み立てることができる。
【００３６】
一次データ転送モードでのデータ転送のために、一次データ記憶装置１６は更に、８ビットＰＤＴロードデータレジスタ４２と、ＰＤＴロードデータ及びマスクレジスタ４４と、ＰＤＴダンプデータ及びマスクレジスタ４６と、ＰＤＴ列デコーダー及びセレクタレジスタ４８とを含む。ＰＤＴロードデータレジスタ４２は、ＡＰＥ３４と一次データ記憶装置１６との間のデータ転送時に使用されるシフトレジスタである。ＰＤＴロードデータ及びマスクレジスタ４４は、一次データ記憶装置１６からＡＰＥ３４にデータを転送する際に不要なデータビットを削除するために使用され、ＰＤＴダンプデータ及びマスクは、ＡＰＥ３４から一次データ記憶装置１６にデータを転送する際に不要なデータビットを削除するために使用される。
【００３７】
したがって、ＰＤＳメモリマトリックスの各ワード行は、単一の６４ビットデータレジスタ４０、１ビットＳＤＴ行ポインタシフトレジスタ３８、１ビットＰＤＴロードデータレジスタ４２、ＰＤＴロードデータ及びマスクレジスタ４４、ＰＤＴダンプデータ及びマスクレジスタ４６を含んでいる。
【００３８】
次に図４を参照しながら、本実施形態の中心をなすＳＤＭＣ２０について以下に詳しく説明する。ＳＤＭＣ２０は、バイトローテータ５０、データルータ５２、バイトアライナー５４、一組の１６個のダウンカウンタレジスタ５５、及び一組のプログラム可能なＳＤＭＣファンクションレジスタ５６を備えている。ＳＤＭＣ２０を介したＳＤＳ１８とＰＤＳ１６との間のデータ移動では、ＳＤＭＣ２０の機能を利用して、特定の転送要件に応じてバイトレーンを並び替える。ＳＤＭＣファンクションレジスタ５６内の各々のデータパラメータ５７によって、転送すべきデータブロックに適用する遅延が制御される（後述する）。バイトレーン制御は、ＳＤＭＣファンクションレジスタ５６内のデータサイズパラメータ５９（後述する）の影響を受ける。ＳＤＭＣ２０は常にＤ６４境界でＳＤＳ１８にアクセスする。しかし、１２８ビットワードを組み立てるためのデータリアセンブリと、バイトローテータとの組み合わせを使用して、任意のバイト境界に効果的に整列されたＳＤＭＣ２０との間でＤ６４を受け渡しすることができる。
【００３９】
通常、ＳＤＭＣ２０の機能とは、並び替え及び処理制御と、マルチパス効果に起因する歪が含まれるデータの効率的な処理とを容易に行えるように、ＳＤＳ１８からＰＤＳ１６へバイトを転送することである。このような処理で重要なことは、各々のフィンガー（マルチパス）の位相遅延を考慮することである。これについては、二次データ転送（ＳＤＴ）の以下の例で示す。
例：
【００４０】
各々のブロックが２５６個の物理的なＡＰＥを有している場合、ＳＤＳからＰＤＳへのデータ転送では、ブロックｂは以下のように記憶する。
入力データ［Δｂ＋０］    ＡＰＥ［ｂ，０］
入力データ［Δｂ＋１］    ＡＰＥ［ｂ，１］
入力データ［Δｂ＋２］    ＡＰＥ［ｂ，２］
入力データ［Δｂ＋３］    ＡＰＥ［ｂ，３］
・
・
・
入力データ［Δｂ＋２５５］    ＡＰＥ［ｂ，２５５］
ここで、Δｂは、ブロックｂによって取り込まれることになっている、ＳＤＳから転送される入力データの開始のオフセット（遅延）である。
【００４１】
これは、本実施形態では、公知の（Ａｓｐｅｘで作成された）ＰＤＳ１６に対するＳＤＴを使用して実施されるが、ＰＤＳ１６が特定のブロック内で応答を開始する点を制御する変更を伴う。付録Ａ、図２、及び図３を参照すると、ＰＤＳ行ポインタ３８は各ブロックのブロック先頭で並列的に初期化される。ただし、当該ブロックは、プログラム可能なブロックダウンカウンタ５５（一組のカウンタレジスタのうちの１つ）によって指示されるまで、読出し／書込みサイクル及び関連付けられた行ポインタのインクリメントに対して有効にならない。
【００４２】
各々のブロックはＳＤＭＣ２０内に提供されているこのようなプログラム可能なダウンカウンタ５５と関連付けられており、各々のカウンタはＳＤＭＣファンクションレジスタ５６のスキューオフセットレジスタ５８の１つに対応する。ＳＤＴが始まる前に、各々のダウンカウンタ５５には該当するブロックに対する遅延値５７（つまり、Δｂ１、Δｂ２〜ΔｂＮ、ここでＮはチップ内に存在する離散的なブロックの数）がプログラミングされる。ここで、遅延値は対応するスキューオフセットレジスタ５８から取得されている。各々の遅延値５７は、単一のフィンガーに関するものであり、この明細書の他の箇所で述べたように予め決定されている。
【００４３】
ＳＤＴの読出し又は書込み動作が実行されるたびに、各々のダウンカウンタ５５が計時動作する。ダウンカウンタ５５がゼロ（又は同様に予め定義された値）になると、関連付けられたブロックは読出し又は書込みサイクルに参加できるようになる。対応するスキューオフセットレジスタ５８の値は、デクリメント中は変化しない。何故なら、装置のプログラマによって変更することが必要とされる前は、ＳＤＴの様々なサイクルで使用される可能性があるためである。
【００４４】
尚、多重書込み機能及び書込みサブサンプリング機能（後述を参照）は書込みサイクルにのみ適用される。
【００４５】
次にＳＤＭＣ２０のＳＤＭＣデータバイト循環及び整列機能に着目する。この機能については図４に示している。この図では、ＳＤＳ１８からの一連のＤ６４アクセスが示されている（例えば、Ｂ１７〜Ｂ１０はワード１のバイト７〜バイト０を示し、Ｂ２７〜Ｂ２０はワード２のバイト７〜バイト０を示す、という具合になる）。バイトローテータ５０は、例えば、Ｄ６４のアイテムがＭＳ（最上位（Most Significant））バイトとしてバイト４を持つように、これらのワードを再オリエンテーションすることができる。バイトルータ５２は、現行のバイトを処理のために適切なブロックにルーティングするために使用されるだけであり、これ以上の説明は省略する。最後に、バイトアライナー５４は、特定のバイトを特定のバイトレーンに向けるために選択的なバイトレーンスワッピングを行うことができる。
【００４６】
次に、バイト整列及びバイト循環の各々の処理について詳しく説明する。Ｄ６４アイテム（バイトローテータ５０によって任意のバイト境界に整列された）は、ルーター５２からバイトアライナー５４を介してＰＤＳ１６へ渡される。まず、ＳＤＭＣファンクションレジスタ内の選択されたデータサイズパラメータの関数としてバイトレーンの並び替えが行われる。これについては図５に示している。ここでは、データサイズによってバイト０〜バイト７の整列方法が決定される。
【００４７】
図５から、バイトレーン整列は、バイトレーングループのペアを選択的にスワッピングすることにより達成されることが分かる。例えば、データサイズがＤ３２である場合、Ｄ３２転送のために考えられる２つの整列は、Ｄ６４ワード内でＤ３２アイテムを入れ替えることで得られる。
【００４８】
図５に示したバイトレーン番号は、バイト循環が実行された後の論理的なバイトレーンを示すものであることを理解されたい。これらは、Ｄ６４メモリワード境界に対するバイトレーン番号ではない。
【００４９】
次に、図６を参照して、ＳＤＭＣ制御及びステータスレジスタ（SDMC Control and Status Register）５６について詳しく説明する。なお、図６は、ＳＤＭＣ２０内に提供されている各種の構成レジスタ５６を示している。このレジスタセットは、１６個のスキューオフセットレジスタ５８と２個のスキューステップレジスタ６０とを含む。スキューオフセットレジスタ５８は、特定のブロックが読出し又は書込み転送に参加し始めるベースオフセットアドレスを定義する。アドレスを遅延値として使用すれば、ハードウェアを追加しなくとも、遅延を容易に発生させることができて便利である。これは、データ転送のプロセスには既に、転送すべきデータのアドレスを順番に通る動作が含まれているからである。個別のデータカウンタ５５を設けることにより、遅延に必要なオフセット値のデクリメントが可能となり、更なるデータ取込みのための値を使用することを行わない。
【００５０】
スキューステップレジスタ６０は、ＳＤＳ１８から送られてくるデータストリームのサブサンプリング（後述する）に関係する特殊な機能を有する。
【００５１】
この特定の実施形態で、スキューステップ１及びスキューステップ２レジスタ６０はグローバル構成を有するが、代替実施形態で、これらのレジスタが各々のブロックについてローカル構成を持たない（つまり、繰り返される）としても、それには理由がないことを理解されたい。しかし、複雑度を増すことに正当性及び利点があるかどうかは、発明者にははっきり分からない。
【００５２】
次に、ＳＤＭＣファンクションレジスタ５６を使用してブロックモード転送を行う方法について説明する。
【００５３】
ブロックモードでＰＤＳポインタ３８がリセットされると、行ポインタ（図示せず）は各々の２５６‐ＡＰＥブロックの先頭で初期化され、ブロックごとのスキューカウンタ（ＳｋｅｗＣｏｕｎｔ）５５には所定の対応するＳＤＭＣ「スキューオフセット」パラメータ５７がロードされる。
【００５４】
ＳＤＳメモリブロックがＰＤＳメモリブロックにマッピングされる順番は、スキューオフセットレジスタ５８にロードされた値５７によって決定される。次に図７を参照すると、この仕組みではＰＤＳメモリブロックへのＳＤＳメモリブロックの転送を様々な方法で行うことができる。以下に例を示す。
１．ブロックが任意の順番で格納される。
２．一部のブロックだけが格納される（つまり、ＰＤＳへのデータの複製）。
３．部分的に重複するブロックが格納される。
更に、転送は、サブサンプリングされたデータアイテムの集合だけを移動するように構成してもよい。
【００５５】
このような異なるデータ転送方法は、組み合わせて使用できることを理解されたい。これにより、柔軟性が向上し、着信データのストリームの処理を効率的に実行できる。
【００５６】
これまで、ＳＤＭＣファンクションレジスタ５６のプログラム可能な制御によって行われるブロックモード転送の一般的な概念について説明してきました。次に各種転送モードがどの様に行われるかを具体的な例を挙げて説明する。
【００５７】
例１：単純順次ブロックモード転送
ＳＤＳ１８からＰＤＳ１６へ４Ｋのデータアイテムを順次転送する必要がある場合は、スキューオフセットレジスタ５８及びスキューステップレジスタ６０を、図８ａの表に示すようにプログラミングすることにより、この転送を達成できる。これにより、図８ｂに示すように単に直線的なデータ転送が行われる。
【００５８】
例２：ブロック並べ替えブロックモード転送
ＳＤＳメモリブロックに対してＰＤＳメモリブロックが１ブロックだけスキューされた状態で、ＳＤＳ１８からＰＤＳ１６へ４Ｋのデータアイテムを順次転送する必要がある場合は、スキューオフセットレジスタ５８及びスキューステップレジスタ６０を、図９ａの表に示すようにプログラミングすることにより、この転送を達成できる。これにより、図９ｂに示すように単に直線的なデータ転送が行われる。
【００５９】
例３：マルチキャストブロックモード転送
ＳＤＳメモリデータの一部をロードした状態で、ＳＤＳ１８からＰＤＳ１６へ４Ｋのデータアイテムをオーバーラップ転送する必要がある場合は、スキューオフセットレジスタ５８及びスキューステップレジスタ６０を、図１０ａの表に示すようにプログラミングすることにより、この転送を達成できる。このモードでは、図１０ｂに示すように、単純な反復ブロードキャスト方式で利用可能なデータの一部が転送される。同じデータを複製してデータ転送するには、カウンタ値５７を繰り返すだけでよい。これは、データ転送で本実施形態のカウンタレジスタ５５を使用することで得られる別の利点である。
【００６０】
ブロックモード転送の達成方法を説明及び図示してきた。次にブロックモードのサブサンプリングについて説明する。簡略化のため、サブサンプリング技法については、第２の実施形態の中で説明する。しかしながら、ＳＤＭＣファンクションレジスタ５６のプログラミングを制御するだけで第１の実施形態を使用してサブサンプリングを実施可能であることを理解されたい。
【００６１】
次に図１１を参照すると、第２の実施形態のＳＤＴ経路が示されている。このＳＤＴ経路は、ローカルバイトアライナー６６が提供されていることと、ＳＤＭＣのバイトアライナーがグローバルバイトアライナー５６と呼ばれていることを除けば、第１の実施形態で説明したＳＤＴ経路と同じである。更に、第２の実施形態では、一組のデータカウンタ５５がローカルバイトアライナー６６に提供されているように図中に示されている。これは、カウンタが特定のデータブロックと関連付けられたデータ転送遅延に関するものであるという事実を象徴している。
【００６２】
次にＳＤＭＣ２０及びローカルバイトアライナー６６の動作について説明する。サンプルストリームのサブサンプリングは、ブロックスキューオフセットレジスタ５８と、スキューステップ１及びスキューステップ２レジスタ６０とを制御することにより柔軟に行うことができる。スキューオフセットの設定内容は、スキューカウントダウンカウンタ（スキューオフセットレジスタ５８）にプログラミングされた初期値である。
【００６３】
サブサンプリングのための転送制御の一般的な規則を以下に列挙する。
【００６４】
１．ＳＤＭＣ２０によってアイテムがＰＤＳ１６との間で転送されるとき、ブロックについての現在のスキューカウント値がデータアイテムのサイズより小さい場合、そのブロックに対してアイテムの書込み又は読出しが行われ、ＰＤＳ行ポインタ３８が進められる。
【００６５】
２．アイテムの書込み又は読出しが行われたかどうかに関係なく、ブロックの現在のスキューカウント値がスキューステップ１レジスタ６０以上である場合、スキューカウント値はスキューステップ１レジスタ６０の値だけデクリメントされ、ブロックの現在のスキューカウント値がスキューステップ１レジスタ６０未満である場合、スキューカウント値はスキューステップ２の値だけインクリメントされる。
【００６６】
これらの規則を使用することは、引き続きデータの読込みを行わなくてもサブサンプリングを定義及び実施でき、前述したデータ読込み障害が緩和される、という点において非常に有利である。
【００６７】
テータ転送（サブサンプリング又はその他の）を初期化するには、図１２の表に示すようにブロックモードパラメータを初期化する必要がある。
【００６８】
ＰＤＳの場所に書き込まれたデータは、ローカルバイトアライナー６６により、問題としているブロックの現在のスキューカウント値のＬＳＢ（最下位ビット）に応じて各々のブロック境界でローカルにバイトスワッピング可能であるということを留意しておくことが重要である。これにより、処理ブロックを構成するローカル処理要素に対して更なる制御レベルが与えられ、プログラマはデータ処理の手順をより正確に制御できるようになる。
【００６９】
ローカルバイトアライナー６６は、グローバルバイトアライナー５６とは機能が異なる。グローバルバイトアライナー５６は、同じような挙動を示すが、動作はグローバルであり、転送されるアイテムに関するデータサイズと、ＳＤＳアドレスのＬＳＢとによって定義される。この構成は図１１に示されている。
【００７０】
したがって、例えば、６４ビットのアイテム（Ｄ６４整列）が転送される場合、データは図１３の表に示すようにＰＤＳに書き込まれる。
【００７１】
次にブロックモードのサブサンプリングについて詳しく説明する。ＳＤＳメモリブロックがＰＤＳメモリブロックにマッピングされる順序は、スキューオフセットレジスタ５６にロードされた値によって決定される。この仕組みにより、以下の転送が可能である。
１．任意の順序でのメモリブロックの転送
２．ＳＤＳメモリブロックの一部を含む転送（つまり、ＳＤＳメモリブロックのマルチキャスト）
３．不規則なブロックオフセットを可能にする転送（つまり、部分的にオーバーラップするブロック）
４．データアイテムのサブサンプリングされた集合を移動する転送
【００７２】
これらの仕組みは、組み合わせて使用できる。ただし、ブロックのサブサンプリングの挙動を検討する際、１ブロックを分離して検討することに価値がある。便宜上、このブロックは、都合よくスキューオフセット＝０に置かれたＳＤＳブロックであると見なされる。
【００７３】
例：
図１４の以下の例は、サブサンプリングの５つの異なるケース（ここでは、ケース１〜ケース５）を示したものである。図中では、ＳＤＳメモリ１８内に常駐するデータの例７０が示されている。また、ＳＤＭＣ２０の一組のパラメータの値７２も示されている。各々の一組のパラメータ値７２の隣には、得られたデータが転送された、結果として得られるＰＤＳメモリストアの説明７４が示され、ＰＤＳに表示されている。この図から、図示のパラメータにより、サブサンプリングモードでのデータ転送がどのように行われるかを把握できる。
【００７４】
図１４に示す特定のケース（ケース２）を参照すると、データサイズ＝８バイト（つまり、Ｄ６４）、スキューステップ１＝スキューステップ２＝８バイトである。
【００７５】
留意すべき規則
１．ＳＤＭＣによってアイテムがＰＤＳとの間で転送されるとき、ブロックの現在のスキューカウント値がデータアイテムのサイズより小さい場合、そのブロックに対してアイテムの書込み又は読出しが行われ、ＰＤＳ行ポインタが進められる。
２．アイテムの書込み又は読出しが行われたかどうかに関係なく、ブロックの現在のスキューカウント値がスキューステップ１以上である場合、スキューカウント値はスキューステップ１の値だけデクリメントされ、ブロックの現在のスキューカウント値がスキューステップ１未満である場合、スキューカウント値はスキューステップ２の値だけインクリメントされる。
【００７６】
上記規則は、ＳＤＭＣ２０で実行するアルゴリズム（図示せず）内に実装される。
【００７７】
特定のケース（ケース２）について、アルゴリズムの挙動が図１５に示されている。上記に列挙した規則を適用すると二番目のワードがいずれもスキップされる（書き込まれない）ことが分かる。書込みが発生すると、スキューカウントがゼロになる。図１３のバイトレーンスワッピングプロトコルを参照すると、バイトレーンスワッピングは発生せず、データが変更なしで書き込まれる。したがって、書き込まれたデータワードの１６のＬＳＢを調べると、Ｐ１、Ｐ３、Ｐ５といったデータシーケンスが得られる。
【００７８】
本発明の好ましい特定の実施形態について説明してきたが、当該実施形態は単なる例であり、当業者は添付の特許請求の範囲に示された発明の趣旨及び範囲から逸脱することなく、変更及び修正を行うことができることを理解されたい。例えば、本発明はＡｓｐｅｘ  ＳＩＭＤプロセッサを使用した場合について説明されているが、他のタイプのプロセッサを使用してもかまわない。また、上記の実施形態は、ＰＤＳへのデータロードに関するものであるが、本実施形態をＰＤＳからＳＤＳへのデータ読出しのために使用することもできる。ただし、ＰＤＳからデータを読み出す場合、データ転送のタイプによってはそれが不可能であることを理解されたい。より詳細には、オーバーラップデータから非オーバーラップデータの作成を試みる場合等、データの完全性が損なわれるようなデータ転送は、逆方向については適用されず、無効である。更に、本発明の主な使用領域の１つは無線通信基地局での受信信号のマルチパス反射に起因する歪の問題を解決することにあるが、本発明の他の用途も可能であることは明らかである。
【００７９】
付録Ａ
一次データ記憶装置（Primary Data Store）（ＰＤＳ）
ＰＤＳ１６の内部構造は図２に示され、同時係属中の国際特許出願第ＰＣＴ／ＧＢ２００５／０００８９５号に説明されている。各々の連想処理要素（Associative Processing Element）（ＡＰＥ）は、６４ビットＰＤＳデータレジスタ、１ビットＳＤＴ行ポインタシフトレジスタ、１ビットＰＤＴロードデータレジスタ、及びＰＤＴ条件付きマスクロジックを有する。
【００８０】
ＰＤＳ１６に対する二次データ（Secondary Data）インターフェースは、ASProCoreローカルバス（ＡＬバス）として知られている。モジュール化を容易にするために、シフトレジスタ３８の内容はこのバスインターフェースを介して転送される。モジュール方式のＩＯ構成を組み立てるには、このシフトレジスタ３８の両端を互いにつなぐだけである。
【００８１】
ローカルバス（ＡＬバス）インターフェース
二次データ転送（Secondary Data Transfers）（ＳＤＴ）では、ＳＤＭＣ２０の制御下でＰＤＳ１６とＳＤＳ１８との間でデータを転送する。特定のＡＰＥのＰＤＳ  ＳＤＴ行ポインタレジスタ３８を使用して、関連付けられたＰＤＳデータレジスタ４０がデータ読出し又はデータ書込み動作に参加するかどうかが決められる。
【００８２】
ポインタシフトレジスタを初期化するには、以下に概説する２つの一般的な方法が用いられる。
１．プログラムの制御下で処理要素タグレジスタ（図示せず）からポインタレジスタをロードする。又は
２．ローカルデータインターフェース上でポインタの初期化サイクルを実行する。
【００８３】
通常の二次転送は以下のサイクルを含む。
１．ローカルデータインターフェース上での書込みサイクル。ＳＤＴポインタシフトレジスタ３８は、データ書込みの後でポストシフトする。
２．ローカルデータインターフェース上での読出しサイクル。ＳＤＴポインタシフトレジスタ３８は、データ読出しの後でポストシフトする。
【００８４】
ＳＤＴは、以下のように定義されたＤ８、Ｄ１６、Ｄ３２、又はＤ６４モードで行われる。
１．Ｄ８転送は６４ビットワードにパックされた８バイトを含む二次転送ワードに基づく。Ｄ８転送では、８個の独立したＡＰＥとの間で各々のバイトの読出し／書込みが行われ、転送が終了するとシフトレジスタ３８はＡＰＥ８個分だけ進む（図３（ａ））。
【００８５】
２．Ｄ１６転送では、６４ビットワードにパックされた４個のＤ１６アイテムを含む二次転送ワードに基づく。Ｄ１６転送では、４個の独立したＡＰＥとの間で各々のＤ１６アイテムの読出し／書込みが行われ、転送が終了するとシフトレジスタ３８はＡＰＥ４個分だけ進む（図３（ｂ））。
【００８６】
３．Ｄ３２転送では、６４ビットワードにパックされた２個のＤ３２アイテムを含む二次転送ワードに基づく。Ｄ３２転送では、２個の独立したＡＰＥとの間で各々のＤ３２アイテムの読出し／書込みが行われ、転送が終了するとシフトレジスタ３８はＡＰＥ２個分だけ進む（図３（ｃ））。
【００８７】
４．Ｄ６４転送では、単一の６４アイテムを含む二次転送ワードに基づく。Ｄ６４転送では、選択されたＡＰＥとの間で各々のＤ６４アイテムの読出し／書込みが行われ、転送が終了するとシフトレジスタ３８が進む（図３（ｄ））。
【００８８】
これらのパックモードは、ＡＬバスインターフェースで定義されたアイテムのサイズ／アライメントとは別に選択可能であることを理解されたい。
【００８９】
図３ａ〜図３ｂの概略図は、単一の二次転送の実施を示したものである。二次インターフェースとの間で、選択されたメモリワードのラベルの付いたフィールドは単一クロックサイクルで転送される。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施形態に従って二次データ記憶装置（Secondary Data Store）（ＳＤＳ）から一次データ記憶装置（Primary Data Store）（ＰＤＳ）への二次データ転送を実行するための二次データ移動コントローラ（Secondary Data Movement Controller）（ＳＤＭＣ）を含む、ＳＩＭＤ（単一命令多重データ（Single Instruction Multiple Data））処理アーキテクチャを示す概略ブロック図である。
【図２】図１のＰＤＳの構成要素を更に詳しく示す概略ブロック図である。
【図３】（ａ）〜（ｄ）は、様々なデータモードの二次データ転送を実行する場合に、図２のマルチポート直交メモリによって実現されるコーナーターニング機能を示す概略ブロック図である。
【図４】本発明の第１の実施形態に係るＳＤＭＣとともに、ＳＤＭＣの構成要素の機能の例を示す概略ブロック図である。
【図５】図４に示されたバイトアライナーの各種データサイズに対するバイトレーン整列機能を示す一連の表である。
【図６】図４に示されたＳＤＭＣ内のデータレジスタの構成を示す概略ブロック図である。
【図７】本発明の本実施形態を使用して行うことができる各種データ転送を示す概略ブロック図である。
【図８ａ】単純順次ブロックモード転送を説明するために、図４のＳＤＭＣの各種レジスタの値を示した表である。
【図８ｂ】図８ａに示されたデータレジスタ内に格納されたデータ値によって引き起こされるデータ転送を示す概略ブロック図である。
【図９ａ】ブロック並べ替えブロックモード転送を説明するために、図４のＳＤＭＣの各種レジスタの値を示した表である。
【図９ｂ】図９ａに示されたデータレジスタ内に格納されたデータ値によって引き起こされるデータ転送を示す概略ブロック図である。
【図１０ａ】マルチキャストブロックモード転送を説明するために、図４のＳＤＭＣの各種レジスタの値を示した表である。
【図１０ｂ】図１０ａに示されたデータレジスタ内に格納されたデータ値によって引き起こされるデータ転送を示す概略ブロック図である。
【図１１】本発明の第２の実施形態に係るＳＤＭＣを示す概略ブロック図である。
【図１２】ＳＤＭＣの各種データレジスタの機能を示す表である。
【図１３】図１１に示された第２の実施形態のローカルバイトアライナーの機能を示す表である。
【図１４】第１の実施形態又は第２の実施形態のＳＤＭＣ内において様々な値を使用してサブサンプリングをどのように実施できるかを示す一組の例である。
【図１５】図１４のケース２のアルゴリズムの挙動を示すとともに、更なるデータ取込み動作を行わずに、データレジスタ内に格納されたパラメータを使用してデータのサブサンプリングを行う方法を示す表である。
【図１】
2008503131.tif 000003
【図２】
2008503131.tif 000004
【図３】
2008503131.tif 000005
【図４】
2008503131.tif 000006
【図５】
2008503131.tif 000007
【図６】
2008503131.tif 000008
【図７】
2008503131.tif 000009
【図８ａ】
2008503131.tif 000010
【図８ｂ】
2008503131.tif 000011
【図９ａ】
2008503131.tif 000012
【図９ｂ】
2008503131.tif 000013
【図１０ａ】
2008503131.tif 000014
【図１０ｂ】
2008503131.tif 000015
【図１１】
2008503131.tif 000016
【図１２】
2008503131.tif 000017
【図１３】
2008503131.tif 000018
【図１４】
2008503131.tif 000019
【図１５】
2008503131.tif 000020
【国際調査報告】
2008503131.tif 000021
2008503131.tif 000022
2008503131.tif 000023
2008503131.tif 000024