JP3987782B2 - アレイ型プロセッサ - Google Patents
アレイ型プロセッサ Download PDFInfo
- Publication number
- JP3987782B2 JP3987782B2 JP2002299028A JP2002299028A JP3987782B2 JP 3987782 B2 JP3987782 B2 JP 3987782B2 JP 2002299028 A JP2002299028 A JP 2002299028A JP 2002299028 A JP2002299028 A JP 2002299028A JP 3987782 B2 JP3987782 B2 JP 3987782B2
- Authority
- JP
- Japan
- Prior art keywords
- state management
- processor
- array type
- management units
- type processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、データ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントを状態管理部で動作制御するアレイ型プロセッサに関する。
【0002】
【従来の技術】
現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるCPU(Central Processing Unit)やMPU(Micro Processor Unit)と呼称される製品が実用化されている。
【0003】
このようなプロセッサユニットを利用したデータ処理システムでは、複数の命令コードが記述された各種のアプリケーションプログラムと各種の処理データとがメモリデバイスに格納され、プロセッサユニットはメモリデバイスから命令コードや処理データを順番にデータ読出して複数の演算処理を逐次実行する。
【0004】
このため、一個のプロセッサユニットで各種のデータ処理を実現できるが、そのデータ処理では複数の演算処理を順番に逐次実行する必要があり、その逐次処理ごとにプロセッサユニットがメモリデバイスから命令コードをデータ読出する必要があるので、複雑なデータ処理を高速に実行することは困難である。
【0005】
一方、実行するデータ処理が一つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで形成すれば、プロセッサユニットがメモリデバイスから複数の命令コードを順番にデータ読出して複数の演算処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら一つのデータ処理しか実行することができない。
【0006】
つまり、アプリケーションプログラムを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、アプリケーションプログラムを変更できないので一つのデータ処理しか実行できない。
【0007】
このような課題を解決するため、本出願人はソフトウェアに対応してハードウェアの構成が変化するデータ処理装置として、アレイ型プロセッサを発明して出願した(例えば、特許文献1参照)。
【0008】
【特許文献1】
特開2001−312481号
このアレイ型プロセッサでは、小規模の多数のプロセッサエレメントが多数のスイッチエレメントとともにデータパス部に行列形状に配列されており、この1個のデータパス部に1個の状態管理部が並設されている。多数のプロセッサエレメントは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに、個々に並設されている多数のスイッチエレメントに相互の接続関係を切換制御させる。
【0009】
つまり、アレイ型プロセッサは、多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードを切り換えることでデータパスの構成が変化するので、ソフトウェアに対応して各種のデータ処理を実行することができ、ハードウェアとして小規模の多数のプロセッサエレメントが簡単なデータ処理を並列に実行するので、データ処理を高速に実行することができる。
【0010】
そして、上述のような多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードからなるデータパス部のコンテキストを状態管理部がコンピュータプログラムに対応して動作サイクルごとに順次切り換えるので、アレイ型プロセッサはコンピュータプログラムに対応して並列処理を連続的に実行することができる。
【0011】
【発明が解決しようとする課題】
上述のアレイ型プロセッサは、多数のプロセッサエレメントにより高速なデータ処理を実行できるが、その多数のプロセッサエレメントの状態遷移を1個の状態管理部で管理している。このため、例えば、図14に示すように、4状態と6状態との2つのループ遷移を一緒に実行する場合、最低でも4と6との最少公倍数である12状態が必要となる。
【0012】
このような状態数は組み合わせる状態遷移の個数や各遷移の状態数が増加すると膨大となり、アレイ型プロセッサの動作効率を阻害することになる。特に、状態遷移に条件分岐が存在する場合、管理すべき状態数が膨大となり、状態管理部で管理することが困難となる。
【0013】
本発明は上述のような課題に鑑みてなされたものであり、複数の状態遷移を同時に実行するような場合でも効率的に動作することができるアレイ型プロセッサを提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明のアレイ型プロセッサは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントの命令コードを状態管理部で順次切り換える。
【0015】
上述のようなアレイ型プロセッサの第1の発明では、状態管理部が複数からなり、多数のプロセッサエレメントが複数の状態管理部に対応した個数のエレメントグループに区分されており、複数の状態管理部と複数のエレメントグループとが個々に接続されている。
【0016】
このため、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことや、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなことが、実行される。さらに、複数の状態管理部と複数のエレメントグループとが個別に接続されているので、必要最小限の単純な接続構造で複数の状態管理部が多数のプロセッサエレメントに接続されている。
【0017】
前述のようなアレイ型プロセッサの第2の発明では、状態管理部が複数からなり、複数の状態管理部の少なくとも一部と多数のプロセッサエレメントの少なくとも一部との接続関係を可変自在とする可変接続手段を有している。
【0018】
このため、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことや、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなことが、実行される。さらに、複数の状態管理部と多数のプロセッサエレメントとの接続関係が可変自在なので、多数のプロセッサエレメントが複数の状態管理部で各種に状態管理される。
【0019】
なお、本発明で云う“複数”とは、“2”以上の任意の整数を意味しており、“多数”とは、上記の“複数”より以上の任意の整数を意味している。
【0020】
【発明の実施の形態】
[第1の形態の構成]
本発明の実施の第1の形態を、図1ないし図3を参照して以下に説明する。まず、本形態のアレイ型プロセッサ100は、図3に示すように、管理部アレイ101、データパス部102、メモリコントローラ103、リードマルチプレクサ104、等を主要構造として有している。
【0021】
管理部アレイ101は、複数の状態管理部105を有しており、データパス部102は、多数のプロセッサエレメント107を有している。なお、以下では説明を簡単とするため、図示するように、管理部アレイ101には4個の状態管理部105が配列されており、データパス部102には16個のプロセッサエレメント107が4行4列に配列されているとする。
【0022】
メモリコントローラ103は、外部入力される各種データを状態管理部105とデータパス部102とに伝送し、リードマルチプレクサ104は、データパス部102から読み出された各種データを外部出力する。データパス部102は、メモリコントローラ103から入力される各種データでデータ処理を実行し、データ処理した各種データをリードマルチプレクサ104に出力する。管理部アレイ101は、データパス部102の状態遷移を管理することにより、データパス部102に各種のデータ処理を実行させる。
【0023】
より詳細には、データパス部102は、図2および図3に示すように、多数のプロセッサエレメント107、多数のスイッチエレメント108、多数のmb(m-bit)バス109、多数のnb(n-bit)バス110、等を有しており、多数のプロセッサエレメント107が多数のスイッチエレメント108とともに行列形状に配列されて多数のm/nbバス109,110によりマトリクス接続されている。
【0024】
また、図2(b)に示すように、プロセッサエレメント107は、メモリ制御回路111、インストラクションメモリ112、インストラクションデコーダ113、mbレジスタファイル115、nbレジスタファイル116、mbALU(Arithmetic and Logical Unit)117、nbALU118、内部可変配線(図示せず)、等を各々有しており、スイッチエレメント108は、バスコネクタ121、入力制御回路122、出力制御回路123、等を各々有している。
【0025】
また、複数の状態管理部105は、図3に示すように、インストラクションデコーダ138、遷移テーブルメモリ139、インストラクションメモリ140、を有しており、そのインストラクションデコーダ138とメモリコントローラ103とは命令バス141で接続されている。
【0026】
また、メモリコントローラ103からリードマルチプレクサ104まで4行の命令バス142が並列に接続されており、これら4行の命令バス142が、1行ごとに4列のプロセッサエレメント107のメモリ制御回路111に接続されている。
【0027】
また、状態管理部105の1個のインストラクションデコーダ138には4列のアドレスバス143が接続されており、このアドレスバス143が1列ごとに4行のプロセッサエレメント107のメモリ制御回路111に接続されている。なお、命令バス141は、例えば、“20(bit)”のバス幅に形成されており、命令バス142およびアドレスバス143は、例えば、“8(bit)”のバス幅に形成されている。
【0028】
ただし、本形態のアレイ型プロセッサ100では、データパス部102の4行4列のプロセッサエレメント107が4列のエレメントグループ145−1〜4に区分されているので、4個の状態管理部105−1〜4は4列のエレメントグループ145−1〜4に4列のアドレスバス143で個々に接続されている。
【0029】
そして、メモリコントローラ103は、4個の状態管理部105−1〜4に命令バス141で並列に接続されており、図1に示すように、4個の状態管理部105−1〜4は、相互通信するための専用の通信ライン144でも接続されている。
【0030】
ただし、本形態のアレイ型プロセッサ100では、図1および図3に示すように、4行4列のプロセッサエレメント107が4個の状態管理部105に対応した4列のエレメントグループ145−1〜4に区分されており、4個の状態管理部105と4列のエレメントグループ145−1〜4とが個々に接続されている。
【0031】
このため、本形態のアレイ型プロセッサ100では、4個の状態管理部105が接続されている4列のエレメントグループ145−1〜4の4行のプロセッサエレメント107のみを状態管理し、4個の状態管理部105−1〜4は、通信ライン144を介して相互通信することで連携動作する。
【0032】
また、本形態のアレイ型プロセッサ100では、外部から供給されるコンピュータプログラムに、データパス部102に行列形状に配列された多数のプロセッサエレメント107と多数のスイッチエレメント108との命令コードが、順次切り換わるコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部105の命令コードが、順次遷移する動作状態としてデータ設定されている。
【0033】
このため、状態管理部105は、図3に示すように、上述のような自身の命令コードがインストラクションメモリ140にデータ格納されており、複数の動作状態を順次遷移させる遷移ルールが遷移テーブルメモリ139にデータ格納されている。
【0034】
状態管理部105は、遷移テーブルメモリ139の遷移ルールに対応して動作状態を順次遷移させ、インストラクションメモリ140の命令コードによりプロセッサエレメント107とスイッチエレメント108とのインストラクションポインタを発生する。
【0035】
図2(b)に示すように、スイッチエレメント108は、隣接するプロセッサエレメント107のインストラクションメモリ112を共用しているので、状態管理部105は、発生したプロセッサエレメント107とスイッチエレメント108とのインストラクションポインタを対応するプロセッサエレメント107のインストラクションメモリ112に供給する。
【0036】
このインストラクションメモリ112には、プロセッサエレメント107とスイッチエレメント108との複数の命令コードがデータ格納されているので、状態管理部105から供給される1つのインストラクションポインタでプロセッサエレメント107とスイッチエレメント108との命令コードが指定される。インストラクションデコーダ113は、インストラクションポインタで指定された命令コードをデコードし、スイッチエレメント108、内部可変配線、m/nbALU117,118、等の動作を制御する。
【0037】
mbバス109はmbである“8(bit)”の処理データを伝送し、nbバス110はnbである“1(bit)”の処理データを伝送するので、スイッチエレメント108は、インストラクションデコーダ113の動作制御に対応してm/nbバス109,110による多数のプロセッサエレメント107の接続関係を制御する。
【0038】
より詳細には、スイッチエレメント108のバスコネクタ121は、mbバス109とnbバス110とが四方から連通しており、このように連通している複数のmbバス109の互いの接続関係と連通する複数のnbバス110の互いの接続関係とを制御する。
【0039】
このため、アレイ型プロセッサ100は、外部から供給されるコンピュータプログラムに対応して状態管理部105がデータパス部102のコンテキストを動作サイクルごとに順次切り換え、その段階ごとに多数のプロセッサエレメント107は個々に設定自在なデータ処理で並列動作する。
【0040】
入力制御回路122は、図2(b)に示すように、mbバス109からmbレジスタファイル115およびmbALU117へのデータ入力の接続関係と、nbバス110からnbレジスタファイル116およびnbALU118へのデータ入力の接続関係とを制御する。
【0041】
出力制御回路123は、mbレジスタファイル115およびmbALU117からmbバス109へのデータ出力の接続関係と、nbレジスタファイル116およびnbALU118からnbバス110へのデータ出力の接続関係とを制御する。
【0042】
プロセッサエレメント107の内部可変配線は、インストラクションデコーダ113の動作制御に対応して、プロセッサエレメント107の内部でのmbレジスタファイル115およびmbALU117の接続関係とnbレジスタファイル116およびnbALU118の接続関係とを制御する。
【0043】
mbレジスタファイル115は、内部可変配線に制御される接続関係に対応して、mbバス109などから入力されるmbの処理データを一時保持してmbALU117などに出力する。nbレジスタファイル116は、内部可変配線に制御される接続関係に対応して、nbバス110などから入力されるnbの処理データを一時保持してnbALU118などに出力する。
【0044】
mbALU117は、インストラクションデコーダ113の動作制御に対応したデータ処理をmbの処理データで実行し、nbALU118は、インストラクションデコーダ113の動作制御に対応したデータ処理をnbの処理データで実行するので、処理データのビット数に対応してm/nbのデータ処理が適宜実行される。
【0045】
このデータパス部102での処理結果は必要により状態管理部105にイベントデータとしてフィードバックされるので、この状態管理部105は入力されたイベントデータにより動作状態を次の動作状態に遷移させるとともにデータパス部102のコンテキストを次のコンテキストに切り換える。
【0046】
[第1の形態の動作]
上述のような構成において、本実施の形態のアレイ型プロセッサ100では、外部から供給されるコンピュータプログラムに対応して、外部入力される処理データでデータ処理を実行する場合、状態管理部105が動作状態を順次遷移させるとともに、データパス部102のコンテキストを動作サイクルごとに順次切り換える。
【0047】
このため、その動作サイクルごとに多数のプロセッサエレメント107が個々に設定自在なデータ処理で並列動作し、その多数のプロセッサエレメント107の接続関係を多数のスイッチエレメント108が切換制御する。このとき、データパス部102での処理結果は必要により状態管理部105にイベントデータとしてフィードバックされるので、この状態管理部105は入力されたイベントデータにより動作状態を次段の動作状態に遷移させるとともにデータパス部102のコンテキストを次段のコンテキストに切り換える。
【0048】
本形態のアレイ型プロセッサ100は、上述のように状態管理部105がデータパス部102のコンテキストを状態遷移させることでデータ処理が実行されるが、4個の状態管理部105が接続されている4列のエレメントグループ145−1〜4の4行のプロセッサエレメント107を個別に状態管理し、4個の状態管理部105−1〜4は相互通信して連携動作する。
【0049】
このため、データ処理の一つの状態遷移をデータパス部102の4行4列のプロセッサエレメント107の全部で実行することもでき、例えば、4つの状態遷移を4列のエレメントグループ145−1〜4で個別に実行するようなこともできる。
【0050】
同様に、2つの状態遷移を4列のエレメントグループ145−1〜4の隣接する2列ごとで個別に実行するようなこともでき、3つの状態遷移を4列のエレメントグループ145−1〜4の1列と隣接する3列とで個別に実行するようなこともできる。
【0051】
[第1の形態の効果]
本実施の形態のアレイ型プロセッサ100は、上述のように4行4列のプロセッサエレメント107が4列のエレメントグループ145−1〜4に区分されており、これらのエレメントグループ145−1〜4を4個の状態管理部105−1〜4が個別に状態管理し、これら4個の状態管理部105−1〜4が相互通信して連携動作する。
【0052】
このため、小規模な複数の状態遷移を4個の状態管理部105−1〜4で個別に管理するようなこともでき、4個の状態管理部105−1〜4が連携動作により1個の状態管理部と同様に動作することにより、大規模な一つの状態遷移を4個の状態管理部105−1〜4で協調して管理するようなこともできる。
【0053】
特に、4個の状態管理部105−1〜4および4列のエレメントグループ145−1〜4は完全に独立して動作することも可能なので、例えば、4個の状態管理部105−1〜4および4列のエレメントグループ145−1〜4の動作クロックを相違させることも可能である。
【0054】
また、本形態のアレイ型プロセッサ100は、4個の状態管理部105−1〜4と4列のエレメントグループ145−1〜4とが個別に接続されているので、必要最小限の単純な接続構造で4個の状態管理部105−1〜4が4行4列のプロセッサエレメント107に接続されており、小型化が容易で生産性も良好である。
【0055】
さらに、本形態のアレイ型プロセッサ100では、行列形状に配列されているプロセッサエレメント107が行列形状に対応してエレメントグループ145に区分されているので、その構造が簡単で複数の状態管理部105による状態管理も容易である。
【0056】
[第1の形態の変形例]
本発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形が可能である。例えば、上記形態では4行4列のプロセッサエレメント107の4列のエレメントグループ145−1〜4に4個の状態管理部105−1〜4が接続されていることを例示したが、当然ながら、これらの個数および配列は自在に変更することが可能である。
【0057】
例えば、上記形態のアレイ型プロセッサ100は、4行4列のプロセッサエレメント107が4列のエレメントグループ145に区分されていることを例示したが、図4に例示するアレイ型プロセッサ150のように、4個のエレメントグループ151の各々を4行4列のプロセッサエレメント107で形成することも可能である。
【0058】
さらに、上記形態のアレイ型プロセッサ100では、行列形状に配列されているプロセッサエレメント107の1列でエレメントグループ145が形成されていることを例示したが、例えば、プロセッサエレメント107の複数列や1行や複数行でエレメントグループが形成されていることも可能であり、エレメントグループが異形に形成されていることも可能である。
【0059】
また、上記形態のアレイ型プロセッサ100では、エレメントグループ145の一端に状態管理部105が位置することを例示したが、上述のアレイ型プロセッサ150のように、エレメントグループ151の中央に状態管理部152を配列することも可能である。この場合、状態管理部152とプロセッサエレメント107との平均距離を短縮できるので、その動作速度を向上させることが可能である。
【0060】
さらに、上記形態のアレイ型プロセッサ100では、複数の状態管理部105が単純に同一レベルで相互通信して連携動作することを例示したが、例えば、複数の状態管理部105の1個を上位のマスタとして設定するとともに他を下位のスレーブとして設定することも可能であり、複数の状態管理部105の上位に専用のマスタ回路(図示せず)を設けることも可能である。
【0061】
また、上記形態のアレイ型プロセッサ100では、m/nbレジスタファイル115,116やm/nbALU117,118を各々有しているプロセッサエレメント107がm/nbバス109,110で接続されており、m/nbでデータ処理およびデータ通信を実行することを例示した。
【0062】
しかし、三種類以上のビット数のハードウェアで三種類以上のビット数のデータ処理およびデータ通信を実行することも可能であり、一種類のビット数のハードウェアで一種類のビット数のデータ処理およびデータ通信を実行することも可能である。
【0063】
さらに、上記形態のアレイ型プロセッサ100では、複数の状態管理部105が連携動作するために専用の通信ライン144で相互通信することを例示したが、例えば、この相互通信をデータパス部102のm/nbバス109,110などで実行するようにし、通信ライン144を省略することも可能である。
【0064】
また、上記形態のアレイ型プロセッサ100では、隣接するプロセッサエレメント107とスイッチエレメント108とでインストラクションメモリ112を共用させ、プロセッサエレメント107とスイッチエレメント108との命令コードを1つのインストラクションポインタで発生させることを例示した。
【0065】
しかし、プロセッサエレメント107とスイッチエレメント108とに専用のインストラクションメモリを個別に用意することも可能であり、プロセッサエレメント107とスイッチエレメント108との命令コードを各々専用のインストラクションポインタで個別に発生させることも可能である。
【0066】
また、上記形態では図示と説明とを簡単とするため、プロセッサエレメント102の1個ごとにm/nbバス109,110が行列方向に1本ずつ接続されていることを例示したが、実際にはプロセッサエレメント102の1個ごとにm/nbバス109,110が数本ずつ接続されていることが好適である。
【0067】
さらに、上記形態では複数の状態管理部105が相互通信して連携動作することを例示したが、例えば、複数の状態管理部105が連携動作することなく複数のエレメントグループ145で複数のデータ処理を別個に実行することも可能である。その場合、独立した複数のデータ処理を並列に実行することもでき、例えば、一連のデータ処理を複数工程に分割して複数のエレメントグループ145で段階的に実行するようなことも可能である。
【0068】
[第2の形態の構成]
つぎに、本発明の実施の第2の形態を図5を参照して以下に説明する。なお、これより以下の実施の形態の説明では、それより以上の実施の形態と同一の部分は、同一の名称および符号を使用して詳細な説明は省略する。
【0069】
本形態のアレイ型プロセッサ160では、複数の状態管理部105の全部と多数のプロセッサエレメント107の全部とが、可変接続手段である切換スイッチ161により選択的に接離自在とされている。なお、切換スイッチ161の制御端子には、例えば、隣接するプロセッサエレメント107が接続されており、そのプロセッサエレメント107が隣接する切換スイッチ161を動作制御する。
【0070】
[第2の形態の動作]
上述のような構成において、本実施の形態のアレイ型プロセッサ160では、複数の状態管理部105と多数のプロセッサエレメント107とが切換スイッチ161を介して接離自在とされているので、複数の状態管理部105が個々に状態管理するプロセッサエレメント107の個数と位置とを自在に可変することができる。
【0071】
[第2の形態の効果]
本実施の形態のアレイ型プロセッサ160は、上述のように複数の状態管理部105と多数のプロセッサエレメント107との接続関係を自在に可変することができるので、複数の状態管理部105によるプロセッサエレメント107の状態管理の自由度を最大とすることができる。
【0072】
また、本形態のアレイ型プロセッサ160では、例えば、全部のプロセッサエレメント107を1個の状態管理部105に接続して状態管理させることもできるので、その場合は、1個の状態管理部105のみ動作すれば良く、複数の状態管理部105の連携動作は不要となる。
【0073】
ここで、実施の第1の形態のアレイ型プロセッサ100と第2の形態のアレイ型プロセッサ160とを比較すると、第1のアレイ型プロセッサ100は状態管理の自由度は最小であるがアドレスバス143の冗長度も最小であり、第2のアレイ型プロセッサ160は状態管理の自由度は最大であるがアドレスバス143の冗長度も最大である。
【0074】
つまり、これらのアレイ型プロセッサ100,160は相互に一長一短があるため、製品を実施する場合には各種条件を考慮して最適な一方を選択するか、第2のアレイ型プロセッサ160より冗長度が小さく第1のアレイ型プロセッサ100より自由度が大きい構造を実現することが好適である。このような構造の実施の形態を以下に説明する。
【0075】
[第3の形態の構成]
つぎに、本発明の実施の第3の形態を図6を参照して以下に説明する。本形態のアレイ型プロセッサ170では、4行4列のプロセッサエレメント107が4列のエレメントグループ145に区分されており、この4列のエレメントグループ145と4個の状態管理部105とが可変接続手段である切換スイッチ171により選択的に接離自在とされている。
【0076】
[第3の形態の動作]
上述のような構成において、本実施の形態のアレイ型プロセッサ170では、4個の状態管理部105と4列のエレメントグループ145とが切換スイッチ171を介して接離自在とされているので、4個の状態管理部105が個々に状態管理するエレメントグループ145の個数と位置とを自在に可変することができる。
【0077】
[第3の形態の効果]
本実施の形態のアレイ型プロセッサ170は、上述のようにエレメントグループ145を単位として複数の状態管理部105と多数のプロセッサエレメント107との接続関係を可変することができるので、第2のアレイ型プロセッサ170よりアドレスバス143の冗長度が小さく第1のアレイ型プロセッサ100より状態管理の自由度が大きい。特に、プロセッサエレメント107によるデータ処理をエレメントグループ145の単位で実現できる場合、本形態のアレイ型プロセッサ170は好適な構造となる。
【0078】
ただし、本形態のアレイ型プロセッサ170では、4個の状態管理部105−1〜4の全部と4列のエレメントグループ145−1〜4の全部との接続関係が切換自在であるが、例えば、第1の状態管理部105−1を第4のエレメントグループ145−4に接続するとともに第4の状態管理部105−4を第1のエレメントグループ145−1に接続するようなことは、状態管理部105とエレメントグループ145との通信速度が低下するだけで利点は少ない。
【0079】
換言すると、複数の状態管理部105と複数のエレメントグループ145との接続関係を切換自在とする構造でも、その接続関係を規制することで自由度はわずかに低下するが冗長度を大幅に削減できることになる。
【0080】
[実施の第4の形態]
例えば、図7に例示するアレイ型プロセッサ180では、可変接続手段である切換スイッチ181による切換関係を規制することで、第n番目の状態管理部105−nと第(n±1)番目のエレメントグループ145−(n±1)とが接離自在とされている。
【0081】
より具体的には、第1の状態管理部105−1は第1および第2のエレメントグループ145−1,2に接離自在とされており、第2の状態管理部105−2は第1ないし第3のエレメントグループ145−1〜3に接離自在とされている。
【0082】
第3の状態管理部105−3は第2ないし第4のエレメントグループ145−2〜4に接離自在とされており、第4の状態管理部105−4は第3および第4のエレメントグループ145−3,4に接離自在とされている。このため、第1のエレメントグループ145−1と第4のエレメントグループ145−4とは、同一の状態管理部105に接続されることはない。
【0083】
このアレイ型プロセッサ180は、複数の状態管理部105が近隣のエレメントグループ145のみに接離自在とされているので、前述のアレイ型プロセッサ170に比較して、状態管理の自由度はわずかに低下するが配線構造の冗長度は大幅に削減することができる。
【0084】
[実施の第5の形態]
また、図8に例示するアレイ型プロセッサ190では、可変接続手段である切換スイッチ191により切り換えられる接続関係を規制することで、複数の状態管理部105の一部が複数のエレメントグループ145の一部に接離自在とされているとともに、複数の状態管理部105の他部が複数のエレメントグループ145の他部に接離自在とされている。
【0085】
より具体的には、第1および第2の状態管理部105−1,2は第1および第2のエレメントグループ145−1,2に接離自在とされており、第3および第4の状態管理部105−3,4は第3および第4のエレメントグループ145−3,4に接離自在とされている。
【0086】
[実施の第6の形態]
図9に例示するアレイ型プロセッサ200では、複数の状態管理部105の一部が複数のエレメントグループ145の一部に固定的に接続されているとともに、複数の状態管理部105の他部が複数のエレメントグループ145の他部に接離自在とされている。
【0087】
より具体的には、第1の状態管理部105−1が第1のエレメントグループ145−1に固定的に接続されているとともに、第4の状態管理部105−4が第4のエレメントグループ145−4に固定的に接続されているが、可変接続手段である切換スイッチ201により第2および第3の状態管理部105−2,3は第2および第3のエレメントグループ145−2,3に接離自在とされている。
【0088】
[実施の第7の形態]
図10に例示するアレイ型プロセッサ210では、複数の状態管理部105の一部が所定のエレメントグループ145に固定的に接続されているとともに、所定のエレメントグループ145のプロセッサエレメント107に接離自在とされており、複数の状態管理部105の他部が所定のエレメントグループ145のプロセッサエレメント107に接離自在とされている。
【0089】
より具体的には、第1の状態管理部105−1は第1エレメントグループ145−1に固定的に接続されているとともに、可変接続手段である切換スイッチ211により第2のエレメントグループ145−2のプロセッサエレメント107に接離自在とされている。
【0090】
第2および第3の状態管理部105−2,3は切換スイッチ211により第2および第3のエレメントグループ145−2,3のプロセッサエレメント107に接離自在とされており、第4の状態管理部105−4は切換スイッチ211により第3のエレメントグループ145−3のプロセッサエレメント107に接離自在とされるとともに、第4のエレメントグループ145−4に固定的に接続されている。
【0091】
[実施の第8の形態]
図11に例示するアレイ型プロセッサ220では、複数の状態管理部105のが、各々に所定のエレメントグループ145のプロセッサエレメント107に接離自在とされている。
【0092】
より具体的には、第1の状態管理部105−1は第1および第2のエレメントグループ145−1,2のプロセッサエレメント107に接離自在とされており、第2の状態管理部105−2は第2ないし第3のエレメントグループ145−1〜3のプロセッサエレメント107に接離自在とされており、第3の状態管理部105−3は第2および第3のエレメントグループ145−2,3のプロセッサエレメント107に接離自在とされている。
【0093】
[実施の第9の形態]
図12に例示するアレイ型プロセッサ230では、第1の状態管理部105−1のみ、第1から第4のエレメントグループ145−1〜4に接離自在であり、第2の状態管理部105−2は第2のエレメントグループ145−2に接離自在、第3の状態管理部105−3は第3のエレメントグループ145−3に接離自在、第4の状態管理部105−4は第4のエレメントグループ145−4に接離自在とされている。
【0094】
このアレイ型プロセッサ230でも、第1の状態管理部105−1を全部のエレメントグループ145−1〜4のプロセッサエレメント107に接続することにより、複数の状態管理部145の相互通信による連携動作を不要とすることもできる。
【0095】
[実施の第10の形態]
図13に例示するアレイ型プロセッサ240では、代表の状態管理部105−0のみ、第1から第4のエレメントグループ145−1〜4に接離自在であり、第1から第4の状態管理部105−1〜4は対応する第1から4のエレメントグループ145−1〜4ごとにプロセッサエレメント107に個別に接離自在とされている。
【0096】
このアレイ型プロセッサ240でも、代表の状態管理部105−0を全部のエレメントグループ145−1〜4のプロセッサエレメント107に接続することにより、複数の状態管理部145の相互通信による連携動作を不要とすることもできる。
【0097】
【発明の効果】
本発明の第1のアレイ型プロセッサでは、状態管理部が複数からなり、多数のプロセッサエレメントが複数の状態管理部に対応した個数のエレメントグループに区分されており、複数の状態管理部と複数のエレメントグループとが個々に接続されていることにより、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことができ、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなこともでき、さらに、複数の状態管理部と複数のエレメントグループとが個別に接続されているので、必要最小限の単純な接続構造で複数の状態管理部が多数のプロセッサエレメントに接続することができる。
【0098】
本発明の第2のアレイ型プロセッサでは、状態管理部が複数からなり、複数の状態管理部の少なくとも一部と多数のプロセッサエレメントの少なくとも一部との接続関係を可変接続手段が可変することにより、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことができ、大規模な一つの状態遷移を複数の状態管理部で協調して管理するようなこともでき、さらに、複数の状態管理部と多数のプロセッサエレメントとの接続関係が可変自在なので、多数のプロセッサエレメントを複数の状態管理部で各種に状態管理することができる。
【図面の簡単な説明】
【図1】本発明の実施の第1の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図2】アレイ型プロセッサのm/nbバスなどの物理構造を示すブロック図である。
【図3】命令バスなどの物理構造を示すブロック図である。
【図4】第1の変形例のアレイ型プロセッサを示す模式図である。
【図5】実施の第2の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図6】実施の第3の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図7】実施の第4の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図8】実施の第5の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図9】実施の第6の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図10】実施の第7の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図11】実施の第8の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図12】実施の第9の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図13】実施の第10の形態のアレイ型プロセッサを示す模式的なブロック図である。
【図14】2つの状態遷移を一つに統合した状態を示す模式図である。
【符号の説明】
100,150,160,170,180,190,200,210 アレイ型プロセッサ
105 状態管理部
107 プロセッサエレメント
145 エレメントグループ
161,171,181,191,201,211 可変接続手段である切換スイッチ
Claims (14)
- 個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントの前記命令コードを状態管理部で順次切り換えるアレイ型プロセッサであって、
前記状態管理部が複数からなり、
複数の前記状態管理部の少なくとも一部と多数の前記プロセッサエレメントの少なくとも一部との接続関係を可変自在とする可変接続手段を有しているアレイ型プロセッサ。 - 前記可変接続手段は、複数の前記状態管理部の全部と多数の前記プロセッサエレメントの全部との接続関係を可変自在とする請求項1に記載のアレイ型プロセッサ。
- 前記可変接続手段は、複数の前記状態管理部ごとに接離自在な前記プロセッサエレメントを規制している請求項1に記載のアレイ型プロセッサ。
- 多数の前記プロセッサエレメントの少なくとも一部が複数のエレメントグループに区分されており、
前記可変接続手段は、複数の前記状態管理部の少なくとも一部と複数の前記エレメントグループの少なくとも一部との接続関係を可変自在とする請求項1に記載のアレイ型プロセッサ。 - 多数の前記プロセッサエレメントが前記状態管理部に対応した個数のエレメントグループに区分されており、
前記可変接続手段は、複数の前記状態管理部の全部と複数の前記エレメントグループの全部との接続関係を可変自在とする請求項4に記載のアレイ型プロセッサ。 - 前記可変接続手段は、複数の前記状態管理部ごとに接離自在な前記エレメントグループを規制している請求項4に記載のアレイ型プロセッサ。
- 多数の前記プロセッサエレメントが前記状態管理部に対応した個数のエレメントグループに区分されており、
前記可変接続手段は、少なくとも第n(nは自然数)番目の前記状態管理部と第n番目の前記エレメントグループとを接離自在とする請求項6に記載のアレイ型プロセッサ。 - 前記可変接続手段は、少なくとも第n番目の前記状態管理部と第n±m(mはnより少数の自然数)番目の前記エレメントグループとを接離自在とする請求項7に記載のアレイ型プロセッサ。
- 前記可変接続手段は、複数の前記状態管理部の一部を複数のエレメントグループの一部に接離自在とするとともに、複数の前記状態管理部の他部を複数の前記エレメントグループの他部に接離自在としている請求項4に記載のアレイ型プロセッサ。
- 複数の前記状態管理部の一部が複数の前記エレメントグループの一部に固定的に接続されており、
前記可変接続手段は、複数の前記状態管理部の他部を複数の前記エレメントグループの他部に接離自在としている請求項4に記載のアレイ型プロセッサ。 - 複数の前記状態管理部の一部が所定の前記エレメントグループに固定的に接続されているとともに前記可変接続手段により所定の前記エレメントグループの前記プロセッサエレメントに接離自在とされており、
複数の前記状態管理部の他部が前記可変接続手段により所定の前記エレメントグループの前記プロセッサエレメントに接離自在とされている請求項4に記載のアレイ型プロセッサ。 - 前記可変接続手段は、複数の前記状態管理部を各々に所定の前記エレメントグループの前記プロセッサエレメントに接離自在としている請求項4に記載のアレイ型プロセッサ。
- 前記可変接続手段は、前記状態管理部と前記プロセッサエレメントとの間にある請求項1に記載のアレイ型プロセッサ。
- 複数の前記状態管理部が相互通信して連携動作する請求項1ないし13の何れか一項に記載のアレイ型プロセッサ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002299028A JP3987782B2 (ja) | 2002-10-11 | 2002-10-11 | アレイ型プロセッサ |
US10/682,736 US20040078093A1 (en) | 2002-10-11 | 2003-10-10 | Array-type processor |
GB0323827A GB2395581B (en) | 2002-10-11 | 2003-10-10 | Array-type processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002299028A JP3987782B2 (ja) | 2002-10-11 | 2002-10-11 | アレイ型プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004133780A JP2004133780A (ja) | 2004-04-30 |
JP3987782B2 true JP3987782B2 (ja) | 2007-10-10 |
Family
ID=29546000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002299028A Expired - Fee Related JP3987782B2 (ja) | 2002-10-11 | 2002-10-11 | アレイ型プロセッサ |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040078093A1 (ja) |
JP (1) | JP3987782B2 (ja) |
GB (1) | GB2395581B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8275973B2 (en) | 2008-06-18 | 2012-09-25 | Nec Corporation | Reconfigurable device |
US8516414B2 (en) | 2008-03-25 | 2013-08-20 | Nec Corporation | Behavioral synthesis device, behavioral synthesis method, and computer program product |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4353052B2 (ja) | 2004-10-04 | 2009-10-28 | 株式会社日立製作所 | 半導体集積回路 |
JP2006338506A (ja) * | 2005-06-03 | 2006-12-14 | Fujifilm Holdings Corp | コネクタ |
JP2006338507A (ja) * | 2005-06-03 | 2006-12-14 | Fujifilm Holdings Corp | 処理装置及び処理方法 |
JP4410162B2 (ja) * | 2005-07-05 | 2010-02-03 | 富士通株式会社 | リコンフィギュアブルlsi |
JP4909588B2 (ja) | 2005-12-28 | 2012-04-04 | 日本電気株式会社 | 情報処理装置及び再構成デバイスの利用方法 |
US9021234B2 (en) | 2009-01-30 | 2015-04-28 | Nec Corporation | Indirect designation of physical configuration number as logical configuration number based on correlation information, within parallel computing |
JP5355152B2 (ja) * | 2009-03-10 | 2013-11-27 | 三菱電機株式会社 | 動的再構成装置 |
US9489337B2 (en) * | 2014-04-12 | 2016-11-08 | Netronome Systems, Inc. | Picoengine multi-processor with task assignment |
US9483439B2 (en) * | 2014-04-12 | 2016-11-01 | Netronome Systems, Inc. | Picoengine multi-processor with power control management |
JP7346235B2 (ja) * | 2019-10-16 | 2023-09-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US18733A (en) * | 1857-12-01 | Extension-table | ||
US4850027A (en) * | 1985-07-26 | 1989-07-18 | International Business Machines Corporation | Configurable parallel pipeline image processing system |
EP0605401B1 (en) * | 1988-09-19 | 1998-04-22 | Fujitsu Limited | Parallel computer system using a SIMD method |
JP2502867B2 (ja) * | 1990-05-22 | 1996-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Plan―ピラミッド型学習ア―キテクチャ・ニュ―ロコンピュ―タ |
US5517667A (en) * | 1993-06-14 | 1996-05-14 | Motorola, Inc. | Neural network that does not require repetitive training |
US6128720A (en) * | 1994-12-29 | 2000-10-03 | International Business Machines Corporation | Distributed processing array with component processors performing customized interpretation of instructions |
US5659785A (en) * | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US6023753A (en) * | 1997-06-30 | 2000-02-08 | Billion Of Operations Per Second, Inc. | Manifold array processor |
JP3674515B2 (ja) * | 2000-02-25 | 2005-07-20 | 日本電気株式会社 | アレイ型プロセッサ |
-
2002
- 2002-10-11 JP JP2002299028A patent/JP3987782B2/ja not_active Expired - Fee Related
-
2003
- 2003-10-10 GB GB0323827A patent/GB2395581B/en not_active Expired - Fee Related
- 2003-10-10 US US10/682,736 patent/US20040078093A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516414B2 (en) | 2008-03-25 | 2013-08-20 | Nec Corporation | Behavioral synthesis device, behavioral synthesis method, and computer program product |
US8275973B2 (en) | 2008-06-18 | 2012-09-25 | Nec Corporation | Reconfigurable device |
Also Published As
Publication number | Publication date |
---|---|
JP2004133780A (ja) | 2004-04-30 |
US20040078093A1 (en) | 2004-04-22 |
GB2395581B (en) | 2005-03-09 |
GB2395581A (en) | 2004-05-26 |
GB0323827D0 (en) | 2003-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3987783B2 (ja) | アレイ型プロセッサ | |
US11003449B2 (en) | Processing device and a swizzle pattern generator | |
US7350054B2 (en) | Processor having array of processing elements whose individual operations and mutual connections are variable | |
JP4594666B2 (ja) | 再構成可能な演算装置 | |
JP3987782B2 (ja) | アレイ型プロセッサ | |
GB2122781A (en) | Multimicroprocessor systems | |
EP0875027A1 (en) | Scalable multi-processor architecture for simd and mimd operations | |
JP2005222142A (ja) | アレイ型プロセッサ | |
EP1665065B1 (en) | Integrated data processing circuit with a plurality of programmable processors | |
JP3987784B2 (ja) | アレイ型プロセッサ | |
JP2006099719A (ja) | 処理装置 | |
US20030126404A1 (en) | Data processing system, array-type processor, data processor, and information storage medium | |
KR20080106129A (ko) | 복수의 다중 모드 프로세서를 연결하는 방법과 장치 | |
US7788465B2 (en) | Processing system including a reconfigurable channel infrastructure comprising a control chain with combination elements for each processing element and a programmable switch between each pair of neighboring processing elements for efficient clustering of processing elements | |
US20040250047A1 (en) | Method and apparatus for a shift register based interconnection for a massively parallel processor array | |
JP4728581B2 (ja) | アレイ型プロセッサ | |
US20070220236A1 (en) | Reconfigurable computing device | |
JP3861898B2 (ja) | データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 | |
JP3987805B2 (ja) | アレイ型プロセッサ | |
JP2791764B2 (ja) | 演算装置 | |
JPH09223011A (ja) | 演算装置 | |
EP1716502A1 (en) | Digital signal processing integrated circuit with io connections | |
JP2004164455A (ja) | マルチベクトルプロセッサシステム及びベクトルプロセッサ | |
JPH03189883A (ja) | 並列計算機用lsi構成方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20041215 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050912 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070413 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070620 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070713 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130720 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |