(57)【特許請求の範囲】
【請求項１】
マイクロ命令により各々の機能を決定する複数のロジックブロックの、プログラマブルに接続された配列を有するプロセッサアレイにおいて、
所定の数の前記ロジックブロックに対し１個ずつ配置され、複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す位置情報とを含む圧縮命令を複数個格納するメモリ手段と、
前記所定の数のロジックブロックと該所定の数のロジックブロックに対し配置された前記メモリ手段とを接続し、該メモリ手段が格納する前記複数の圧縮命令のいずれか１個の圧縮命令に含まれる前記位置情報に基づいて、所定データ及び該圧縮命令に含まれる前記有効データ部から、該圧縮命令が格納されるメモリ手段に接続する前記所定の数のロジックブロックの各々に供給するためのマイクロ命令を生成するマイクロ命令生成手段と、
を有し、
前記マイクロ命令生成手段は、１個の前記圧縮命令から前記所定の数のロジックブロックに同時に供給するだけのマイクロ命令を生成する
ことを特徴とするプロセッサアレイ。
【請求項２】
前記複数のロジックブロックは一次元アレイ状に配列され、前記マイクロ命令生成手段は前記複数のメモリ手段をそれぞれ隣接する２つのロジックブロックに接続することを特徴とする請求項１に記載のプロセッサアレイ。
【請求項３】
前記複数のロジックブロックは二次元アレイ状に配列され、前記マイクロ命令生成手段は前記複数のメモリ手段をそれぞれ上下方向に隣接する２つのロジックブロックに接続することを特徴とする請求項１に記載のプロセッサアレイ。
【請求項４】
前記複数のロジックブロックは二次元アレイ状に配列され、前記マイクロ命令生成手段は前記複数のメモリ手段をそれぞれ上下左右に隣接する４つのロジックブロックに接続することを特徴とする請求項１に記載のプロセッサアレイ。
【請求項５】
前記複数のロジックブロックは一次元アレイ状に配列され、前記マイクロ命令生成手段は、前記複数のメモリ手段の各々を隣接する２つのロジックブロックに接続し、かつ、前記複数のロジックブロックの各々を隣接する２つのメモリ手段に接続する、ことを特徴とする請求項１に記載のプロセッサアレイ。
【請求項６】
前記複数のロジックブロックは二次元アレイ状に配列され、前記マイクロ命令生成手段は、前記複数のメモリ手段の各々を隣接する２つのロジックブロックに接続し、かつ、前記複数のロジックブロックの各々を隣接する２つのメモリ手段に接続する、ことを特徴とする請求項１に記載のプロセッサアレイ。
【請求項７】
前記マイクロ命令生成手段は、各ロジックブロックに対応して設けられ、前記位置情報に従って前記有効データ部および前記所定データのいずれかを選択し、前記マイクロ命令を構成する複数の区間データをそれぞれ生成する複数の選択手段を含むことを特徴とする請求項１ないし請求項６のいずれかに記載のプロセッサアレイ。
【請求項８】
前記複数のメモリ手段の各々に格納された前記複数の有効データ部の合計のデータ幅は、前記マイクロ命令のデータ幅より短いことを特徴とする請求項１に記載のプロセッサアレイ。
【請求項９】
前記複数のメモリ手段の各々は、前記複数の有効データ部および前記位置情報からなる命令を複数個格納し、アドレス信号に従って前記複数の命令の１つを指定するアドレスデコーダを更に有することを特徴とする請求項１に記載のプロセッサアレイ。
【請求項１０】
前記アドレス信号を生成するシーケンサを更に有することを特徴とする請求項９に記載のプロセッサアレイ。
【請求項１１】
他のロジックブロックとプログラマブルに接続可能で、マイクロ命令により各々の機能を決定する複数のロジックブロックと、
複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す位置情報とを含む圧縮命令を複数個格納するメモリ手段と、
アドレス信号に従って前記複数の圧縮命令の１つを指定するアドレスデコーダと、
前記メモリ手段と所定の数の前記ロジックブロックとを接続し、前記アドレスデコーダにより指定された１個の圧縮命令に含まれる前記位置情報に基づいて、該圧縮命令に含まれる前記有効データ部および所定データから、前記所定の数のロジックブロックに供給するためのマイクロ命令を復号化する復号化手段と、
を有し、
前記復号化手段は、１個の前記圧縮命令から前記所定の数のロジックブロックに同時に供給するだけのマイクロ命令を復号化する
ことを特徴とするプロセッサエレメント複合体。
【請求項１２】
前記復号化手段は、各ロジックブロックに対応して設けられ、前記位置情報に従って前記有効データ部および前記所定データのいずれかを選択し、前記マイクロ命令を構成する複数の区間データをそれぞれ生成する複数のセレクタからなることを特徴とする請求項１１に記載のプロセッサエレメント複合体。
【請求項１３】
請求項１１または請求項１２に記載のプロセッサエレメント複合体を複数個配列し、各プロセッサエレメント複合体の前記複数のロジックブロックの各々は、演算器とロジックブロック間をプログラマブルに接続するスイッチとを含むことを特徴とするプロセッサアレイ。
【請求項１４】
複数の同等なロジックブロックＢ1〜ＢN（Ｎは２以上の整数）と、前記ロジックブロックの各々に付随する複数のセレクタと、前記ロジックブロックＢ1〜ＢNに対応して配列された複数のマイクロプログラムメモリＰ1〜ＰN-1とを有し、
前記ロジックブロックＢ1〜ＢNの各々は、演算器と、ロジックブロック間をプログラマブルに接続するスイッチとを含み、
前記マイクロプログラムメモリＰ1〜ＰMの各々に格納されている複数の命令の各々は、位置情報と複数の有効データ部とを含み、
任意のロジックブロックＢi（ｉ＝２，・・・，Ｎ−１）に付随する前記複数のセレクタのうち第１のグループは、マイクロプログラムメモリPi-1から前記位置情報と前記複数の有効データ部とを供給され、前記複数のセレクタのうち第２のグループはマイクロプログラムメモリPiから前記位置情報と前記複数の有効データ部とを供給され、
前記複数のセレクタの各々は、前記位置情報に含まれるデータに基づいて、前記複数の有効データ部と既定値とから一つを選択して区間命令として出力し、
前記複数のセレクタから出力される区間命令によって、対応するロジックブロックの機能が決定され、
各ロジックブロックの前記区間命令の合計データ幅より、前記マイクロプログラムメモリの前記複数の有効データ部の合計データ幅が小さい、
ことを特徴とするプロセッサアレイ。
【請求項１５】
プログラマブルに接続されマイクロ命令により各々の機能を決定する複数のロジックブロックに対して、それぞれマイクロ命令を供給するためのマイクロ命令制御装置において、
所定の数の前記ロジックブロックに対し１個ずつ配置され、複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す位置情報とを含む圧縮命令を複数個格納するメモリ手段と、
前記所定の数のロジックブロックと該所定の数のロジックブロックに対し配置された前記メモリ手段とを接続し、該メモリ手段が格納する前記複数の圧縮命令のいずれか１個の圧縮命令に含まれる前記位置情報に基づいて、所定データ及び該圧縮命令に含まれる前記有効データ部から、該圧縮命令が格納されるメモリ手段に接続する前記所定の数のロジックブロックの各々に供給するためのマイクロ命令を生成するマイクロ命令生成手段と、
を有し、
前記マイクロ命令生成手段は、１個の前記圧縮命令から前記所定の数のロジックブロックに同時に供給するだけのマイクロ命令を生成する
ことを特徴とするマイクロ命令制御装置。
【請求項１６】
プログラマブルに接続されマイクロ命令により各々の機能を決定する複数のロジックブロックに対して、それぞれマイクロ命令を供給するためのマイクロ命令制御方法において、
複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す位置情報とを含む圧縮命令を複数個メモリ手段に格納し、
アドレス信号に従って前記メモリ手段に格納された前記複数の圧縮命令から１つを指定し、
前記指定された１つの圧縮命令の前記位置情報に基づいて、所定データおよび該圧縮命令に含まれる前記有効データ部から、前記メモリ手段に接続される所定の数の前記ロジックブロックに同時に供給するだけのマイクロ命令を復号し、
前記復号されたマイクロ命令を対応する前記所定の数のロジックブロックへ供給する、
ことを特徴とするマイクロ命令制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロプログラムを実行するプロセッサアレイに係り、特にそのマイクロプログラムの制御方法および制御装置に関する。
【背景技術】
【０００２】
プロセッサアレイは、単一プロセッサの逐次処理と異なり、多数のプロセッサエレメントの並列処理によって高速データ処理を実現できることから大いに注目されており、これまでに様々な提案がなされている。以下、図１を参照しながら従来例を簡単に説明する。図１（Ａ）はプロセッサアレイの一般的な構成を示す回路図であり、（Ｂ）は従来のプロセッサアレイの命令系統の一例を概略的に示すブロック図である。
【０００３】
特開２００１−３１２４８１号公報（特許文献１）には、図１（Ａ）に示すように、多数のプロセッサエレメント（ＰＥ）１が２次元アレイ状に配列され、プログラマブル配線１００よってプログラマブルに接続されたプロセッサアレイが開示されている。プロセッサエレメント１の各々は、図１（Ｂ）に示すように、演算器およびスイッチを含むロジックブロック２とマイクロプログラムメモリ３’とから構成されており、各ロジックブロックの演算器やスイッチの機能は、そのマイクロプログラムメモリ３’から出力される命令によって決定される。スイッチ機能を例に取れば、プログラマブル配線間の接続状態を設定したり、プログラマブル配線からの演算器入力の選択や演算結果の出力先となるプログラマブル配線の指定をしたりする。マイクロプログラムメモリ３’は複数の命令を保持しており、いずれの命令を出力するかはシーケンサ２００によって生成されるアドレス信号４によって決定される。
【０００４】
ところが、実際には、命令によって同時に制御されるのは、ロジックブロック内の一部の演算器やスイッチであることが多い。言い換えれば、アドレス信号４によって指定された命令は、実施の命令として使用されるのはその一部のみであり、残りはデフォルト値（たとえば論理値０）としてマイクロプログラムメモリ３を無駄に占有している。
【０００５】
このような命令によるメモリの無駄な占有を回避するための方法が特開平７−１７５６４８号公報（特許文献２）に開示されている。この方法のポイントは、命令のうち未使用フィールド（すなわちデフォルト値の部分）を省略してメモリに格納し、メモリから読み出すときに省略した未使用フィールドを元の状態に戻して１つの命令として使用する点にある。所定長の命令のどの位置に未使用フィールドがあるかを示す情報を付加する必要があるが、全体としてはメモリの節約が可能となる（段落００１３〜００２２、図１、図２参照）。
【特許文献１】特開２００１−３１２４８１号公報
【特許文献２】特開平７−１７５６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２に記載されたメモリ節約方法は、単一プロセッサを前提としたものであり、これをそのままプロセッサアレイに適用しても効果的なメモリ節約を達成することはできない。単一プロセッサとは異なり、プロセッサアレイはプログラマブル配線１００を有しているので、各プロセッサエレメントのロジックブロックには格段に多くのスイッチが設けられている。このため、単一プロセッサに比べてマイクロプログラムメモリの無駄がはるかに多くなり、特許文献２に記載されたメモリ節約方法では十分なメモリ削減効果を得ることができないからである。
【課題を解決するための手段】
【０００７】
本発明は、上記従来の課題を解決するものであり、プログラマブルに接続された複数のロジックブロックの配列を有するプロセッサアレイにおいて、前記複数のロジックブロックの配列に対応して配列され、複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す制御情報とを格納する複数のメモリ手段と、前記複数のメモリ手段の各々と前記複数のマイクロ命令を供給すべき複数のロジックブロックとを接続し、前記制御情報に基づいて前記有効データ部および所定データから前記複数のロジックブロックの各々の機能を決定するマイクロ命令を生成するマイクロ命令生成手段と、を有することを特徴とする。
【０００８】
言い換えれば、プロセッサアレイの互いに隣接した複数のプロセッサエレメントのマイクロプログラムメモリを共有化し、共有化されたマイクロプログラムメモリに有効データとその位置情報を格納し、有効データを含む有効データ部を複数のプロセッサエレメントのロジックブロックで融通しあう。
【０００９】
望ましくは、複数のロジックブロックは二次元アレイ状に配列され、前記マイクロ命令生成手段は前記複数のメモリ手段をそれぞれ上下方向に隣接する２つのロジックブロックに接続する。
【００１０】
本発明の一実施形態によれば、マイクロ命令生成手段は、複数のメモリ手段の各々を隣接する２つのロジックブロックに接続し、かつ、前記複数のロジックブロックの各々を隣接する２つのメモリ手段に接続することが望ましい。
【００１１】
本発明の一側面によるプロセッサエレメント複合体は、他のロジックブロックとプログラマブルに接続可能な複数のロジックブロックと、複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す制御情報とからなる符号化命令を複数個格納するメモリ手段と、アドレス信号に従って前記複数の符号化命令の１つを指定するアドレスデコーダと、前記メモリ手段と前記複数のロジックブロックとを接続し、指定された符号化命令の前記制御情報に基づいて、前記有効データ部および所定データから前記複数のロジックブロックの各々の機能を決定するマイクロ命令を復号化する復号化手段と、を有することを特徴とする。
【００１２】
上述したマイクロ命令生成手段あるいは復号化手段は、好ましい実施例として、各ロジックブロックに対応して設けられ、前記制御情報に従って前記有効データ部および前記所定データのいずれかを選択し、前記マイクロ命令を構成する複数の区間データをそれぞれ生成する複数のセレクタからなる。
【００１３】
本発明の他の側面によるプロセッサアレイは、複数の同等なロジックブロックＢ1〜ＢN（Ｎは２以上の整数）と、前記ロジックブロックの各々に付随する複数のセレクタと、前記ロジックブロックＢ1〜ＢNに対応して配列された複数のマイクロプログラムメモリＰ1〜ＰN-1とを有し、前記ロジックブロックＢ1〜ＢNの各々は、演算器と、ロジックブロック間をプログラマブルに接続するスイッチとを含み、前記マイクロプログラムメモリＰ1〜ＰMの各々に格納されている複数の命令の各々は、位置情報と複数の有効データ部とを含み、任意のロジックブロックＢi（ｉ＝２，・・・，Ｎ−１）に付随する前記複数のセレクタのうち第１のグループは、マイクロプログラムメモリＭi-1から前記位置情報と前記複数の有効データ部とを供給され、前記複数のセレクタのうち第２のグループはマイクロプログラムメモリＭiから前記位置情報と前記複数の有効データ部とを供給され、前記複数のセレクタの各々は、前記位置情報に含まれるデータに基づいて、前記複数の有効データ部と既定値とから一つを選択して区間命令として出力し、前記複数のセレクタから出力される区間命令によって、対応するロジックブロックの機能が決定され、各ロジックブロックの前記区間命令の合計データ幅より、前記マイクロプログラムメモリの前記複数の有効データ部の合計データ幅が小さい、ことを特徴とする。
【００１４】
本発明のさらに別の側面によるマイクロ命令制御装置は、前記複数のロジックブロックの配列に対応して配列され、複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す制御情報とを格納する複数のメモリ手段と、前記複数のメモリ手段の各々と前記複数のマイクロ命令を供給すべき複数のロジックブロックとを接続し、前記制御情報に基づいて前記有効データ部および所定データから前記複数のロジックブロックの各々の機能を決定するマイクロ命令を生成するマイクロ命令生成手段と、ことを特徴とする。
【００１５】
本発明のさらに別の側面によるマイクロ命令制御方法は、複数のマイクロ命令の有効データが少なくとも一部分に格納された複数の有効データ部と各有効データ部がマイクロ命令のどの位置に対応するかを示す制御情報とからなる符号化命令を複数個格納し、アドレス信号に従って前記複数の符号化命令から１つを指定し、指定された符号化命令の前記制御情報に基づいて、前記有効データ部および所定データから前記複数のロジックブロックの各々の機能を決定するマイクロ命令を復号し、前記復号されたマイクロ命令を対応するロジックブロックへ供給する、ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、マイクロプログラムメモリを複数のプロセッサエレメントで共有し、マイクロプログラムメモリに格納するデータは有効データに基づいたものであるために、マイクロプログラムメモリの面積を縮小でき、プロセッサアレイにおけるメモリスペースを大幅に削減することができる。
【００１７】
また、従来は上下に並んでいたプロセッサエレメントのマイクロプログラムメモリを共有化することで、ロジックブロックの横幅を従来のプロセッサエレメントの横幅と同じか、わずかな変更で済むように構成することができる。ロジックブロックの演算器やスイッチの配置を再設計しなくてよいか、または軽微な変更で済むという効果がある。
【００１８】
さらに、複数のメモリ手段の各々を隣接する２つのロジックブロックに接続し、かつ、複数のロジックブロックの各々を隣接する２つのメモリ手段に接続することで、回路構成が大幅に簡単になり、回路面積や遅延を減らすことができる。さらに、有効データや制御情報を転送する範囲が狭くなるので、配線の長さも短くて済むというメリットもある。しかも、１つのロジックブロック当たり最大で４つの有効データを使えるなど、有効データの融通性も向上する。
【発明を実施するための最良の形態】
【００１９】
１．第１実施形態
１．１）プロセッサアレイ
図２は本発明の第１実施形態によるプロセッサアレイを従来のプロセッサアレイと比較して説明するために用いられ、（Ａ）は本発明の第１実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図、（Ｂ）は従来のプロセッサアレイの命令系統を示す概略的ブロック図である。ここでは、図を煩雑にしないために２行４列のプロセッサエレメントだけを図示しているが、所望の数のプロセッサエレメントが配列されても同様である。
【００２０】
図２（Ａ）において、本実施形態によるプロセッサアレイでは、複数のプロセッサエレメント複合体３００が配列されており、各プロセッサエレメント複合体３００に対してシーケンサ２００からアドレス信号４が出力される。プロセッサエレメント複合体３００は、後述するように、２つのロジックブロック２ａおよび２ｂと、それらに対する命令を格納する共有化マイクロプログラムメモリ３とを有する。
【００２１】
プロセッサエレメント複合体３００のロジックブロック２ａおよび２ｂは、図２（Ｂ）に示すように、従来は横方向に隣り合って独立していた２つのプロセッサエレメント１ａおよび１ｂのロジックブロックにそれぞれ対応する。したがってロジックブロック２ａおよび２ｂは同じ回路である。
【００２２】
また、プロセッサエレメント複合体３００の共有化マイクロプログラムメモリ３は、従来のプロセッサエレメント１ａおよび１ｂのマイクロプログラムメモリ３ａおよび３ｂを統合したものである。後述するように、共有化マイクロプログラムメモリ３には圧縮された命令が複数個格納されており、シーケンサ２００から入力したアドレス信号４に従って１つの圧縮命令が読み出される。読み出された圧縮命令から２つのマイクロ命令を復号し、それらによってロジックブロック２ａおよび２ｂがそれぞれ制御される。各マイクロ命令による対応ロジックブロックの制御は従来と同様である。
【００２３】
このようにマイクロプログラムメモリを複数のプロセッサエレメントで共有することで、マイクロプログラムメモリの面積を縮小することができる。
【００２４】
１．２）プロセッサエレメント複合体
図３は本発明の第１実施形態によるプロセッサエレメント複合体の構成を示すブロック図である。プロセッサエレメント複合体３００は、２つのロジックブロック２ａおよび２ｂと、複数の圧縮命令を格納する共有化マイクロプログラムメモリ３と、ロジックブロック２ａおよび２ｂへそれぞれ与えられる２つのマイクロ命令を生成するための復号部と、を有する。復号部は、後述するように、ロジックブロック２ａに付随するセレクタ７．１ａ〜７．４ａとロジックブロック２ｂに付随するセレクタ７．１ｂ〜７．４ｂとから構成される。
【００２５】
共有化マイクロプログラムメモリ３は、アドレス信号４をデコードするアドレスデコーダ５と複数の命令を格納するメモリコア３０とを有し、アドレス信号４に応じて複数の命令のうち一つを復号部へ出力する。
【００２６】
本実施形態におけるマイクロ命令は４つの区間命令から構成され、各区間命令は１つのセレクタによって生成される。すなわち、４つのセレクタ７．１ａ〜７．４ａによりそれぞれ生成される区間命令６．１ａ〜６．４ａは１つのマイクロ命令として一方のロジックブロック２ａに入力し、他方のロジックブロック２ｂには、４つのセレクタ７．１ａ〜７．４ｂによりそれぞれ生成される区間命令６．１ｂ〜６．４ｂが１つのマイクロ命令として入力する。
【００２７】
また、本実施形態における共有化マイクロプログラムメモリ３に格納された各命令１０は、３つの有効データ部１１．１〜１１．３とそれら有効データ部の位置を示す位置情報（ＳＣ）１３とからなる。位置情報１３には、後述するように、各セレクタに対して有効データおよびデフォルト値のいずれか一方を区分命令として指定する選択制御データ８．１ａ〜８．４ａおよび８．１ｂ〜８．４ｂが書き込まれている。
【００２８】
共有化マイクロプログラムメモリ３の有効データ部１１．１のデータはセレクタ７．１ａ〜７．４ａおよびセレクタ７．１ｂ〜７．２ｂにそれぞれ出力され、有効データ部１１．２のデータはセレクタ７．２ａ〜７．４ａおよびセレクタ７．１ｂ〜７．３ｂに、有効データ部１１．３のデータはセレクタ７．３ａ〜７．４ａおよびセレクタ７．１ｂ〜７．４ｂに、それぞれ出力される。セレクタ７．１ａ〜７．４ａは位置情報１３の選択制御データ８．１ａ〜８．４ａによってそれぞれ選択制御され、セレクタ７．１ｂ〜７．４ｂは選択制御データ８．１ｂ〜８．４ｂによってそれぞれ選択制御される。たとえば、セレクタ７．４ａは３つの有効データ部１１．１〜１１．３から入力するので、その選択制御データ８．４ａに従って、３つ入力データおよび１つのデフォルト値から１つの出力を選択する。
【００２９】
図３において、有効データ部１１．１〜１１．３の各データ幅は、区間命令６．１ａ〜６．４ａおよび６．１ｂ〜６．４ｂの各データ幅と同じである。ロジックブロック２ａおよび２ｂの各々が必要とする命令のデータ幅は、区間命令６．１ａ〜６．４ａ（あるいは６．１ｂ〜６．４ｂ）のデータ幅の合計と同じである。したがって、たとえば３個すべての有効データ部１１．１〜１１．３を一方のロジックブロックに割り当てたとしても、当該ロジックブロックの命令データ幅には不足する。この場合、不足するデータはデフォルト値が使われる。
【００３０】
既に説明したように、１つのマイクロ命令のうち、すべてのビットが有効な情報として使われる場合は少ないので、ほとんどの場合は本実施形態のように３つの有効データ部を用意することで間に合う。もし命令の全ビットを使用する必要が生じた場合は、次に説明するように、その命令を複数命令に分割して実行することで対処可能である。その場合、所要クロック数は増えるが、プログラム全体でそのような事態がわずかな回数しか起こらなければ、全体の性能はほとんど変わらない。
【００３１】
１．３）メモリ節約法
図４（Ａ）は、従来の独立した隣接プロセッサエレメントにおけるマイクロプログラムメモリコア３０ａおよび３０ｂに格納された複数のマイクロ命令の一例を示した模式図、（Ｂ）は本発明の第１実施形態におけるメモリコア３０に格納された複数の圧縮命令を示した模式図、（Ｃ）は１つの圧縮命令における位置情報１３のフォーマットを示す模式図である。
【００３２】
図４（Ａ）において、マイクロプログラムメモリコア３０ａおよび３０ｂの各々には、５つのワードデータ（１ワードデータはプロセッサエレメントの１マイクロ命令に相当する）が順に格納されており、白い部分が有効なビット、斜線ハッチング部分が無効なビット（デフォルト値）を示すものとする。本実施形態では、各々のメモリコア内のワードデータを上述した区間命令に相当する区間データに分割する。ここでは、１ワードデータを４等分した４つの区間データを例示する。
【００３３】
図４（Ａ）に示す例では、マイクロプログラムメモリコア３０ａの先頭行（図の最下行）に格納されたワードデータ（マイクロ命令）には先頭の区間データＡと後尾の区間データＢとにそれぞれ有効ビットが存在し、その他の区間データはすべて無効ビットである。またマイクロプログラムメモリコア３０ｂの先頭行（図の最下行）に格納されたワードデータすべて無効ビットである。区間データのなかに有効なビットが含まれていれば、その区間データを「有効データ」とし、そうでない場合には「無効データ」とする。従って、図４（Ａ）では、区間データＡ〜Ｌが有効データである。
【００３４】
このような隣接プロセッサエレメントにおけるマイクロプログラムメモリコア３０ａおよび３０ｂに格納されたワードデータは順位ごとに統合され、図４（Ｂ）に示すように、有効データＡ〜Ｌのみがそれらの位置情報と共に共有化マイクロプログラムメモリ３０に格納される。図４（Ｂ）において、共有化マイクロプログラムメモリコア３０の各圧縮命令は、位置情報（ＳＣ）１３と３個の有効データ部１１．１〜１１．３とからなる。有効データ部１１．１〜１１．３は、図４（Ａ）における統合ワードデータの３つの区間割当にそれぞれ対応している。たとえば、有効データＡは統合ワードデータ１０．１の左端に位置するので有効データ部１１．１に、有効データＢは中央２列に位置するので有効データ部１１．２に、それぞれ書き込まれる。
【００３５】
このように、図４（Ａ）の統合ワードデータ１０．１〜１０．４は有効データの個数が３以下であるから、図４（Ｂ）の共有化マイクロプログラムメモリ３０の圧縮命令１０．１〜１０．４にそれぞれ対応して格納される。これに対して、統合ワードデータ１０．５には４つの有効データＩ、Ｊ、Ｋ、Ｌが存在する。この場合には、図４（Ｂ）に示すように、２つの圧縮命令１０．５および１０．６を使って有効データＩ、Ｊ、Ｋ、Ｌを格納すればよい。読み出しのための所要クロック数は増えるが、プログラム全体でそのような事態がわずかな回数しか起こらないので、全体的な影響は極めて少なく性能面での低下はほとんど無い。
【００３６】
図４（Ｃ）に示すように、位置情報１３は、セレクタ７．１ａ〜７．４ａおよびセレクタ７．１ｂ〜７．４ｂの選択動作をそれぞれ制御する選択制御データ８．１ａ〜８．４ｂを順に格納したものである。この例の場合、セレクタ７．１ａおよび７．４ｂは１つの有効データとデフォルト値のうち一方を選択するので、選択制御データ８，１ａおよび８．４ｂは１ビットであればよい。そのほかのセレクタ７．２ａ〜７．４ａおよび７．１ｂ〜７．３ｂは２つあるいは３つの有効データとデフォルト値のうち一つを選択するので選択制御データ８．２ａ〜８．４ａおよび８．１ｂ〜８．３ｂは２ビット必要である。
【００３７】
たとえば、図４（Ｂ）の圧縮命令１０．１では、第１区間データである有効データＡは有効データ部１１．１に、第４区間データである有効データＢは有効データ部１１．２にそれぞれ書き込まれているので、その位置情報１３は次のように設定される。選択制御データ８．１ａは有効データ部１１．１からの有効データを選択するための１ビットデータ（たとえば“１”）、選択制御データ８．２ａおよび８．３ａはデフォルト値を選択するための２ビットデータ（たとえば“００”）、選択制御データ８．４ａは有効データ部１１．２からの有効データを選択するための２ビットデータ（たとえば“１０”）、選択制御データ８．１ｂ〜８．４ｂはデフォルト値を選択するための２ビットデータ（たとえば“００”）となる。
【００３８】
１．４）動作
次に、共有化マイクロプログラムメモリ３０に図４（Ｂ）および（Ｃ）に示す圧縮命令が格納されている場合を例にとって、図３に示すプロセッサエレメント複合体３００の動作を簡単に説明する。
【００３９】
たとえば、アドレス信号４によって図４（Ｂ）の圧縮命令１０．１が指定され、共有化プログラムメモリ３０から読み出されたとすると、有効データ部１１．１に格納された有効データＡはセレクタ７．１ａ〜セレクタ７．２ｂに、有効データ部１１．２に格納された有効データＢはセレクタ７．２ａ〜セレクタ７．３ｂに、それぞれ出力される。位置情報１３には、有効データ部１１．１からの有効データを選択するための１ビット選択制御データ８．１ａ、デフォルト値を選択するための２ビット選択制御データ８．２ａおよび８．３ａ、有効データ部１１．２からの有効データを選択するための２ビット選択制御データ８．４ａ、および、デフォルト値を選択するための２ビット選択制御データ８．１ｂ〜８．４ｂからなる。これらの選択制御データ８．１ａ〜８．４ｂがそれぞれセレクタ７．１ａ〜７．４ｂに出力される。
【００４０】
したがって、セレクタ７．１ａからは有効データＡである区間命令６．１ａがロジックブロック２ａへ出力され、セレクタ７．２ａおよび７．３ａからはデフォルト値である区間命令６．２ａおよび６．３ａが、セレクタ７．４ａからは有効データＢである区間命令６．４ａがロジックブロック２ａへ出力され、さらに、セレクタ７．１ｂ〜７．４ｂからはデフォルト値である区間命令６．１ｂ〜６．４ｂがロジックブロック２ｂへ出力される。こうして、ロジックブロック２ａおよび２ｂにそれぞれ１つのマイクロ命令が与えられる。
【００４１】
図４（Ｂ）の圧縮命令１０．５および１０．６のように１クロック命令であったものを複数クロックに分割した場合は、１つのクロックにより圧縮命令１０．５が読み出され、上述したように有効データＩが区間命令６．１ａ、デフォルト値が区間命令６．２ａ、有効データＪおよびＫがそれぞれ区間命令６．３ａおよび６．４ａ、デフォルト値が区間命令６．１ｂ〜６．３ｂとして各セレクタに保持され、さらに、次のクロックにより圧縮命令１０．６が読み出され、有効データＬが区間命令６．４ｂとして保持され、これら区間命令６．１ａ〜６．４ａおよび６．１ｂ〜６．４ｂがロジックブロック２ａおよび２ｂへそれぞれ出力される。
【００４２】
なお、図３に示すブロック図は、位置情報１３と各セレクタとの間に回路を含まない最も高速な回路の例である。位置情報１３と各セレクタとの間にデコーダを挿入し、位置情報１３のビット幅を削減することは、当該分野の技術を有するものであれば容易に実施可能である。
【００４３】
また、上述したように、図４（Ａ）で示した従来のマイクロプログラムメモリのデータ形式は、あらかじめ図４（Ｂ）に示した形式に変換する必要がある。すなわち従来のマイクロプログラムから有効データを切り出し、その出力位置を指定する選択制御データを作成し、それらを共有化マイクロプログラムメモリ３０の所定のワードデータ内に格納しなければならない。この変換処理は専用のソフトウエアによって行うことができる。また、このソフトウエアはコンパイラに含まれていてもよい。
【００４４】
既述のようにプロセッサアレイにおけるプロセッサエレメントの場合、単一プロセッサにはないプログラマブル配線用のスイッチを多量に持っており、このため命令の中で同時に使う有効データの割合は単一プロセッサに比べて大幅に低下する。
【００４５】
１．５）効果
図５はプロセッサアレイの動作説明のための回路図である。図５に示すように、プロセッサアレイでは単一プロセッサにはない固有の現象が生じることがある。ここで、白い四角で示されたプロセッサエレメント（たとえば１ａ）は、命令の多くの部分が有効なデータが占められており、斜線ハッチングの四角で示されたプロセッサエレメント（たとえば１ｂ）は、命令の多くの部分が無効なデータ（デフォルト値）で占められるものとする。
【００４６】
このように、多数のプロセッサエレメントが一様に使われることはほとんどなく、プロセッサエレメントごとに命令に占める有効なデータの割合が異なることが多い。さらに、プロセッサアレイでは、図５に示したような有効データ割合の分布パターンは、クロックごとに変化していく。従来の単一プロセッサを前提としたマイクロプログラムメモリ節約法では、このようなプロセッサエレメントごとの有効データ量の違いにまったく対応できない。
【００４７】
これに対して、本実施形態によれば、２つのプロセッサエレメントで１つのマイクロプログラムメモリを共有しているので、プロセッサエレメントごとの有効データ量の違いを積極的に利用して従来に比べて大幅なマイクロプログラムメモリの節約を実現できる。たとえば、図３において、ロジックブロック２ａが多量の有効データを使用し、ロジックブロック２ｂが少量の有効データしか使わない場合、本実施形態によれば、両者で共有されている共有化マイクロプログラムメモリ３から多くの有効データをロジックブロック２ａに割り当てることができ、２つのロジックブロックで必要に応じて有効データを融通しあうことが可能となる。したがって、全体として少ないマイクロプログラムメモリで処理が可能となる。
【００４８】
さらに、本実施形態では、使用するアドレスデコーダ５の数が従来に比べて少なくなるため、さらなる面積低減が実現する。
【００４９】
なお、図３に示すブロック図では、有効データを３個、ロジックブロック当たりの区間命令を４個で説明したが、本発明においてこれらの個数はこれに限定されるものではなく、任意であってよい。本実施形態の変形例については後述する。
【００５０】
２．第２実施形態
２つのプロセッサエレメントで１つのマイクロプログラムメモリを共有する仕方は第１実施形態の横方向に並んだプロセッサエレメントに限定されるものではない。上述した第１実施形態のプロセッサエレメント複合体では、図２（Ｂ）に示したように横に隣り合った２つのプロセッサエレメント１ａおよび１ｂのマイクロプログラムメモリを共有化したものであるから、プロセッサエレメント１ａおよび１ｂのマイクロプログラムメモリ３ａおよび３ｂの横幅の合計より、図２（Ａ）のプロセッサエレメント複合体３００のマイクロプログラムメモリ３の横幅のほうが大幅に短くなる。これは２つのマイクロプログラムメモリの共有化に伴って、無効なデータ（デフォルト値）を省き、マイクロプログラムメモリのデータ幅の節減を行ったためである。これによって図２（Ａ）に示すように、ロジックブロック２ａおよび２ｂの横幅を従来の横幅（図２（Ｂ））に比べて縮小し演算器やスイッチの配置を設計し直す必要がある。
【００５１】
これに対して、本発明の第２実施形態によるプロセッサアレイは、上下に並んでいたプロセッサエレメント１ａおよび１ｂのマイクロプログラムメモリ３ａおよび３ｂを共有化することで、プロセッサエレメント複合体３００におけるロジックブロック２ａおよび２ｂの横幅を従来のプロセッサエレメントの横幅と同じか、わずかな変更で済むように構成することができる。このため、演算器やスイッチの配置を再設計しなくてよいか、または軽微な変更で済むというメリットがある。
【００５２】
図６は本発明の第２実施形態によるプロセッサアレイを従来のプロセッサアレイと比較して説明するために用いられ、（Ａ）は本発明の第２実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図、（Ｂ）は従来のプロセッサアレイの命令系統を示す概略的ブロック図である。ここでは、図を煩雑にしないために２行４列のプロセッサエレメントだけを図示しているが、所望の数のプロセッサエレメントが配列されても同様である。
【００５３】
図６（Ａ）において、本実施形態によるプロセッサアレイでは、複数のプロセッサエレメント複合体３００が配列されており、各プロセッサエレメント複合体３００に対してシーケンサ２００からアドレス信号４が出力される。プロセッサエレメント複合体３００は、縦方向に並んだ２つのロジックブロック２ａおよび２ｂと、それらに対する命令を格納する共有化マイクロプログラムメモリ３とを有する。
【００５４】
プロセッサエレメント複合体３００のロジックブロック２ａおよび２ｂは、図６（Ｂ）に示すように、従来は縦方向に隣り合って独立していた２つのプロセッサエレメント１ａおよび１ｂのロジックブロックにそれぞれ対応する。したがってロジックブロック２ａおよび２ｂは同じ回路である。
【００５５】
また、プロセッサエレメント複合体３００の共有化マイクロプログラムメモリ３は、従来のプロセッサエレメント１ａおよび１ｂのマイクロプログラムメモリ３ａおよび３ｂを統合したものである。上述したように、共有化マイクロプログラムメモリ３には圧縮された命令が複数個格納されており、シーケンサ２００から入力したアドレス信号４に従って１つの圧縮命令が読み出される。読み出された圧縮命令から２つのマイクロ命令を復号し、それらによってロジックブロック２ａおよび２ｂがそれぞれ制御される。なお、プロセッサエレメント複合体３００の構成は、図３と同じであるから説明は省略する。
【００５６】
３．第３実施形態
１つのマイクロプログラムメモリを共有するプロセッサエレメントの数は上記第１および第２実施形態のように２個に限定されるものではない。
【００５７】
図７は本発明の第３実施形態によるプロセッサアレイを従来のプロセッサアレイと比較して説明するために用いられ、（Ａ）は本発明の第３実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図、（Ｂ）は従来のプロセッサアレイの命令系統を示す概略的ブロック図である。ここでは、図を煩雑にしないために２行４列のプロセッサエレメントだけを図示しているが、所望の数のプロセッサエレメントが配列されても同様である。
【００５８】
図７（Ａ）において、本実施形態によるプロセッサアレイでは、複数のプロセッサエレメント複合体３００が配列されており、各プロセッサエレメント複合体３００に対してシーケンサ２００からアドレス信号４が出力される。プロセッサエレメント複合体３００は、縦方向に並んだ２つのロジックブロック２ａおよび２ｂと、それらに対する命令を格納する共有化マイクロプログラムメモリ３とを有する。
【００５９】
プロセッサエレメント複合体３００のロジックブロック２ａ、２ｂ、２ｃおよび２ｄは、図７（Ｂ）に示すように、従来は上下および左右方向に隣り合って独立していた４つのプロセッサエレメント１ａ、１ｂ、１ｃおよび１ｄのロジックブロックにそれぞれ対応する。したがってロジックブロック２ａ、２ｂ、２ｃおよび２ｄは同じ回路である。
【００６０】
また、プロセッサエレメント複合体３００の共有化マイクロプログラムメモリ３は、従来のプロセッサエレメント１ａ、１ｂ、１ｃおよび１ｄのマイクロプログラムメモリ３ａ、３ｂ、３ｃおよび３ｄを統合したものである。上述したように、共有化マイクロプログラムメモリ３には圧縮された命令が複数個格納されており、シーケンサ２００から入力したアドレス信号４に従って１つの圧縮命令が読み出される。読み出された圧縮命令から２つのマイクロ命令を復号し、それらによってロジックブロック２ａ、２ｂ、２ｃおよび２ｄがそれぞれ制御される。
【００６１】
なお、第３実施形態によるプロセッサエレメント複合体３００の構成は、制御対象のロジックブロックの数が増えたことによる相違を除いて、基本的には図３と同じである。すなわち、図３におけるロジックブロック２ａおよび２ｂにロジックブロック２ｃおよび２ｄを追加し、それらに対応してセレクタを同様に追加する。メモリコア３０に格納される命令１０は、上述したように、各ロジックブロックの区間命令に対応する選択制御データを配列した位置情報１３と複数の有効データ部とからなる。各有効データ部は、出力先となる所定数のセレクタが順次シフトするように接続される。この接続関係は、図３に示すメモリコア３０と各セレクタとの接続関係の拡張に過ぎない。
【００６２】
４．第４実施形態
本発明によれば、１つのマイクロプログラムメモリにより複数のロジックブロックを制御するだけでなく、複数のマイクロプログラムメモリにより１つのロジックブロックを制御することも可能である。
【００６３】
図８は本発明の第４実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図である。ここでは、図を煩雑にしないためにライン状に配列されたプロセッサアレイを図示しているが、所望の数のプロセッサエレメントがエリア状に配列されても同様である。
【００６４】
図８において、本実施形態によるプロセッサアレイでは、複数のロジックブロック２ｉと複数の共有化マイクロプログラムメモリ３ｉｊとがライン状に並行して配列され、１つの共有化マイクロプログラムメモリは２つのロジックブロックを制御し、１つのロジックブロックは２つの共有化マイクロプログラムメモリにより制御される。図８の記号に従ってｉをａ，ｂ，ｃあるいはｄ、ｊをｂ，ｃあるいはｄとすれば、１つの共有化マイクロプログラムメモリ３ａｂは直近の２つのロジックブロック２ａおよび２ｂを制御し、１つのロジックブロック２ｂは直近の２つの共有化マイクロプログラムメモリ３ａｂおよび３ｂｃにより制御される。
【００６５】
すなわち、マイクロプログラムメモリ３ｉｊは、ロジックブロック２ｉおよび２ｊに有効データを分配する。図中の１つのマイクロプログラムメモリから２つのロジックブロックへ伸びる矢印９は各々のマイクロプログラムメモリが有効データをどのロジックブロックに分配するかを示している。したがって、各々のロジックブロック２ｊは２つのマイクロプログラムメモリ３ｉｊおよび３ｊｋから有効データを分配される。
【００６６】
図９は、図８のプロセッサアレイのより詳細な構成を示すブロック図である。なお、図８に示すブロックと同一ブロックには同一参照符号を用い、図３で説明したブロック構成や動作については説明を省略する。以下、説明を煩雑にしないために、共有化マイクロプログラムメモリ３ｂｃ、ロジックブロック２ｂおよび２ｃに関連する構成について説明するが、その他の共有化マイクロプログラムメモリおよびロジックブロックについても同様である。
【００６７】
まず、本実施形態では、各共有化マイクロプログラムメモリ３に格納された命令１０は、２つの有効データ部１１．１および１１．２と１つの位置情報１３とを含むものとする。有効データ部や位置情報については図４（Ｂ）および（Ｃ）で説明したとおりである。また、先頭と末尾のロジックブロックを除いて、その他のロジックブロックは４つのセレクタ７．１〜７．４から区間命令６．１〜６．４を受け取り、先頭のロジックブロックは２つのセレクタ７．３および７．４から区間命令６．３および６．４を、末尾のロジックブロックはセレクタ７．１および７．２から区間命令６．１および６．２を受け取るものとする。なお、ここで示す有効データや区間命令の数は一例に過ぎず、これに限定するものではない。
【００６８】
図９のロジックブロック２ｂに区間命令を供給するセレクタ７．１ｂ〜７．４ｂをみると、左半分のセレクタ７．１ｂおよび７．２ｂは共有化マイクロプログラムメモリ３ａｂから有効データを受け、右半分のセレクタ７．３ｂおよび７．４ｂは共有化マイクロプログラムメモリ３ｂｃから有効データを受ける。
【００６９】
共有化マイクロプログラムメモリ３ｂｃをみると、有効データ部１１．１ｂｃのデータはセレクタ７．３ｂおよび７．４ｂとセレクタ７．１ｃとにそれぞれ出力され、有効データ部１１．２ｂｃのデータはセレクタ７．４ｂとセレクタ７．１ｃおよび７．２ｃにそれぞれ出力される。セレクタ７．３ｂ、７．４ｂ、７．１ｃおよび７．２ｃは位置情報１３ｂｃの選択制御データ８．３ｂ、８．４ｂ、８．１ｃ、８．２ｃによってそれぞれ選択制御される。たとえば、セレクタ７．４ｂは２つの有効データ部１１．１ｂｃおよび１１．２ｂｃから入力するので、その選択制御データ８．４ｂに従って、２つ入力データおよび１つのデフォルト値から１つの出力を選択する。
【００７０】
したがって、本実施形態によれば、最大３つ（２つの有効データと一つのデフォルト値）から選択すればよく、回路構成が大幅に簡単になり、回路面積や遅延を減らすことができる。
【００７１】
さらに、有効データや選択制御データを転送する範囲が狭くなる（すなわち有効データあたりの接続セレクタ数が少なくなる）ので、配線の長さも短くて済むというメリットもある。しかも、１つのロジックブロック当たり最大で４つの有効データを使えるなど、有効データの融通性も向上する。このように、本実施形態によれば、より省面積で高速なマイクロプログラムメモリの節約を実現できる。
【００７２】
なお、図９に示す構成では、各共有化マイクロプログラムメモリが２つの有効データ部を有し、２つのロジックブロックへ配布されるので、平均して、ロジックブロック当たり２つの有効データがあることになる。すなわち、一つのロジックブロックが持つ４つの区間命令のうち平均して半分の有効データがあることになる。
【００７３】
５．変形例
本発明の第１および第２実施形態では、共有化マイクロプログラムメモリに格納される命令の有効データは３個、ロジックブロック当たりの区間命令は４個で説明したが、これらの個数に限定されるものではない。以下、変形例について説明する。
【００７４】
図１０は本発明の第１あるいは第２実施形態の変形例によるプロセッサアレイの命令系統を示す概略的ブロック図であり、図１１はプロセッサエレメント複合体のより詳細な構成を示すブロック図である。なお、図１０および図１１では、同一ブロックには同一参照符号を用い、図３で説明したブロック構成や動作については説明を省略する。また、図を煩雑にしないためにライン状に配列されたプロセッサアレイを図示しているが、所望の数のプロセッサエレメントがエリア状に配列されても同様である。
【００７５】
本変形例によれば、各々のロジックブロックは１つの共有化マイクロプログラムメモリのみから有効データを受け取る。本変形例における共有化マイクロプログラムメモリ３に格納された各命令１０は、４つの有効データ部１１．１〜１１．４とそれら有効データ部の位置を示す位置情報（ＳＣ）１３とからなる。位置情報１３には、既に述べたように、各セレクタに対して有効データおよびデフォルト値のいずれか一方を区分命令として指定する選択制御データ８．１ａ〜８．４ａおよび８．１ｂ〜８．４ｂが書き込まれている。
【００７６】
共有化マイクロプログラムメモリ３の有効データ部１１．１のデータはセレクタ７．１ａ〜７．４ａおよびセレクタ７．１ｂにそれぞれ出力され、有効データ部１１．２のデータはセレクタ７．２ａ〜７．４ａおよびセレクタ７．１ｂ〜７．２ｂに、有効データ部１１．３のデータはセレクタ７．３ａ〜７．４ａおよびセレクタ７．１ｂ〜７．３ｂに、有効データ部１１．４のデータはセレクタ７．４ａおよびセレクタ７．１ｂ〜７．４ｂに、それぞれ出力される。セレクタ７．１ａ〜７．４ａは位置情報１３の選択制御データ８．１ａ〜８．４ａによってそれぞれ選択制御され、セレクタ７．１ｂ〜７．４ｂは選択制御データ８．１ｂ〜８．４ｂによってそれぞれ選択制御される。たとえば、セレクタ７．４ａは４つの有効データ部１１．１〜１１．４から入力するので、その選択制御データ８．４ａに従って、４つ入力データおよび１つのデフォルト値から１つの出力を選択する。
【００７７】
図１１において、有効データ部１１．１〜１１．４の各データ幅は、区間命令６．１ａ〜６．４ａおよび６．１ｂ〜６．４ｂの各データ幅と同じである。ロジックブロック２ａおよび２ｂの各々が必要とする命令のデータ幅は、区間命令６．１ａ〜６．４ａ（あるいは６．１ｂ〜６．４ｂ）のデータ幅の合計と同じである。したがって、４個すべての有効データ部１１．１〜１１．４を一方のロジックブロックに割り当てることで、１つのマイクロ命令を構成することができる。
【００７８】
このように４つの有効データ１１．１〜１１．４が２つのロジックブロック２ａおよび２ｂに分配されるので、１つのロジックブロック当たり４つの区間命令のうち平均すると半分の有効データがあることになる。したがって、本変形例は、図９に示す第４実施形態と同じロジックブロック当たりの平均有効データ量となる。
【産業上の利用可能性】
【００７９】
本発明は複数のプロセッサエレメントが１次元あるいは２次元アレイ状に配列されたプロセッサアレイに適用可能である。
【図面の簡単な説明】
【００８０】
【図１】（Ａ）はプロセッサアレイの一般的な構成を示す回路図であり、（Ｂ）は従来のプロセッサアレイの命令系統の一例を概略的に示すブロック図である。
【図２】（Ａ）は本発明の第１実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図、（Ｂ）は従来のプロセッサアレイの命令系統を示す概略的ブロック図である。
【図３】本発明の第１実施形態によるプロセッサエレメント複合体の構成を示すブロック図である。
【図４】（Ａ）は、従来の独立した隣接プロセッサエレメントにおけるマイクロプログラムメモリコア３０ａおよび３０ｂに格納された複数のマイクロ命令の一例を示した模式図、（Ｂ）は本発明の第１実施形態におけるメモリコア３０に格納された複数の圧縮命令を示した模式図、（Ｃ）は１つの圧縮命令における位置情報１３のフォーマットを示す模式図である。
【図５】プロセッサアレイの動作説明のための回路図である。
【図６】（Ａ）は本発明の第２実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図、（Ｂ）は従来のプロセッサアレイの命令系統を示す概略的ブロック図である。
【図７】（Ａ）は本発明の第３実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図、（Ｂ）は従来のプロセッサアレイの命令系統を示す概略的ブロック図である。
【図８】本発明の第４実施形態によるプロセッサアレイの命令系統を示す概略的ブロック図である。
【図９】図８のプロセッサアレイのより詳細な構成を示すブロック図である。
【図１０】本発明の第１あるいは第２実施形態の変形例によるプロセッサアレイの命令系統を示す概略的ブロック図である。
【図１１】図１０におけるプロセッサエレメント複合体のより詳細な構成を示すブロック図である。
【符号の説明】
【００８１】
１、１ａ、１ｂ    プロセッサエレメント
２、２ａ、２ｂ    ロジックブロック
３、３ａ、３ｂ、３ａｂ、３ｂｃ、３ｃｄ    マイクロプログラムメモリ
４    マイクロプログラムメモリのアドレス信号
５、５ａｂ、５ｂｃ、５ｃｄ    アドレスデコーダ
６.１ａ〜６．４ａ、６.１ｂ〜６．４ｂ、６.１ｃ〜６．４ｃ、６.１ｄ〜６．２ｄ    区間命令
７.１ａ〜７．４ａ、７.１ｂ〜７．４ｂ、７.１ｃ〜７．４ｃ、７.１ｄ〜７．２ｄ    セレクタ
８.１ａ〜８．４ａ、８.１ｂ〜８．４ｂ、８.１ｃ〜８．４ｃ、８.１ｄ〜８．２ｄ    位置情報内の選択制御データ
９    有効データの分配範囲
１０、１０ａｂ、１０ｂｃ、１０ｃｄ    命令
１０.１〜１０，６    ワードデータ
１１．１〜１１．４、１１．１ａｂ、１１．２ａｂ、１１．１ｂｃ、１１．２ｂｃ、１１．１ｃｄ、１１．２ｃｄ    有効データ部
１２    デフォルト値
１３、１３ａｂ、１３ｂｃ、１３ｃｄ    位置情報
３０、３０ａｂ、３０ｂｃ、３０ｃｄ    マイクロプログラムメモリコア
１００    プログラマブル配線
２００    シーケンサ
３００    プロセッサエレメント複合体
【図１】
0004530042.tif 000002
【図２】
0004530042.tif 000003
【図３】
0004530042.tif 000004
【図４】
0004530042.tif 000005
【図５】
0004530042.tif 000006
【図６】
0004530042.tif 000007
【図７】
0004530042.tif 000008
【図８】
0004530042.tif 000009
【図９】
0004530042.tif 000010
【図１０】
0004530042.tif 000011
【図１１】
0004530042.tif 000012