(57)【要約】【課題】複数の状態遷移を同時に実行するような場合でも効率的に動作することができるアレイ型プロセッサを提供する。【解決手段】個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメント１０７が行列形状に配列されており、これら多数のプロセッサエレメント１０７の命令コードを状態管理部１０５で順次切り換える。ただし、状態管理部１０５が相互通信して連携動作する複数からなり、多数のプロセッサエレメント１０７が複数のエレメントグループ１４５に区分されており、複数の状態管理部１０５と複数のエレメントグループ１４５とが個々に接続されているので、小規模な複数の状態遷移を複数の状態管理部１０５で個別に管理することや、大規模な一つの状態遷移を複数の状態管理部１０５で協調して管理することを、実行できる。【選択図】　図１
2004133780.tif 000002
【特許請求の範囲】
【請求項１】
個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントの前記命令コードを状態管理部で順次切り換えるアレイ型プロセッサであって、
前記状態管理部が複数からなり、
多数の前記プロセッサエレメントが複数の前記状態管理部に対応した個数のエレメントグループに区分されており、
複数の前記状態管理部と複数の前記エレメントグループとが個々に接続されているアレイ型プロセッサ。
【請求項２】
個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントの前記命令コードを状態管理部で順次切り換えるアレイ型プロセッサであって、
前記状態管理部が複数からなり、
複数の前記状態管理部の少なくとも一部と多数の前記プロセッサエレメントの少なくとも一部との接続関係を可変自在とする可変接続手段を有しているアレイ型プロセッサ。
【請求項３】
前記可変接続手段は、複数の前記状態管理部の全部と多数の前記プロセッサエレメントの全部との接続関係を可変自在とする請求項２に記載のアレイ型プロセッサ。
【請求項４】
前記可変接続手段は、複数の前記状態管理部ごとに接離自在な前記プロセッサエレメントを規制している請求項２に記載のアレイ型プロセッサ。
【請求項５】
多数の前記プロセッサエレメントの少なくとも一部が複数のエレメントグループに区分されており、
前記可変接続手段は、複数の前記状態管理部の少なくとも一部と複数の前記エレメントグループの少なくとも一部との接続関係を可変自在とする請求項２に記載のアレイ型プロセッサ。
【請求項６】
多数の前記プロセッサエレメントが前記状態管理部に対応した個数のエレメントグループに区分されており、
前記可変接続手段は、複数の前記状態管理部の全部と複数の前記エレメントグループの全部との接続関係を可変自在とする請求項５に記載のアレイ型プロセッサ。
【請求項７】
前記可変接続手段は、複数の前記状態管理部ごとに接離自在な前記エレメントグループを規制している請求項５に記載のアレイ型プロセッサ。
【請求項８】
多数の前記プロセッサエレメントが前記状態管理部に対応した個数のエレメントグループに区分されており、
前記可変接続手段は、少なくとも第ｎ（ｎは自然数）番目の前記状態管理部と第ｎ番目の前記エレメントグループとを接離自在とする請求項７に記載のアレイ型プロセッサ。
【請求項９】
前記可変接続手段は、少なくとも第ｎ番目の前記状態管理部と第ｎ±ｍ（ｍはｎより少数の自然数）番目の前記エレメントグループとを接離自在とする請求項８に記載のアレイ型プロセッサ。
【請求項１０】
前記可変接続手段は、複数の前記状態管理部の一部を複数のエレメントグループの一部に接離自在とするとともに、複数の前記状態管理部の他部を複数の前記エレメントグループの他部に接離自在としている請求項５に記載のアレイ型プロセッサ。
【請求項１１】
複数の前記状態管理部の一部が複数の前記エレメントグループの一部に固定的に接続されており、
前記可変接続手段は、複数の前記状態管理部の他部を複数の前記エレメントグループの他部に接離自在としている請求項５に記載のアレイ型プロセッサ。
【請求項１２】
複数の前記状態管理部の一部が所定の前記エレメントグループに固定的に接続されているとともに前記可変接続手段により所定の前記エレメントグループの前記プロセッサエレメントに接離自在とされており、
複数の前記状態管理部の他部が前記可変接続手段により所定の前記エレメントグループの前記プロセッサエレメントに接離自在とされている請求項５に記載のアレイ型プロセッサ。
【請求項１３】
前記可変接続手段は、複数の前記状態管理部を各々に所定の前記エレメントグループの前記プロセッサエレメントに接離自在としている請求項５に記載のアレイ型プロセッサ。
【請求項１４】
複数の前記状態管理部が相互通信して連携動作する請求項１ないし１３の何れか一項に記載のアレイ型プロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントを状態管理部で動作制御するアレイ型プロセッサに関する。
【０００２】
【従来の技術】
現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ　Ｐｒｏｃｅｓｓｏｒ　Ｕｎｉｔ）と呼称される製品が実用化されている。
【０００３】
このようなプロセッサユニットを利用したデータ処理システムでは、複数の命令コードが記述された各種のアプリケーションプログラムと各種の処理データとがメモリデバイスに格納され、プロセッサユニットはメモリデバイスから命令コードや処理データを順番にデータ読出して複数の演算処理を逐次実行する。
【０００４】
このため、一個のプロセッサユニットで各種のデータ処理を実現できるが、そのデータ処理では複数の演算処理を順番に逐次実行する必要があり、その逐次処理ごとにプロセッサユニットがメモリデバイスから命令コードをデータ読出する必要があるので、複雑なデータ処理を高速に実行することは困難である。
【０００５】
一方、実行するデータ処理が一つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで形成すれば、プロセッサユニットがメモリデバイスから複数の命令コードを順番にデータ読出して複数の演算処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら一つのデータ処理しか実行することができない。
【０００６】
つまり、アプリケーションプログラムを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、アプリケーションプログラムを変更できないので一つのデータ処理しか実行できない。
【０００７】
このような課題を解決するため、本出願人はソフトウェアに対応してハードウェアの構成が変化するデータ処理装置として、アレイ型プロセッサを発明して出願した（例えば、特許文献１参照）。
【０００８】
【特許文献１】
特開２００１−３１２４８１号
このアレイ型プロセッサでは、小規模の多数のプロセッサエレメントが多数のスイッチエレメントとともにデータパス部に行列形状に配列されており、この１個のデータパス部に１個の状態管理部が並設されている。多数のプロセッサエレメントは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに、個々に並設されている多数のスイッチエレメントに相互の接続関係を切換制御させる。
【０００９】
つまり、アレイ型プロセッサは、多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードを切り換えることでデータパスの構成が変化するので、ソフトウェアに対応して各種のデータ処理を実行することができ、ハードウェアとして小規模の多数のプロセッサエレメントが簡単なデータ処理を並列に実行するので、データ処理を高速に実行することができる。
【００１０】
そして、上述のような多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードからなるデータパス部のコンテキストを状態管理部がコンピュータプログラムに対応して動作サイクルごとに順次切り換えるので、アレイ型プロセッサはコンピュータプログラムに対応して並列処理を連続的に実行することができる。
【００１１】
【発明が解決しようとする課題】
上述のアレイ型プロセッサは、多数のプロセッサエレメントにより高速なデータ処理を実行できるが、その多数のプロセッサエレメントの状態遷移を１個の状態管理部で管理している。このため、例えば、図１４に示すように、４状態と６状態との２つのループ遷移を一緒に実行する場合、最低でも４と６との最少公倍数である１２状態が必要となる。
【００１２】
このような状態数は組み合わせる状態遷移の個数や各遷移の状態数が増加すると膨大となり、アレイ型プロセッサの動作効率を阻害することになる。特に、状態遷移に条件分岐が存在する場合、管理すべき状態数が膨大となり、状態管理部で管理することが困難となる。
【００１３】
本発明は上述のような課題に鑑みてなされたものであり、複数の状態遷移を同時に実行するような場合でも効率的に動作することができるアレイ型プロセッサを提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明のアレイ型プロセッサは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントの命令コードを状態管理部で順次切り換える。
【００１５】
上述のようなアレイ型プロセッサの第１の発明では、状態管理部が複数からなり、多数のプロセッサエレメントが複数の状態管理部に対応した個数のエレメントグループに区分されており、複数の状態管理部と複数のエレメントグループとが個々に接続されている。
【００１６】
このため、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことや、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなことが、実行される。さらに、複数の状態管理部と複数のエレメントグループとが個別に接続されているので、必要最小限の単純な接続構造で複数の状態管理部が多数のプロセッサエレメントに接続されている。
【００１７】
前述のようなアレイ型プロセッサの第２の発明では、状態管理部が複数からなり、複数の状態管理部の少なくとも一部と多数のプロセッサエレメントの少なくとも一部との接続関係を可変自在とする可変接続手段を有している。
【００１８】
このため、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことや、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなことが、実行される。さらに、複数の状態管理部と多数のプロセッサエレメントとの接続関係が可変自在なので、多数のプロセッサエレメントが複数の状態管理部で各種に状態管理される。
【００１９】
なお、本発明で云う“複数”とは、“２”以上の任意の整数を意味しており、“多数”とは、上記の“複数”より以上の任意の整数を意味している。
【００２０】
【発明の実施の形態】
［第１の形態の構成］
本発明の実施の第１の形態を、図１ないし図３を参照して以下に説明する。まず、本形態のアレイ型プロセッサ１００は、図３に示すように、管理部アレイ１０１、データパス部１０２、メモリコントローラ１０３、リードマルチプレクサ１０４、等を主要構造として有している。
【００２１】
管理部アレイ１０１は、複数の状態管理部１０５を有しており、データパス部１０２は、多数のプロセッサエレメント１０７を有している。なお、以下では説明を簡単とするため、図示するように、管理部アレイ１０１には４個の状態管理部１０５が配列されており、データパス部１０２には１６個のプロセッサエレメント１０７が４行４列に配列されているとする。
【００２２】
メモリコントローラ１０３は、外部入力される各種データを状態管理部１０５とデータパス部１０２とに伝送し、リードマルチプレクサ１０４は、データパス部１０２から読み出された各種データを外部出力する。データパス部１０２は、メモリコントローラ１０３から入力される各種データでデータ処理を実行し、データ処理した各種データをリードマルチプレクサ１０４に出力する。管理部アレイ１０１は、データパス部１０２の状態遷移を管理することにより、データパス部１０２に各種のデータ処理を実行させる。
【００２３】
より詳細には、データパス部１０２は、図２および図３に示すように、多数のプロセッサエレメント１０７、多数のスイッチエレメント１０８、多数のｍｂ（ｍ−ｂｉｔ）バス１０９、多数のｎｂ（ｎ−ｂｉｔ）バス１１０、等を有しており、多数のプロセッサエレメント１０７が多数のスイッチエレメント１０８とともに行列形状に配列されて多数のｍ／ｎｂバス１０９，１１０によりマトリクス接続されている。
【００２４】
また、図２（ｂ）に示すように、プロセッサエレメント１０７は、メモリ制御回路１１１、インストラクションメモリ１１２、インストラクションデコーダ１１３、ｍｂレジスタファイル１１５、ｎｂレジスタファイル１１６、ｍｂＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ　ａｎｄ　Ｌｏｇｉｃａｌ　Ｕｎｉｔ）１１７、ｎｂＡＬＵ１１８、内部可変配線（図示せず）、等を各々有しており、スイッチエレメント１０８は、バスコネクタ１２１、入力制御回路１２２、出力制御回路１２３、等を各々有している。
【００２５】
また、複数の状態管理部１０５は、図３に示すように、インストラクションデコーダ１３８、遷移テーブルメモリ１３９、インストラクションメモリ１４０、を有しており、そのインストラクションデコーダ１３８とメモリコントローラ１０３とは命令バス１４１で接続されている。
【００２６】
また、メモリコントローラ１０３からリードマルチプレクサ１０４まで４行の命令バス１４２が並列に接続されており、これら４行の命令バス１４２が、１行ごとに４列のプロセッサエレメント１０７のメモリ制御回路１１１に接続されている。
【００２７】
また、状態管理部１０５の１個のインストラクションデコーダ１３８には４列のアドレスバス１４３が接続されており、このアドレスバス１４３が１列ごとに４行のプロセッサエレメント１０７のメモリ制御回路１１１に接続されている。なお、命令バス１４１は、例えば、“２０（ｂｉｔ）”のバス幅に形成されており、命令バス１４２およびアドレスバス１４３は、例えば、“８（ｂｉｔ）”のバス幅に形成されている。
【００２８】
ただし、本形態のアレイ型プロセッサ１００では、データパス部１０２の４行４列のプロセッサエレメント１０７が４列のエレメントグループ１４５−１〜４に区分されているので、４個の状態管理部１０５−１〜４は４列のエレメントグループ１４５−１〜４に４列のアドレスバス１４３で個々に接続されている。
【００２９】
そして、メモリコントローラ１０３は、４個の状態管理部１０５−１〜４に命令バス１４１で並列に接続されており、図１に示すように、４個の状態管理部１０５−１〜４は、相互通信するための専用の通信ライン１４４でも接続されている。
【００３０】
ただし、本形態のアレイ型プロセッサ１００では、図１および図３に示すように、４行４列のプロセッサエレメント１０７が４個の状態管理部１０５に対応した４列のエレメントグループ１４５−１〜４に区分されており、４個の状態管理部１０５と４列のエレメントグループ１４５−１〜４とが個々に接続されている。
【００３１】
このため、本形態のアレイ型プロセッサ１００では、４個の状態管理部１０５が接続されている４列のエレメントグループ１４５−１〜４の４行のプロセッサエレメント１０７のみを状態管理し、４個の状態管理部１０５−１〜４は、通信ライン１４４を介して相互通信することで連携動作する。
【００３２】
また、本形態のアレイ型プロセッサ１００では、外部から供給されるコンピュータプログラムに、データパス部１０２に行列形状に配列された多数のプロセッサエレメント１０７と多数のスイッチエレメント１０８との命令コードが、順次切り換わるコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部１０５の命令コードが、順次遷移する動作状態としてデータ設定されている。
【００３３】
このため、状態管理部１０５は、図３に示すように、上述のような自身の命令コードがインストラクションメモリ１４０にデータ格納されており、複数の動作状態を順次遷移させる遷移ルールが遷移テーブルメモリ１３９にデータ格納されている。
【００３４】
状態管理部１０５は、遷移テーブルメモリ１３９の遷移ルールに対応して動作状態を順次遷移させ、インストラクションメモリ１４０の命令コードによりプロセッサエレメント１０７とスイッチエレメント１０８とのインストラクションポインタを発生する。
【００３５】
図２（ｂ）に示すように、スイッチエレメント１０８は、隣接するプロセッサエレメント１０７のインストラクションメモリ１１２を共用しているので、状態管理部１０５は、発生したプロセッサエレメント１０７とスイッチエレメント１０８とのインストラクションポインタを対応するプロセッサエレメント１０７のインストラクションメモリ１１２に供給する。
【００３６】
このインストラクションメモリ１１２には、プロセッサエレメント１０７とスイッチエレメント１０８との複数の命令コードがデータ格納されているので、状態管理部１０５から供給される１つのインストラクションポインタでプロセッサエレメント１０７とスイッチエレメント１０８との命令コードが指定される。インストラクションデコーダ１１３は、インストラクションポインタで指定された命令コードをデコードし、スイッチエレメント１０８、内部可変配線、ｍ／ｎｂＡＬＵ１１７，１１８、等の動作を制御する。
【００３７】
ｍｂバス１０９はｍｂである“８（ｂｉｔ）”の処理データを伝送し、ｎｂバス１１０はｎｂである“１（ｂｉｔ）”の処理データを伝送するので、スイッチエレメント１０８は、インストラクションデコーダ１１３の動作制御に対応してｍ／ｎｂバス１０９，１１０による多数のプロセッサエレメント１０７の接続関係を制御する。
【００３８】
より詳細には、スイッチエレメント１０８のバスコネクタ１２１は、ｍｂバス１０９とｎｂバス１１０とが四方から連通しており、このように連通している複数のｍｂバス１０９の互いの接続関係と連通する複数のｎｂバス１１０の互いの接続関係とを制御する。
【００３９】
このため、アレイ型プロセッサ１００は、外部から供給されるコンピュータプログラムに対応して状態管理部１０５がデータパス部１０２のコンテキストを動作サイクルごとに順次切り換え、その段階ごとに多数のプロセッサエレメント１０７は個々に設定自在なデータ処理で並列動作する。
【００４０】
入力制御回路１２２は、図２（ｂ）に示すように、ｍｂバス１０９からｍｂレジスタファイル１１５およびｍｂＡＬＵ１１７へのデータ入力の接続関係と、ｎｂバス１１０からｎｂレジスタファイル１１６およびｎｂＡＬＵ１１８へのデータ入力の接続関係とを制御する。
【００４１】
出力制御回路１２３は、ｍｂレジスタファイル１１５およびｍｂＡＬＵ１１７からｍｂバス１０９へのデータ出力の接続関係と、ｎｂレジスタファイル１１６およびｎｂＡＬＵ１１８からｎｂバス１１０へのデータ出力の接続関係とを制御する。
【００４２】
プロセッサエレメント１０７の内部可変配線は、インストラクションデコーダ１１３の動作制御に対応して、プロセッサエレメント１０７の内部でのｍｂレジスタファイル１１５およびｍｂＡＬＵ１１７の接続関係とｎｂレジスタファイル１１６およびｎｂＡＬＵ１１８の接続関係とを制御する。
【００４３】
ｍｂレジスタファイル１１５は、内部可変配線に制御される接続関係に対応して、ｍｂバス１０９などから入力されるｍｂの処理データを一時保持してｍｂＡＬＵ１１７などに出力する。ｎｂレジスタファイル１１６は、内部可変配線に制御される接続関係に対応して、ｎｂバス１１０などから入力されるｎｂの処理データを一時保持してｎｂＡＬＵ１１８などに出力する。
【００４４】
ｍｂＡＬＵ１１７は、インストラクションデコーダ１１３の動作制御に対応したデータ処理をｍｂの処理データで実行し、ｎｂＡＬＵ１１８は、インストラクションデコーダ１１３の動作制御に対応したデータ処理をｎｂの処理データで実行するので、処理データのビット数に対応してｍ／ｎｂのデータ処理が適宜実行される。
【００４５】
このデータパス部１０２での処理結果は必要により状態管理部１０５にイベントデータとしてフィードバックされるので、この状態管理部１０５は入力されたイベントデータにより動作状態を次の動作状態に遷移させるとともにデータパス部１０２のコンテキストを次のコンテキストに切り換える。
【００４６】
［第１の形態の動作］
上述のような構成において、本実施の形態のアレイ型プロセッサ１００では、外部から供給されるコンピュータプログラムに対応して、外部入力される処理データでデータ処理を実行する場合、状態管理部１０５が動作状態を順次遷移させるとともに、データパス部１０２のコンテキストを動作サイクルごとに順次切り換える。
【００４７】
このため、その動作サイクルごとに多数のプロセッサエレメント１０７が個々に設定自在なデータ処理で並列動作し、その多数のプロセッサエレメント１０７の接続関係を多数のスイッチエレメント１０８が切換制御する。このとき、データパス部１０２での処理結果は必要により状態管理部１０５にイベントデータとしてフィードバックされるので、この状態管理部１０５は入力されたイベントデータにより動作状態を次段の動作状態に遷移させるとともにデータパス部１０２のコンテキストを次段のコンテキストに切り換える。
【００４８】
本形態のアレイ型プロセッサ１００は、上述のように状態管理部１０５がデータパス部１０２のコンテキストを状態遷移させることでデータ処理が実行されるが、４個の状態管理部１０５が接続されている４列のエレメントグループ１４５−１〜４の４行のプロセッサエレメント１０７を個別に状態管理し、４個の状態管理部１０５−１〜４は相互通信して連携動作する。
【００４９】
このため、データ処理の一つの状態遷移をデータパス部１０２の４行４列のプロセッサエレメント１０７の全部で実行することもでき、例えば、４つの状態遷移を４列のエレメントグループ１４５−１〜４で個別に実行するようなこともできる。
【００５０】
同様に、２つの状態遷移を４列のエレメントグループ１４５−１〜４の隣接する２列ごとで個別に実行するようなこともでき、３つの状態遷移を４列のエレメントグループ１４５−１〜４の１列と隣接する３列とで個別に実行するようなこともできる。
【００５１】
［第１の形態の効果］
本実施の形態のアレイ型プロセッサ１００は、上述のように４行４列のプロセッサエレメント１０７が４列のエレメントグループ１４５−１〜４に区分されており、これらのエレメントグループ１４５−１〜４を４個の状態管理部１０５−１〜４が個別に状態管理し、これら４個の状態管理部１０５−１〜４が相互通信して連携動作する。
【００５２】
このため、小規模な複数の状態遷移を４個の状態管理部１０５−１〜４で個別に管理するようなこともでき、４個の状態管理部１０５−１〜４が連携動作により１個の状態管理部と同様に動作することにより、大規模な一つの状態遷移を４個の状態管理部１０５−１〜４で協調して管理するようなこともできる。
【００５３】
特に、４個の状態管理部１０５−１〜４および４列のエレメントグループ１４５−１〜４は完全に独立して動作することも可能なので、例えば、４個の状態管理部１０５−１〜４および４列のエレメントグループ１４５−１〜４の動作クロックを相違させることも可能である。
【００５４】
また、本形態のアレイ型プロセッサ１００は、４個の状態管理部１０５−１〜４と４列のエレメントグループ１４５−１〜４とが個別に接続されているので、必要最小限の単純な接続構造で４個の状態管理部１０５−１〜４が４行４列のプロセッサエレメント１０７に接続されており、小型化が容易で生産性も良好である。
【００５５】
さらに、本形態のアレイ型プロセッサ１００では、行列形状に配列されているプロセッサエレメント１０７が行列形状に対応してエレメントグループ１４５に区分されているので、その構造が簡単で複数の状態管理部１０５による状態管理も容易である。
【００５６】
［第１の形態の変形例］
本発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形が可能である。例えば、上記形態では４行４列のプロセッサエレメント１０７の４列のエレメントグループ１４５−１〜４に４個の状態管理部１０５−１〜４が接続されていることを例示したが、当然ながら、これらの個数および配列は自在に変更することが可能である。
【００５７】
例えば、上記形態のアレイ型プロセッサ１００は、４行４列のプロセッサエレメント１０７が４列のエレメントグループ１４５に区分されていることを例示したが、図４に例示するアレイ型プロセッサ１５０のように、４個のエレメントグループ１５１の各々を４行４列のプロセッサエレメント１０７で形成することも可能である。
【００５８】
さらに、上記形態のアレイ型プロセッサ１００では、行列形状に配列されているプロセッサエレメント１０７の１列でエレメントグループ１４５が形成されていることを例示したが、例えば、プロセッサエレメント１０７の複数列や１行や複数行でエレメントグループが形成されていることも可能であり、エレメントグループが異形に形成されていることも可能である。
【００５９】
また、上記形態のアレイ型プロセッサ１００では、エレメントグループ１４５の一端に状態管理部１０５が位置することを例示したが、上述のアレイ型プロセッサ１５０のように、エレメントグループ１５１の中央に状態管理部１５２を配列することも可能である。この場合、状態管理部１５２とプロセッサエレメント１０７との平均距離を短縮できるので、その動作速度を向上させることが可能である。
【００６０】
さらに、上記形態のアレイ型プロセッサ１００では、複数の状態管理部１０５が単純に同一レベルで相互通信して連携動作することを例示したが、例えば、複数の状態管理部１０５の１個を上位のマスタとして設定するとともに他を下位のスレーブとして設定することも可能であり、複数の状態管理部１０５の上位に専用のマスタ回路（図示せず）を設けることも可能である。
【００６１】
また、上記形態のアレイ型プロセッサ１００では、ｍ／ｎｂレジスタファイル１１５，１１６やｍ／ｎｂＡＬＵ１１７，１１８を各々有しているプロセッサエレメント１０７がｍ／ｎｂバス１０９，１１０で接続されており、ｍ／ｎｂでデータ処理およびデータ通信を実行することを例示した。
【００６２】
しかし、三種類以上のビット数のハードウェアで三種類以上のビット数のデータ処理およびデータ通信を実行することも可能であり、一種類のビット数のハードウェアで一種類のビット数のデータ処理およびデータ通信を実行することも可能である。
【００６３】
さらに、上記形態のアレイ型プロセッサ１００では、複数の状態管理部１０５が連携動作するために専用の通信ライン１４４で相互通信することを例示したが、例えば、この相互通信をデータパス部１０２のｍ／ｎｂバス１０９，１１０などで実行するようにし、通信ライン１４４を省略することも可能である。
【００６４】
また、上記形態のアレイ型プロセッサ１００では、隣接するプロセッサエレメント１０７とスイッチエレメント１０８とでインストラクションメモリ１１２を共用させ、プロセッサエレメント１０７とスイッチエレメント１０８との命令コードを１つのインストラクションポインタで発生させることを例示した。
【００６５】
しかし、プロセッサエレメント１０７とスイッチエレメント１０８とに専用のインストラクションメモリを個別に用意することも可能であり、プロセッサエレメント１０７とスイッチエレメント１０８との命令コードを各々専用のインストラクションポインタで個別に発生させることも可能である。
【００６６】
また、上記形態では図示と説明とを簡単とするため、プロセッサエレメント１０２の１個ごとにｍ／ｎｂバス１０９，１１０が行列方向に１本ずつ接続されていることを例示したが、実際にはプロセッサエレメント１０２の１個ごとにｍ／ｎｂバス１０９，１１０が数本ずつ接続されていることが好適である。
【００６７】
さらに、上記形態では複数の状態管理部１０５が相互通信して連携動作することを例示したが、例えば、複数の状態管理部１０５が連携動作することなく複数のエレメントグループ１４５で複数のデータ処理を別個に実行することも可能である。その場合、独立した複数のデータ処理を並列に実行することもでき、例えば、一連のデータ処理を複数工程に分割して複数のエレメントグループ１４５で段階的に実行するようなことも可能である。
【００６８】
［第２の形態の構成］
つぎに、本発明の実施の第２の形態を図５を参照して以下に説明する。なお、これより以下の実施の形態の説明では、それより以上の実施の形態と同一の部分は、同一の名称および符号を使用して詳細な説明は省略する。
【００６９】
本形態のアレイ型プロセッサ１６０では、複数の状態管理部１０５の全部と多数のプロセッサエレメント１０７の全部とが、可変接続手段である切換スイッチ１６１により選択的に接離自在とされている。なお、切換スイッチ１６１の制御端子には、例えば、隣接するプロセッサエレメント１０７が接続されており、そのプロセッサエレメント１０７が隣接する切換スイッチ１６１を動作制御する。
【００７０】
［第２の形態の動作］
上述のような構成において、本実施の形態のアレイ型プロセッサ１６０では、複数の状態管理部１０５と多数のプロセッサエレメント１０７とが切換スイッチ１６１を介して接離自在とされているので、複数の状態管理部１０５が個々に状態管理するプロセッサエレメント１０７の個数と位置とを自在に可変することができる。
【００７１】
［第２の形態の効果］
本実施の形態のアレイ型プロセッサ１６０は、上述のように複数の状態管理部１０５と多数のプロセッサエレメント１０７との接続関係を自在に可変することができるので、複数の状態管理部１０５によるプロセッサエレメント１０７の状態管理の自由度を最大とすることができる。
【００７２】
また、本形態のアレイ型プロセッサ１６０では、例えば、全部のプロセッサエレメント１０７を１個の状態管理部１０５に接続して状態管理させることもできるので、その場合は、１個の状態管理部１０５のみ動作すれば良く、複数の状態管理部１０５の連携動作は不要となる。
【００７３】
ここで、実施の第１の形態のアレイ型プロセッサ１００と第２の形態のアレイ型プロセッサ１６０とを比較すると、第１のアレイ型プロセッサ１００は状態管理の自由度は最小であるがアドレスバス１４３の冗長度も最小であり、第２のアレイ型プロセッサ１６０は状態管理の自由度は最大であるがアドレスバス１４３の冗長度も最大である。
【００７４】
つまり、これらのアレイ型プロセッサ１００，１６０は相互に一長一短があるため、製品を実施する場合には各種条件を考慮して最適な一方を選択するか、第２のアレイ型プロセッサ１６０より冗長度が小さく第１のアレイ型プロセッサ１００より自由度が大きい構造を実現することが好適である。このような構造の実施の形態を以下に説明する。
【００７５】
［第３の形態の構成］
つぎに、本発明の実施の第３の形態を図６を参照して以下に説明する。本形態のアレイ型プロセッサ１７０では、４行４列のプロセッサエレメント１０７が４列のエレメントグループ１４５に区分されており、この４列のエレメントグループ１４５と４個の状態管理部１０５とが可変接続手段である切換スイッチ１７１により選択的に接離自在とされている。
【００７６】
［第３の形態の動作］
上述のような構成において、本実施の形態のアレイ型プロセッサ１７０では、４個の状態管理部１０５と４列のエレメントグループ１４５とが切換スイッチ１７１を介して接離自在とされているので、４個の状態管理部１０５が個々に状態管理するエレメントグループ１４５の個数と位置とを自在に可変することができる。
【００７７】
［第３の形態の効果］
本実施の形態のアレイ型プロセッサ１７０は、上述のようにエレメントグループ１４５を単位として複数の状態管理部１０５と多数のプロセッサエレメント１０７との接続関係を可変することができるので、第２のアレイ型プロセッサ１７０よりアドレスバス１４３の冗長度が小さく第１のアレイ型プロセッサ１００より状態管理の自由度が大きい。特に、プロセッサエレメント１０７によるデータ処理をエレメントグループ１４５の単位で実現できる場合、本形態のアレイ型プロセッサ１７０は好適な構造となる。
【００７８】
ただし、本形態のアレイ型プロセッサ１７０では、４個の状態管理部１０５−１〜４の全部と４列のエレメントグループ１４５−１〜４の全部との接続関係が切換自在であるが、例えば、第１の状態管理部１０５−１を第４のエレメントグループ１４５−４に接続するとともに第４の状態管理部１０５−４を第１のエレメントグループ１４５−１に接続するようなことは、状態管理部１０５とエレメントグループ１４５との通信速度が低下するだけで利点は少ない。
【００７９】
換言すると、複数の状態管理部１０５と複数のエレメントグループ１４５との接続関係を切換自在とする構造でも、その接続関係を規制することで自由度はわずかに低下するが冗長度を大幅に削減できることになる。
【００８０】
［実施の第４の形態］
例えば、図７に例示するアレイ型プロセッサ１８０では、可変接続手段である切換スイッチ１８１による切換関係を規制することで、第ｎ番目の状態管理部１０５−ｎと第（ｎ±１）番目のエレメントグループ１４５−（ｎ±１）とが接離自在とされている。
【００８１】
より具体的には、第１の状態管理部１０５−１は第１および第２のエレメントグループ１４５−１，２に接離自在とされており、第２の状態管理部１０５−２は第１ないし第３のエレメントグループ１４５−１〜３に接離自在とされている。
【００８２】
第３の状態管理部１０５−３は第２ないし第４のエレメントグループ１４５−２〜４に接離自在とされており、第４の状態管理部１０５−４は第３および第４のエレメントグループ１４５−３，４に接離自在とされている。このため、第１のエレメントグループ１４５−１と第４のエレメントグループ１４５−４とは、同一の状態管理部１０５に接続されることはない。
【００８３】
このアレイ型プロセッサ１８０は、複数の状態管理部１０５が近隣のエレメントグループ１４５のみに接離自在とされているので、前述のアレイ型プロセッサ１７０に比較して、状態管理の自由度はわずかに低下するが配線構造の冗長度は大幅に削減することができる。
【００８４】
［実施の第５の形態］
また、図８に例示するアレイ型プロセッサ１９０では、可変接続手段である切換スイッチ１９１により切り換えられる接続関係を規制することで、複数の状態管理部１０５の一部が複数のエレメントグループ１４５の一部に接離自在とされているとともに、複数の状態管理部１０５の他部が複数のエレメントグループ１４５の他部に接離自在とされている。
【００８５】
より具体的には、第１および第２の状態管理部１０５−１，２は第１および第２のエレメントグループ１４５−１，２に接離自在とされており、第３および第４の状態管理部１０５−３，４は第３および第４のエレメントグループ１４５−３，４に接離自在とされている。
【００８６】
［実施の第６の形態］
図９に例示するアレイ型プロセッサ２００では、複数の状態管理部１０５の一部が複数のエレメントグループ１４５の一部に固定的に接続されているとともに、複数の状態管理部１０５の他部が複数のエレメントグループ１４５の他部に接離自在とされている。
【００８７】
より具体的には、第１の状態管理部１０５−１が第１のエレメントグループ１４５−１に固定的に接続されているとともに、第４の状態管理部１０５−４が第４のエレメントグループ１４５−４に固定的に接続されているが、可変接続手段である切換スイッチ２０１により第２および第３の状態管理部１０５−２，３は第２および第３のエレメントグループ１４５−２，３に接離自在とされている。
【００８８】
［実施の第７の形態］
図１０に例示するアレイ型プロセッサ２１０では、複数の状態管理部１０５の一部が所定のエレメントグループ１４５に固定的に接続されているとともに、所定のエレメントグループ１４５のプロセッサエレメント１０７に接離自在とされており、複数の状態管理部１０５の他部が所定のエレメントグループ１４５のプロセッサエレメント１０７に接離自在とされている。
【００８９】
より具体的には、第１の状態管理部１０５−１は第１エレメントグループ１４５−１に固定的に接続されているとともに、可変接続手段である切換スイッチ２１１により第２のエレメントグループ１４５−２のプロセッサエレメント１０７に接離自在とされている。
【００９０】
第２および第３の状態管理部１０５−２，３は切換スイッチ２１１により第２および第３のエレメントグループ１４５−２，３のプロセッサエレメント１０７に接離自在とされており、第４の状態管理部１０５−４は切換スイッチ２１１により第３のエレメントグループ１４５−３のプロセッサエレメント１０７に接離自在とされるとともに、第４のエレメントグループ１４５−４に固定的に接続されている。
【００９１】
［実施の第８の形態］
図１１に例示するアレイ型プロセッサ２２０では、複数の状態管理部１０５のが、各々に所定のエレメントグループ１４５のプロセッサエレメント１０７に接離自在とされている。
【００９２】
より具体的には、第１の状態管理部１０５−１は第１および第２のエレメントグループ１４５−１，２のプロセッサエレメント１０７に接離自在とされており、第２の状態管理部１０５−２は第２ないし第３のエレメントグループ１４５−１〜３のプロセッサエレメント１０７に接離自在とされており、第３の状態管理部１０５−３は第２および第３のエレメントグループ１４５−２，３のプロセッサエレメント１０７に接離自在とされている。
【００９３】
［実施の第９の形態］
図１２に例示するアレイ型プロセッサ２３０では、第１の状態管理部１０５−１のみ、第１から第４のエレメントグループ１４５−１〜４に接離自在であり、第２の状態管理部１０５−２は第２のエレメントグループ１４５−２に接離自在、第３の状態管理部１０５−３は第３のエレメントグループ１４５−３に接離自在、第４の状態管理部１０５−４は第４のエレメントグループ１４５−４に接離自在とされている。
【００９４】
このアレイ型プロセッサ２３０でも、第１の状態管理部１０５−１を全部のエレメントグループ１４５−１〜４のプロセッサエレメント１０７に接続することにより、複数の状態管理部１４５の相互通信による連携動作を不要とすることもできる。
【００９５】
［実施の第１０の形態］
図１３に例示するアレイ型プロセッサ２４０では、代表の状態管理部１０５−０のみ、第１から第４のエレメントグループ１４５−１〜４に接離自在であり、第１から第４の状態管理部１０５−１〜４は対応する第１から４のエレメントグループ１４５−１〜４ごとにプロセッサエレメント１０７に個別に接離自在とされている。
【００９６】
このアレイ型プロセッサ２４０でも、代表の状態管理部１０５−０を全部のエレメントグループ１４５−１〜４のプロセッサエレメント１０７に接続することにより、複数の状態管理部１４５の相互通信による連携動作を不要とすることもできる。
【００９７】
【発明の効果】
本発明の第１のアレイ型プロセッサでは、状態管理部が複数からなり、多数のプロセッサエレメントが複数の状態管理部に対応した個数のエレメントグループに区分されており、複数の状態管理部と複数のエレメントグループとが個々に接続されていることにより、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことができ、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなこともでき、さらに、複数の状態管理部と複数のエレメントグループとが個別に接続されているので、必要最小限の単純な接続構造で複数の状態管理部が多数のプロセッサエレメントに接続することができる。
【００９８】
本発明の第２のアレイ型プロセッサでは、状態管理部が複数からなり、複数の状態管理部の少なくとも一部と多数のプロセッサエレメントの少なくとも一部との接続関係を可変接続手段が可変することにより、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことができ、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなこともでき、さらに、複数の状態管理部と多数のプロセッサエレメントとの接続関係が可変自在なので、多数のプロセッサエレメントを複数の状態管理部で各種に状態管理することができる。
【図面の簡単な説明】
【図１】
本発明の実施の第１の形態のアレイ型プロセッサを示す模式的なブロック図で
ある。
【図２】
アレイ型プロセッサのｍ／ｎｂバスなどの物理構造を示すブロック図である。
【図３】
命令バスなどの物理構造を示すブロック図である。
【図４】
第１の変形例のアレイ型プロセッサを示す模式図である。
【図５】
実施の第２の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図６】
実施の第３の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図７】
実施の第４の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図８】
実施の第５の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図９】
実施の第６の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図１０】
実施の第７の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図１１】実施の第８の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図１２】実施の第９の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図１３】実施の第１０の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図１４】２つの状態遷移を一つに統合した状態を示す模式図である。
【符号の説明】
１００，１５０，１６０，１７０，１８０，１９０，２００，２１０　　アレイ型プロセッサ
１０５　　状態管理部
１０７　　プロセッサエレメント
１４５　　エレメントグループ
１６１，１７１，１８１，１９１，２０１，２１１　　可変接続手段である切換スイッチ
【図１】
2004133780.tif 000003
【図２】
2004133780.tif 000004
【図３】
2004133780.tif 000005
【図４】
2004133780.tif 000006
【図５】
2004133780.tif 000007
【図６】
2004133780.tif 000008
【図７】
2004133780.tif 000009
【図８】
2004133780.tif 000010
【図９】
2004133780.tif 000011
【図１０】
2004133780.tif 000012
【図１１】
2004133780.tif 000013
【図１２】
2004133780.tif 000014
【図１３】
2004133780.tif 000015
【図１４】
2004133780.tif 000016