(57)【要約】【課題】  外部とのアドレスバスが不要で、各種アクセスをアクセスサイクルを短縮実行するプロセッサの提供。【解決手段】  外部入出力ポート８Ａに、デコーダ１１、アドレス生成装置１０、及びポインタレジスタ１３、スキップ値レジスタ１４、重複値レジスタ１５、オフセットレジスタ１６、制御モードレジスタ１７を含む記憶装置１２を設け、アドレス生成装置１０が、記憶装置１２の記憶データで各機能のアドレスを生成し、外部メモリデータ転送装置７からのアドレスバス不要な回路で、ＰＥレジスタに連続データの読出／書込をする第１の機能、複数ＰＥレジスタからのデータの読出／書込をアドレス番号の一定間隔スキップで行なう第２の機能、複数ＰＥレジスタからのデータ読出を同一のアドレスＰＥを所定回数重複する第３の機能、複数ＰＥレジスタからデータを読出をし、加工して書き戻す第４の機能をアクセスサイクルを削減し効率的に実行可能になる。【選択図】  図１
2005148899.tif 000002
【特許請求の範囲】
【請求項１】
データの演算を行う演算手段と、
該演算手段で演算処理される画像データを格納する複数のプロセッサエレメントと、
これら複数のプロセッサエレメントにそれぞれ接続され、画像データの転送を行うデータ転送バスと、
前記プロセッサエレメントに割り付けられるアドレスに基づき、所定のプロセッサエレメントを指定する指定手段と、
該指定手段にアドレスを供給するアドレスバスと、
該アドレスバスに供給される前記所定のプロセッサエレメントの指定アドレスを作成するアドレス生成手段と、
該アドレス生成手段のアドレス作成に用いられ、次にアクセスする前記プロセッサエレメントの初期アドレス情報が格納されるアドレス生成情報記憶手段と、
前記アドレス生成手段が、前記初期アドレス情報に基づいて作成する第１の指定アドレスに基づいて、指定選択されるプロセッサエレメントに対して、画像データの読出または書込を行う第１の動作を制御する第１の制御手段と
を有することを特徴とするＳＩＭＤ型プロセッサ。
【請求項２】
アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、固定値を加算する固定値加算手段がさらに設けられ、
第２の制御手段が、前記アドレス生成手段が、初期アドレス情報に前記固定値を加算して生成した第２の指定アドレスに基づいて、複数のプロセッサエレメントに対して、画像データの読出または書込を連続して行う第２の動作の制御を行うことを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【請求項３】
固定値加算手段の動作を選択する選択手段がさらに設けられていることを特徴とする請求項２記載のＳＩＭＤ型プロセッサ。
【請求項４】
アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、スキップ値を加算するスキップ値加算手段がさらに設けられ、
第３の制御手段が、前記アドレス生成手段が、初期アドレス情報に前記スキップ値を加算して生成した第３の指定アドレスに基づいて、複数のプロセッサエレメントに対して、前記スキップ値による間隔を置いて、画像データの読出または書込を連続して行う第３の動作の制御を行うことを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【請求項５】
スキップ値加算手段の動作を選択する選択手段がさらに設けられていることを特徴とする請求項４記載のＳＩＭＤ型プロセッサ。
【請求項６】
アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに、前記所定回数に対応する重複値を設定する重複値設定手段がさらに設けられ、
第４の制御手段が、前記アドレス生成手段が初期アドレス情報に基づき生成した第４の指定アドレスに係るプロセッサエレメントの格納画像データを、前記重複値に基づき前記所定回数繰り返して読出す第４の動作の制御を行うことを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【請求項７】
重複値設定手段の動作を選択する選択手段がさらに設けられていることを特徴とする請求項６記載のＳＩＭＤ型プロセッサ。
【請求項８】
アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントの読出と書込の時間差をオフセット値として加算するオフセット値加算手段がさらに設けられ、
第５の制御手段が、前記アドレス生成手段が初期アドレス情報に基づき生成した第５の指定アドレスに基づいて、
画像処理の画像加工の時間帯に、前記読出と前記書込に対応する書き戻しを行わせて、前記プロセッサエレメントから読出した画像データに画像加工を施し、前記プロセッサエレメントに書き戻す画像処理を行う第５の動作の制御を行うことを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【請求項９】
オフセット値加算手段の動作を選択する選択手段がさらに設けられていることを特徴とする請求項８記載のＳＩＭＤ型プロセッサ。
【請求項１０】
アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、固定値を加算する固定値加算手段と、前記初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、スキップ値を加算するスキップ値加算手段と、前記初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに重複値を設定する重複値設定手段と、前記初期アドレス情報に、プロセッサエレメントの読出と書込の時間差をオフセット値として加算するオフセット値加算手段とからなり、前記アドレス生成情報記憶手段へのアクセス経路が、データバスの互いに異なるビット位置に設定された処理手段群と、
該処理手段群の固定値加算手段、スキップ値加算手段、重複値設定手段、オフセット値加算手段の少なくとも二つを選択する選択手段と
がさらに設けられ、
第６の制御手段が、前記処理手段群の前記選択手段が選択した複数の処理手段に基づいて、請求項２記載の第２の動作、請求項４記載の第３の制御、請求項６記載の第４の動作、請求項８記載の第５の動作の少なくとも二つの動作の制御を行うことを特徴とする請求項１記載のＳＩＭＤ型プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＳＩＭＤ型プロセッサに関する。
【背景技術】
【０００２】
複数データに対して同一命令を同時に実行するＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）型プロセッサは、多数のデータに対して、同一内容の演算を多数回実行する必要のある画像形成装置の画像処理プロセッサなどに広く使用されている。ところで、この種のプロセッサにおいて、複数の演算器を並設して演算処理を実行する場合、演算対象のデータを、メモリなどから演算速度に見合う速度で、アクセスすることが必要になり、この速度が確保されないと、プロセッサの性能はデータのアクセス速度に依存することになる。
通常のＳＩＳＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｉｎｇｌｅ  Ｄａｔａ）型のプロセッサでは、演算データは、プロセッサのプログラムに基づいて、メモリから逐次アクセスされるが、この場合のデータのアクセス速度は、メモリのビット幅と転送速度で決定される。
従って、ＳＩＭＤ型プロセッサに、ＳＩＳＤ型プロセッサのデータアクセス方式を使用すると、演算は並列処理されるのに、データのアクセスは逐次処理されることになり、ＳＩＳＤ型プロセッサ程度にデータ処理能力が低下してしまう。
【０００３】
このために、ＳＩＭＤ型プロセッサでは、演算対象となるデータのアクセスを、プロセッサの命令では行なわず、外部のメモリデータ転送装置から、プロセッサ内部の入出力用のレジスタに直接アクセスする方式が取られている。
この場合、プロセッサと外部メモリデータ転送装置間では、先ず、外部メモリデータ転送装置から、演算対象データが入力用レジスタに転送され、プロセッサでは、外部からの演算データが転送されている入力用レジスタから、演算対象データが、演算用レジスタに転送されて演算が開始される。
そして、プロセッサによる演算の実行中に、外部メモリデータ転送装置が、次の演算対象データを入力用レジスタに転送し、演算処理済みデータが出力用レジスタに転送されていると、外部メモリデータ転送装置によって、運算処理済みデータが出力用レジスタからメモリに転送され、プロセッサが演算を終了すると、演算処理済みデータが出力用レジスタに転送される。このようにして、プロセッサの演算実行時と同時に、外部のメモリデータ転送装置が演算対象データを転送することによって、演算処理の高速化が行なわれている。
【０００４】
この種の従来のＳＩＭＤ型のプロセッサに関連して、後記する特許文献１には、シフトレジスタを用いて、各プロセッサエレメント（以下ＰＥという）へデータを入力する方式により、その回路構成を簡易化し全体の小型化を図った信号処理用プロセッサが開示されている。
また、後記する特許文献２には、シリアルアクセスメモリを用いて、各ＰＥへデータを入力する方式により、ハードウェアの共通部分の共有化を行い、回路構成を簡易化し全体の小型化を図ったリニアアレイ型の並列ＤＳＰプロセッサが開示されている。
さらに、後記する特許文献３には、データバスとアドレスバスを備え、リード信号とライト信を使用するバス方式により、データのビット数に柔軟に対応したデータ処理を行なうＳＩＭＤ型プロセッサが開示されている。
【特許文献１】特開平５−６７２０３号公報
【特許文献２】特開平６−４６９０号公報
【特許文献３】特開２００１−８４２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されているシフトレジスタを用いて、各ＰＥへデータを入力する方式や、特許文献２に記載されているシリアルアクセスメモリを用いて、各ＰＥへデータを入力する方式では、シフトレジスタやシリアルアクセスメモリを使用する動作の特性上、スキップアクセスや重複リードなど各種のアクセスを自在に行なうことはできない。
特許文献３に記載されているＳＩＭＤ型プロセッサによると、外部インタフェースからアドレスを入力することにより、アクセスするＰＥを指定するために、外部メモリ転送装置から、ＳＩＭＤレジスタへはメモリへのアクセスのように、自在のアクセスを行なうことができ、スキップアクセスや重複リードなども、外部メモリ転送装置の機能に基づき実行可能になる。
しかし、外部メモリ転送装置と外部インタフェース間にアドレスバスが必要となり、回路規模が拡大して回路構成が複雑となり、外部メモリ転送装置から発せられるアドレス指令が、外部インタフェース、レジストコントロール回路を介して、ＰＥレジスタを選択指定するために信号経路が長くなり、アクセスサイクルが複雑になるという問題がある。
本発明は、前述したＳＩＭＤ型プロセッサの現状に鑑みてなされたものであり、その目的は、外部装置とのアドレスバスを不要にし、スキップアクセスや重複リードなど各種のアクセスを自在に選択し、アクセスサイクルを短縮して効率的に実行可能なＳＩＭＤ型プロセッサを提供することにある。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、請求項１記載の第１の発明は、データの演算を行う演算手段と、該演算手段で演算処理される画像データを格納する複数のプロセッサエレメントと、これら複数のプロセッサエレメントにそれぞれ接続され、画像データの転送を行うデータ転送バスと、前記プロセッサエレメントに割り付けられるアドレスに基づき、所定のプロセッサエレメントを指定する指定手段と、該指定手段にアドレスを供給するアドレスバスと、該アドレスバスに供給される前記所定のプロセッサエレメントの指定アドレスを作成するアドレス生成手段と、該アドレス生成手段のアドレス作成に用いられ、次にアクセスする前記プロセッサエレメントの初期アドレス情報が格納されるアドレス生成情報記憶手段と、前記アドレス生成手段が、前記初期アドレス情報に基づいて作成する第１の指定アドレスに基づいて、指定選択されるプロセッサエレメントに対して、画像データの読出または書込を行う第１の動作を制御する第１の制御手段とを有することを特徴とするものである。
【０００７】
第１の発明によると、アドレス生成情報記憶手段には、次にアクセスするプロセッサエレメントの初期アドレス情報が格納され、アドレス生成手段によって、アドレス生成情報記憶手段の初期アドレス情報に基づいて、第１の指定アドレスが作成され、作成された第１の指定アドレスは、アドレスバスを介して指定手段に供給され、指定手段の指定に基づいて、プロセッサエレメントに割り付けられるアドレスについて、所定のプロセッサエレメントの指定が行なわれる。
そして、第１の制御手段の制御によって、第１の指定アドレスに基づいて指定選択されるプロセッサエレメントに対して、画像データの読出または書込を行なう第１の動作の制御が行なわれ、演算手段によって必要な演算が施される画像データに対して、データ転送バスを介して指定選択されるプロセッサエレメントへの、読出または書込の制御が行なわれるので、外部からのアドレスバスを不要とし、アクセスサイクルを短縮してデータ処理が行なわれる。
【０００８】
同様に前記目的を達成するために、請求項２記載の第２の発明は、アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、固定値を加算する固定値加算手段が第１の発明にさらに設けられ、第２の制御手段が、前記アドレス生成手段が、初期アドレス情報に前記固定値を加算して生成した第２の指定アドレスに基づいて、複数のプロセッサエレメントに対して、画像データの読出または書込を連続して行う第２の動作の制御を行うことを特徴とするものである。
【０００９】
第２の発明によると、第１の発明での作用に加えて、固定値加算手段によつて、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、アドレス生成情報記憶手段に格納される初期アドレス情報に固定値が加算され、第２の制御手段によって、アドレス生成手段が、初期アドレス情報に固定値を加算して生成した第２の指定アドレスに基づいて、複数のプロセッサエレメントに対して、画像データの読出または書込を連続して行う第２の動作が実行される。
【００１０】
同様に前記目的を達成するために、請求項３記載の第３の発明は、固定値加算手段の動作を選択する選択手段が、第２の発明にさらに設けられていることを特徴とするものである。
【００１１】
第３の発明によると、第２の発明での作用に加えて、選択手段の選択によって、固定値加算手段の動作が、プロセッサ内部からの制御と、プロセツサ外部からの制御の何れかが選択されて行なわれる。
【００１２】
同様に前記目的を達成するために、請求項４記載の第４の発明は、アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、スキップ値を加算するスキップ値加算手段が第１の発明にさらに設けられ、第３の制御手段が、前記アドレス生成手段が、初期アドレス情報に前記スキップ値を加算して生成した第３の指定アドレスに基づいて、複数のプロセッサエレメントに対して、前記スキップ値による間隔を置いて、画像データの読出または書込を連続して行う第３の動作の制御を行うことを特徴とするものである。
【００１３】
第４の発明によると、第１の発明での作用に加えて、スキップ値加算手段によって、アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとにスキップ値が加算され、第３の制御手段によって、アドレス生成手段が、初期アドレス情報にスキップ値を加算して生成した第３の指定アドレスに基づいて、複数のプロセッサエレメントに対して、スキップ値による間隔を置いて画像データの読出または書込を連続して行う第３の動作が実行される。
【００１４】
同様に前記目的を達成するために、請求項５記載の第５の発明は、スキップ値加算手段の動作を選択する選択手段が、第４の発明にさらに設けられていることを特徴とするものである。
【００１５】
第５の発明によると、第４の発明での作用に加えて、選択手段の選択によって、スキップ値加算手段の動作が、プロセッサ内部からの制御と、プロセツサ外部からの制御の何れかが選択されて行なわれる。
【００１６】
同様に前記目的を達成するために、請求項６記載の第６の発明は、アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに、前記所定回数に対応する重複値を設定する重複値設定手段が第１の発明にさらに設けられ、第４の制御手段が、前記アドレス生成手段が初期アドレス情報に基づき生成した第４の指定アドレスに係るプロセッサエレメントの格納画像データを、前記重複値に基づき前記所定回数繰り返して読出す第４の動作の制御を行うことを特徴とするものである。
【００１７】
第６の発明によると、第１の発明の作用に加えて、重複値設定手段によって、アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに、所定回数に対応する重複値が設定され、第４の制御手段によって、アドレス生成手段が初期アドレス情報に基づき生成した第４の指定アドレスに係るプロセッサエレメントの格納画像データを、重複値に基づき所定回数繰り返して読出す第４の動作が行なわれる。
【００１８】
同様に前記目的を達成するために、請求項７記載の第７の発明は、重複値設定手段の動作を選択する選択手段が、第６の発明にさらに設けられていることを特徴とするものである。
【００１９】
第７の発明によると、第６の発明での作用に加えて、選択手段の選択によって、重複値設定手段の動作が、プロセッサ内部からの制御と、プロセツサ外部からの制御の何れかが選択されて行なわれる。
【００２０】
同様に前記目的を達成するために、請求項８記載の第８の発明は、アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントの読出と書込の時間差をオフセット値として加算するオフセット値加算手段が、第１の発明にさらに設けられ、第５の制御手段が、前記アドレス生成手段が初期アドレス情報に基づき生成した第５の指定アドレスに基づいて、画像処理の画像加工の時間帯に、前記読出と前記書込に対応する書き戻しを行わせて、前記プロセッサエレメントから読出した画像データに画像加工を施し、前記プロセッサエレメントに書き戻す画像処理を行う第５の動作の制御を行うことを特徴とするものである。
【００２１】
第８の発明によると、オフセット値加算手段によって、アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントの読出と書込の時間差がオフセット値として加算され、第５の制御手段によって、アドレス生成手段が初期アドレス情報に基づき生成した第５の指定アドレスに基づいて、画像処理の画像加工の時間帯に、読出と書込に対応する書き戻しを行わせて、プロセッサエレメントから読出した画像データに画像加工が施され、プロセッサエレメントに書き戻される画像処理を行う第５の動作の制御が行なわれる。
【００２２】
同様に前記目的を達成するために、請求項９記載の第９の発明は、オフセット値加算手段の動作を選択する選択手段が、第８の発明にさらに設けられていることを特徴とするものである。
【００２３】
第９の発明によると、第８の発明での作用に加えて、選択手段の選択によって、オフセット値加算手段の動作が、プロセッサ内部からの制御と、プロセッサ外部からの制御の何れかが選択されて行なわれる。
【００２４】
同様に前記目的を達成するために、請求項１０記載の第１０の発明は、アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、固定値を加算する固定値加算手段と、前記初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、スキップ値を加算するスキップ値加算手段と、前記初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに重複値を設定する重複値設定手段と、前記初期アドレス情報に、プロセッサエレメントの読出と書込の時間差をオフセット値として加算するオフセット値加算手段とからなり、前記アドレス生成情報記憶手段へのアクセス経路が、データバスの互いに異なるビット位置に設定された処理手段群と、該処理手段群の固定値加算手段、スキップ値加算手段、重複値設定手段、オフセット値加算手段の少なくとも二つを選択する選択手段とが第１の発明にさらに設けられ、第６の制御手段が、前記処理手段群の前記選択手段が選択した複数の処理手段に基づいて、請求項２記載の第２の動作、請求項４記載の第３の制御、請求項６記載の第４の動作、請求項８記載の第５の動作の少なくとも二つの動作の制御を行うことを特徴とするものである。
【００２５】
第１０の発明によると、第１の発明に対して、アドレス生成情報記憶手段へのアクセス経路が、データバスの互いに異なるビット位置に設定され、アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、固定値を加算する固定値加算手段と、初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、スキップ値を加算するスキップ値加算手段と、初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに重複値を設定する重複値設定手段と、初期アドレス情報に、プロセッサエレメントの読出と書込の時間差をオフセット値として加算するオフセット値加算手段とからなる処理手段群と、該処理手段群の固定値加算手段、スキップ値加算手段、重複値設定手段、オフセット値加算手段の少なくとも二つを選択する選択手段とがさらに設けられている。
このために、第１の発明での作用に加えて、第６の制御手段によって、処理手段群の選択手段が選択した複数の処理手段に基づいて、第２の発明の第２の動作、第４の発明４の第３の動作、第６の第４の動作、第８の発明の第５の動作の少なくとも二つの動作の制御が行なわれる。
【発明の効果】
【００２６】
第１の発明によると、アドレス生成情報記憶手段には、次にアクセスするプロセッサエレメントの初期アドレス情報が格納され、アドレス生成手段によって、アドレス生成情報記憶手段の初期アドレス情報に基づいて、第１の指定アドレスが作成され、作成された第１の指定アドレスは、アドレスバスを介して指定手段に供給され、指定手段の指定に基づき、プロセッサエレメントに割り付けられるアドレスについて、所定のプロセッサエレメントの指定が行なわれ、第１の制御手段の制御によって、第１の指定アドレスに基づいて指定選択されるプロセッサエレメントに対して、画像データの読出または書込を行なう第１の動作の制御が行なわれ、演算手段によって必要な演算が施される画像データに対して、データ転送バスを介して指定選択されるプロセッサエレメントへの、読出または書込の制御が行なわれるので、外部からのアドレスバスを不要とした簡単な構成で、アクセスサイクルを短縮してデータ処理を行なうことが可能になる。
【００２７】
第２の発明によると、第１の発明で得られる効果に加えて、固定値加算手段によって、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、アドレス生成情報記憶手段に格納される初期アドレス情報に固定値が加算され、第２の制御手段によって、アドレス生成手段が、初期アドレス情報に固定値を加算して生成した第２の指定アドレスに基づいて、複数のプロセッサエレメントに対して、画像データの読出または書込を連続して行うことが可能になる。
【００２８】
第３の発明によると、第２の発明で得られる効果に加えて、選択手段の選択によって、固定値加算手段の動作を、プロセッサ内部からの制御と、プロセッサ外部からの制御の何れかを選択して行なうことが可能になる。
【００２９】
第４の発明によると、第１の発明で得られる効果に加えて、スキップ値加算手段によって、アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとにスキップ値が加算され、第３の制御手段によって、アドレス生成手段が、初期アドレス情報にスキップ値を加算して生成した第３の指定アドレスに基づいて、複数のプロセッサエレメントに対して、スキップ値による間隔を置いて画像データの読出または書込を連続して行うことが可能になる。
【００３０】
第５の発明によると、第４の発明で得られる効果に加えて、選択手段の選択によって、スキップ値加算手段の動作を、プロセッサ内部からの制御と、プロセッサ外部からの制御の何れかを選択して行なうことが可能になる。
【００３１】
第６の発明によると、第１の発明で得られる効果に加えて、重複値設定手段によって、アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに、所定回数に対応する重複値が設定され、第４の制御手段によって、アドレス生成手段が初期アドレス情報に基づき生成した第４の指定アドレスに係るプロセッサエレメントの格納画像データを、重複値に基づき所定回数繰り返して読み出す第４の動作を行なうことが可能になる。
【００３２】
第７の発明によると、第６の発明で得られる効果に加えて、選択手段の選択によって、重複値設定手段の動作を、プロセッサ内部からの制御と、プロセッサ外部からの制御の何れかを選択して行なうことが可能になる。
【００３３】
第８の発明によると、第１の発明で得られる効果に加えて、オフセット値加算手段によって、アドレス生成情報記憶手段が格納する初期アドレス情報に、プロセッサエレメントの読出と書込の時間差がオフセット値として加算され、第５の制御手段によって、アドレス生成手段が初期アドレス情報に基づき生成した第５の指定アドレスに基づいて、画像処理の画像加工の時間帯に、読出と書込に対応する書き戻しを行わせて、プロセッサエレメントから読出した画像データに画像加工が施され、プロセッサエレメントに書き戻される画像処理を行う第５の動作を行なうことが可能になる。
【００３４】
第９の発明によると、第８の発明で得られる効果に加えて、選択手段の選択によって、オフセット値加算手段の動作を、プロセッサ内部からの制御と、プロセッサ外部からの制御の何れかを選択して行なうことが可能になる。
【００３５】
第１０の発明によると、第１の発明に対して、アドレス生成情報記憶手段へのアクセス経路が、データバスの互いに異なるビット位置に設定され、アドレス生成情報記憶手段に格納される初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、固定値を加算する固定値加算手段と、初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力ごとに、スキップ値を加算するスキップ値加算手段と、初期アドレス情報に、プロセッサエレメントのデータ転送バスに対する画像データの取得或いは出力の所定回数ごとに重複値を設定する重複値設定手段と、初期アドレス情報に、プロセッサエレメントの読出と書込の時間差をオフセット値として加算するオフセット値加算手段とからなる処理手段群と、該処理手段群の固定値加算手段、スキップ値加算手段、重複値設定手段、オフセット値加算手段の少なくとも二つを選択する選択手段とがさらに設けられている。
このために、第１の発明で得られる効果に加えて、第６の制御手段によって、処理手段群の選択手段が選択した複数の処理手段に基づいて、第２の発明の第２の動作、第４の発明４の第３の動作、第６の第４の動作、第８の発明の第５の動作の少なくとも二つの動作の制御を行なうことが可能になる。
【発明を実施するための最良の形態】
【００３６】
本発明の説明に先立って、本発明の基礎となる従来のＳＩＭＤ型プロセッサを、図４及び図５を参照して説明する。
図４は従来のＳＩＭＤ型プロセッサの全体構成を示すブロック図、図５は図４の詳細構成を示す回路説明図である。
【００３７】
このＳＩＭＤ型プロセッサ１には、図４に示すように、ＳＩＳＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｉｎｇｌｅ  Ｄａｔａ）型のグローバルプロセッサ（以下ＧＰと略記する）２が設けられ、このＧＰ２には、プロセッサ１のＳＩＭＤタイプのＰＥ指令で処理されるデータを保持するレジスタファイル３と、レジスタファイル３に接続され、ＰＥ指令の演算処理を行なう演算アレイ５とが接続されている。
また、レジスタファイル３は、インタフェース動作を行なう外部入出力ポート８に接続され、外部入出力ポート８は、ＳＩＭＤ型プロセッサ１の外部に配設される外部メモリデータ転送装置７に接続され、外部メモリデータ転送装置７には、処理前の画像データと処理後の画像データを記憶する外部メモリ６に接続されている。この外部メモリデータ転送装置７は、処理前の画像データを外部メモリ６から取り込んで、レジスタファイル３に転送し、処理後の画像データをレジスタファイル３から取り込んで、外部メモリ６に転送する機能を有している。
【００３８】
図５に示すように、ＧＰ２には、プログラムＲＡＭ２４、データＲＡＭ２５、プログラムのアドレスを保持するプログラムカウンタ２６、演算処理データを格納する汎用レジスタ２７ａ〜２７ｃ、退避先アドレスを保持するスタックポインタ２８、サブルーチン時のコール元アドレスを保持するリンクレジスタ２９、ＩＲＱ時とＮＭＩ時の分岐元アドレスを保持する分岐元レジスタ３０ａ、３０ｂ、プロセッサの状態を保持するプロセッサステータスレジスタ３１が設けられ、さらに、レジスタファイル３を制御するレジスタファイル制御回路３２と、演算アレイ５を制御する演算部制御回路３３とが設けられている。
そして、ＧＰ指令の実行時には、ＧＰ２は、前述した各種のレジスタと、図示せぬ命令デコーダ、ＡＬＵ、メモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ制御回路及びＧＰ演算制御回路とを使用して、ＧＰ指令を実行する。
また、ＰＥ指令実行時には、命令デコーダ、レジスタファイル制御回路３２と演算部制御回路３３により、レジスタファイル３と演算アレイ５を制御して、ＰＥ指令を実行する。
【００３９】
レジスタファイル３には、各ＰＥに８ビットのレジスタが複数、図５では３個が内蔵され、複数のＰＥがアレイ構成されており、それぞれのレジスタが、演算アレイ５に対してポートを備え、８ビットのリード／ライト兼用バス（以下レジスタバスという）で、演算アレイ５からアクセスされる。
ＰＥｎを取り上げて説明すると、演算アレイ５には、１６ビットＡＬＵ３４ｎ、Ａレジスタ３５ｎ及びＦレジスタ３６ｎが設けられ、ＰＥ指令による演算時には、レジスタファイル３から読み出されたデータが、ＡＬＵ３４ｎの一方の入力端子に入力され、ＡＬＵ３４ｎの他方の入力端子には、Ａレジスタ３５ｎの記憶データが入力されて、Ａレジスタ３５ｎのデータとレジスタファイル３のレジスタのデータとの演算が行なわれ、演算結果がＡレジスタ３５ｎに格納される。この場合、レジスタファイル３と演算アレイ５とが、５ｔｏ１タイプのマルチプレクサを介して接続されており、ＰＥｎ、ＰＥｎ＋１、ＰＥｎ＋２、ＰＥｎ−１、ＰＥｎ−２のレジスタのデータを演算対象として選択して演算が行なわれる。  
【００４０】
レジスタファイル３の最上段のレジスタＲｎ＋２〜Ｒｎ−２は、外部メモリデータ転送装置７によって、読出や書込が可能なレジスタであり、他のレジスタと同様に、レジスタバスにより演算アレイ５からアクセスされると共に、外部入出力ポート８を介して、外部メモリデータ転送装置７と８ビットのデータバスＢｄで接続され、このデータバスＢｄによって、外部データ転送装置７からアクセスされる。
これらのレジスタＲｎ＋２〜Ｒｎ−２には、レジストコントローラＣｎ＋２〜Ｃｎ−２がそれぞれ接続されており、外部入出力ポート８を介して、外部メモノデータ転送装置７からアドレスバスＢａ、リードライト信号線Ｌ１、クロック信号線Ｌ２により転送されるアドレス信号、リードライト信号、クロック信号に基づいて、レジストコントローラＣｎ＋２〜Ｃｎ−２によって、レジスタＲｎ＋２〜Ｒｎ−２に対する読出や書込の制御が行なわれる。データバスＢｄは双方向性で、外部入出力ポート８のデータバスＢｄの方向は、リードライト信号で制御される。
外部メモリデータ転送装置７からは、アクセスするレジスタ固有の番地を８ビットのアドレス信号を出力し、アドレスバスＢａに接続されたレジストコントローラＣｎ＋２〜Ｃｎ−２が、アドレス信号のアクセス番号と自己の番地の一致を判定し、一致と判定されるとアクセスに対応する。
【００４１】
以下に本発明の一実施の形態を、図１ないし図３を参照して説明する。
図１は本実施の形態の構成を示す回路説明図、図２は図１のアドレス生成装置の構成を示す回路説明図、図３は、図１の外部メモリデータ転送装置からのコマンドの説明図である。
【００４２】
本実施の形態のＳＩＭＤ型プロセッサ１Ａでは、図１に示すように、すでに図５を参照して説明した従来の外部入出力ポート８に代えて、新たな外部入出力ポート８Ａが使用され、この外部入出力ポート８Ａと外部メモリデータ転送装置７間は、３ビットのコマンドバスＢｃ、クロック信号線Ｌ２、８ビットのデータバスＢｄで接続され、外部入出力ポート８Ａとレジスタファイル３間は、従来のＳＩＭＤ型プロセッサ１の場合と同様に、８ビットのアドレスバスＢａ、リードライト信号線Ｌ１、クロック信号線Ｌ２、８ビットのデータバスＢｄで接続されている。
本実施の形態の外部入出力ポート８Ａには、デコーダ１１、アドレス生成装置１０及び記憶装置１２が設けられ、記憶装置１２には、それぞれ８ビットのポインタレジスタ１３、スキップ値レジスタ１４、重複値レジスタ１５、オフセットレジスタ１６及び制御モードレジスタ１７が設けられている。
【００４３】
ところで、ポイントレジスタ１３には、次にアクセスするレジスタの番地が格納され、スキップ値レジスタ１４には、連続アクセスするアドレスが一定間隔で離れている時、その間隔値が格納され、重複値レジスタ１５には、連続アクセスするアドレスが一定回数変化しない時、その回数値が格納され、オフセットレジスタ１６には、読出を行なうアドレスと書込を行なうアドレスに常に一定差がある場合、その差値が格納され、制御モードレジスタ１７には、連続アクセス機能、スキップアクセス機能、重複アクセス機能、オフセットアクセス機能の選択或いは非選択を示す選択信号が格納される。
この記憶装置１２は、外部メモリデータ転送装置７とデータバスＢｄで接続され、デコーダ１１からの信号によって、データバスＢｄのデータが格納され、また、ポインタレジスタ１３だけには、アドレス生成装置１０からのデータが格納される。
【００４４】
デコーダ１１は外部メモリデータ転送装置７と３ビットのコマンドバスＢｃで接続され、外部メモリデータ転送装置７からは、図３に示すように各動作にアクセスするための７通りのコマンドが送信され、デコーダ１１によって受信される。
そして、デコーダ１１からは、受信したコマンドに基づいて、記憶装置１２やアドレス生成装置１０に制御信号が出力され、また、レジスタファイル３へのリード信号Ｆｒやライト信号Ｆｗが出力され、プロセッサ内外のデータバスＢｄの方向制御が行なわれる。
アドレス生成装置１０は、記憶装置１２のポインタレジスタ１３、スキップ値レジスタ１４、重複値レジスタ１５、オフセットレジスタ１６及び制御モードレジスタ１７の記憶情報を取込み、レジスタファイル３のレジストコントローラＣｎ＋１〜Ｃｎ−２を選択する８ビットのアドレス信号を作成し、アドレスバスＢａに出力し、作成したアドレス信号をフィードバックする機能を有している。
【００４５】
本実施の形態の機能には、複数のＰＥレジスタから選択された一つのＰＥレジスタに対して、データの読出或いは書込を行なう基本機能、複数のＰＥレジスタに対して、アドレス順に連続して、データの読出或いは書込を行なう第１の機能、複数のＰＥレジスタからのデータの読出または書込を、ＰＥのアドレス番号を一定間隔スキップして実行する第２の機能、複数のＰＥレジスタからのデータの読出を、同一のアドレス番号のＰＥを所定回数重複して読み出す第３の機能、複数のＰＥレジスタからアドレス順にデータの読出を行いながら、データ処理を施した加工済みデータをＰＥレジスタに書き戻すオフセットアクセスを行なう第４の機能がある。
【００４６】
このような機能を備えた本実施の形態のアドレス生成装置１０は、図２に示すように構成され、同図において選択信号Ｓ１は、連続アクセスの第１の機能を選択する信号、選択信号Ｓ２は、スキップアクセスの第２の機能を選択する信号、選択信号Ｓ３は、重複アクセスの第３の機能を選択する信号、選択信号Ｓ４は、オフセットアクセスの第４の機能を選択する信号、選択信号Ｓ４ｗは、第４の機能が選択され、且つデコーダ１１の出力信号がＦｗで書込を行なう場合のアクセス機能を選択する信号、選択信号Ｓ４ｗは、第４の機能が選択され、且つデコーダ１１の出力信号がＦｒで読出を行なう場合のアクセス機能を選択する信号である。
【００４７】
アドレス生成装置１０においては、マルチプレクサ３９で選択された信号が、バッファ４１からアドレスバスＢａにアドレス信号として出力されるが、この場合、選択信号Ｓ４ｗが選択されると、ポインタレジスタ１３の記憶データと、オフセットレジスタ１６の記憶データとの加算器３８による加算値データがバッファ４１から出力され、選択信号Ｓ４ｗが選択されていないと、ポインタレジスタ１３の記憶データが、バッファ４１から出力される。
また、加算器３７は、選択信号Ｓ２が選択されると、マルチプレクサ４０に入力されるスキップ値レジスタ１４の記憶データと、ポインタレジスタ１３の記憶データとを加算し、演算された加算値データがポインタレジスタ１３に記憶格納され、選択信号Ｓ２が選択されないと、加算器３７によって、マルチプレクサ４０に入力される固定値４７が、ポインタレジスタ１３に記憶格納される。固定値４７は、回路設計時に任意に選択された値が設定されるが、その後変更することはできない。
ポインタレジスタ１３の記憶データを更新するポインタ更新信号Ｆｐｒは、マルチプレクサ４２から出力されるが、選択信号Ｓ１、Ｓ２、Ｓ３、Ｓ４ｗの全てが非選択であると、マルチプレクサ４２は非更新を意味するＦｐｎを選択し出力するので、ポインタレジスタ１３の記憶データは更新されない。
【００４８】
一方、選択信号Ｓ１、Ｓ２、Ｓ３、Ｓ４ｗの何れかが選択されていると、マルチプレクサ４２はマルチプレクサ４３の出力信号に基づいて、更新信号Ｆｐｒを出力するが、 こ の場合、選択信号Ｓ３が非選択であると、デコーダ１１からのリード信号Ｆｒ、或いはライト信号Ｆｗに基づいて、マルチプレクサ４２から更新信号Ｆｐｒが出力される。また、選択信号Ｓ３が選択されると、ダウンカウンタ４４の出力信号に基づいて、更新信号Ｆｐｒが出力され、このダウンカウンタ４４は、重複値レジスタ１５の記憶データを初期値としてロードし、データアクセスの回数でダウンカウントし、カウント残値が“０”になるとマルチプレクサ４３に出力信号を入力し、この入力信号に基づいて、マルチプレクサ４２から更新信号Ｆｐｒが出力される。
【００４９】
以下に本実施の形態の動作を、各機能の動作ごとに説明する。
（基本機能）
レジスタファイル３の複数のＰＥレジスタから選択された一つのＰＥレジスタに対して、データの読出或いは書込を行なう基本機能での動作を説明する。
この場合、外部メモリデータ転送装置７からコマンド“１００”が出力され、このコマンド“１００”が外部入出力ポート８Ａのデコーダ１１で受信されると、デコーダ１１から設定制御信号が制御モードレジスタ１７に入力され、制御モードレジスタ１７において、連続アクセス機能を選択する選択信号Ｓ１が非選択に、スキップアクセス機能を選択する選択信号Ｓ２が非選択に、重複アクセス機能を選択する選択信号Ｓ３が非選択に、オフセットアクセス機能を選択する選択信号Ｓ４が非選択に設定されると共に、ポインタレジスタ１３に指定のＰＥレジスタのアドレスの格納設定が行なわれる。この場合の制御モードレジスタ１７の設定とポインタレジスタ１３の設定の順序は問わない。
【００５０】
データリードのアクセスを行なう場合には、外部メモリデータ転送装置７からコマンド“０００”が出力されると、選択信号Ｓ４が非選択であるために、図２に示すアドレス生成装置１０のマルチプレクサ３９は、ポインタレジスタ１３の記憶データをアドレスバスＢａに出力し、コマンド“０００”によりリードモードが指定される。
アドレス生成装置１０からアドレスバスＢａに出力されるアドレス信号は、各ＰＥのレジスタコントローラＣｎ＋１〜Ｃｎ−２で、自己のアドレス番号と比較され、アドレスが一致したレジスタコントローラによって、対応するレジスタの記憶データが読み出され、外部入出力ポート８Ａを介して外部メモリデータ転送装置７に転送され、外部メモリデータ転送装置７から、ＳＩＭＤ型プロセッサ１ＡのＰＥの指定したレジスタの記憶データの読出が行なわれる。
この場合、選択信号Ｓ１〜選択信号Ｓ４は全て非選択なので、図２に示すアドレス生成装置１０のマルチプレクサ４２から更新信号Ｆｐｒは出力されず、ポインタレジスタ１３の記憶データは保存される。
【００５１】
データライトのアクセスを行なう場合には、外部メモリデータ転送装置７からコマンド“００１”が出力されると同時に、データバスＢｄに書き込みたいデータが出力される。この場合、選択信号Ｓ４が非選択であるために、図２に示すアドレス生成装置１０のマルチプレクサ３９は、ポインタレジスタ１３の記憶データをアドレスバスＢａに出力し、コマンド“００１”によりライトモードが指定される。
アドレス生成装置１０からアドレスバスＢａに出力されるアドレス信号は、各ＰＥのレジスタコントローラＣｎ＋１〜Ｃｎ−２で、自己のアドレス番号と比較され、アドレスが一致したレジスタコントローラによって、データバスＢｄから供給されるデータが、対応するレジスタに書込まれ、外部メモリデータ転送装置７から、ＳＩＭＤ型プロセッサ１ＡのＰＥの指定したレジスタへのデータの書込が行なわれる。
この場合、選択信号Ｓ１〜選択信号Ｓ４は全て非選択なので、図２に示すアドレス生成装置１０のマルチプレクサ４２から更新信号Ｆｐｒは出力されず、ポインタレジスタ１３の記憶データは保存される。
【００５２】
（第１の機能）
レジスタファイル３のレジスタに対してアドレス順に連続して、記憶データの読取り或いは書込を行なう第１の機能での動作を説明する。
この場合、制御モードレジスタ１７において、連続アクセス機能を選択する選択信号Ｓ１が選択設定され、スキップアクセス機能を選択する選択信号Ｓ２が非選択に、重複アクセス機能を選択する選択信号Ｓ３が非選択に、オフセットアクセス機能を選択する選択信号Ｓ４が非選択に設定され、ポインタレジスタ１３に、指定するＰＥレジスタの初期値アドレスが設定される。この場合の制御モードレジスタ１７の設定とポインタレジスタ１３の設定の順序は問わない。
【００５３】
第１の機能も基本機能と同様に、データリードとデータライトの場合に適用されるが、基本動作は同一なので、ここでは、データリードの場合について説明する。
外部メモリデータ転送装置７からコマンド“０００”が出力されると、選択信号Ｓ４が非選択であるために、図２に示すアドレス生成装置１０のマルチプレクサ３９は、ポインタレジスタ１３の記憶データをアドレスバスＢａに出力し、コマンド“０００”によりリードモードが指定される。
アドレス生成装置１０からアドレスバスＢａに出力されるアドレス信号は、各ＰＥのレジスタコントローラＣｎ＋１〜Ｃｎ−２で、自己のアドレス番号と比較され、アドレスが一致したレジスタコントローラによって、対応するレジスタの記憶データが読み出され、外部入出力ポート８Ａを介して外部メモリデータ転送装置７に転送され、外部メモリデータ転送装置７から、ＳＩＭＤ型プロセッサ１ＡのＰＥの指定したレジスタの記憶データの読出が行なわれる。
【００５４】
この場合、連続アクセス機能を選択する選択信号Ｓ１が選択され、重複アクセス機能を選択する選択信号Ｓ３が非選択なので、マルチプレクサ４２からは更新信号Ｆｐｒが出力されるが、重複アクセス機能の選択信号Ｓ３は非選択なので、マルチプレクサ４３はデコーダ１１からの読出信号Ｆｒを取込み、データの読出ごとにマルチプレクサ４２から更新信号Ｆｐｒが出力される。スキップアクセス機能を選択する選択信号Ｓ２は非選択なので、加算器３７は、固定値４７とポインタレジスタ１３の記憶データとの加算値データを、ポインタレジスタ１３の更新値とする更新が行なわれる。
【００５５】
この場合、固定値を“１”とすると、ポインタレジスタ１３の更新値＝ポインタレジスタ１３の記憶データ＋１となり、ポインタレジスタ１３には、リード時の記憶データよりも“１”大きい記憶データが更新格納される。
続いてデータリードが行なわれると、“１”大きい値が格納されたポインタレジスタ１３の記憶データがアドレスバスＢａに出力されるので、先のリード時より“１”大きいアドレスのレジストコントローラにより、対応するアドレスのレジスタの記憶データが読み出され、外部メモリデータ転送装置７が、前回よりも“１”大きいアドレスのレジスタの記憶データを読み出したことになる。
以下同様にして、レジスタファイル３の指定したレジスタから連続して、レジスタの記憶データの読取りが行なわれる。
以上では、固定値４７を“１”とした場合を説明したが、例えば、固定値４７を“２”とすると、レジスタの記憶データが、ＰＥのアドレス番号の一つ置きに読み取られる。
【００５６】
（第２の機能）
複数のＰＥレジスタからのデータの読出または書込を、ＰＥのアドレス番号を一定間隔スキップして実行する第２の機能での動作を説明する。
この場合、制御モードレジスタ１７において、連続アクセス機能を選択する選択信号Ｓ１を非選択、スキップアクセス機能を選択する選択信号Ｓ２を選択、重畳アクセス機能を選択する選択信号Ｓ３を非選択、オフセットアクセス機能を選択する選択信号Ｓ４を非選択にそれぞれ設定し、ポインタレジスタ１３に指定のＰＥレジスタの先頭アドレスが設定される。
外部メモリデータ転送装置７から出力されるコマンド“１０１”が、デコーダ１１で受信されると、データバスＢに出力される指定のスキップ値データが、スキップ値レジスタ１４に格納され、指定のスキップ値の設定が行なわれる。
この場合、制御モードレジスタ１７の設定とポインタレジスタ１３の設定の順序は問わない。
第２の機能も第１の機能と同様に、データリードとデータライトの場合に適用されるが 、基本動作は同一なので、ここでは、データリードの場合について説明する。
【００５７】
外部メモリデータ転送装置７からコマンド“０００”が出力されると、選択信号Ｓ４が非選択であるために、図２に示すアドレス生成装置１０のマルチプレクサ３９は、ポインタレジスタ１３の記憶データをアドレスバスＢａに出力し、コマンド“０００”によりリードモードが指定される。
アドレス生成装置１０からアドレスバスＢａに出力されるアドレス信号は、各ＰＥのレジスタコントローラＣｎ＋１〜Ｃｎ−２で、自己のアドレス番号と比較され、アドレスが一致したレジスタコントローラによって、対応するレジスタの記憶データが読み出され、外部入出力ポート８Ａを介して外部メモリデータ転送装置７に転送され、外部メモリデータ転送装置７から、ＳＩＭＤ型プロセッサ１ＡのＰＥの指定したレジスタの記憶データの読出が行なわれる。
この場合、スキップアクセス機能を選択する選択信号Ｓ２が選択され、重複アクセス機能を選択する選択信号Ｓ３が非選択なので、マルチプレクサ４２からは更新信号Ｆｐｒが出力されるが、重複アクセス機能の選択信号Ｓ３は非選択なので、マルチプレクサ４３はデコーダ１１からの読出信号Ｆｒを取込み、データの読出ごとにマルチプレクサ４２から更新信号Ｆｐｒが出力される。スキップアクセス機能を選択する選択信号Ｓ２が選択されているので、加算器３７は、スキップ値レジスタ１４の記憶データとポインタレジスタ１３の記憶データとの加算値データを、ポインタレジスタ１３の更新値とする更新が行なわれる。
【００５８】
この場合、ポインタレジスタ１３の更新値データ＝ポインタレジスタ１３の記憶データ＋スキップ値レジスタ１４の記憶データとなり、例えば、スキップ値レジスタ１４の記憶データが“４”であれば、ポインタレジスタ１３には、リード時の記憶データよりも“４”大きい記憶データが更新格納される。
続いてデータリードが行なわれると、“４”大きい値が格納されたポインタレジスタ１３の記憶データがアドレスバスＢａに出力されるので、先のリード時より“４”大きいアドレスのレジストコントローラにより、対応するアドレスのレジスタの記憶データが読み出され、外部メモリデータ転送装置７が、前回よりも“４”大きいアドレスのレジスタの記憶データをスキップして読み出したことになる。
以下同様にして、レジスタファイル３の指定したレジスタから、読出ごとにアドレスを“４”スキップさせながら連続して、レジスタの記憶データの読取りが行なわれる。
このように、外部メモリデータ転送装置７から、スキップ値レジスタ１４にスキップ値が自在に設定できるので、リードするＰＥ番号の間隔は自由に設定される。
【００５９】
（第３の機能）
複数のＰＥレジスタからのデータの読出を、同一のアドレス番号のＰＥを所定回数重複して読み出す第３の機能での動作を説明する。
この場合、制御モードレジスタ１７において、連続アクセス機能を選択する選択信号Ｓ１を非選択、スキップアクセス機能を選択する選択信号Ｓ２を非選択、重畳アクセス機能を選択する選択信号Ｓ３を選択、オフセットアクセス機能を選択する選択信号Ｓ４を非選択にそれぞれ設定し、ポインタレジスタ１３に指定のＰＥレジスタの先頭アドレスが設定される。
外部メモリデータ転送装置７から出力されるコマンド“１１０”が、デコーダ１１で受信されると、データバスＢｄに出力される指定の重複値データが、重複値レジスタ１５に格納され、指定の重複値の設定が行なわれる。
この場合、制御モードレジスタ１７の設定とポインタレジスタ１３の設定の順序は問わない。
ところで、第３の機能のデータライトは、同一のＰＥ番号のレジスタに複数回ライトも行なっても、最後のライトだけが意味を持ち、複数回ライトに意味はないので、本発明 の対象としては取り上げない。
【００６０】
外部メモリデータ転送装置７からコマンド“０００”が出力されると、選択信号Ｓ４が非選択であるために、図２に示すアドレス生成装置１０のマルチプレクサ３９は、ポインタレジスタ１３の記憶データをアドレスバスＢａに出力し、コマンド“０００”によりリードモードが指定される。
アドレス生成装置１０からアドレスバスＢａに出力されるアドレス信号は、各ＰＥのレジスタコントローラＣｎ＋１〜Ｃｎ−２で、自己のアドレス番号と比較され、アドレスが一致したレジスタコントローラによって、対応するレジスタの記憶データが読み出され、外部入出力ポート８Ａを介して外部メモリデータ転送装置７に転送され、外部メモリデータ転送装置７から、ＳＩＭＤ型プロセッサ１ＡのＰＥの指定したレジスタの記憶データの読出が行なわれる。
この場合、重複アクセス機能を選択する選択信号Ｓ３が選択されているので、マルチプレクサ４２からは更新信号Ｆｐｒが出力されるが、重複アクセス機能の選択信号Ｓ３が選択されるので、マルチプレクサ４３はダウンカウンタ４４を選択する。ダウンカウンタ４４は、重複値レジスタ１５から初期値をロードして、デコーダ１１からの読出信号Ｆｒの度にカウントダウンし、カウント値が“０”の時に更新信号Ｆｐｒを出力する。
例えば、重複値レジスタ１５の記憶データが“３”であると、データリードが３回行なわれる毎に、ポインタレジスタ１３の更新信号Ｆｐｒが１回出力されることになる。
ボインタレジスタ１３の初期記憶データが“１”、重複値レジスタ１５の記憶データが“３”で、１０回のデータリードを行なう場合の動作は以下のようになる。
【００６１】
【表１】
2005148899.tif 000003
【００６２】
重複値レジスタ１５は外部メモリデータ転送装置７によって、同一のＰＥ番号のレジスタから連続して読み出す回数は自在に設定できる。
【００６３】
（第４の機能）
複数のＰＥレジスタからアドレス順にデータの読出を行いながら、データ処理を施した加工済みデータをＰＥレジスタに書き戻すオフセットアクセスを行なう第４の機能での動作を説明する。
第４の機能は、外部メモリデータ転送装置７が、レジススファイル３のレジスタに対し、読出、加工、書き戻しを実施する場合であり、例えば、読出に１サイクル、加工に２サイクル、書き戻しに１サイクルが必要であれば、一つのデータを処理するためには合計４サイクルを要する。この場合、２００データを処理するのであれば、２００×４＝８００サイクルが必要となるが、加工に要する２サイクルの間に、次のデータリード、または処理済みのデータのライトを組み合わせることができ、この方法はパイプライン処理と呼ばれている。
前述の例にこのパイプライン処理を適用すると、ｎ番目のデータの加工に要する２サイクルの内、最初のサイクルではｎ−１番目の加工済みデータのライトを行い、２サイクル目では、ｎ＋１番目の未加工データのリードを行なうことになる。ｎ番目のデータの加工が終了した段階では、ｎ−１番目のデータの書き戻しと、ｎ＋１番目のデータの読出を終了しているために、ｎ＋１番目のデータの加工に取り掛かることができる。
このようにして、眷属した加工処理が可能になり、２００データの加工には、２００×２＝４００サイクルが必要で、これに最初のデータの読出と最後のデータの書き戻しに必要な２サイクルを加えて、全体で必要なサイクルは４０２サイクルとなる。
【００６４】
この場合、データの読出、書き戻しだけに注目すると、以下の順序で処理が行なわれている。
（ｎ−１）番目データの読出
（ｎ−２）番目データの書き戻し
ｎ  番目データの読出
（ｎ−１）番目データの書き戻し
（ｎ＋１）番目データの読出
ｎ  番目データの書き戻し
（ｎ＋２）番目データの読出
（ｎ＋１）番目データの書き戻し
【００６５】
また、読出のアドレスとその直後の書き戻しのアドレスに注目すると、以下のように、常に“１”の差が存在する。
（ｎ−１）番目データの読出        （ｎ−２）番目データの書き戻し
ｎ  番目データの読出        （ｎ−１）番目データの書き戻し
（ｎ＋１）番目データの読出              ｎ  番目データの書き戻し
（ｎ＋２）番目データの読出        （ｎ＋１）番目データの書き戻し
【００６６】
本実施の形態の基本機能に適用すると、読出の直後のポインタレジスタ１３には次のアドレスが格納されるので、ポインタレジスタ１３の記憶データに“２”を減算すると書き戻しのアドレスが算出される。
このことに基づいて、第４の機能について説明する。
制御モードレジスタ１７において、連続アクセス機能を選択する選択信号Ｓ１を非選択、スキップアクセス機能を選択する選択信号Ｓ２を非選択、重畳アクセス機能を選択する選択信号Ｓ３を非選択、オフセットアクセス機能を選択する選択信号Ｓ４を選択に設定し、ポインタレジスタ１３に、指定するＰＥレジスタの先頭アドレスを設定する。
外部メモリデータ転送装置７からコマンド“１１１”を出力すると、このコマンド“１１１”を受信する外部入出力ポート８Ａのデコーダ１１によって、データバスＢｄのオフセット値データが、オフセットレジスタ１６に格納されるが、この場合には、前述の状態に適合させて、オフセット値は“−２”即ち“ＦＥＨ”に設定される。
この場合の制御モードレジスタ１７の設定と、ポインタレジスタ１３の設定の順序は問わない。
【００６７】
先ず、データリードの場合を説明すると、外部メモリデータ転送装置７からコマンド“０００”が出力され、この場合には、選択信号Ｓ４ｗが非選択なので、マルチプレクサ３９によってポインタレジスタ１３の記憶データを、バッファ４１を介してアドレスバスＢａに出力する。同時にコマンド“０００”によって、データの読出が指定される。
アドレス生成装置１０からアドレスバスＢａに出力されるアドレス信号は、各ＰＥのレジスタコントローラＣｎ＋１〜Ｃｎ−２で、自己のアドレス番号と比較され、アドレスが一致したレジスタコントローラによって、対応するレジスタの記憶データが読み出され、外部入出力ポート８Ａを介して外部メモリデータ転送装置７に転送され、外部メモリデータ転送装置７から、ＳＩＭＤ型プロセッサ１ＡのＰＥの指定したレジスタの記憶データの読出が行なわれる。
【００６８】
この場合、選択信号Ｓ４ｒが選択され、選択信号Ｓ３が非選択なので、マルチプレクサ４２は、マルチプレクサ４３を介して、デコーダ１１からの読出信号Ｆｒを取込み、ポインタレジスタ１３の更新信号Ｆｐｒが出力される。選択信号Ｓ２が非選択なので、加算器３７は固定値４７とポインタレジスタ１３の記憶データとの加算値を、ポインタレジスタ１３の更新値として出力する。
即ち、ポインタレジスタ１３の更新値＝ポインタレジスタ１３の記憶データ＋固定値４７となり、固定値４７を“１”とすると、ポインタレジスタ１３には最初のリード時より“１”大きい値が格納される。
【００６９】
データライトの場合には、外部メモリデータ転送装置７がコマンド“００１”を出力し、格納データをデータバスＢｄに出力すると、選択信号Ｓ４ｗが選択されるので、マルチプレクサ３９は、ポインタレジスタ１３の記憶データとオフセットレジスタ１６の加算を行なう加算器３８の加算値をアドレスバスＢａに出力する。この場合、オフセットレジスタ値は“−２”なので、「ポインタレジスタ１３の記憶データ−２」のアドレスが出力され、コマンド“００１”によりライトが指定される。
ライトするデータは、外部入出力ポート８Ａを介してデータバスＢｄに転送され、各ＰＥのレジスタコントローラＣｎ＋１〜Ｃｎ−２で、自己のアドレス番号と比較され、アドレスが一致したレジスタコントローラによって、対応するレジスタにデータバスＢｄのデータの書込が行なわれ、外部メモリデータ転送装置７から指定のレジスタへのデータの書込が行なわれたことになる。
この場合、選択信号Ｓ４ｒが非選択、選択信号Ｓ１が非選択、選択信号Ｓ２が非選択、選択信号Ｓ３が非選択なので、マルチプレクサ４２で非更新が選択され、ポインタレジスタ１３の記憶データは更新されない。
【００７０】
以上に説明したように、本実施の形態によると、外部入出力ポート８Ａに、デコーダ１１、アドレス生成装置１０、及びポインタレジスタ１３、スキップ値レジスタ１４、重複値レジスタ１５、オフセットレジスタ１６及び制御モードレジスタ１７からなる記憶装置１２が設けられ、アドレス生成装置１０が、記憶装置１２の記憶データに基づいて、それぞれに対応するアドレスを生成するので、外部メモリデータ転送装置７と外部入出力ポート８Ａ間のアドレスバスが不要で簡単な回路構成となり、複数のＰＥレジスタに対して、アドレス順に連続してデータの読出または書込を行なう第１の機能、複数のＰＥレジスタからのデータの読出または書込を、ＰＥのアドレス番号を一定間隔でスキップして実行する第２の機能、複数のＰＥレジスタからのデータの読出を、同一のアドレス番号のＰＥを所定回数重複して読み出す第３の機能、複数のＰＥレジスタからアドレス順にデータの読出を行いながら、データ処理を施した加工済みデータをＰＥレジスタに書き戻すオフセットアクセスを行なう第４の機能を自在に選択し、選択した機能をアクセスサイクルを削減して効率的に実行することが可能になる。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施の形態の構成を示す回路説明図である。
【図２】図１のアドレス生成装置の構成を示す説明図である。
【図３】図１の外部メモリデータ転送装置からのコマンドの説明図である。
【図４】従来のＳＩＭＤ型プロセッサの全体構成を示すブロック図である。
【図５】図４の詳細構成を示す回路説明図である。
【符号の説明】
【００７２】
１Ａ  ＳＩＭＤ型プロセッサ
３  レジスタファイル
５  演算アレイ
８Ａ  外部入出力ポート
７  外部メモリデータ転送装置
１０  アドレス生成装置
１１  デコーダ
１２  記憶装置
１３  ポインタレジスタ
１４  スキップ値レジスタ
１５  重複値レジスタ
１６  オフセットレジスタ
１７  制御モードレジスタ
【図１】
2005148899.tif 000004
【図２】
2005148899.tif 000005
【図３】
2005148899.tif 000006
【図４】
2005148899.tif 000007
【図５】
2005148899.tif 000008