(57)【要約】【課題】各構成のサイクル時間を調整可能とするアレイ型プロセッサの提供。【解決手段】複数のプロセッサエレメント１１がアレイ状に配置されたデータパス部１０と、データパスの切り替え制御を行う情報を格納しておく状態遷移管理部１２と、前記状態遷移管理部からの情報に基づき、入力されたクロック信号の遅延を調整し、前記データパス部に出力する遅延調整回路１３と、を備え、前記遅延調整回路１３は、遅延制御情報メモリ１４とプログラマブルディレイ１５を備え、遅延制御情報メモリは、複数の遅延制御情報を記憶しており、状態遷移管理部からの構成番号をアドレスとして遅延制御情報を読み出し前記遅延制御情報を前記プログラマブルディレイに与え、前記プログラマブルディレイは、入力されたクロック信号を前記遅延制御情報により指定された遅延だけ遅らせてデータパス部に出力する。【選択図】図１
2008204177.tif 000002
【特許請求の範囲】
【請求項１】
データパスの構成がクロックサイクルに対応して変更自在とされるアレイ型プロセッサであって、入力されたクロック信号の遅延を調整する手段を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としてなる、アレイ型プロセッサ。
【請求項２】
複数のプロセッサエレメントがアレイ状に配置されたデータパス部と、
データパスの切り替え制御を行うための情報を格納している状態遷移管理部と、
前記状態遷移管理部から出力される情報に基づき、入力されたクロック信号の遅延を調整し、前記データパス部に出力する遅延調整回路と、
を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としてなる、アレイ型プロセッサ。
【請求項３】
前記遅延調整回路が、
遅延制御情報メモリと、
プログラマブルディレイと、
を備え、
前記遅延制御情報メモリは、複数の遅延制御情報を記憶しており、前記状態遷移管理部から供給される状態番号をアドレスとして遅延制御情報を読み出して前記プログラマブルディレイに与え、
前記プログラマブルディレイは、入力されたクロック信号を、前記遅延制御情報で指定される遅延時間分遅らせて前記データパス部に出力する、請求項２記載のアレイ型プロセッサ。
【請求項４】
前記プロセッサエレメントが、
複数個の構成情報を保持し、前記状態制御管理部から供給される状態番号をアドレスとして構成情報が読み出される構成情報メモリと、
演算器、メモリ、レジスタの機能を少なくとも１つ有する機能ユニットと、
前記プロセッサエレメント内の前記機能ユニットにおける接続形態と他のプロセッサエレメント間の接続形態を切り替える配線接続回路と、
を備え、
前記機能ユニットと前記配線接続回路とは、前記構成情報メモリからの構成情報によって接続形態と動作が決定される、請求項２又は３記載のアレイ型プロセッサ。
【請求項５】
前記プログラマブルディレイの出力を、プログラム動作時と、データ処理時とで切り替える制御を行うためのクロック切替信号を備え、
プログラム動作時のデータを含む書き込み制御信号を入力し、
前記クロック切替信号に基づき、
プログラム動作時には、前記プログラマブルディレイを調整し、前記書き込み制御信号の出力先と、前記遅延調整回路の前記遅延制御情報メモリ、前記状態遷移管理部の状態管理情報メモリ、及び、前記プロセッサエレメント内の構成情報メモリのうちのデータの書き込み先との間のデータ転送が同期して行えるようにし、
データ処理時には、前記遅延制御情報に従い、入力クロック信号を前記プログラマブルディレイで遅延させたクロック信号が出力される、請求項３又は４記載のアレイ型プロセッサ。
【請求項６】
前記遅延調整回路の前記遅延制御情報メモリが、
前記遅延制御情報に加え、データ入出力制御情報を備え、
前記状態番号に応じて前記データ入出力制御情報を、データ入出力制御信号に出力し、前記データ入出力制御信号は、前記データパス部との間でデータ転送を行う外部回路に供給され、
前記外部回路は、前記データ入出力制御信号を観察することで、データ入出力を制御し、前記外部回路とのデータ転送時に、前記データパス部と前記外部回路間の同期がとられるように、前記プログラマブルディレイによりクロック信号の遅延が調整される、請求項３又は４記載のアレイ型プロセッサ。
【請求項７】
前記遅延調整回路が、前記入力されたクロック信号と、前記プログラマブルディレイから出力されたクロック信号とを受け、入力されたクロック選択信号の値に基づき、一方を選択し、プログラマブルディレイに入力するクロック選択回路を備えている、請求項３又は４記載のアレイ型プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムすることで所望の演算処理を実現できるプロセッサに関し、特に、プロセッサエレメントをアレイ状に並べたアレイ型プロセッサに関する。
【背景技術】
【０００２】
プログラム可能なデバイスとして、様々なマイクロプロセッサが知られている。マイクロプロセッサは、メモリに記憶されている命令を順に読み出し、逐次的に処理する。マイクロプロセッサは、非常にシンプルな処理を指示する１つの命令を、処理する順番に従い組み合わせ実行することで、目的とする一連の処理を実現している。
【０００３】
マイクロプロセッサは、１つのプロセッサで同時に実行できる命令が高だか数個であるため、処理性能を向上させる上で限界がある。具体的には、大量のデータに対して同一の処理を行う場合に、１つ１つのデータに対して、逐次処理を繰り返す必要があり、処理能力を向上させることができない。
【０００４】
一方、実行するデータ処理が１つに限定されている場合には、そのデータ処理を実行するように、論理回路をハードウェアで形成すれば、メモリから命令を順番に読み出し、演算処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら１つのデータ処理しか実行することができない。
【０００５】
つまり、アプリケーションプログラムを切り替え自在としたデータ処理システムでは、各種のデータ処理を実行できるが、逐次的に処理を行う必要があるため、データ処理を高速に実行することが困難である。
【０００６】
一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、アプリケーションプログラムを変更できないので１つのデータ処理しか実行できない。
【０００７】
このようなトレードオフを解決するため、ソフトウェアに対応してハードウェアの構成が変化するデータ処理装置として、アレイ型プロセッサが提案されている（特許文献１−３等）。
【０００８】
特許文献１に記載されたアレイ型プロセッサは、プロセッサエレメントをアレイ状に並べたものをプログラマブルなスイッチで電気的に接続した構成からなる、演算器を主体として行うデータパス部と、状態遷移手段の実現を容易とした構成からなる、制御を行う状態遷移管理部を独立して具備し、それぞれを処理目的に応じて特化した構成で実現することで、小型化、高性能化の可能なアレイ型プロセッサの提供するものである。
【０００９】
図１０に、特許文献１の図１に開示されたアレイ型プロセッサの構成を示す。図１０を参照すると、データパス部１０２とそれを制御する状態遷移管理部（または単に状態管理部）１０１で構成され、データパス部１０２は２次元アレイ状に配置された複数のプロセッサエレメント（ＰＥ）１０５で構成される。
【００１０】
特許文献１および２に記されたアレイ型プロセッサは、プロセッサの動作の「状態」を例えば番号（状態番号）で管理する。そしてプロセッサの動作の管理を、ある動作状態から別の動作状態へ遷移するものとして、状態遷移管理部の状態管理情報メモリ１２１に格納された状態番号を読みだしては、読み出された状態番号に意味づけされた動作を行う。なお、「状態」とは、プロセッサエレメント１０５およびプログラマブルスイッチエレメント１０６の状態を指す。
【００１１】
この状態番号は、状態遷移管理部１０１から出力される、命令コードを記憶する命令コードメモリのアドレス、および、プログラマブルスイッチエレメント１０６相互間の接続構成を指示する接続構成情報メモリのアドレス（これら二つのアドレスを命令コードアドレスと略称される場合もある）に対応付けられる。この、演算制御バス１０３を通じデータパス部に与えられた命令コードアドレスによってプロセッサエレメント１０５の動作およびプログラマブルスイッチエレメント１０６の電気的接続関係が決定される。具体的には、各プロセッサエレメント１０５は、入力した命令コードアドレスにしたがって演算を行い、また、各プログラマブルスイッチエレメント１０６は、データパス部１０２の内部および外部との電気的接続を行うものである。なお、ここでは、状態番号がそのまま命令コードアドレスになっているものとして以下説明する。
【００１２】
状態遷移管理部１０２は状態遷移テーブルメモリ（不図示）を有する。この状態遷移テーブルメモリには次サイクルの状態番号が格納されており、状態遷移管理部１０２の現在の内部状態や外部からのイベント信号の条件に従い順次読み出される。ここでは、状態番号がそのまま命令コードアドレスになっているとしているので読み出された状態番号は演算制御パス１０３を通してデータパス部１０２に入力される。
【００１３】
図１１に、図１０のプロセッサエレメント１０５の構成の典型例を示す。プロセッサエレメントは、構成情報メモリ２０１、機能ユニット２０２、配線接続回路２０３から構成される。なお、ここでは、スイッチエレメントである配線接続回路２０３、構成情報メモリ１１１をプロセッサエレメント１０５に組み込んでいるが、これらがプロセッサエレメントの外部にあってもよい。
【００１４】
構成情報メモリ２０１は、複数個の構成情報を格納するメモリであり、その構成情報は、図１０の状態制御管理部１０２からの状態番号２１０をアドレスとして読み出される。同様にデータパス部にある不図示の命令コードメモリから実質の命令コードが読み出され、デコードされた命令コード１１５がプロセッサエレメント１１に与えられる。
【００１５】
構成情報２０９は、機能ユニット２０２及び配線接続回路２０３の接続関係、すなわちプロセッサエレメントの内部構成を設定する信号であり、構成情報メモリ２０１から機能ユニット２０２及び配線接続回路２０３に入力される。
【００１６】
機能ユニット２０２は、演算器、メモリ、レジスタ等の機能を１つ以上有し、配線接続回路２０３は、各プロセッサエレメント内の機能ユニットの接続及びプロセッサエレメント間の接続を切り替える機能を有する。
【００１７】
また、たとえば、機能ユニット２０２は、２つのレジスタファイルユニット（ＲＦＵ１、ＲＦＵ２）、２つのマルチプレクサ（ＭＵＸ１、ＭＵＸ２）及び演算器（ＡＬＵ）から構成される。
【００１８】
各プロセッサエレメントでは、状態番号に対応した構成情報が、構成情報メモリ２０１から読み出され、機能ユニット２０２の機能と配線接続回路２０３の接続が決定される。
【００１９】
このようにアレイ全体に構成されるデータパスは、構成情報により決定されるため、構成情報メモリ２０１に格納できる構成情報の数のデータパスを構成できる。
【００２０】
構成情報２０９は、状態番号２１０によって読み出されるため、状態番号を制御することによってデータパスの構成を変更できる。ここでは状態番号によって指し示された構成情報メモリの構成情報に従って、この接続関係が構築されることをマッピングと呼ぶ。
【００２１】
そして、このマッピングを行ったのち、命令コードメモリからの命令コード１１５に応じてデータパス部は処理を実行する。
【００２２】
この際、データパス部１０２の演算資源、配線資源は、全て利用してマッピングする。当然、分割した処理同士を同時にデータパス部１０２で実行することはできないが、状態遷移管理部１０１は、サイクルごとにデータパスのマッピングを切り替え、分割した処理を順次実行する。
【００２３】
つまり上述の従来型のプロセッサは、状態番号を遷移させ、状態番号に対応する命令を、状態番号に対応した回路構成で逐次処理を行うことによって、アプリケーションを実行するものである。
【００２４】
なお、この従来型のアレイ型プロセッサでは、処理すべきアプリケーションプログラムをコンパイルする時点で、このアプリケーションプログラムの解析を行い、前述のプロセッサエレメントやスイッチエレメントの状態遷移の形に落とし込む。アプリケーションプログラムを実行する上で、プロセッサエレメントやスイッチエレメントがどのような回路構成（データパス部の接続情報）にするか、そしてその状態のときにどのような命令を実行するかを、状態番号、回路の構成情報、命令コードに変換するとともに、その状態遷移過程を示す遷移情報を構築する。そして状態番号、遷移情報を状態遷移管理部に、回路の構成情報、命令コードをデータパス部に、それぞれアプリケーションプログラムの実行に
先立って格納される。遷移情報は遷移テーブルに格納される。
【００２５】
より具体的な構成例を示して、従来例の動作を説明する。
【００２６】
特許文献状態１および２に開示された従来のアレイ型プロセッサは、アプリケーションの実行として、状態遷移管理部１０１の状態遷移テーブルメモリ（不図示）からシーケンサ（不図示）によって順次、状態番号２１０を、演算制御バス１０３を通じてデータパス部１０２のプロセッサエレメント１０５（およびスイッチエレメント１０６）に出力する。ここではプロセッサエレメント１０５にスイッチエレメント１０６が配線接続回路２０３として組み込まれており、状態番号を受けたプロセッサでは状態番号２１０で指定された構成情報を、機能ユニット２０２及び配線接続回路２０３に出力する。
【００２７】
また、状態番号２１０は命令コードメモリ（不図示）に送られ、状態番号２１０に対応する命令コードメモリのアドレスから命令コードが読み出されデコードされた命令コード２１１がプロセッサエレメント１０５に送られる。命令コード２１１はプロセッサエレメント１０５内のＡＬＵ２０８やレジスタＲＦＵ１（２０４）、ＲＦＵ２（２０５）に送られる。
【００２８】
上述のように構成情報は、予め構成情報メモリ２０１に格納される。
【００２９】
構成ユニット２０２では、こうして送られてきた構成情報が、ＭＵＸ１、ＭＵＸ２に入力選択信号として入力されこの部分回路構成を構築する。
【００３０】
同様に、配線接続回路２０３は、構成情報メモリ２０１から読み出される構成情報に従い、ＲＦＵ１、ＲＦＵ２、ＭＵＸ１、ＭＵＸ２、及び、自ＰＥの上下左右にある、ＰＥの配線接続回路間の回路構成を構築し、構築された回路構成にしたがって、ＰＥの配線接続回路間のデータ転送を行う。
【００３１】
こうして回路構築を行って、ＲＦＵ１、ＲＦＵ２には、命令コードメモリから読み出された命令コードをデコードした命令コード２１１から、あるいは配線接続回路２０３を通じて他のプロセッサエレメントから、例えば、書き込みアドレス、読み出しアドレスが入力される。
【００３２】
ＭＵＸ１、ＭＵＸ２は、この入力選択信号に従い、レジスタファイルユニット（ＲＦＵ１，ＲＦＵ２）からの入力か、配線接続回路２０３からの入力かを選択して、ＡＬＵ２０８へデータとして出力する。
【００３３】
構成情報による回路構築とともに、ＡＬＵ２０８には命令コード２１１が送られ、ＡＬＵ２０８は構築された回路に従って入力されたデータを命令コードに従った処理を実施し、その結果を配線接続回路２０３へ出力する。配線接続回路２０３は同様に動作する後段のプロセッサエレメントへ渡される。
【００３４】
この一連の動作をアレイ型プロセッサの状態遷移に応じて繰り返しアプリケーションが実行される。なお、アレイ型プロセッサの状態遷移はクロックに同期して行われる。
【００３５】
このプロセッサエレメントを用いたデータパス部のデータパス構成例（マッピング例）を、図１２及び図１３に示す。
【００３６】
ここでは、プロセッサエレメント（ＰＥ）を４×４の２次元アレイ状に並べている。なお、便宜上、図１２、図１３では、図１１のＲＦＵ１を「Ｒ１」、図１１のＲＦＵ２を「Ｒ２」、図１１のＡＬＵを「Ａ」として示している。また、アレイ内のプロセッサエレメントを区別するために、図に示すように各プロセッサエレメントにＰＥ（ｉ，ｊ）といった番号を振っている。
【００３７】
図１２（構成例１）のように、順序回路であるレジスタ間に複数のＡＬＵが存在するパスが構成された場合の一例であり、図１３（構成例２）は逆にレジスタ間にＡＬＵを１つも持たないパスのみで構成された場合の一例を示している。つまり、図１２（構成例１）は、クリティカルパス遅延が大きい場合の例であり、図１３（構成例２）は小さい場合の例である。
【００３８】
ここで、仮に、プロセッサエレメント間のデータ転送遅延、及び、ＡＬＵの遅延を１Ｔ（遅延単位）とすると、図１２の構成例１のクリティカルパスは、ＰＥ（０，０）からＰＥ（３，３）へのパスであり、遅延時間は、６Ｔ（３つのＡＬＵ遅延と３つのプロセッサエレメント間データ転送遅延）である。
【００３９】
また、図１３の構成例２では、ＰＥ（０，０）からＰＥ（０，１）、ＰＥ（０，１）からＰＥ（０，２）、ＰＥ（０，２）からＰＥ（０，３）への３つのパスがあるが、遅延時間は全て１Ｔであり、クリティカルパス遅延も１Ｔである。
【００４０】
上述の文献１および２に記載の従来のアレイ型プロセッサでは、アプリケーションプログラムのコンパイル結果によって、実際の動作時のデータパス部の状態の推移が決められる。つまりどのような回路構成の変化の推移をとるかが決められる。
【００４１】
このような従来のアレイ型プロセッサでは、構成例１と構成例２のように、クリティカルパス遅延が大きく異なる（６Ｔと１Ｔ）構成が、アレイ型プロセッサのクロックサイクルごとに切り替わることが頻繁に起こる。
【００４２】
このような従来のアレイ型プロセッサでは、全構成のクリティカルパス遅延の最大値によっての最大動作周波数は決定され、この場合は、１／６Ｔが最大動作周波数となる。
【００４３】
図１４は、図１０に示した従来技術の課題について説明するためのタイミングチャートである。なお、図１４は、従来技術の課題を説明するために、本願発明者によって作成されたものであり、特許文献１から引用したものではない。
【００４４】
図１４において、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５は、クロックが立ち上がる時刻（タイミング）を示しており、Ｃ１、Ｃ２、Ｃ３、Ｃ４はそれらの間の期間を示している。
【００４５】
データパスの網掛け部分は、データパスの状態が確定していないことを示しており、ｄ１、ｄ２、ｄ３、ｄ４はクリティカルパス遅延を示している。このうちｄ４が最大であり、サイクルタイムはｄ４以上でなければならない。
【００４６】
Ｔ３サイクルのクリティカルパス遅延ｄ３は、ｄ４に比べ小さく、その差分に相当する時間は処理が行われておらず、処理効率を考えると無駄な時間になっている。
【００４７】
図１０乃至図１３を参照して説明した従来技術では、構成情報により複数のデータパスを切り替えることが可能であるが、データパスごとのクリティカルパス遅延が大きく異なる場合、最大の遅延に動作周波数を合わせる必要があり、それ以上高速に動作させることができない。
【００４８】
特に、クリティカルパス遅延のばらつきが大きい場合、クリティカルパスの小さい構成はサイクル期間の多くの時間何も処理を行わない。
【００４９】
また、処理をデータパスに分割する際（上述のコンパイル時）に遅延時間が均等になるように分割すれば問題は解決するが、実際、そのような割り付けは、現在のところ技術的に困難である。
【００５０】
上述したようにアプリケーションをコンパイルして処理をデータパスに分割する際クリティカルパス遅延を均等にするのではなく、サイクル時間をクリティカルパス遅延に合わせて調整することでも処理効率を上げることはできる。しかし、一般に、並列処理プロセッサは一定間隔のクロックサイクルを前提とし、プロセッサ間通信が必要な場合は同期を行うが、それ以外は独立に動作している。
【００５１】
このため、一般的には、並列処理プロセッサのサイクル時間を調整し動作の効率化を図ることは困難である。
【００５２】
ただし、特定の条件下の従来例として、特許文献３の構成がある。これは、プロセッサエレメント間のデータ転送において、そのデータ転送時間に応じてサイクル時間を調整することを特徴としている。特許文献３は、データ転送に対する技術であり、プロセッサアレーの構成についての具体的な記載はない。加えて、前述した理由によりプロセッサエレメントの演算遅延を考慮したサイクル時間の調整を従来技術で実現することは困難である。さらに、特許文献３では、クロックのダブルエッジを使用してプロセッサを動作させる必要がある。また、クロック生成に演算時間（ＡＬＵ遅延時間）を半周期としたクロックを使用する必要がある。このため、サイクル時間に比べ高速なクロックが必要となるなどの問題がある。
【００５３】
【特許文献１】特許第３６７４５１５号
【特許文献２】特開２００４−１３３７８１号公報
【特許文献３】特開昭６４−７２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００５４】
上述したように、従来のアレイ型プロセッサでは、クロックサイクルごとのクリティカルパスに応じて、並列処理プロセッサのサイクル時間を調整し動作の効率化を図ることは困難であった。また、特許文献１および２のような、同一半導体素子の中にアレイ状に並べられた複数のプロセッサエレメント（PE)と、プロセッサエレメント間の接続関係をハードで切り替えるスイッチエレメントを備え、実行されるアプリケーションプログラムに応じて、各プロセッサエレメント間の接続をスイッチエレメントにより切り替え、アレイ型プロセッサが有する順序回路（フリップフロップ、ラッチ、メモリなど）間パス（データパス）に有する演算器（ALU)の接続関係あるいは個数を可変にして動的に回路構造が変わるプロセッサにおいては、アプリケーションをコンパイルして処理をデータパスに分割する際にクリティカルパス遅延を均等にして処理を向上させることが困難であった。
【課題を解決するための手段】
【００５５】
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
【００５６】
本発明のアレイ型プロセッサは、データパスの構成がクロックサイクルに対応して変更自在とされるアレイ型プロセッサであって、入力されたクロック信号の遅延を調整する手段を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としている。
【００５７】
より詳細には、本発明のアレイ型プロセッサは、複数のプロセッサエレメントがアレイ状に配置されたデータパス部と、データパスの切り替え制御を行うための情報を格納している状態遷移管理部と、前記状態遷移管理部から出力される情報に基づき、入力されたクロック信号の遅延を調整し、前記データパス部に出力する遅延調整回路と、を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としている。
【００５８】
本発明において、前記遅延調整回路は、遅延制御情報メモリとプログラマブルディレイとを備え、前記遅延制御情報メモリは、複数の遅延制御情報を記憶しており、前記状態遷移管理部からの状態番号をアドレスとして遅延制御情報を読み出し、前記遅延制御情報を前記プログラマブルディレイに与え、前記プログラマブルディレイは、入力されたクロック信号を前記遅延制御情報により指定された遅延だけ遅らせて前記データパス部に出力する。
【００５９】
本発明において、前記プロセッサエレメントは、複数個の構成情報を保持し、前記状態制御管理部から供給される状態番号をアドレスとして構成情報が読み出される構成情報メモリと、演算器、メモリ、レジスタの機能を少なくとも１つ有する機能ユニットと、前記プロセッサエレメント内の前記機能ユニットにおける接続形態と他のプロセッサエレメント間の接続形態を切り替える配線接続回路と、を備え、前記機能ユニットと前記配線接続回路は、前記構成情報メモリからの構成情報によって接続形態と動作が決定される構成とされる。
【００６０】
本発明において、前記プログラマブルディレイの出力を、プログラム動作時と、データ処理時とで切り替える制御を行うためのクロック切替信号を備え、プログラム動作時のデータを含む書き込み制御信号を入力し、前記クロック切替信号に基づき、プログラム動作時には、前記プログラマブルディレイを調整し、前記書き込み制御信号の出力先と、前記遅延調整回路の前記遅延制御情報メモリ、前記状態遷移管理部の状態管理情報メモリ、及び、前記プロセッサエレメント内の構成情報メモリのうちのデータの書き込み先との間のデータ転送が同期して行えるようにし、データ処理時には、前記遅延制御情報に従い、入力クロック信号を前記プログラマブルディレイで遅延させたクロック信号が出力される。
【００６１】
本発明において、前記遅延調整回路の前記遅延制御情報メモリが、前記遅延制御情報に加え、データ入出力制御情報を備え、前記状態番号に応じて前記データ入出力制御情報を、データ入出力制御信号に出力し、前記データ入出力制御信号は、前記データパス部との間でデータ転送を行う外部回路に供給され、前記外部回路は、前記データ入出力制御信号を観察することで、データ入出力を制御し、前記外部回路とのデータ転送時に、前記データパス部と前記外部回路間の同期がとられるように、前記プログラマブルディレイによりクロック信号の遅延が調整される。
【００６２】
本発明において、前記遅延調整回路が、入力されたクロック信号と、前記プログラマブルディレイから出力されたクロック信号とを受け、入力されたクロック選択信号の値に基づき一方を選択し、プログラマブルディレイに入力するクロック選択回路を備えている。
【発明の効果】
【００６３】
本発明によれば、遅延調整回路を具備したことにより、各構成のサイクル時間を予めプログラムされた値に調整することができる。本発明によれば、前後のサイクル時間を短くできる場合、その分、クリティカルパス遅延が大きい構成のサイクル時間を長くすることができ、最大動作周波数を高めることができ、処理効率を向上することができる。
【発明を実施するための最良の形態】
【００６４】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して以下に説明する。
＜実施形態１＞
本発明の第１の実施の形態について説明する。図１は、本発明の第１の実施形態のアレイ型プロセッサの構成を示す図である。図２は、図１のプロセッサエレメント（PE）１１の構成を示す図である。以下、図１及び２を用い本発明の構成について説明する。
【００６５】
図１を参照すると、このアレイ型プロセッサは、データパス部１０、状態遷移管理部１２、及び、遅延調整回路１３を備えている。ここでデータパス部１０ならびに状態遷移管理部１２の構成は、従来のアレイ型プロセッサを示す図１０および図１１に記された構成と同様である。
【００６６】
状態遷移管理部１２はシーケンス部、状態遷移テーブルメモリ（いずれも不図示）を備える。状態遷移管理部１２のシーケンス部は状態遷移テーブルメモリから状態番号１９を読み出して出力し、本アレイ型プロセッサの状態を遷移させる。
【００６７】
データパス部１０は２次元アレイ状に配置された複数のプロセッサエレメント（ＰＥ）１１を備え、不図示の命令コードメモリを備える。
【００６８】
プロセッサエレメント（ＰＥ）１１は、構成情報メモリ１１１、機能ユニット１１２、配線接続回路１１３を備えており、スイッチエレメントである配線接続回路１１３を内蔵したものである。
【００６９】
機能ユニット１１２及び配線接続回路１１３は、それぞれ機能ユニット２０２及び配線接続回路２０３に対応し、構成情報メモリ１１１からの構成情報に従って回路の接続関係が決定され、その回路構成が決定される。
【００７０】
機能ユニット１１２は、不図示の演算器、メモリ、レジスタ等の機能（演算器および順序回路）を１つ以上有し、それらの回路構成を可変とするＭＵＸ等とを有する。
【００７１】
配線接続回路１１３は、各プロセッサエレメント１１内の機能ユニット１１２及びプロセッサエレメント１１間の接続を切り替える機能を有する。
【００７２】
構成情報メモリ１１１は、複数個の構成情報を格納するメモリであり、図１の状態制御管理部１２からの状態番号１９が指し示す構成情報メモリ１１１のアドレスから構成情報１１４が読み出される。
【００７３】
また、データパス部に有する命令コードメモリから状態番号１９をアドレスとして読み出された命令コードがデコードされ、デコードされた命令コード１１５を機能ユニット１１２内の不図示の演算器および順序回路にあたえる構成となっている。
【００７４】
遅延調整回路１３は、遅延制御情報メモリ１４と、プログラマブルディレイ１５とを備えている。
【００７５】
遅延制御情報メモリ１４は、上述した複数の遅延制御情報を記憶しており、状態遷移管理部１２からの状態番号１９をアドレスとして遅延制御情報１７を読み出し、遅延制御情報１７をプログラマブルディレイ１５に出力して、プログラマブルディレイ１５の遅延を可変制御する。
【００７６】
プログラマブルディレイ１５は、入力されたグローバルクロック（ＧＣＬＫ）１６を遅延制御情報１７により指定された遅延だけ遅らせ、ローカルクロック（ＬＣＬＫ）１８として出力する。なお、ＧＣＬＫはアレイ型プロセッサの外部または内蔵されたクロックジェネレータから与えられる。
【００７７】
なお、図１において状態繊維管理部１２からデータパス部１０、遅延調整回路１０に分配される状態番号１９は、たとえば演算制御バスとして構成される。また、データパス部１０からの信号（例えば従来例のイベント通知パス）は省略している。
【００７８】
本発明のアレイ型プロセッサにおいては、動作の基本となる状態番号１９は、この状態番号を参照番号として、それぞれ、構成情報メモリ１１１、命令コードメモリ(不図示）に格納された構成情報、命令コードに対応づけられていることに加え、さらに状態番号１９が遅延制御情報メモリ１３に格納された遅延制御情報に対応付けられている。
【００７９】
具体的には、状態番号を、それぞれ構成情報メモリ１１１、命令コードメモリ、遅延制御情報メモリ１４のアドレスとして扱えばよい。
【００８０】
これらの情報はアプリケーションのコンパイル時にそれぞれ作成され、アプリケーション実行前に各々対応するメモリに格納される。
【００８１】
このように構成された本発明のアレイ型プロセッサの動作について以下説明する。
【００８２】
まず、状態遷移管理部１２からは状態番号１９が出力される。つまり状態管理部１２のシーケンサ部が状態遷移テーブルメモリから状態番号を読み出して出力される。
【００８３】
データパス部１０内の各プロセッサエレメント１１は、状態遷移管理部１２から状態番号１９を受け取る。各プロセッサエレメント１１内の構成情報メモリ１１１（図２参照）に状態番号１９が入力され、状態番号１９をアドレスとして、構成情報が読み出される。
【００８４】
構成情報は、プロセッサエレメント１１内の機能ユニット１１２及び配線接続回路１１３に入力される。
【００８５】
配線接続回路１１３は、構成情報に従ってプロセッサエレメント１１内部の接続及びプロセッサエレメント１１間の接続を行う。
【００８６】
一方、状態番号１９は、データパス部内の命令コードメモリに送られ、状態番号に対応する命令コードが読み出される。なお、ここでも状態番号１９を命令コードメモリのアドレス対応付けられている。読み出された命令コードはデコードされデコードされた命令コード１１５が買うプロセッサエレメント１１の機能ユニット１１２に与えられる。
【００８７】
機能ユニット１１２は、こうして入力された構成情報に従い、回路構成を変えるとともに、命令コード１１５に従った処理を実行する。
【００８８】
これにより、データパス部１０全体では、１サイクルで動作するデータパスが構成され、処理が実行される。
【００８９】
また、遅延調整回路１３は、状態遷移管理部１２から状態番号１９を受け取る。遅延調整回路１３内の遅延制御情報メモリ１４に状態番号は入力され、それをアドレスとして遅延調整情報が読み出される。
【００９０】
読み出された遅延制御情報１７はプログラマブルディレイ１５に入力される。
【００９１】
プログラマブルディレイ１５は、グローバルクロック（ＧＣＬＫ）１６を、遅延制御情報１７により決められた遅延分遅らせ、ローカルクロック（ＬＣＬＫ）１８として出力する。つまり遅延制御情報１７は、対応する状態番号１９の状態にアレイ型プロセッサにあるときの、データパス部の構成、命令コードの内容に応じて、各プロセッサエレメントのクロックのタイミングを調整するための情報である。
【００９２】
このようにしてある状態で処理された結果は、データパス部の構成により、配線接続回路１１３やプロセッサエレメント内のパスを通じ、他のプロセッサエレメントや自身のプロセッサエレメントに渡され、状態遷移管理部１２が出力する次の状態番号（状態）に合わせた同様の遷移が行われ、次の処理が実行される。
【００９３】
図３を参照して、本発明の第１の実施の形態におけるクロックのタイミング調整の動作を説明する。図３において、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５はローカルクロックが立ち上がる時刻を示しており、Ｃ１、Ｃ２、Ｃ３、Ｃ４はそれらの間の期間を示している。図中、基準クロックは、説明をし易くするために便宜上図示したものであり、グローバルクロック（ＧＣＬＫ）１６を一定遅延遅らせ、遅延制御によりサイクル時間を変化させない場合にローカルクロック（ＬＣＬＫ）１８として出力されるクロックである。
【００９４】
また、ｄ１、ｄ２、ｄ３、ｄ４は各サイクルに構成されるデータパスのクリティカル（最大遅延）パスの遅延値である。
【００９５】
構成されるデータパスにより遅延値は異なり、ここではｄ３が最も大きく、グローバルクロックのサイクル時間より大きくなっている。
【００９６】
プロセッサエレメント１１の基本動作は、１サイクルの動作を例にして説明される。
【００９７】
ローカルクロック（ＬＣＬＫ）が立ち上がる時刻Ｔ１では、構成情報メモリ１１１及び遅延制御情報メモリ１４には、その時点での状態番号１９が保持され、状態番号１９をアドレスとして、構成情報１１４及び遅延制御情報１７が読み出される。
【００９８】
プロセッサエレメント１１内にデータ用のメモリ及びＦＦがあり、構成情報により読み出し動作が指定されている場合には、そのデータが読み出される。
【００９９】
各プロセッサエレメント１１内では、構成情報に従った機能が構成され、データパス部１０全体として、データパスが構成される。
【０１００】
構成されたデータパスでは演算が行われ、その演算はｄ１遅延後に終了する。
【０１０１】
時刻Ｔ２では、プロセッサエレメント内にデータ用のメモリ及びＦＦのうち、構成情報により書き込み動作が指定されているものは、データパスの演算結果が書き込まれる。
【０１０２】
また、プログラマブルディレイ回路１５は、遅延制御情報２７に従ってグローバルクロック（ＧＣＬＫ）１６を遅延させ、次サイクルのローカルクロッ（ＬＣＬＫ）の立ち上がり時刻を決める。
【０１０３】
時刻Ｔ３では、ローカルクロック（ＬＣＬＫ）の立ち上がりを、基準クロックよりも早くし、時刻Ｔ４では遅くしている。これにより、期間Ｃ３のサイクル時間は基準クロックのサイクル時間よりも長くなっている。
【０１０４】
従来技術では、サイクル時間は固定とされている。また、構成されるデータパスには、それぞれクリティカルパスがあり、サイクル時間はそれらの遅延の最大値以上にする必要があった。
【０１０５】
これに対して、本発明は、遅延調整回路を具備したことにより、各構成のサイクル時間を予めプログラムされた値に調整できる。
【０１０６】
前後のサイクル時間を短くできる場合、その分クリティカルパス遅延が大きい構成のサイクル時間を長くする。このため、最大動作周波数を高めることができ、処理効率を向上することができる。
【０１０７】
なお、本実施例においては、プロセッサエレメント１１にスイッチエレメントである配線接続回路１１３、構成情報メモリ１１１を別々のブロックとして構成してよいことはもちろんである。逆に遅延調整回路１３や命令コードメモリ（不図示）をプロセッサエレメント１１に組み込む構成としてもよい。
【０１０８】
状態番号１９はこのようにアドレスとする構成でもよいが、この状態番号１９に対応付けられたアドレスとし、このアドレスを構成情報メモリ１１１、命令コードメモリ(不図示）、遅延制御情報メモリ１４に分配する構成も可能である。
【０１０９】
次に、図５を用いて、本願発明のアレイ型プロセッサの状態番号、構成情報、命令コードならびに遅延制御情報の生成方法について説明する。本明細書では、これらの生成をコンパイルと称している。図５は、本発明のすべての実施の形態における本願発明のアレイ型プロセッサの状態番号、構成情報、命令コードならびに遅延制御情報の生成方法を示す流れ図である。これらは、上述のとおり、アプリケーションプログラムをコンパイルすることによって生成され、本アレイ型プロセッサが実際に動作する前に、状態番号は状態遷移テーブルメモリに、構成情報は構成情報メモリ１１１に、命令コードは命令コードメモリに、遅延制御情報は遅延制御情報メモリ１４にそれぞれ格納される。
【０１１０】
対象であるデータ処理（アプリケーションプログラム）を、先ずデータパス部で行う処理と状態遷移管理部で行う処理とに分割する（ステップＳ１）。具体的には、対象であるデータ処理を複数に分割し、分割された処理をデータパス部１０に、分割した処理の処理順序の制御を状態遷移管理部１２に割り当てる。分割した処理の処理順序は、状態遷移テーブルメモリに格納される状態番号の格納順番として示される。
【０１１１】
次に、データパス部１０で行う処理をデータパス部にマッピングする（ステップＳ２）。すなわち、プロセッサエレメント１１の割り当て及びスイッチ接続を行う。ここでのマッピングは、コンパイル処理であるため、仮想的行われ、実際のデータパス部の回路構成を変えるものではない。データパス部１０へのマッピング後、各構成面のクリティカルパス遅延の計算を行い、さらにその最大値を求める（ステップＳ３）。クリティカルパスは、マッピングにより生成された順序回路に挟まれる組み合わせ回路のデータパスのデータの最大伝播遅延時間であり、この最大遅延の逆数を仮の最大動作周波数とする。
【０１１２】
次に、プログラマブルディレイ１５の機構により、実際の最大動作周波数を、仮の最大動作周波数よりも早くできるか否かを探る。
【０１１３】
具体的には、クリティカルパス遅延が最大である構成に着目し、その前後の構成では余裕（タイミング余裕）があるか否かを調べる。余裕がある場合、その余裕を使って、クリティカルパス遅延が最大である構成のサイクル時間を長く設定する。つまりこのクロックサイクル時間を長くできる余裕分を状態番号に対応づけて遅延制御情報１７として生成する。
【０１１４】
以上のように、マッピング情報、遅延制御情報を計算し（ステップＳ４）、最終的にはメモリに書き込む形式のデータにコード化する（ステップＳ５）。
【０１１５】
＜実施形態２＞
次に本発明の第２の実施の形態について説明する。図４は、本発明の遅延調整回路を有するアレイ型プロセッサの第２の実施の形態における概略ブロック図を示している。第１の実施の形態に対して、さらに、書き込み制御信号２０、クロック切り替え信号２１を有している。
【０１１６】
書き込み制御信号２０ならびにクロック切り替え信号２１は、本願アレイ型プロセッサの外部から入力され、それぞれ、本アレイ型プロセッサの外部からの、状態番号、構成情報、命令コード、遅延制御情報（本実施例では以降各データと称す）のアレイ型プロセッサへの書き込み(読み込み）制御、ならびに、アレイ型プロセッサの外部との入出力信号の同期タイミング制御のために利用される。
【０１１７】
書き込み制御信号２０は、遅延調整回路１３の遅延制御情報メモリ１４、状態遷移管理部１２内の状態管理情報メモリ１２１、及び、各プロセッサエレメント１１内の構成情報メモリ１１１に入力され、それらのメモリのデータ書き込みを制御する。これらのメモリへ書き込まれるデータは、図５のフローで作成されたものである。
【０１１８】
一方、クロック切り替え信号２１は、プログラマブルディレイ１５に入力される。
【０１１９】
書き込み制御信号２０、クロック切り替え信号２１を使用した本実施例のアレイ型プロセッサの動作の説明を以下に行う。
【０１２０】
図５に示すアレイ型プロセッサへの各データの生成は、状態遷移管理部１２とデータパス部１０を使用したデータ処理を開始する前に実行する。
【０１２１】
クロック切り替え信号２１は、プログラマブルディレイ１５の出力を、各データ書き込み時と、データ処理時とで切り替える制御を行うための信号である。各データ書き込み時には、書き込み制御信号２０の出力先と、データの書き込み先（遅延制御用構成情報メモリ１４、状態管理情報メモリ１２１、及びプロセッサエレメント１１内の構成情報メモリ１１１）との間のデータ転送が同期して行えるように、プログラマブルディレイ１５は、調整される。例えば、各データ書き込み時には、プログラマブルディレイ１５の遅延がゼロとなるようにされる。
【０１２２】
また、データ処理時には、第１の実施形態と同様に、遅延制御情報１７に従いグローバルクロック（ＧＣＬＫ）１６を遅延させたローカルクロック（ＬＣＬＫ）１８を出力する。
【０１２３】
書き込み制御信号２０は、データ、書き込み先を指定するアドレス、書き込みイネーブル信号から構成される。
【０１２４】
各データ書き込み時には、まず、プログラムディレイ１５をクロック切り替え信号２１により切り替え、書き込みが同期して行えるようにする。
【０１２５】
次に、書き込み制御信号２０のデータ、アドレス、イネーブルを制御して書き込みを行う。プログラム動作終了後、クロック切り替え信号によりクロックを切り替えデータ処理を開始する。
【０１２６】
クロック切り替え信号２１により、各データ書き込み時とデータ処理時のクロック出力を切り替えることで、各データ書き込み時には、外部の書き込み元との同期をとることができ、データ処理時には、プログラムディレイ１５を使用してサイクル時間を可変とすることができる。
【０１２７】
＜実施形態３＞
本発明の第３の実施の形態について説明する。図６は、本発明の第３の実施の形態の構成を示す図である。第３の実施の形態では、前記第１の実施の形態に加え、データ入出力制御信号２２を有している。データ入出力制御信号２２は、外部回路２３内のレジスタやメモリとデータパス部１０との転送を行うか否かを制御する。
【０１２８】
遅延制御情報メモリ１４は、遅延制御情報に加えデータ入出力制御情報を有している。また、データ入出力制御情報も状態番号１９に対応付けられている。遅延調整回路１３は、遅延制御情報メモリ１４から状態番号１９に応じた構成情報に加え、データ入出力制御情報をデータ入出力制御信号２２として出力する。
【０１２９】
図７は、本発明の第３の実施の形態の動作を説明するためのタイミング図である。図７において、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５は、ロールクロック（ＬＣＬＫ）が立ち上がる時刻を示しており、Ｃ１、Ｃ２、Ｃ３、Ｃ４はそれらの間の期間を示している。図７において、基準クロックは説明をし易くするために便宜上図示したものであり、グローバルクロック（ＧＣＬＫ）を一定遅延遅らせ、遅延制御によりサイクル時間を変化させない場合にローカルクロック（ＬＣＬＫ）として出力されるクロックである。また、ｄ１、ｄ２、ｄ３、ｄ４は各サイクルに構成されるデータパスのクリティカル（最大遅延）パスの遅延値である。構成されるデータパスにより遅延値は異なり、ここでは、ｄ３が最も大きく、グローバルクロックのサイクル時間より大きくなっている。
【０１３０】
図６に示す例では、データ入出力制御情報２２は１ビットであり、クロックの立ち上がりでレベルがＨｉｇｈの場合、外部回路２３のレジスタ及びメモリはデータを取り込む。ここでは外部回路２３へのデータの出力を例に挙げたが同じタイミングでデータパス部へのデータの入力も可能である。
【０１３１】
データパス部１０に供給されるクロックのサイクル時間は、プログラマブルディレイ１５により可変である。
【０１３２】
しかし、データパス部１０とのデータ転送を行う外部回路２３は、通常、一定のクロックサイクルで動作している。図７に示す例では、時刻Ｔ５で、外部回路２３とのデータ転送を行っている。
【０１３３】
Ｃ４サイクルで読み出される遅延制御情報１７によりローカルクロック（ＬＣＬＫ）が立ち上がる時刻Ｔ５は決められる。この遅延情報は、予め基準クロックと同期するように設定されている。
【０１３４】
また、データ入出力制御情報２２も１に設定されており、時刻Ｔ５ではデータ入出力制御信号には１が出力される。
【０１３５】
これにより、時刻Ｔ５では、データパス部１０は外部回路２３と同期して動作する。
【０１３６】
外部回路２３では、データ入出力信号２２が１の場合に、データの入出力を行えばよい。
【０１３７】
外部回路２３とのデータ転送時に、プログラマブルディレイ１５によりローカルクロック（ＬＣＬＫ）を調整することで、データパス部１０と外部回路２３とが同期できる。さらに、データ入出力制御信号２２を外部回路２３に出力することにより、外部回路２３では、この信号を観察することでデータ入出力を制御できる。
【０１３８】
＜実施形態４＞
本発明の第４の実施の形態について説明する。図８は、本発明の第４の実施の形態の構成を示す図である。第４の実施の形態は、前記第１の実施形態に加え、クロック選択回路（ＭＵＸ）２４とクロック選択信号２５を有している。
【０１３９】
クロック選択回路２４には、グローバルクロック（ＧＣＬＫ）１６、ローカルクロック（ＬＣＬＫ）１８及びクロック選択信号２５が入力されており、クロック選択信号２５によりグローバルクロック（ＧＣＬＫ）もしくはローカルクロック（ＬＣＬＫ）が選択され出力される。クロック選択回路２４の出力は、プログラマブルディレイ１５に入力される。
【０１４０】
図９は、第４の実施の形態の動作を説明するためのタイミングチャートである。図９において、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５はローカルクロック（ＬＣＬＫ）が立ち上がる時刻を示しており、Ｃ１、Ｃ２、Ｃ３、Ｃ４はそれらの間の期間を示している。図９において、基準クロックは説明をし易くするために便宜上図示したものであり、グローバルクロックを一定遅延遅らせ、遅延制御によりサイクル時間を変化させない場合にローカルクロックとして出力されるクロックである。また、ｄ１、ｄ２、ｄ３、ｄ４は各サイクルに構成されるデータパスのクリティカル（最大遅延）パスの遅延値である。
【０１４１】
構成されるデータパスにより遅延値は異なり、ここではｄ３が最も大きく、グローバルクロック（ＧＣＬＫ）のサイクル時間より大きくなっている。
【０１４２】
クロック選択回路２４は、クロック選択信号２５がＨｉｇｈレベルの時、グローバルクロック（ＧＣＬＫ）を、Ｌｏｗレベルの時に、ローカルクロック（ＬＣＬＫ）を出力する。
【０１４３】
時刻Ｔ１とＴ５では、クロック選択信号２５は、Ｈｉｇｈレベルであるため、クロック選択回路２４は、グローバルクロック（ＧＣＬＫ）を選択する。
【０１４４】
一方、時刻Ｔ２、Ｔ３、Ｔ４では、クロック選択信号２５はＬｏｗレベルであるため、クロック選択回路２４は、ローカルクロック（ＬＣＬＫ）を選択する。
【０１４５】
遅延制御情報メモリ１４は、ローカルクロック（ＬＣＬＫ）が立ち上がる際に、状態番号１９をアドレスとして遅延制御情報１７が読み出される。
【０１４６】
プログラマブルディレイ１５は、遅延制御情報１７に従い、クロック選択回路２４の出力クロックを遅延させる。
【０１４７】
データパスのクリティカルパス遅延時間より大きく、最も小さい遅延値を選択するよう予め遅延制御情報メモリ１４を設定しておく。
【０１４８】
つまり、本実施形態では、１つ前のＬＣＬＫに対し、遅延制御情報１７に示される遅延分を遅らせて、ＬＣＬＫの次のクロックサイクルを出力させることができる。それゆえ、前記第１の実施の形態では、前後のサイクルに余裕がない場合、サイクル時間を長くすることができながったが、第４の実施の形態では、前後のサイクルとは関係なく、サイクル時間を決めることができる。このため、調整が可能な場合が多くなり、より動作周波数を向上させることができる。
【０１４９】
なお、図９のＴ１、Ｔ５のタイミングは、外部との同期を取るために強制的に基準クロックにあわせるようにするものである。
【０１５０】
なお、上記に挙げた実施例はいずれも、状態番号に対応付けられた構成情報と命令コードが構成情報メモリ、命令コードそれぞれに格納されるアレイ型プロセッサの例を示した。
【０１５１】
しかしながら、構成情報と命令コードをひとまとめにし、構成情報メモリに格納し、構成情報メモリから構成情報、命令コードをそれぞれデータパス部に出力する構成をとってもよいことはもちろんである。この場合、この種のアレイ型プロセッサでは、状態番号を構成番号と称する場合もある。したがって、本願発明のアレイ型プロセッサは、構成番号が状態遷移管理部１０１に格納され、この構成番号に対応付けられた、構成情報、命令コード、遅延制御情報１７によって、データパス部の回路構成と実行される命令を変え、同時に、遅延制御情報１７によってどの動作をタイミングを決めるクロックサイクルを変更してアプリケーションを実行する構成とすることも可能である。
【０１５２】
従来技術では、サイクル時間は固定であり、構成されるデータパスにはそれぞれクリティカルパスがあり、サイクル時間はそれらの遅延の最大値以上にする必要があった。
【０１５３】
これに対して、本発明によれば、遅延調整回路を備え、各構成のサイクル時間を予めプログラムされた値に調整自在としている。
【０１５４】
前後のサイクル時間を短くできる場合、その分クリティカルパス遅延が大きい構成のサイクル時間を長くする。
【０１５５】
これにより、最大動作周波数を高めることができ、処理効率を向上することができる。
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０１５６】
【図１】本発明の第１の実施形態の構成を示す図である。
【図２】本発明の実施形態におけるプロセッサエレメントの構成を示す図である。
【図３】本発明の第１の実施形態の動作を説明するためのタイミングチャートである。
【図４】本発明の第２の実施形態の構成を示す図である。
【図５】本発明の第２の実施形態の手順を説明するための流れ図である。
【図６】本発明の第３の実施形態の構成を示す図である。
【図７】本発明の第３の実施形態の動作を説明するためのタイミングチャートである。
【図８】本発明の第４の実施形態の構成を示す図である。
【図９】本発明の第４の実施形態の動作を説明するためのタイミングチャートである。
【図１０】従来技術の構成を示す図である。
【図１１】プロセッサエレメントの典型的な構成の一例を示す図である。
【図１２】データパス部の動作を模式的に説明する図である。
【図１３】データパス部の動作を模式的に説明する図である。
【図１４】図１０の動作を説明するためのタイミングチャートである。
【符号の説明】
【０１５７】
１０  データパス部
１１  プロセッサエレメント（ＰＥ）
１２  状態遷移管理部
１３  遅延調整回路
１４  遅延制御情報メモリ
１５  プログラマブルディレイ
１６  グローバルクロック（ＧＣＬＫ）
１７  遅延制御情報
１８  ローカルクロック（ＬＣＬＫ）
１９  状態番号
２０  書き込み制御信号
２１  クロック切替信号
２２  データ入出力制御信号
２３  外部回路
２４  クロック選択回路
２５  クロック選択信号
１１１  構成情報メモリ
１１２  機能ユニット
１１３  配線接続回路
１１４  構成情報
１０１  状態遷移管理部
１０２  データパス部
１０３  演算制御パス
１０４  イベント通知パス
１０５  プロセッサエレメント
１０６  プログラマブルスイッチエレメント
２０１  構成情報メモリ
２０２  機能ユニット
２０３  配線接続回路
２０４  レジスタファイル（ＲＦＵ１）
２０５  レジスタファイル（ＲＦＵ２）
２０６  マルチプレクサ（ＭＵＸ１）
２０７  マルチプレクサ（ＭＵＸ２）
２０８  演算器（ＡＬＵ）
２０９  構成情報
２１０  状態番号
２１１  命令コード
【図１】
2008204177.tif 000003
【図２】
2008204177.tif 000004
【図３】
2008204177.tif 000005
【図４】
2008204177.tif 000006
【図５】
2008204177.tif 000007
【図６】
2008204177.tif 000008
【図７】
2008204177.tif 000009
【図８】
2008204177.tif 000010
【図９】
2008204177.tif 000011
【図１０】
2008204177.tif 000012
【図１１】
2008204177.tif 000013
【図１２】
2008204177.tif 000014
【図１３】
2008204177.tif 000015
【図１４】
2008204177.tif 000016