(57)【要約】【課題】パスの構成の変更に伴って生じるグリッチの発生及び伝播を低減して、消費電力を削減する。【解決手段】複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサであって、各プロセッサエレメントは、パスの構成に係る構成情報指示信号を記憶する構成情報メモリ１１と、クロックサイクル毎に構成情報メモリ１１から出力される構成情報指示信号Ｐｉｎのタイミングを調整する遅延調整回路１２と、タイミングが調整された構成情報指示信号Ｐｏｕｔに基づいて他のプロセッサエレメント（ＰＥ）または機能ユニット（レジスタファイルユニット１４および演算器１５）とのパスを変更する配線接続回路１３と、を備える。【選択図】図１
2008198003.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサであって、
前記複数のプロセッサエレメントのそれぞれは、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更可能となるように構成されることを特徴とするアレイ型プロセッサ。
【請求項２】
前記複数のプロセッサエレメントのそれぞれは、
演算処理を行う機能ユニットと、
パスの構成に係る構成情報指示信号を記憶するメモリと、
クロックサイクル毎に前記メモリから出力される構成情報指示信号に基づいて他のプロセッサエレメントまたは前記機能ユニットとの接続を変更する配線接続回路と、
クロックサイクル毎に前記配線接続回路における接続変更のタイミングを調整する遅延調整回路と、
を備えることを特徴とする請求項１記載のアレイ型プロセッサ。
【請求項３】
前記遅延調整回路は、
クロックサイクル毎に前記メモリから出力される構成情報指示信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路と、
前記複数の遅延回路の内の一つを選択することで、タイミングが調整された構成情報指示信号を前記配線接続回路に出力する第１の選択回路と、
前記第１の選択回路における前記遅延回路の選択情報を保持する第１のレジスタ群と、
を備え、
前記第１の選択回路は、パスの構成を示す構成番号に基づいて前記第１のレジスタ群から出力される選択情報によって、前記複数の遅延回路の内の一つを選択することを特徴とする請求項２記載のアレイ型プロセッサ。
【請求項４】
前記配線接続回路は、
クロックサイクル毎に前記メモリから出力される構成情報指示信号によって、他のプロセッサエレメントまたは機能ユニットとのパスを選択するパス選択回路と、
前記パス選択回路によってパスを選択する際に、選択されるパスの信号をラッチ許可信号によって保持しておく複数のラッチ回路と、
を備え、
前記遅延調整回路は、
前記複数のラッチ回路の一つを選択するためのデータを蓄える第１のレジスタ群と、
クロックサイクル毎に与えられるパスの構成を示す構成番号によって前記第１のレジスタ群内のデータを選択して出力する第１の選択回路と、
前記第１の選択回路から出力される信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路と、
前記遅延回路における遅延時間を選択するためのデータを蓄える第２のレジスタ群と、
前記構成番号によって前記第２のレジスタ群内のデータを選択して出力する第２の選択回路と、
前記第２の選択回路の出力信号によって前記複数の遅延回路の内の一つを選択して、タイミングが調整された前記遅延回路の出力信号を前記ラッチ許可信号として出力する第３の選択回路と、
を備えることを特徴とする請求項２記載のアレイ型プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アレイ型プロセッサに関し、特に、複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサに関する。
【背景技術】
【０００２】
現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）と呼称される製品が実用化されている。このようなプロセッサユニットを利用したデータ処理システムでは、複数の命令コードが記述された各種のアプリケーションプログラムと各種の処理データとがメモリデバイスに格納される。プロセッサユニットは、メモリデバイスから命令コードや処理データを順番に読出して複数の演算処理を逐次実行する。このため、一個のプロセッサユニットで各種のデータ処理を実現することができる。
【０００３】
このようなプロセッサユニットによるデータ処理では、複数の演算処理が順番に逐次実行される。したがって、逐次処理ごとにプロセッサユニットがメモリデバイスから命令コードを読出す必要があるために、複雑なデータ処理を高速に実行することは困難である。
【０００４】
一方、実行するデータ処理が一つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで実現すれば、プロセッサユニットがメモリデバイスから複数の命令コードを順番に読出して複数の演算処理を順番に逐次実行する必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら一つのデータ処理しか実行することができない。
【０００５】
つまり、アプリケーションプログラムを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、アプリケーションプログラムを変更できないので一つのデータ処理しか実行できない。
【０００６】
このようなデータ処理の高速性とプログラムの変更可能性の双方を満たすために、ソフトウェアに対応してハードウェアの構成が変化するデータ処理装置として、アレイ型プロセッサが特許文献１および２に開示されている。
【０００７】
図１３に示す特許文献１におけるアレイ型プロセッサでは、小規模の多数のプロセッサエレメント１０５が多数のプログラマブルスイッチエレメント１０６とともにデータパス部１０２に行列形状に配列されており、データパス部１０２に対して状態遷移管理部１０１が並設されている。状態遷移管理部１０１は、状態遷移テーブルメモリを有し、このメモリには次サイクルの状態番号が格納されており、状態遷移管理部１０１の現在の内部状態や外部からのイベント２０９の条件に従い順次読み出される。読み出された状態番号は、データパス部の命令指定信号（アドレス信号）に変換されて、演算制御パス１０３を経由してデータパス部１０２に入力される。多数のプロセッサエレメント１０５は、個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに、個々に並設されている多数のスイッチエレメント１０５に相互の接続関係を切換制御させる。
【０００８】
このような構成のアレイ型プロセッサは、多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードからなるデータパス部１０２のコンテキストを状態遷移管理部１０１がコンピュータプログラムに対応して動作サイクルごとに順次切り替える。したがって、アレイ型プロセッサは、コンピュータプログラムに対応して並列処理を連続的に実行することができる。
【０００９】
なお、特許文献２には、複数の状態遷移管理部が連携動作し、複数の状態遷移を同時に実行するような場合でも効率的に動作することができるアレイ型プロセッサが開示されている。このアレイ型プロセッサにおけるプロセッサエレメントの動作は、上述と同様である。
【００１０】
【特許文献１】特開２００１−３１２４８１号公報
【特許文献２】特開２００４−１３３７８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、図１３に示すプロセッサエレメント１０５においては、プロセッサエレメント内の制御信号の伝播が早く、データ信号が変化するタイミングが遅くなる傾向がある。すなわち、制御信号は、同一のプロセッサエレメント内の構成情報メモリから発行されるため、信号伝播を担う配線が短い。これに対し、データ信号は、基本的に複数のプロセッサエレメントを経由して信号が伝播されるため、信号伝播を担う配線が長くなる。したがって、配線の長短によって信号伝播がアンバランスになると不要な信号レベルの遷移であるグリッチが生じてしまう。このようなグリッチの発生によって、アレイ型プロセッサにおける電力消費が増大してしまう。
【００１２】
次に、このようなグリッチが発生する様子を、アレイ型プロセッサの構造を模式的に示した図１４を用いて説明する。図１４においてプロセッサエレメント（ＰＥ）は、簡略化して単純に構成情報メモリと１個のマルチプレクサから構成されるものとする。また、プロセッサエレメントの外部にレジスタが配置され、全てのレジスタは、ハイレベル（１）信号を格納しているものとする。さらに、アレイ型プロセッサは、図１４に示す構成Ｐ１から構成Ｐ３までの配線接続が１クロック毎に順番に切り替わるように動作するものとする。なお、構成情報メモリから同じプロセッサエレメント内のマルチプレクサの出力ポートまでの伝播遅延時間が、レジスタからマルチプレクサの出力ポートまでの伝播遅延時間よりも短いものとする。このときの各部の動作波形を図１５に示す。
【００１３】
構成Ｐ１から構成Ｐ２の配線接続に切り替わったとき、ＰＥ（１，１）に属するマルチプレクサには、構成情報メモリからのセレクト信号（選択信号）が最も早く到達する。この時点では、ＰＥ（１，１）に属するマルチプレクサの入力ポート２と入力ポート３は、それぞれ構成Ｐ１の時の信号状態であり、それぞれ「１」、「０」となっている。このため、ＰＥ（１，１）に属するマルチプレクサの出力ポートは、セレクト信号の切り替えにより「１」から「０」に切り替わる。その後、入力ポート３には、ＰＥ（０，０）に属するマルチプレクサから「１」の信号が伝播してくるため、出力ポートは、「０」から「１」へと遷移する。このように出力ポートは、セレクト信号を切り替えてから、「１」→「０」→「１」と遷移し、本来の処理に関係しない無駄な信号レベル遷移であるグリッチが生じる。構成Ｐ２から構成Ｐ３に配線が切り替わる際も、同様にしてＰＥ（１，１）に属するマルチプレクサの出力ポートが「１」→「０」→「１」へと遷移し、グリッチが発生する。
【００１４】
更に、アレイ型プロセッサは、複数のプロセッサエレメントを経由した回路構成をとることができ、多段接続になることが多い。このため、前段で生じたグリッチが積み重なって後段に伝播され、複数のグリッチが生じやすくなって、消費電力がより増大する傾向にある。
【００１５】
このような例を示すため、図１６に示した回路の動作を説明する。この回路は、図１４の回路と同様に、プロセッサエレメントにおいて、構成情報メモリと１個のマルチプレクサから構成される。また、プロセッサエレメントの外部にレジスタが配置され、全てのレジスタは、ハイレベル（１）信号を格納しているものとする。この回路の動作は、構成Ｑ１と構成Ｑ２の配線接続が１クロック毎に順に切り替わる。このときの動作波形を図１７に示す。またここで、構成情報メモリから同じプロセッサエレメント内のマルチプレクサの出力ポートまでの遅延が、レジスタからマルチプレクサの出力ポートまでの遅延よりも小さいものとする。
【００１６】
図１６に示した回路において、構成Ｑ１から構成Ｑ２に切り替わったとき、ＰＥ（１，１）に属するマルチプレクサには、プログラムメモリから伝播されるセレクト信号が最も早く到達する。この時点では、ＰＥ（１，１）に属するマルチプレクサの入力ポート１と入力ポート３は、それぞれ構成Ｑ１の時の信号状態であり、「１」、「０」となっている。そのため、ＰＥ（１，１）に属するマルチプレクサの出力ポートは、セレクト信号の切り替えにより、図１７に示すように、「１」から「０」に切り替わる。その後、ＰＥ（１，１）に属するマルチプレクサの入力ポート３には、ＰＥ（０，１）に属するマルチプレクサから「１」の信号が伝播してくるため、出力ポートは、「０」から「１」へと遷移する。このようにＰＥ（１，１）に属するマルチプレクサの出力ポートは、セレクト信号を切り替えてから、「１」→「０」→「１」と遷移し、グリッチが発生する。次段のＰＥ（２，１）に属するマルチプレクサも同様に、プログラムメモリから伝播されるセレクト信号が最も早く到達する。
【００１７】
この時点では、構成Ｑ１の時の信号状態であり、入力ポート０の信号状態は「０」、入力ポート３の信号状態は「１」である。そのため出力ポートは、セレクト信号の切り替えにより、図１７に示すように、「０」から「１」に切り替わる。更にその後、前段のＰＥ（１，１）に属するマルチプレクサで発生したグリッチがＰＥ（２，１）に属するマルチプレクサの出力ポートへ伝播されているため、「０」→「１」→「０」→「１」と変化し、グリッチが発生する。このように段数が複数になると、複数のグリッチ（複数の遷移）が生じ、消費電力がより増大してしまうこととなる。
【課題を解決するための手段】
【００１８】
本発明の１つのアスペクトに係るアレイ型プロセッサは、複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサであって、複数のプロセッサエレメントのそれぞれは、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更可能となるように構成される。
【発明の効果】
【００１９】
本発明によれば、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更することで、パスの構成の変更に伴って生じるグリッチの発生及び伝播を低減して、消費電力を削減することができる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態に係るアレイ型プロセッサは、複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサである。複数のプロセッサエレメントのそれぞれは、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更可能となるように構成される。
【００２１】
より具体的に、複数のプロセッサエレメントのそれぞれは、演算処理を行う機能ユニット（図１の１４、１５）と、パスの構成に係る構成情報指示信号を記憶するメモリ（図１の１１）と、クロックサイクル毎にメモリから出力される構成情報指示信号（図１のＰｉｎ）に基づいて他のプロセッサエレメントまたは機能ユニットとの接続を変更する配線接続回路（図１の１３）と、クロックサイクル毎に配線接続回路における接続変更のタイミングを調整する遅延調整回路（図１の１５）と、を備えるようにしてもよい。
【００２２】
また、遅延調整回路は、クロックサイクル毎にメモリから出力される構成情報指示信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路（図３の２４ａ、２４ｂ、２４ｃ、２４ｄ）と、複数の遅延回路の内の一つを選択することで、タイミングが調整された構成情報指示信号（図３のＰｏｕｔ）を配線接続回路に出力する第１の選択回路（図３の２３）と、第１の選択回路における遅延回路の選択情報を保持する第１のレジスタ群（図３の２１）と、を備え、第１の選択回路は、パスの構成を示す構成番号（図３のＰｎ）に基づいて第１のレジスタ群から出力される選択情報によって、複数の遅延回路の内の一つを選択するようにしてもよい。
【００２３】
さらに、配線接続回路は、クロックサイクル毎にメモリから出力される構成情報指示信号によって、他のプロセッサエレメントまたは機能ユニットとのパスを選択するパス選択回路（図７の３２）と、パス選択回路によってパスを選択する際に、選択されるパスの信号をラッチ許可信号によって保持しておく複数のラッチ回路（図７の３１）と、を備え、遅延調整回路（図７の１２ａ）は、複数のラッチ回路の一つを選択するためのデータを蓄える第１のレジスタ群（図８の２１ａ）と、クロックサイクル毎に与えられるパスの構成を示す構成番号によって第１のレジスタ群内のデータを選択して出力する第１の選択回路（図８の２２ａ）と、第１の選択回路から出力される信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路（図８の２４ａ、２４ｂ、２４ｃ）と、遅延回路における遅延時間を選択するためのデータを蓄える第２のレジスタ群（図８の２１ｂ）と、構成番号によって第２のレジスタ群内のデータを選択して出力する第２の選択回路（図８の２２ｂ）と、第２の選択回路の出力信号によって複数の遅延回路の内の一つを選択して、タイミングが調整された遅延回路の出力信号をラッチ許可信号として出力する第３の選択回路（図８の２３）と、を備えるようにしてもよい。
【００２４】
以上のように構成されるアレイ型プロセッサによれば、他のプロセッサエレメントの接続タイミングをパスの構成に応じて調整することで、パスの構成の変更に伴って生じるグリッチの発生及び伝播を低減することができる。したがって、グリッチによって増大してしまう消費電力を削減することができる。以下、実施例に即し、図面を参照して詳しく説明する。
【実施例１】
【００２５】
本発明の第１の実施例に係るアレイ型プロセッサは、図１３に示した従来のアレイ型プロセッサと同一の構成を有する。ここで、本願発明の説明を容易にするため、下記の各実施例においては、図１３の従来のアレイ型プロセッサを次のように構成している。
【００２６】
まず図１３のデータパス部１０２において示されるスイッチエレメント１０６を後述の配線接続回路１３として各プロセッサエレメント１０５に内蔵している。また、特許文献１の従来のアレイ型プロセッサでは、状態遷移テーブルメモリは、状態番号を格納しており、状態遷移管理部１０１がこの状態番号を遷移させ、この状態番号に対応付けられたデータパス部の構成情報アドレス及び各プロセッサエレメントの命令コードアドレスを発行する。ここで、構成情報アドレスは、構成情報メモリのアドレスを指定して、構成情報メモリから対応する構成情報を発行する。また命令コードアドレスは、命令メモリのアドレスを指定し、命令メモリから対応する命令コードを発行する。この構成情報と命令コードを、データパス部１０２の回路構成と各プロセッサエレメントが実行する命令を変えて（あるいは遷移させて）処理を実行する。
【００２７】
下記各実施例においては、構成情報アドレスに対応するデータパス部の構成情報ならびに命令コードアドレスに対応する各プロセッサエレメントの命令コードは、ともに構成情報メモリ１１に格納されているものとする。さらに、構成情報メモリ１１に格納される構成情報には、本発明においては命令コードも含むものとする。
【００２８】
本明細書では、このように、データパス部の構成情報ならびに各プロセッサエレメントの命令コードをまとめて１つのアドレスで管理する構成をとっており、このアドレスを構成番号と以下称する。
【００２９】
したがって、本発明のアレイ型プロセッサは、状態遷移管理部１０１が内蔵する状態遷移テーブルメモリに格納された構成番号をサイクルごとに出力し、データパス部１０２が、この構成番号に対応付けられた構成情報メモリ１１中のデータパス部１０２の構成情報と各プロセッサエレメントが実行する命令を読み出し、データパス部１０２の回路構成と各プロセッサエレメントが実行する命令を変えて（あるいは遷移させて）処理を実行する。
【００３０】
なお、本発明のアレイ型プロセッサにおいては、構成番号に対応してデータパス部１０２の回路構成が変化するが、これは特に、データパス部内部に存在する順序回路間のパスの構成をスイッチプロセッサ（配線接続回路１３）により切り替えるものである。すなわち、順序回路間のパスである組み合わせ回路がその構成を変えるものであり、例えば、順序回路間に１つのＡＬＵが存在する構成としたり、２つ以上のＡＬＵが接続され、より複雑な演算を行う回路としたりすること、構成番号を変えることで実現する方式である。
【００３１】
なお、従来どおり、スイッチエレメントとプロセッサエレメントを分離する構成にして、構成番号を命令メモリアドレス指定とデータパス部の構成情報アドレス指定に分離し、命令メモリと構成情報メモリを分けて管理する方法をとってもよいことはもちろんである。
【００３２】
以上を踏まえ、本発明のアレイ型プロセッサは、データパス部１０２とそれを制御する状態遷移管理部１０１で構成される。データパス部１０２は、アレイ状に配置された複数のプロセッサエレメント（ＰＥ）１０５で構成される。状態遷移管理部１０１は、次サイクルの構成番号を格納する状態遷移テーブルメモリを有し、構成番号は、状態遷移管理部１０１の現在の内部状態や外部からのイベント信号の条件に従い順次読み出され、演算制御パス１０３を通してデータパス部１０２に入力される。なおここでイベントとは、割り込みや条件分岐命令に相当する。すなわち、状態遷移管理部は、通常は構成番号を格納順に出力しているが、このイベントの入力により出力される構成番号の順を変化させるものである。そして、第１の実施例に係るプロセッサエレメントの構成は、以下の点で従来と異なる構成である。以下プロセッサエレメントに関連し詳しく説明する。
【００３３】
図１は、本発明の第１の実施例に係るプロセッサエレメントの構成を示すブロック図である。図１に示すプロセッサエレメントは、構成情報メモリ１１、遅延調整回路１２、レジスタファイルユニット（ＲＦＵ）１４および演算器（ＡＬＵ）１５からなる機能ユニット、機能ユニットの接続及び他のプロセッサエレメント間の接続を切り替える配線接続回路１３を備える。
【００３４】
構成情報メモリ１１は、複数個の構成情報を格納するメモリであり、状態遷移管理部（図１３の１０１に相当）から出力される構成番号Ｐｎをアドレスとして構成情報Ｐｉｎが読み出される。また、格納されている構成情報に応じてレジスタファイルユニット（ＲＦＵ）１４および演算器（ＡＬＵ）１５が動作して所望の演算処理が行われる。すなわち、構成情報Ｐｉｎの情報によりレジスタファイルユニット（ＲＦＵ）１４および演算器（ＡＬＵ）１５の接続関係が再構築され（回路構成を変化させ）、構成情報Ｐｉｎに含まれる命令コードに従って命令が実行される。このときの回路構成の変更により上述したように、レジスタ（順序回路）間の組み合わせ回路の構成が変更され、例えば順序回路間パスに存するＡＬＵの数も可変となる。
【００３５】
遅延調整回路１２は、読み出された構成情報Ｐｉｎを構成番号Ｐｎに基づいて遅延して構成情報Ｐｏｕｔとして配線接続回路１３に出力する。
【００３６】
機能ユニット及び配線接続回路１３は、構成情報Ｐｏｕｔによってその動作を決定する。配線接続回路１３は、図２に示す構成例のように例えば４つのマルチプレクサ２５ａ、２５ｂ、２５ｃ、２５ｄを備え、構成情報Ｐｏｕｔに対応して各プロセッサエレメント内の機能ユニットの接続及び上下左右等に存在する他のプロセッサエレメント間との接続を切り替える機能を有する。これらのマルチプレクサは、配線接続をしない状態では、固定値を選択し（図２の例では０）、他の配線からの信号伝播をしないようにする。
【００３７】
このような各プロセッサエレメントでは、構成番号Ｐｎに対応した構成情報Ｐｉｎが構成情報メモリ１１から読み出され、機能ユニットの機能と配線接続回路１３の接続が決定される。アレイ全体に構成されるデータパスは、構成情報により決定されるため、構成情報メモリ１１に格納できる構成情報の数のデータパスを構成することができる。構成情報は、構成番号Ｐｎによって読み出されるため、構成番号Ｐｎを制御することによってデータパスの構成を変更することが可能である。
【００３８】
構成情報の作成には、対象となる処理を複数個に分割し、それぞれの処理を別々にアレイにマッピングする。この際、データパス部の演算資源、配線資源は、全て利用してマッピングする。当然、分割した処理同士を同時にデータパス部で実行することはできないが、状態遷移管理部は、サイクルごとにデータパスのマッピングを切り替え、分割した処理を順次実行する。状態遷移管理部にはデータパスの切り替え制御を行う情報を格納しておくようにする。
【００３９】
次に遅延調整回路１２について詳述する。図３は、本発明の第１の実施例に係る遅延調整回路の構成を示すブロック図である。図３において、遅延調整回路１２は、レジスタファイル２１、マルチプレクサ２２、２３、遅延素子２４ａ、２４ｂ、２４ｃ、２４ｄを備える。レジスタファイル２１は、予めＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）によってデータ到達時間に基づいた遅延調整のためのデータ（遅延調整データ）を格納しておく。マルチプレクサ２２は、レジスタファイル２１に格納されたデータの一つを構成番号Ｐｎに応じて選択してマルチプレクサ２３における選択情報としてマルチプレクサ２３に与える。マルチプレクサ２３は、構成情報Ｐｉｎおよび構成情報Ｐｉｎに対して直列接続される遅延素子２４ａ、２４ｂ、２４ｃ、２４ｄのいずれか一つの出力をレジスタファイル２１のデータを元に選択し、構成情報Ｐｏｕｔとして配線接続回路１３に出力する。すなわち、レジスタファイル２１に格納されたデータにより、遅延パスを選択するマルチプレクサ２３を制御し、プログラムメモリからの命令発行の遅延時間を調整する。また、レジスタファイル２１のアドレスは、回路構成（プロセッサエレメント間接続）に対応しており、回路構成毎に遅延時間を調整する。
【００４０】
以上のように構成される遅延調整回路１２は、遅延の選択を細かくとる必要がある場合には、遅延の小さいバッファを多段に連結させ、マルチプレクサ２３による選択数を多くすることで、調整する遅延の選択数を多くとることができる。なお、遅延選択を細かくとり過ぎると、遅延バッファ数の増大、マルチプレクサの回路量の増大、また制御するビット数の増大によってレジスタファイルの回路量の増大するので適切な選択数とすることが好ましい。
【００４１】
はじめに状態遷移管理部（図１３の１０１に相当）は、構成番号Ｐｎを発行し、この構成番号Ｐｎが構成情報メモリ１１と遅延調整回路１２に入力される。遅延調整回路１２は、次のクロックタイミングで、指定された構成番号Ｐｎに対応するレジスタファイル２１内のデータを読み出し、マルチプレクサ２３によって遅延パスを選択する。構成情報メモリ１１も、同じクロックタイミングにおいて指定された構成番号Ｐｎに対応する構成情報Ｐｉｎを出力する。出力された構成情報Ｐｉｎは、遅延調整回路１２に入力され、レジスタファイル２１のデータによって選択された遅延回路内の遅延パスを通って、配線接続回路１３へ出力される。
【００４２】
図４は、構成番号Ｐｎを１から３まで順番に発行したときの遅延調整回路１２における動作波形の例を示すタイミングチャートである。この例では、遅延調整回路１２は、図３に示す構成になっている。レジスタファイル２１は、例えば４つのアドレスをもち、またマルチプレクサ（Ｍｕｘ）のセレクト信号によって遅延調整をしないパス、およびτ（例えばτ＝１ｎｓ）、２τ、３τ、４τのそれぞれ遅延調整をする５つのパスの中から１つを選択することができる。
【００４３】
次に、遅延調整回路１２を有するアレイ型プロセッサにおいて、グリッチが抑制される例を、図５に示す回路で説明する。この回路は、従来技術のアレイ型プロセッサの動作例として示した図１６の回路に対し、レジスタ（遅延調整回路相当）を各プロセッサエレメントに付加した構成をしており、同様に動作させている。また、このときの動作波形を図６に示す。ここで各マルチプレクサへのデータ信号到達時間をそれぞれＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）によって求め、構成情報メモリから各マルチプレクサへのセレクト信号到達時間が、データ信号到達時間より遅くなるように、遅延調整回路１２のレジスタファイル２１を予めプログラムしておくものとする。
【００４４】
図５において、構成Ａ１から構成Ａ２に切り替わる際、ＰＥ（１，１）に属するマルチプレクサにおいてグリッチが発生するが、ＰＥ（２，１）に属するマルチプレクサにおいてグリッチの伝播を抑制することができる。すなわち、ＰＥ（１，１）に属するマルチプレクサでは、ＰＥ（１，１）における遅延調整回路により、セレクト信号の切り替えをレジスタからのデータ信号の到達時間より遅らせても、図６に示すように入力ポート１における「１」から「０」への信号変化が出力ポートに反映されてしまう。その後、セレクト信号が切り替わり、信号状態が「１」となった入力ポート３が選択されるために、出力ポートは、「１」→「０」→「１」と遷移し、出力ポートにグリッチが反映されてしまう。しかし、ＰＥ（２，１）に属するマルチプレクサでは、遅延調整回路によってセレクト信号の切り替え時間を遅らせて、クロックの立ち上がりタイミングからセレクト信号が切り替わるまでの間、入力ポート０が「０」に固定されている。したがって、出力ポートも「０」のままである。ここでセレクト信号が切り替わったとき、ＰＥ（１，１）に属するマルチプレクサの出力ポートからのグリッチが伝播する。しかし、遅延調整回路によって信号の状態が安定してから切り替えるように動作するため、出力ポートへのグリッチの伝播を防ぐことができる。
【００４５】
また、図５に示す例では、ＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）によって求めたマルチプレクサへのデータ信号到達時間よりも、セレクト信号への構成情報の伝播時間を遅延調整回路１２によって遅らせている。この場合、データ信号が安定した状態で、セレクト信号を切り替えることができるため、切り替え先の配線からのグリッチの伝播を抑制することができる。ただし、該当のパスがクリティカルパス（最大遅延パス）の場合、クリティカルパスの遅延が悪化する。また、クリティカルパスに準じる遅延をもつパスの場合でも、そのパスの遅延が遅れることによってクリティカルパスとなり、遅延が悪化する可能性がある。このような場合、クリティカルパスまたはそれに準じるパスには、遅延調整回路１２の機能を働かせない、もしくはデータ到達時間よりは早いが、なるべく近い遅延時間でセレクト信号を切り替えるように調整することが好ましい。このような調整によって、グリッチの伝播を緩和させ、かつ遅延の悪化を抑制することが可能である。また、遅延調整回路１２は、段階的に遅延を選択するため、マルチプレクサへのデータ信号到達時間よりも、遅延調整回路１２を遅らせることができないことがある。この場合にも、できるだけデータ信号到達時間に近い遅延時間を選択することで、グリッチの伝播を緩和させるようにすることが好ましい。
【００４６】
上述したように、構成情報、遅延調整データは、構成番号に対応付けられている。したがって、本発明のアレイ型プロセッサは、状態遷移管理部１０１の発行する構成番号によって、データパス部を対応付けられた構成情報により回路構成の変更(遷移)し、データパス部での命令の実行を行うとともに、遅延調整データで示された遅延調整した回路構成切替セレクト信号によりグリッジを抑えるタイミングで回路構成の変更(遷移)を行うことができる。
【００４７】
また、構成番号、構成情報、遅延調整データの生成については、例えば、アプリケーションプログラムのコンパイル時に、アプリケーションをアレイ型プロセッサの動作サイクルに合わせて複数の処理にわけるとともに、各処理に対応したデータパス部の構成を設定し、その構成と処理にあわせた命令コードを設定して、構成情報を生成すればよい。このときデータパス部の処理の分割や回路構成は、上述のようにアレイ型プロセッサの動作クロックサイクルでの処理が行えるように各回路の遅延を考慮する必要があるため、上述のように設定されたデータパス部の回路構成に応じた遅延解析（ＳＴＡ）を考慮して行われる。遅延調整データは、この遅延解析において作成すればよい。より具体的には、ある回路構成時のデータパス部のデータ処理パスにおいて、レジスタ（順序回路）から回路構成を変えるセレクタまでの遅延時間をＳＴＡにより算出が可能である。ゆえに、こうして算出された遅延時間よりも大きな値を、その回路構成時の遅延調整データとして上記コンパイル時に構成番号に対応付けて作成すればよい。
【実施例２】
【００４８】
図７は、本発明の第２の実施例に係るプロセッサエレメントの構成を示すブロック図である。図７において、図１と同一の符号は、同一物を表し、その説明を省略する。図７に示すプロセッサエレメントは、第１の実施例におけるプロセッサエレメントと比較すると、配線接続回路１３ａ内のマルチプレクサ３２の入力ポートにラッチ回路３１を付加した構成になっており、遅延調整回路１２ａでラッチ回路３１を制御するのが特徴である。
【００４９】
なお、マルチプレクサ３２は、図２におけるマルチプレクサ２５ａ、２５ｂ、２５ｃ、２５ｄに相当する回路であって、図示の簡略化のため一つを図示している。また、マルチプレクサ３２は、構成情報メモリ１１から直接出力される構成情報Ｐｉｎによって遅延することなくラッチ回路３１の出力を選択する。
【００５０】
図８は、本発明の第２の実施例に係る遅延調整回路の構成を示すブロック図である。図８において、図３と同一の符号は、同一物を表し、その説明を省略する。遅延調整回路１２ａは、ラッチ制御用のレジスタファイル２１ａと遅延調整用のレジスタファイル２１ｂの２種類のレジスタ、マルチプレクサ２２ａ、２２ｂ、２３、遅延素子２４ａ、２４ｂ、２４ｃを備える。ここでは、遅延素子が３個である例を示している。
【００５１】
レジスタファイル２１ａは、構成毎にラッチ回路３１を制御するデータを格納し、レジスタファイル２１ｂは、構成毎に遅延を調整するためのデータを格納しておく。状態遷移管理部（図１３の１０１に相当）から構成番号Ｐｎが発行され、次のクロックタイミングで、この構成番号Ｐｎに対応したラッチ回路３１を制御するデータがレジスタファイル２１ａからマルチプレクサ２２ａによって選択され、マルチプレクサ２３および遅延素子２４ａに発行される。また、この構成番号Ｐｎに対応した遅延調整データがレジスタファイル２１ｂからマルチプレクサ２２ｂによって選択され、マルチプレクサ２３に発行される。この遅延調整データによって、マルチプレクサ２３、遅延素子２４ａ、２４ｂ、２４ｃからなる遅延調整回路は、ラッチ回路３１に伝播するまでの遅延を調整し、ラッチ回路３１の制御タイミングを遅らせるように動作する。
【００５２】
次に、以上のように構成されるアレイ型プロセッサの動作について実施例１との比較において説明する。
【００５３】
図９は、第１の実施例のアレイ型プロセッサにおいて、前構成の配線接続が切り替わる際にグリッチが伝播する例を示す図である。また図１０にはその動作波形を示す。図９において、構成Ｂ１から構成Ｂ２までの配線接続が１クロック毎に順に切り替わる。また、構成Ｂ１から構成Ｂ２に切り替わるとき、前段から複数のグリッチが発生されるものとする。このとき、ＰＥ（５，１）に属するマルチプレクサにおいて、入力ポート１から入力ポート３へ出力ポートへの接続が切り替わる。ここで前述したように、セレクト信号の切り替えを遅延調整回路で遅らせることで、セレクト信号の切り替え先である入力ポート３からの複数のグリッチの伝播を抑制することができる。しかしながら、セレクト信号の切り替えを遅らせることで、図１０のＰＥ（５，１）  Ｍｕｘ  ｏｕｔに示すように、逆にセレクト信号の切り替え元である入力ポート１から複数のグリッチ信号がそのまま伝播されてしまうことが起こりうる。
【００５４】
図９で示した第１の実施例における動作に対し、第２の実施例で同様な動作をさせたときの動作を図１１に示す。図１１において、構成Ｃ１から構成Ｃ２に切り替えるとき、ＰＥ（５，１）に属するマルチプレクサにおいて、入力ポート１から入力ポート３へ切り替わる。ここで、図１２に示すように、入力ポート１へグリッチが伝播しても、ラッチ回路が直前のラッチを早いタイミングでゲーティング（図１２のＰＥ（５，１）  Ｌａｔｃｈ１  ＥＮ参照）することで、グリッチの伝播を抑制することができる。また、入力ポート３へグリッチが伝播しても、入力ポート３の信号状態が安定するのに近いタイミングでデータをラッチ（図１２のＰＥ（５，１）  Ｌａｔｃｈ３  ＥＮ参照）することで、同じくグリッチの伝播を抑制することができる。したがって、ＰＥ（５，１）のマルチプレクサの出力には、グリッチが現れることはない。
【００５５】
このように、第１の実施例では、図９に示した動作例のように構成が切り替わる際に前構成の接続元の配線から発生するグリッチを抑制できなかった。しかし、第２の実施例では、この種のグリッチをラッチ回路でゲーティングすることで抑制することができる。
【００５６】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例にのみ限定されるものではなく、本願特許請求の範囲の各請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施例に係るプロセッサエレメントの構成を示すブロック図である。
【図２】本発明の第１の実施例に係る配線接続回路の構成を示すブロック図である。
【図３】本発明の第１の実施例に係る遅延調整回路の構成を示すブロック図である。
【図４】構成番号Ｐｎを順番に発行したときの遅延調整回路における動作波形の例を示すタイミングチャートである。
【図５】本発明の第１の実施例に係るアレイ型プロセッサにおける構成の変化を示す第１の図である。
【図６】図５における構成の変化に伴う各部のタイミングチャートである。
【図７】本発明の第２の実施例に係るプロセッサエレメントの構成を示すブロック図である。
【図８】本発明の第２の実施例に係る遅延調整回路の構成を示すブロック図である。
【図９】本発明の第１の実施例に係るアレイ型プロセッサにおける構成の変化を示す第２の図である。
【図１０】図９における構成の変化に伴う各部のタイミングチャートである。
【図１１】本発明の第２の実施例に係るアレイ型プロセッサにおける構成の変化を示す図である。
【図１２】図１１における構成の変化に伴う各部のタイミングチャートである。
【図１３】従来のアレイ型プロセッサの構成を示すブロック図である。
【図１４】従来のアレイ型プロセッサにおける構成の変化を示す第１の図である。
【図１５】図１４における構成の変化に伴う各部のタイミングチャートである。
【図１６】従来のアレイ型プロセッサにおける構成の変化を示す第２の図である。
【図１７】図１６における構成の変化に伴う各部のタイミングチャートである。
【符号の説明】
【００５８】
１１  構成情報メモリ
１２、１２ａ  遅延調整回路
１３  配線接続回路
１４  レジスタファイルユニット（ＲＦＵ）
１５  演算器（ＡＬＵ）
２１、２１ａ、２１ｂ  レジスタファイル
２２、２２ａ、２２ｂ、２３、２５ａ、２５ｂ、２５ｃ、２５ｄ、３２  マルチプレクサ
２４ａ、２４ｂ、２４ｃ、２４ｄ  遅延素子
【図１】
2008198003.tif 000003
【図２】
2008198003.tif 000004
【図３】
2008198003.tif 000005
【図４】
2008198003.tif 000006
【図５】
2008198003.tif 000007
【図６】
2008198003.tif 000008
【図７】
2008198003.tif 000009
【図８】
2008198003.tif 000010
【図９】
2008198003.tif 000011
【図１０】
2008198003.tif 000012
【図１１】
2008198003.tif 000013
【図１２】
2008198003.tif 000014
【図１３】
2008198003.tif 000015
【図１４】
2008198003.tif 000016
【図１５】
2008198003.tif 000017
【図１６】
2008198003.tif 000018
【図１７】
2008198003.tif 000019