(57)【特許請求の範囲】
【請求項１】
複数のデータ格納手段で構成されるデータ格納手段群と、
前記データ格納手段群からデータを受け取り、演算を行うアレイ演算手段とに接続され、
前記データ格納手段へ発行するアドレスのベースアドレスを生成するベースアドレス生成手段と、
前記ベースアドレス生成手段で生成されたベースアドレスを一旦格納する複数のベースアドレス格納手段と、
前記ベースアドレス格納手段に格納されたベースアドレスにオフセットを加算したアドレスを生成するアドレス演算手段と、
前記アドレス演算手段から発行されるアドレスを、対応する前記データ格納手段に転送するアドレス転送手段と、
前記アレイ演算手段からのリクエスト信号に基づき、又は、クロック信号をカウントするカウンタでのカウントに基づき、制御信号を前記アドレス演算手段に出力し、前記アドレス演算手段における前記アドレス演算実行のタイミング、及び、生成したアドレス発行のタイミングを制御するタイミング制御手段と、
を備え、
前記アドレス演算手段における前記アドレス発行のタイミングを、前記タイミング制御手段で管理し、  前記ベースアドレス生成手段は、ベースアドレス生成中にアドレス発行のタイミング管理を行わず、ベースアドレスを必要なだけ早出しで前記ベースアドレス格納手段に格納する、ことを特徴とするアドレス生成装置。
【請求項２】
前記複数のベースアドレス格納手段に対応して、複数の前記ベースアドレス生成手段を備え、
前記ベースアドレス生成手段は、前記アレイ演算手段で要求されるデータ入出力タイミングによらず自身のタイミングでベースアドレスを生成し、
前記アドレス演算手段は、前記タイミング制御手段からの前記制御信号によって、前記複数のベースアドレス格納手段から出力されるベースアドレスにオフセット加算の演算を行い、
前記データ格納手段群にアドレスを供給する、ことを特徴とする請求項１記載のアレイプロセッサ向けアドレス生成装置。
【請求項３】
前記タイミング制御手段が、前記カウンタでクロックをカウントし所定のクロックサイクル数に１回のタイミングで、アドレス発行のタイミングを検知し、前記制御信号を前記アドレス演算手段に出力する、ことを特徴とする請求項１記載のアレイプロセッサ向けアドレス生成装置。
【請求項４】
前記タイミング制御手段が、アドレス発行のタイミングの検知を、
クロック信号をカウントする、
前記アレイ演算手段から出力されるリクエスト信号を用いる、
の一方を選択し、
前記アドレス演算手段における、読み出しと書き込みのそれぞれのアドレスの演算処理のタイミングを制御する制御信号を出力する、ことを特徴とする請求項１記載のアレイプロセッサ向けアドレス生成装置。
【請求項５】
前記タイミング制御手段が、前記アドレス演算の実行タイミングをクロックサイクル単位で制御する、ことを特徴とする請求項１乃至４のいずれか一に記載のアレイプロセッサ向けアドレス生成装置。
【請求項６】
前記データ格納手段群と、
前記アレイ演算手段と、
請求項１乃至５のいずれか一に記載のアレイプロセッサ向けアドレス生成装置と、  
を備えたことを特徴とするアレイプロセッサ。
【請求項７】
複数のデータ格納手段で構成されるデータ格納手段群と、前記データ格納手段群からデータを受け取り演算を行うアレイ演算手段と、を有するアレイプロセッサ向けのアドレス生成方法であって、
前記データ格納手段へ発行するアドレスのベースアドレスを生成し、
前記ベースアドレスをベースアドレス格納手段に一旦格納し、
前記ベースアドレス格納手段に格納されたベースアドレスにアドレス演算手段でオフセットを加算したアドレスを生成し、
前記アドレス演算されたアドレスを対応する前記データ格納手段に転送し、
タイミング制御手段では、前記アレイ演算手段からのリクエスト信号に基づき、又は、クロック信号をカウントするカウンタでのカウントに基づき、制御信号を前記アドレス演算手段に出力し、前記アドレス演算手段における前記アドレス演算実行のタイミング、及び、生成したアドレス発行のタイミングを制御し、
前記アドレス演算手段における前記アドレス発行のタイミングを、前記タイミング制御手段で管理し、前記ベースアドレス生成手段は、ベースアドレス生成中にアドレス発行のタイミング管理を行わず、ベースアドレスを必要なだけ早出しで前記ベースアドレス格納手段に格納する、ことを特徴とするアドレス生成方法。
【請求項８】
前記アレイ演算手段で要求されるデータ入出力タイミングによらず自身のタイミングでベースアドレスを生成し、
前記アドレス演算手段は、前記タイミング制御手段からの前記制御信号によって、前記複数のベースアドレス格納手段から出力されるベースアドレスにオフセット加算の演算を行い、
前記データ格納手段群にアドレスを供給する、ことを特徴とする請求項７記載のアドレス生成方法。
【請求項９】
前記タイミング制御手段が、前記カウンタでクロックをカウントし所定のクロックサイクル数に１回のタイミングで、アドレス発行のタイミングを検知し、前記制御信号を前記アドレス演算手段に出力する、ことを特徴とすることを特徴とする請求項７記載のアドレス生成方法。
【請求項１０】
前記タイミング制御手段が、アドレス発行のタイミングの検知を、
クロック信号をカウントする、
前記アレイ演算手段から出力されるリクエスト信号を用いる、
の一方を選択し、
前記アドレス演算手段における、読み出しと書き込みのそれぞれのアドレスの演算処理のタイミングを制御する制御信号を出力する、ことを特徴とする請求項７記載のアドレス生成方法。
【請求項１１】
前記タイミング制御手段が、前記ベースアドレスのアドレス演算の実行タイミングをクロックサイクル単位で行う、ことを特徴とする請求項７乃至１０のいずれか１項に記載のアドレス生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の記載］
本発明は、日本国特許出願：特願２００７−３１６０９９号（２００７年１２月６日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明はディジタル無線受信装置に関し、特に周波数多重伝送される信号の受信装置に関する。
本発明はアレイプロセッサに関し、特に、アレイプロセッサ向けアドレス生成装置及び方法に関する。
【背景技術】
【０００２】
高い演算性能を求めたプロセッサアーキテクチャの一つにアレイプロセッサがある。アレイプロセッサは、その典型的な構成として、複数の演算ユニット（「ＰＥ」という）がアレイ状に配置され、周辺に複数のメモリバンクが配置される。アレイ状に配置された複数のＰＥが周辺のユニットからデータを受け取りながら並列に演算を実行することで高い演算性能を実現する。複数のＰＥが同時に演算を実行するため、演算の並列度が高く、同じ周波数で動作するノイマン型アーキテクチャにくらべ高い演算性能を実現できる。【０００３】
また、複数のメモリバンクから同時にデータをアクセスするため、ノイマン型アーキテクチャにおけるメモリアクセスのボトルネックを解消できる。【０００４】
さらに、連続してデータを処理できることからストリームデータを対照とした処理に適している。一例として、Ｖｏｌｋｅｒ  Ｓｔｒｕｍｐｅｎらが提唱したＤＳＡ（Ｄｅｃｏｕｐｌｅｄ  Ｓｙｓｔｏｌｉｃ  Ａｒｃｈｉｔｅｃｔｕｒｅ）がある（非特許文献１参照）。非特許文献１のプロセッサは、「シストリックアレイ型プロセッサ」と呼ばれる。【０００５】
このようなシストリックアレイにおいて高速演算を実現するには、複数のメモリバンクに同時アクセスができるような効率的なメモリアクセス能力に加え、ＰＥ間を伝搬するデータのタイミングに合わせてメモリアクセスをするため、クロックサイクル精度のメモリアクセスタイミング制御が要求される。【０００６】
例えば特許文献１には、余分な処理サイクル数を削減できメモリアクセス性能を向上する演算システムとして、図６に示すような構成が開示されている。図６を参照すると、この演算システムは、アドレス相互接続網（ＡＣＮＣＴ）２１に、プロセッサ（ＰＲＣ）２４により生成されたベースとなるアドレスＡｄｒを変換し、変換アドレスおよびメモリバンクのアドレスの数に基づいたパラメータに基づいて、バンク選択信号ｓｅｌを生成し、データ相互接続網（ＤＣＮＣＴ）２５に出力するアドレス変換回路（装置）（ＡＣＮＶ）２２を備え、データ相互接続網２５ではバンク選択信号ｓｅｌに基づいてプロセッサ２４とメモリバンク２３ａ〜２３ｆとのデータ経路を選択的に設定する。【０００７】
メモリバンク２３ａ〜２３ｆは、演算に関するデータを記憶し、たとえばアドレス空間がａｄｒ０〜ａｄｒ４７の４８個のアドレスを有するものであるとすると、それぞれ６等分した８アドレスずつ割り当てられて８アドレスを持つ。【０００８】
アドレス生成装置２０ａ〜２０ｆはメモリバンク２３ａ〜２３ｆのメモリアドレスに対応するアドレスを生成してアドレス相互接続網２１に出力する。【０００９】
演算装置２６ａ〜２６ｆは、データ相互接続網２５を介して転送されたデータに対して演算を行い、演算結果をデータ相互接続網２５に出力する。【００１０】
プロセッサ２４は、連続するアドレス、たとえばアドレス空間に対応したアドレスＡｄｒを生成して、アドレス相互接続網２１に出力する。プロセッサ２４は、データ相互接続網２５を介して所望のメモリバンクから読み出したデータ、あるいは演算装置２６ａ〜２６ｆの演算結果を入力して所定の処理を行い、また、データ相互接続網２５を介して所定のデータを所望のメモリバンク、あるいは所望のデータを演算装置２６ａ〜２６ｆに転送する。【００１１】
図６の演算システムでは、アドレス相互接続網２１により、複数のメモリバンク２３ａ〜２３ｆに同時にアクセス可能とし、アドレス生成処理をプロセッサと、専用ハードウエア（ＨＷ）で分担し、アドレス生成処理量の効率化を図っている。【００１２】
【非特許文献１】Ｖｏｌｋｅｒ  Ｓｔｒｕｍｐｅｎ他２名「Ｓｔｒｅａｍ  Ａｌｇｏｒｉｔｈｍｓ  ａｎｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ」、  Ｊｏｕｒｎａｌ  ｏｆ  Ｉｎｓｔｒｕｃｔｉｏｎ−Ｌｅｖｅｌ  Ｐａｒａｌｌｅｌｉｓｍ  ６、２００４年９月４日、ｐｐ．  １−３１
【特許文献１】特開２００４−１０２６３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上記の特許文献１、非特許文献１の各開示は、引用をもって本書に繰り込むものとする。以下の分析は本発明によって与えられる。【００１４】
特許文献１に記載の構成においては、クロックサイクル単位のタイミング制御を行う場合、プロセッサ２４内でタイミングの制御を行う。図７は、図６の演算システムにおけるプロセッサによるアドレス生成のタイミング制御を説明する図である。図８は、図６のアドレス変換回路２２のアドレス生成を説明する図である。プロセッサ２４において、ベースアドレス生成（図７のＳ１０１）、タイミング取得（図７のＳ１０２）、外部ユニットにアドレス出力（図７のＳ１０４）という一連の処理が行われる。メモリアクセスに必要なアドレスを生成するアドレス変換回路（ＡＣＮＶ）２２では、プロセッサ２４からデータを入力し（図８のＳ２０１）、アドレス生成処理（Ｓ２０２）を行う。【００１５】
このように、プロセッサ２４において、アドレス生成の処理にタイミング制御（図７のステップＳ１０２、Ｓ１０３）の処理が加わることで、プログラム量が増加する。【００１６】
また、プロセッサ２４として、これらの処理を実行しても破綻しない高性能なプロセッサが必要となる。【００１７】
したがって、本発明の目的は、アレイプロセッサのアドレス生成において、より簡素なプロセッサとより少ない追加ハードウェアにより、効率的にメモリアクセスを行うことができアドレス生成装置と方法、及びアレイプロセッサを提供することにある。本発明の他の目的は、アレイプロセッサのアドレス生成において、クロックサイクル単位のタイミング制御を行うことができるアドレス生成装置と方法、及びアレイプロセッサを提供することにある。
【課題を解決するための手段】
【００１８】
本願に開示される発明は前記課題を解決するため概略以下の構成とされる。【００１９】
本発明のアレイ演算装置（プロセッサ）向けアドレス生成装置は、アレイ演算装置の演算に関するデータを記憶するメモリと、前記メモリのベースアドレスを生成するアドレス生成用プロセッサと、前記アドレス生成用プロセッサで生成されたベースアドレスを変換するアドレス変換回路と、前記アドレス生成装置で生成されたベースアドレスを一時的に格納するバッファと、前記アドレス変換回路における、少なくともアドレス演算の実行のタイミング制御を行うタイミング制御ユニットと、を備えている。【００２０】
本発明においては、複数のデータ格納手段で構成されるデータ格納手段群と、前記データ格納手段群からデータを受け取り、演算を行うアレイ演算手段とに接続され、
前記データ格納手段へ発行するアドレスのベースアドレスを生成するベースアドレス生成手段と、
前記ベースアドレス生成手段から得られたベースアドレスを一旦格納するベースアドレス格納手段と、
前記ベースアドレス格納手段から得られたベースアドレスに所定の追加演算を行うアドレス演算手段と、
前記アドレス演算手段から得られるアドレスを前記複数のデータ格納手段に転送するアドレス転送手段と、
前記アドレス演算手段で演算を行うタイミングを制御するタイミング制御手段と、
を備え、
前記複数のデータ格納手段にアドレスを発行し、
前記ベースアドレス生成手段は、前記アレイ演算手段で要求されるデータ入出力タイミングによらず自身のタイミングでベースアドレスを生成し、
前記アドレス演算手段は、前記タイミング制御手段からの制御信号によって、前記複数のベースアドレス格納手段から出力されるベースアドレスに追加の演算を行い、
前記データ格納手段群にアドレスを供給する。【００２１】
本発明において、前記タイミング制御手段が、クロック信号をカウントすることで、アドレス発行のタイミングを検知する。あるいは、前記タイミング制御手段が、前記アレイ演算手段から出力されるリクエスト信号を用いてアドレス発行のタイミングを検知する。【００２２】
本発明において、前記タイミング制御手段がアドレス発行のタイミングの検知を、
クロック信号をカウントする、
前記アレイ演算手段から出力されるリクエスト信号を用いる、
を選択し、読み出し、書き込みそれぞれのアドレス生成処理に適用する、ようにしてもよい。【００２３】
本発明において、前記アドレス演算手段が入力されたベースアドレスにあらかじめ指定されたオフセット値を加算する処理を行う。【００２４】
本発明によれば、複数のデータ格納手段で構成されるデータ格納手段群と、
前記データ格納手段群からデータを受け取り、演算を行うアレイ演算手段と、
前記データ格納手段へ発行するアドレスのベースアドレスを生成するベースアドレス生成手段と、
前記ベースアドレス生成手段から得られたベースアドレスを一旦格納するベースアドレス格納手段と、
前記ベースアドレス格納手段から得られたベースアドレスに所定の追加演算を行うアドレス演算手段と、
前記アドレス演算手段から得られるアドレスを前記複数のデータ格納手段に転送するアドレス転送手段と、
前記アドレス演算手段で演算を行うタイミングを制御するタイミング制御手段と、
を備え、
前記複数のデータ格納手段にアドレスを発行し、
前記ベースアドレス生成手段は、前記アレイ演算手段で要求されるデータ入出力タイミングによらず自身のタイミングでベースアドレスを生成し、
前記アドレス演算手段は、前記タイミング制御手段からの制御信号によって、前記複数のベースアドレス格納手段から出力されるベースアドレスに追加の演算を行い、
前記データ格納手段群にアドレスを供給するアレイプロセッサが提供される。【００２５】
本発明によれば、アレイ演算装置の演算に関するデータを記憶するメモリのベースアドレスを生成するステップと、
前記生成したベースアドレスをバッファに格納するステップと、
前記バッファに格納されたベースアドレスを変換するステップと、
前記ベースアドレスの変換の実行タイミングの制御を行うステップと、
を含むアドレス生成方法が提供される。
【発明の効果】
【００２６】
本発明によれば、より簡素なプロセッサとより少ない追加ハードウェアにより、アレイプロセッサにおいて、効率的にメモリアクセスを行うことができる。本発明によれば、クロックサイクル単位のタイミング制御を行うことができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施例の構成を示す図である。
【図２】本発明の実施例におけるアドレス生成用プロセッサの動作を説明する流れ図である。
【図３】本発明の実施例におけるバッファの動作を説明する流れ図である。
【図４】本発明の実施例におけるアドレス変換回路の動作を説明する図である。
【図５】本発明の別の実施例の構成を示す図である。
【図６】特許文献１に開示された演算システムの構成を示す図である。
【図７】図６のアドレス生成用プロセッサの動作を説明する流れ図である。
【図８】図６のアドレス変換回路の動作を説明する流れ図である。
【符号の説明】
【００２８】
１０ａ〜１０ｃ、８０ａ〜８０ｃ  アドレス生成用プロセッサ
１１、２１、８１  アドレス相互接続網
１２、２２、８２  アドレス変換回路
１３ａ〜１３ｃ、２３ａ〜２３ｆ、８３ａ〜８３ｃ  メモリバンク
１４、８４  アレイ演算装置
１５ａ〜１５ｃ、８５ａ〜８５ｃ  バッファ
１６、８６  タイミング制御ユニット
２０ａ〜２０ｆ  アドレス生成装置
２４  プロセッサ
２５  データ相互接続網
２６ａ〜２６ｆ  演算装置
【発明を実施するための最良の形態】
【００２９】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して実施例を説明する。図１に示すように、本発明に係る装置は、その一実施形態において、
複数のメモリバンク（データ格納手段）（１３ａ〜１３ｃ）に発行するアドレスのベースアドレスを生成するアドレス生成用プロセッサ（ベースアドレス生成手段）（１０ａ〜１０ｃ）と、
アドレス生成用プロセッサ（１０ａ〜１０ｃ）から得られたベースアドレスをそれぞれ一旦格納する複数のバッファ（ベースアドレス格納手段）（１５ａ〜１５ｃ）と、
バッファ（１５ａ〜１５ｃ）から得られるベースアドレスにオフセット加算などのアドレス変換処理を行うアドレス変換回路（アドレス演算手段）（１２）と、
アドレス変換回路（１２）から得られるアドレスを、複数のデータ格納手段に転送するアドレス相互接続網（アドレス転送手段）（１１）と、
前記アドレス変換回路（１２）で演算を行うタイミングを制御するタイミング制御ユニット（タイミング制御手段）（１６）と、を備える。【００３０】
アドレス生成用プロセッサ（１０ａ〜１０ｃ）では、ベースアドレス生成処理の他に、アドレス生成処理の開始と終了を通知する処理のみを行うようにする。【００３１】
クロックサイクル単位のアドレス生成の制御は、タイミング制御ユニット（１６）で行う。【００３２】
アドレス生成用プロセッサ（１０ａ〜１０ｃ）とアドレス変換回路（１２）との処理速度の違いは、バッファ（１５ａ〜１５ｃ）により吸収する。【００３３】
本発明の一実施形態においては、クロックサイクル精度での正確なタイミング制御をタイミング制御ユニット（１６）で行うため、アドレス生成用プロセッサ（１０ａ〜１０ｃ）では、処理の開始と終了を通知しベースアドレスを生成するだけで済む。【００３４】
また、本発明の一実施形態においては、制御用処理を、プロセッサ側でする必要がないため、プログラム量を削減することができる。【００３５】
本発明の一実施形態においては、アドレス接続網とアドレス変換回路（図６乃至図８を参照して説明した特許文献１の構成のアドレス接続網とアドレス変換装置）により、複数のメモリバンクへの同時アクセスが可能であることに加えて、より簡素なプロセッサを用いてクロックサイクル単位のタイミングの制御が可能である。以下実施例に即して説明する。
【実施例】
【００３６】
図１は、本発明の第１の実施例の構成を示す図である。図１において、複数（ｍ個）のメモリバンク１３ａ〜１３ｃは、それぞれ演算用データを格納する。【００３７】
アレイ演算装置１４は、ｍ個のメモリバンク１３ａ〜１３ｃに格納されたデータを用いて所望の演算を行う。アレイ演算装置１４は、複数（ｍ個）の演算装置を備えている。【００３８】
複数（ｎ個）のアドレス生成用プロセッサ１０ａ〜１０ｃは、メモリバンクのメモリアドレスに対応するアドレス（ベースアドレス）を生成する。【００３９】
バッファ１５ａ〜１５ｃは、アドレス生成用プロセッサ１０ａ〜１０ｃからそれぞれ出力されたベースアドレスを一時格納する。【００４０】
アドレス相互接続網１１は、バッファ１５ａ〜１５ｃに格納されているベースアドレスを受け取る所望のメモリバンク１３ａ〜１３ｃにデータを転送する。【００４１】
アドレス変換回路１２は、アドレス生成用プロセッサ１０ａ〜１０ｃでそれぞれ生成されるベースアドレスを用いて、アドレス変換の演算（例として、オフセットの加算やＤＦＴ用アドレスへの変換）を行う。アドレス変換回路１２は、特許文献１に記載されるアドレス演算を行い、変換アドレスを出力する。【００４２】
タイミング制御ユニット１６は、アドレス変換回路１２での演算・アドレス発行のタイミングを制御する。【００４３】
次に図１、図２、図３、図４を参照して、本発明の第１の実施例の動作を説明する。以下の動作説明は、アドレス生成用プロセッサ１０ａ〜１０ｃでベースアドレスを生成してから、メモリバンク１３ａ〜１３ｃにアドレスを発行するまでを、読み出し時と書き込み時に分けて注目したものである。また、動作の説明の前提として、アドレス変換回路１２では、オフセットアドレスの加算処理が行われる。【００４４】
タイミング制御ユニット１６によって１６クロックに８個のタイミングでアドレスが発行される。【００４５】
以下の説明では、メモリ読み出し用のベースアドレスをアドレス生成用プロセッサ１０ａで生成し、メモリ書き込み用のベースアドレスをアドレス生成用プロセッサ１０ｂで生成する処理を想定する。【００４６】
初めに読み出し用アドレスの生成についてその動作を説明する。【００４７】
まず、アドレス生成用プロセッサ１０ａでメモリバンク＃０（１３ａ）にアクセスするためのベースアドレスが生成される。【００４８】
図２は、アドレス生成用プロセッサにおける処理フローを示す図である。アドレス生成用プロセッサ１０ａのベースアドレスの生成フローについて説明する。【００４９】
アドレス生成用プロセッサ１０ａにおいて処理が開始されると、まず、スタート信号が発行される（ステップＳ１）。【００５０】
アドレス生成用プロセッサ１０ａにおいてベースアドレスが生成される（ステップＳ２）。【００５１】
アドレス生成用プロセッサ１０ａでは、所定の数だけベースアドレスが生成されたか否かを判定し、所定の数まで達していない場合には、ベースアドレスの生成（ステップＳ２）を繰り返し、所定の数まで達している場合には、処理を終了する。【００５２】
本実施例においては、アドレス生成用プロセッサ１０ａでベースアドレスを生成している間、アドレス生成用プロセッサ１０ａではタイミングの管理を行わない。すなわち、アドレス生成用プロセッサ１０ａにおいて、図７のステップＳ１０２、Ｓ１０３の処理は行われない。このため、ベースアドレスを早出しできる。【００５３】
アドレス生成用プロセッサ１０ａにて生成されたアドレスはバッファ１５ａに格納される。【００５４】
図３は、図１のバッファ１５ａ〜１５ｃの処理を説明する図である。アドレス生成用プロセッサ１０ａ〜１０ｃからのベースアドレスは、バッファ１５ａ〜１５ｃにそれぞれ入力される。少なくとも１つのベースアドレスがバッファに格納されると、タイミング制御ユニット１６で管理されているアドレス生成のタイミングに応じて、少なくとも１つのベースアドレスを格納したバッファから、アドレス相互接続網１１を介してアドレス変換回路１２にベースアドレスが転送される（ステップＳ１１）。【００５５】
アドレス生成用プロセッサ１０ａによるベースアドレスの生成処理がアドレス変換回路１２のアドレス発行タイミングよりも早く、バッファ１５ａがオーバーフローしそうになった場合には（ステップＳ１２のＹｅｓ）、バッファ１５ａからアドレス生成用プロセッサ１０ａに割り込み信号を発行し（ステップＳ１３）、アドレス生成プロセッサ１０ａの動作を止める。【００５６】
その後、再び、バッファに十分な空き容量があると判定されると（ステップＳ１４のＮｏ分岐）、アドレス生成プロセッサ１０ａに割り込み信号を発行し、ベースアドレス生成処理の再開を指示する（ステップＳ１５）。タイミング制御ユニット１６は、クロック信号を基にしたカウンタによりアドレス発行するタイミングの制御を行う。【００５７】
アドレス変換回路１２では、オフセットの加算処理が行われ、所定のタイミングでメモリバンク１３ａにアドレスを発行する。【００５８】
図４は、タイミング制御ユニット１６とアドレス変換回路１２の処理フローを示す図である。【００５９】
メモリバンク１３ａにアドレスが発行されると、メモリバンク１３ａからアレイ演算装置１４にデータが供給され、演算処理が行われる。タイミング制御ユニット１６では、クロック信号を用いてデータ読み出しに必要なタイミングの同期が行われる（ステップＳ２１〜Ｓ２２）。第二のタイミング制御（ステップＳ２１）は、タイミング制御ユニット１６によって行われるタイミング制御であり、アドレス変換回路１２にタイミング信号を所定のサイクル毎に出力する。タイミング条件に合致した場合（ステップＳ２２のＹｅｓ）、アドレス変換回路１２は、バッファ１５ａにベースアドレスがあると（ステップＳ２３のＹｅｓ）、ベースアドレスのアドレス変換の演算を行い、変換アドレスを生成する（ステップＳ２４）。ベースアドレスの変換はアレイ演算装置１４が必要な分だけ連続して行われる。【００６０】
次に、本実施例における書き込み用アドレスの生成についてその動作を説明する。前述したように、アドレス生成用プロセッサ１０ａは読み出し用のベースアドレスを生成し、アドレス生成用プロセッサ１０ｂは、書き込み用ベースアドレスを生成するものとする。読み出し用アドレス生成は連続して行われるため、アレイ演算装置１４からメモリバンクにデータが出力されるとき（データ書き込み時）でも、アドレス生成用プロセッサ１０ａにおいて、読み出し用アドレスの生成は実行されなければならない。【００６１】
従って、別のアドレス生成用プロセッサ１０ｂで書き込み用のベースアドレスが生成され、バッファ１５ｂに格納される。【００６２】
タイミング制御ユニット１６では、データ読み出し時と同様に、クロック信号を用いてデータ書き込みに必要なタイミングの同期が行われる。【００６３】
タイミング制御ユニット１６から得られるタイミングを基に、アドレス相互接続網１１を介してアドレス変換回路１２に、バッファ１５ｂからベースアドレスが入力され、オフセットの加算が施され、メモリバンク１３ａにアドレスが発行される。【００６４】
本実施例には、前述した２つのアドレス生成用プロセッサ１０ａ、１０ｂの他に２つのアドレス生成用プロセッサ（図１のアドレス生成用プロセッサ１０ｃはそのうちの１つ）が設けられているものとする。これらのプロセッサについても、アドレス生成用プロセッサ１０ａ、１０ｂと同様に動作することができる。【００６５】
その場合、アドレス相互接続網１１ではそれぞれのアドレス生成用プロセッサ１０ａ、１０ｂ、・・・１０ｃでそれぞれ生成された４種のベースアドレスが入力され、アドレス変換回路１２でオフセットの加算が行われた後、指定されたメモリバンク１３ａ、・・・、１３ｃへ出力される。【００６６】
なお、本実施例において、前提とした１６クロックサイクルに８個のアドレスを出力するタイミングの制限やアドレス生成用プロセッサの数は、説明の簡単化のための一例であり、その限りではない。【００６７】
図６に示した構成においては、アドレス相互接続網２１のアドレス変換装置２２はアドレス変換を行うとともにバンク選択信号ｓｅｌを生成してデータ相互接続網（ＤＣＮＣＴ）２５に出力し、データ相互接続網（ＤＣＮＣＴ）２５ではバンク選択信号ｓｅｌに基づいてプロセッサ２４とメモリバンクとのデータ経路を選択的に設定している。一方、本実施例においては、図６のデータ接続網（ＤＣＮＣＴ）は省略され、アドレス変換回路１２は、図６のバンク選択信号ｓｅｌは生成しない。【００６８】
次に、本発明の第２の実施例を説明する。図５は、本発明の第２の実施例の構成を示す図である。図５を参照すると、本実施例において、タイミング制御ユニット８６でのタイミング同期に関して、前記第１の実施例では、クロック信号を参照してタイミング同期をとっているが、本実施例では、アレイ演算装置８４からのリクエスト信号を参照してタイミング同期をとっている。【００６９】
次に図２乃至図５を参照して、本の実施例の動作を説明する。以下の動作説明は、アドレス生成用プロセッサ８０ａで、ベースアドレスを生成してからメモリバンク＃０（８３ａ）にアドレスを発行するまでを、読み出し時と書き込み時に分けて注目したものである。また、動作の説明を行うための前提として、アドレス変換回路８２では、オフセットの加算処理が行われる。【００７０】
タイミング制御ユニット８６によって、１６クロックに８個のタイミングでアドレスが発行される。【００７１】
以下では、メモリ読み出し用のベースアドレスをアドレス生成用プロセッサ８０ａで生成し、メモリ書き込み用のベースアドレスをアドレス生成用プロセッサ８０ｂで生成する処理を想定する。【００７２】
初めに、読み出し用アドレス生成について動作説明する。まず、アドレス生成用プロセッサ８０ａでメモリバンク＃０にアクセスするためのベースアドレスが生成される。【００７３】
アドレス生成用プロセッサ８０ａにおけるベースアドレス生成の処理フローは、図２に示した通りである。アドレス生成用プロセッサ８０ａのベースアドレス生成フローの処理が開始されると、まず、スタート信号が発行される。次に、ベースアドレスが生成される（図２のステップＳ２）。【００７４】
そして、所定の数だけベースアドレスが生成されたか否かを判定し、まだ所定の数まで達していない場合はベースアドレスの生成を繰り返し、所定の数まで達している場合には処理を終了する。【００７５】
本実施例において、ベースアドレス生成中は、アドレス生成用プロセッサ８０ａにてタイミングの管理を行わないため、ベースアドレスを早出しできる。【００７６】
アドレス生成用プロセッサ８０ａにて生成されたアドレスはバッファ８５ａに格納される。【００７７】
図５のバッファ８５ａ〜８５ｃの動作フローは、前記実施例と同様、図３の通りである。バッファにベースアドレスが少なくとも１つ格納されていると、タイミング制御ユニット８６で管理されているアドレス生成のタイミングに応じて、少なくとも１つのベースアドレスを格納したバッファから、アドレス相互接続網８１を介してアドレス変換回路８２にベースアドレスが転送される。【００７８】
もし、アドレス生成用プロセッサ８０ａのベースアドレス生成処理がアドレス変換回路８２のアドレス発行タイミングよりも早く、バッファ８５ａがオーバーフローしそうになった場合は、バッファ８５ａからアドレス生成用プロセッサ８０ａに割り込み信号を発行し、アドレス生成プロセッサ８０ａの動作を止める。【００７９】
その後、再び、バッファ８５ａに十分な空き容量があると判定されると、アドレス生成プロセッサ８０ａに割り込み信号を発行し、ベースアドレス生成処理の再開を指示する。【００８０】
タイミング制御ユニット８６では、アレイ演算装置８４からのリクエスト信号により、アドレス生成タイミングの制御が行われる。【００８１】
アドレス変換回路８２ではオフセットの加算処理が行われ、所定のタイミングでメモリバンク８３ａにアドレスを発行する。【００８２】
タイミング制御ユニット８６とアドレス変換回路８２の処理フローは、前記実施例と同様、図４に示した通りである。【００８３】
メモリバンク８３ａにアドレスが発行されると、アレイ演算装置８４にデータが供給され、演算処理が行われる。【００８４】
アドレス生成用プロセッサ８０ａにおいてベースアドレス生成はアレイ演算装置８４が必要な分だけ連続して行われる。【００８５】
次に、書き込み用アドレス生成についてその動作を説明する。【００８６】
読み出し用アドレス生成は、連続して行われるため、アレイ演算装置８４からデータが出力されるときでも、アドレス生成用プロセッサ８０ａにおいて読み出し用アドレス生成は実行されなければならない。【００８７】
従って、別のアドレス生成用プロセッサ８０ｂでベースアドレスが生成され、バッファ８５ｂに格納される。【００８８】
タイミング制御ユニット８６では、データ読み出し時と同様に、クロック信号を用いてデータ書き込みに必要なタイミングの同期が行われる。【００８９】
タイミング制御ユニット８６から得られるタイミングを基に、アドレス相互接続網８１を介して、アドレス変換回路８２にベースアドレスが入力され、オフセットの加算が施され、メモリバンク８３ａにアドレスが発行される。【００９０】
本実施例には、図５において、前述した２つのアドレス生成用プロセッサ８０ａ、８０ｂの他に２つのアドレス生成用プロセッサ（そのうちの１つが８０ｃ）が存在するものとする。【００９１】
それらのプロセッサについても前述のアドレス生成用プロセッサ８０ａ、８０ｂと同様に動作することができる。【００９２】
その場合、アドレス相互接続網８１ではそれぞれのアドレス生成用プロセッサで生成された４種のベースアドレスが入力され、アドレス変換回路８２でオフセットの加算が行われた後、指定されたメモリバンクへ出力される。【００９３】
なお、本実施例において、前提とした１６クロックサイクルに８個のアドレスを出力するタイミングの制限やアドレス生成用プロセッサの数は、説明の簡単化のための一例であり、その限りではない。【００９４】
次に、本発明の第３の実施例を説明する。本実施例においては、前記第１の実施例と前記第２の実施例を組み合わせたものである。タイミング制御ユニットにおける、タイミング同期の取り方が、クロック信号をカウントするカウンタによる制御（図１参照）と、アレイ型演算装置から得られるリクエスト信号による制御（図５参照）とのいずれかを選択する。すなわち、タイミング制御ユニットは、クロック信号をカウントするカウンタを備え、アレイ型演算装置から得られるリクエスト信号を入力し、スイッチ制御により、クロックのカウント、又はリクエスト信号の入力の一方に基き、アドレス変換回路へのタイミング信号を出力する。その他の構成は、前記第１又は第２の実施例と同一である（第３の実施例の図面は省略される）。【００９５】
本発明によれば、複数の行列演算が必要な無線通信装置のベースバンド処理部や、フィルタ演算などを多用する画像処理装置といった用途に適用できる。【００９６】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図１】
0005428862.tif 000002
【図２】
0005428862.tif 000003
【図３】
0005428862.tif 000004
【図４】
0005428862.tif 000005
【図５】
0005428862.tif 000006
【図６】
0005428862.tif 000007
【図７】
0005428862.tif 000008
【図８】
0005428862.tif 000009