(57)【要約】【課題】本発明は、チップ面積の増加を招くことなく、コンフィギュレーション時間を大幅に短縮することができるリコンフィギュアラブル回路、コンフィギュレーション方法、およびプログラムを提供すること。【解決手段】本発明は、複数のシリアル接続レジスタを有するコンフィギュレーションチェーンを具備するリコンフィギュアラブル回路において、第１のシリアル接続レジスタ内のレジスタおよび第２のシリアル接続レジスタ内のレジスタを直列に接続する第１の接続手段と、第１のシリアル接続レジスタ内のレジスタと第２のシリアル接続レジスタ内のレジスタとを並列に接続する第２の接続手段とを具備して、第２の接続手段をバイパスとして複製可能に構成されている。【選択図】図１
2009159567.tif 000002
【特許請求の範囲】
【請求項１】
複数のシリアル接続レジスタが直列接続されたコンフィギュレーションチェーンを具備するリコンフィギュアラブル回路であって、
前記複数のシリアル接続レジスタにおける各シリアル接続レジスタ内の複数のレジスタを信号伝送可能に直列に接続する第１の接続手段と、
前記複数のシリアル接続レジスタにおいて、各シリアル接続レジスタ内の各レジスタを、直列接続されたシリアル接続レジスタ内の各レジスタと信号伝送可能に並列に接続する第２の接続手段と、
前記コンフィギュレーションチェーン内の各レジスタの構成情報を格納するコンフィギュレーションメモリと、
を具備するリコンフィギュアラブル回路。
【請求項２】
前記複数のシリアル接続レジスタにおいて、前記シリアル接続レジスタの各々を構成する全てのレジスタが直線上に配置され、
前記複数のシリアル接続レジスタにおける隣接するシリアル接続レジスタが並行に配置されている請求項１に記載のリコンフィギュアラブル回路。
【請求項３】
前記第２の接続手段は、前記複数のシリアル接続レジスタにおける１つのシリアル接続レジスタを構成する全てのレジスタの構成情報を、他のシリアル接続レジスタを構成する全てのレジスタに供給するよう構成された請求項１または２に記載のリコンフィギュアラブル回路。
【請求項４】
前記第２の接続手段は、前記複数のシリアル接続レジスタにおける一つのシリアル接続レジスタを構成する一部のレジスタの構成情報を、他のシリアル接続レジスタを構成する一部のレジスタに供給し、かつ前記他のシリアル接続レジスタを構成する残りの一部のレジスタの構成情報を、前記一つのシリアル接続レジスタを構成する残りの一部のレジスタに供給するよう構成された請求項１または２に記載のリコンフィギュアラブル回路。
【請求項５】
前記複数のシリアル接続レジスタにおいて、一つのシリアル接続レジスタを構成するレジスタにおける最初の段のレジスタの構成情報を、他のシリアル接続レジスタを構成するレジスタにおける最初の段のレジスタに供給するよう構成された第３の接続手段を更に具備する請求項１または２に記載のリコンフィギュアラブル回路。
【請求項６】
前記リコンフィギュアラブル回路は、少なくとも、第１のシリアル接続レジスタと第２のシリアル接続レジスタとを有し、
前記第１の接続手段が、前記第１のシリアル接続レジスタ内のレジスタおよび前記第２のシリアル接続レジスタ内のレジスタのそれぞれを直列に接続し、
前記第２の接続手段が、前記第１のシリアル接続レジスタ内のレジスタと前記第２のシリアル接続レジスタ内のレジスタとを並列に接続するよう構成された請求項１または２に記載のリコンフィギュアラブル回路。
【請求項７】
前記第１のシリアル接続レジスタは第１のレジスタおよび第２のレジスタを有し、
前記第２のシリアル接続レジスタは第３のレジスタおよび第４のレジスタを有し、
前記第２の接続手段は、前記第１のレジスタの構成情報を前記第３のレジスタに供給し、かつ前記第４のレジスタの構成情報を前記第２のレジスタに供給するよう構成された請求項６に記載のリコンフィギュアラブル回路。
【請求項８】
前記リコンフィギュアラブル回路は、第３の接続手段を有し、
前記第１のシリアル接続レジスタは第１のレジスタを有し、
前記第２のシリアル接続レジスタは第２のレジスタおよび第３のレジスタを有し、
前記第２の接続手段は、前記第１のレジスタと前記第２のレジスタとを接続し、
前記第３の接続手段は、前記第１のレジスタと前記第３のレジスタとを接続するよう構成された請求項６に記載のリコンフィギュアラブル回路。
【請求項９】
前記リコンフィギュアラブル回路は、第３のシリアル接続レジスタおよび第３の接続手段、を有し、
前記第１のシリアル接続レジスタは第１のレジスタを有し、
前記第２のシリアル接続レジスタは第２のレジスタを有し、
前記第３のシリアル接続レジスタは第３のレジスタを有し、
前記第２の接続手段は、前記第１のレジスタと前記第２のレジスタとを接続し、
前記第３の接続手段は、前記第１のレジスタと前記第３のレジスタとを接続するよう構成された請求項６に記載のリコンフィギュアラブル回路。
【請求項１０】
前記コンフィギュレーションチェーンを構成するレジスタを直線上に並べて構成情報を入力する場合に、前記各シリアル接続レジスタにおいて構成情報を入力する入力端子に最も近いレジスタをそれぞれ接続する第３の接続手段を具備する請求項６に記載のリコンフィギュアラブル回路。
【請求項１１】
請求項１または２に記載のリコンフィギュアラブル回路を用いたコンフィギュレーション方法であって、
前記第１の接続手段を用いて、前記複数のシリアル接続レジスタにおける１つのシリアル接続レジスタ内のレジスタの構成情報を更新する第１のステップと、
前記第１のステップにより更新された当該シリアル接続レジスタ内のレジスタの構成情報を、当該シリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納する第２のステップと、
前記第２の接続手段を用いて、当該シリアル接続レジスタ内のレジスタに格納された前記構成情報を、他のシリアル接続レジスタ内のレジスタに複製する第３のステップと、
前記第３のステップにより複製された前記他のシリアル接続レジスタ内のレジスタの構成情報を、前記他のシリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納する第４のステップと、
を含むコンフィギュレーション方法。
【請求項１２】
請求項１または２に記載のリコンフィギュアラブル回路を用いたコンフィギュレーション方法であって、
前記第１の接続手段を用いて、前記複数のシリアル接続レジスタにおける１つのシリアル接続レジスタを構成するレジスタの構成情報を更新する第１のステップと、
前記第２の接続手段を用いて、前記１つのシリアル接続レジスタを構成する一部のレジスタに格納された構成情報を、他のシリアル接続レジスタを構成する一部のレジスタに複製する第２のステップと、
前記第１の接続手段を用いて、前記１つのシリアル接続レジスタを構成するレジスタの構成情報および前記他のシリアル接続レジスタを構成するレジスタの構成情報を更新する第３のステップと、
前記第２の接続手段を用いて、前記１つのシリアル接続レジスタを構成する前記一部のレジスタに格納された構成情報を、前記他のシリアル接続レジスタを構成する前記一部のレジスタに複製し、前記１つのシリアル接続レジスタを構成する残りの一部のレジスタに格納された構成情報を、前記他のシリアル接続レジスタを構成する残りの一部のレジスタに複製する第４のステップと、
前記１つのシリアル接続レジスタ内のレジスタの構成情報を、前記１つのシリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納し、前記他のシリアル接続レジスタ内のレジスタの構成情報を、前記他のシリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納する第５のステップと、
を含むコンフィギュレーション方法。
【請求項１３】
請求項７に記載のリコンフィギュアラブル回路を用いたコンフィギュレーション方法であって、
前記第１の接続手段を用いて、前記第１のシリアル接続レジスタ内のレジスタに構成情報を更新する第１のステップと、
前記第２の接続手段を用いて、前記第１のレジスタに格納された構成情報を前記第３のレジスタに複製する第２のステップと、
前記第１の接続手段を用いて、前記第１のシリアル接続レジスタ内のレジスタの構成情報および前記第２のシリアル接続レジスタ内のレジスタの構成情報を更新する第３のステップと、
前記第２の接続手段を用いて、前記第１のレジスタに格納された構成情報を前記第３のレジスタに複製し、前記第４のレジスタに格納された構成情報を前記第２のレジスタに複製する第４のステップと、
前記第１のシリアル接続レジスタ内のレジスタの構成情報を、前記第１のシリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納し、前記第２のシリアル接続レジスタ内のレジスタの構成情報を、前記第２のシリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納する第５のステップと、
を含むコンフィギュレーション方法。
【請求項１４】
請求項１０に記載のリコンフィギュアラブル回路を用いたコンフィギュレーション方法であって、
前記第３の接続手段を用いて、前記第３の接続手段に接続されているレジスタに構成情報を更新する第１のステップと、
前記第３の接続手段に接続されているレジスタに格納された構成情報を、前記第３の接続手段に接続されている各レジスタが属するシリアル接続レジスタの全てのレジスタに複製する第２のステップと、
前記コンフィギュレーションチェーン内の各レジスタの構成情報を前記コンフィギュレーションメモリに格納する第３のステップと、
を含むコンフィギュレーション方法。
【請求項１５】
請求項６に記載のリコンフィギュアラブル回路を用いたコンフィギュレーション方法であって、
前記第１のシリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリの構成情報を、前記第１のシリアル接続レジスタ内の各レジスタに格納する第１のステップと、
前記第２の接続手段を用いて、前記第１のシリアル接続レジスタ内のレジスタに格納された構成情報を、前記第２のシリアル接続レジスタ内のレジスタに複製する第２のステップと、
前記第１の接続手段を用いて、前記第２のシリアル接続レジスタ内のレジスタの前記構成情報を更新することにより、前記構成情報を出力する第３のステップと、
を含むことを特徴とするコンフィギュレーション方法。
【請求項１６】
複数のシリアル接続レジスタを有するコンフィギュレーションチェーンを具備するリコンフィギュアラブル回路のコンフィギュレーションをコンピュータに実行させるためのプログラムであって、
前記コンフィギュレーションチェーンを構成する前記複数のシリアル接続レジスタにおける１つのシリアル接続レジスタ内のレジスタに格納された構成情報を、前記１つのシリアル接続レジスタ内のレジスタと並列に接続された前記コンフィギュレーションチェーンを構成する他のシリアル接続レジスタ内のレジスタに複製する構成情報を与えるためのオペランドを有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路または演算器の構成を動的あるいは静的に変更可能である再構成プロセッサに関するものであり、リコンフィギュアラブル回路、このリコンフィギュアラブル回路を用いたコンフィギュレーション方法、およびリコンフィギュアラブル回路のコンフィギュレーションを実行するためのプログラムに関する。
【背景技術】
【０００２】
回路または演算器の構成を動的あるいは静的に変更可能である再構成プロセッサにおいては、回路または演算器を所望の構成にするため、その構成情報を設定するコンフィギュレーションと呼ばれる手続きを必要とする。一般に、このコンフィギュレーションのために必要とするコンフィギュレーション時間は、構成の自由度および規模に比例するため、近年の構成の複雑化、および大規模化に伴い長い時間が必要になる。
【特許文献１】米国特許第５３９４０３１号明細書
【特許文献２】米国特許第６７１４０４４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
コンフィギュレーションを行う方法としては、例えば再構成プロセッサの設定メモリに接続させたシリアル接続レジスタにデータを入力して供給するという第１の方法がある（例えば、特許文献１参照。）。この第１の方法では少ない入力端子でプロセッサ全体に分布する設定メモリにデータを供給することが可能であるというメリットがあるが、データをシリアルに供給するため、コンフィギュレーション時間が長いという課題がある。
【０００４】
また、このコンフィギュレーション時間を短縮する方法としては、例えばコンフィギュレーションの入力を並列化してデータ転送レートを高めるという第２の方法がある（例えば、特許文献２参照。）。この第２の方法では、図１４に示すように、コンフィギュレーションデータを供給するシリアル接続レジスタ１が複数のセグメントに分割され、各々のセグメントに対応したデータ入力を並列に設けることでデータ転送レートを高め、コンフィギュレーション時間を短縮している。
【０００５】
このようなデータ入力を並列化する第２の方法の場合、チップにおけるI/Oの増加によりチップ面積の増加を引き起こすという課題がある。本来再構成プロセッサは複数の機能を実現するための回路規模を削減することが目的の一つであるため、チップ面積の増加は望ましいものではない。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明においては、コンフィギュレーションデータを供給する複数のシリアル接続レジスタを有するコンフィギュレーションチェーンを横断する方向にデータ供給を行うためのバイパス（後述する実施形態における第２の接続手段および第３の接続手段）を設け、このバイパスを用いて複製処理を行っている。
【０００７】
本発明に係るリコンフィギュアラブル回路は、
複数のシリアル接続レジスタが直列接続されたコンフィギュレーションチェーンを具備するリコンフィギュアラブル回路であって、
前記複数のシリアル接続レジスタにおける各シリアル接続レジスタ内の複数のレジスタを信号伝送可能に直列に接続する第１の接続手段と、
前記複数のシリアル接続レジスタにおいて、各シリアル接続レジスタ内の各レジスタを、直列接続されたシリアル接続レジスタ内の各レジスタと信号伝送可能に並列に接続する第２の接続手段と、
前記コンフィギュレーションチェーン内の各レジスタの構成情報を格納するコンフィギュレーションメモリと、を具備する。このように構成された本発明に係るリコンフィギュアラブル回路においては、チップ面積の増加を招くことなく、コンフィギュレーション時間を大幅に短縮することができる。
【０００８】
本発明に係る前記リコンフィギュアラブル回路を用いたコンフィギュレーション方法は、
前記第１の接続手段を用いて、前記複数のシリアル接続レジスタにおける１つのシリアル接続レジスタ内のレジスタの構成情報を更新する第１のステップと、
前記第１のステップにより更新された当該シリアル接続レジスタ内のレジスタの構成情報を、当該シリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納する第２のステップと、
前記第２の接続手段を用いて、当該シリアル接続レジスタ内のレジスタに格納された前記構成情報を、他のシリアル接続レジスタ内のレジスタに複製する第３のステップと、
前記第３のステップにより複製された前記他のシリアル接続レジスタ内のレジスタの構成情報を、前記他のシリアル接続レジスタ内の各レジスタが有する前記コンフィギュレーションメモリに格納する第４のステップと、を含む。このように構成された本発明に係るコンフィギュレーション方法によれば、チップ面積の増加を招くことなく、コンフィギュレーション時間を大幅に短縮することができる。
【０００９】
本発明に係る前記リコンフィギュアラブル回路のコンフィギュレーションを実行するためのプログラムは、
複数のシリアル接続レジスタを有するコンフィギュレーションチェーンを具備するリコンフィギュアラブル回路のコンフィギュレーションをコンピュータに実行させるためのプログラムであって、前記プログラムは、
前記コンフィギュレーションチェーンを構成する前記複数のシリアル接続レジスタにおける１つのシリアル接続レジスタ内のレジスタに格納された構成情報を、前記１つのシリアル接続レジスタ内のレジスタと並列に接続された前記コンフィギュレーションチェーンを構成する他のシリアル接続レジスタ内のレジスタに複製する構成情報を与えるためのオペランドを有する。このように構成された本発明に係るプログラムを用いることにより、チップ面積の増加を招くことなく、コンフィギュレーション時間を大幅に短縮することができる。
【発明の効果】
【００１０】
本発明によれば、複数のシリアル接続レジスタを有するコンフィギュレーションチェーンのデータを横断する方向に複製することにより、コンフィギュレーション対象の全体を網羅して、対応するコンフィギュレーションデータを確実に供給することができ、データ入力でのデータ転送レートを高めること無くコンフィギュレーション時間を大幅に短縮することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明に係るリコンフィギュアラブル回路、リコンフィギュアラブル回路を用いたコンフィギュレーション方法、およびリコンフィギュアラブル回路のコンフィギュレーションを実行するためのプログラムを実施するための最良の形態について、添付の図面を参照しながら詳細に説明する。
【００１２】
（第１の実施形態）
図１は、本発明に係る第１の実施形態の再構成プロセッサのリコンフィギュアラブル回路を構成するコンフィギュレーションチェーン１００の構造を示す図である。コンフィギュレーションチェーン１００は、複数のシリアル接続レジスタ９０（９０−１，９０−２，９０−３，・・・）と、これらのシリアル接続レジスタ９０を直列的に接続するデータ線６０と、各シリアル接続レジスタ９０における複数のレジスタ１０を隣接するシリアル接続レジスタ９０における複数のレジスタ１０とそれぞれ並列に接続するバイパス３０と、データを入力するための入力端子４０と、データを出力するための出力端子５０と、を具備して構成されている。図１に示すように、コンフィギュレーションチェーン１００において、各シリアル接続レジスタ９０はデータ線６０を介して蛇行するよう配置され、隣接するシリアル接続レジスタ９０が並行に配置されている。したがって、バイパス３０は、コンフィギュレーションチェーン１００における各シリアル接続レジスタ９０をデータが横断するよう設けられている。また、各々のシリアル接続レジスタ９０において、複数のレジスタ１０の全てはデータ線２０を介して直線上に直列的に接続されている。シリアル接続レジスタ９０のそれぞれは、コンフィギュレーション対象とする領域１０１，１０２，１０３，１０４，１０５，１０６のそれぞれに属している。シリアル接続レジスタ９０におけるレジスタ１０は、信号線８０を経由して、各領域内に存在する設定メモリ７０に接続されている。なお、図１ではコンフィギュレーションチェーン１００を一組のみ記載しているが、再構成プロセッサの中に複数のコンフィギュレーションチェーンを設けても構わない。また、図１においては、シリアル接続レジスタ９０の数、およびシリアル接続レジスタ９０におけるレジスタ１０の数を図示しているが、本発明は図示されている数に限定されるものではなく、その数は適宜決定される。なお、第１の実施形態においては、データ線２０が第１の接続手段であり、バイパス３０が第２の接続手段に相当する。
【００１３】
図２は、図１に示したコンフィギュレーションチェーン１００の構成を用いたコンフィギュレーション方法の手順を示す図である。図２においては、図１における領域１０１と１０２に着目して図示している。
【００１４】
図２に示す第１の実施形態のコンフィギュレーション手順は、以下の３つのステップで構成される。
ステップ１：データＸ（図２では「Ａ，Ｂ，Ｃ，Ｄ」と例示して記載）をコンフィギュレーション対象とする領域１０１に含まれるシリアル接続レジスタ９０−１にシフト入力する。コンフィギュレーションチェーン１００における全体のシリアル接続レジスタの段数をＮ（Ｎは正の整数）とし、各シリアル接続レジスタ９０の段数をＭ（Ｍは正の整数）とすると、ＭはＮよりも十分小さく（Ｍ＜＜Ｎ）、かつシフト入力に必要なサイクル数はＭとなる。なお、図２においてはＭが４の場合を示しているが、これは例示であり、この数に限定されるものではない。シフト入力によってシリアル接続レジスタ９０−１における各レジスタ１０−１，１０−２，１０−３，１０−４の内容は、「Ｄ」，「Ｃ」，「Ｂ」，「Ａ」のように更新（シフト）される。
【００１５】
ステップ２：各レジスタ１０−１，１０−２，１０−３，１０−４の更新結果（「Ｄ」，「Ｃ」，「Ｂ」，「Ａ」）が信号線８０を経由して各設定メモリ７０に格納される。この格納動作と並行して、各レジスタ１０−１，１０−２，１０−３，１０−４の更新結果（「Ｄ」，「Ｃ」，「Ｂ」，「Ａ」）の内容は、バイパス３０を経由して隣接するシリアル接続レジスタ９０−２に複製転送される。この複製転送によって、シリアル接続レジスタ９０−２の各レジスタ１０−１，１０−２，１０−３，１０−４における内容は、図２の（ｂ）に示すように更新される。この設定メモリ７０へのデータ格納、及び隣接するシリアル接続レジスタへの複製転送に必要なサイクル数は１となる。
【００１６】
ステップ３：シリアル接続レジスタ９０−２の各レジスタ１０−１，１０−２，１０−３，１０−４の更新結果は、信号線８０を経由して設定メモリ７０に格納される。この設定メモリ７０へのデータ格納に必要なサイクル数は１となる。
【００１７】
以上のように、第１の実施形態におけるコンフィギュレーション方法においては、ステップ１〜３までに必要なサイクル数はＭ＋２となる。前述の特許文献１に示した従来の第１の方法を用いた同様に構成した場合には、図１５に示すようにシフト入力のみでシリアル接続レジスタ９０−１と、それに直列に接続されたシリアル接続レジスタ９０−２の更新を行うことになる。このため、従来の第１の方法では、ステップ１としてＮサイクルのシフト入力が必要であり、且つステップ２として１サイクルの設定メモリ２へのデータ格納を行うため、必要なサイクル数はＮ＋１となる。
【００１８】
Ｍ＜＜Ｎという関係から、Ｍ＋２＜＜Ｎ＋１となり、第１の実施形態のコンフィギュレーション方法を用いることにより、従来に比べて設定メモリ７０への格納を少ないサイクルで実現可能であることが理解できる。
【００１９】
以上のように、本発明に係る第１の実施形態のコンフィギュレーション方法の手順によれば、入力されたシリアル接続レジスタ９０−１の繰り返しデータ（「Ａ」，「Ｂ」，「Ｃ」，「Ｄ」）がバイパス３０を経由して、隣接するシリアル接続レジスタ９０−２に複製されて、設定メモリ７０にデータ格納することにより、全てのシリアル接続レジスタにシフト入力することなく全領域のコンフィギュレーションを完了させることができる。
【００２０】
前述の特許文献２に示した従来の第２の方法を用いた場合には、図１４に示したようにデータ入力が増加するという問題がある。第１の実施形態のコンフィギュレーション方法によれば、図２に示すようにデータ入力は増加せず、コンフィギュレーション時間を大幅に短縮することができる。
【００２１】
一般に、再構成プロセッサは同一の演算エレメントが規則的に配置された構成となっているため、設定メモリ７０についても同様に規則的な配置となる。本発明においてはコンフィギュレーションのためのデータ供給を効率的に行うために、この規則性を活用することが重要である。本発明に係る第１の実施形態では、コンフィギュレーションチェーン１００は一定方向（第１の実施形態では垂直方向（図１の上下方向））に沿った方向に配設されており、且つバイパス３０はコンフィギュレーションチェーン１００の配設方向と異なる方向（第１の実施形態では水平方向（図１の左右方向））に沿った配置に設けることを特徴としている。この特徴によって再構成プロセッサの規則的配置を活用したバイパスを実現でき、コンフィギュレーション時間を大幅に短縮する効果を得ることができる。
【００２２】
（第２の実施形態）
次に、本発明に係る第２の実施形態の再構成プロセッサのリコンフィギュアラブル回路を構成するコンフィギュレーションチェーンについて説明する。図３は、第２の実施形態のコンフィギュレーションチェーンの構造を示す図である。第２の実施形態のコンフィギュレーションチェーンは、図１に示した第１の実施形態のコンフィギュレーションチェーン１００の別形態であり、２つのコンフィギュレーションチェーン２００，２０１を有している。
第２の実施形態においては、図１に示した第１の実施形態と同様の第１のバイパス３０に加えて、この第１のバイパス３０とは逆方向の複製処理を行う第２のバイパス３１を設けている。また、第２の実施形態の構成においては、２つのコンフィギュレーションチェーン２００と２０１との間の複製処理を行うための第３のバイパス３２および第４のバイパス３３を設けることが望ましい。なお、図３においては、２つのコンフィギュレーションチェーン２００，２０１の場合について記載したが、再構成プロセッサの中に更に多い複数のコンフィギュレーションチェーンを設けても構わない。また、図３においては、第１のバイパス３０と第２のバイパス３１、および第３のバイパス３２と第４のバイパス３３が交互に配置される構成について記載したが、本発明は、この配置順に限定されるものではなく、別の異なる配置順でも本発明の効果は同様に得られる。なお、第２の実施形態においては、第１のバイパス３０，第２のバイパス３１，第３のバイパス３２および第４のバイパス３３が第２の接続手段に相当する。
【００２３】
図４は、図３に示した第２の実施形態のコンフィギュレーションチェーン構成を用いたコンフィギュレーション方法の手順を示す図である。図４においては、図３に示した２つのコンフィギュレーションチェーン２００，２０１の領域２１０，２１１に着目して図示している。領域２１０，２１１はそれぞれシリアル接続レジスタ２９０、２９１を含んでおり、第３のバイパス３２および第４のバイパス３３により複製処理が行えるよう接続されている。
【００２４】
図４に示す第２の実施形態のコンフィギュレーション手順は、以下の５つのステップで構成される。
ステップ１：データＹ（図４では「Ｂ，Ａ，Ｄ，Ｃ」と例示して記載）がコンフィギュレーション対象とする領域２１１に含まれるシリアル接続レジスタ２９１にシフト入力される。コンフィギュレーションチェーン２００，２０１のそれぞれにおける全体のシリアル接続レジスタの段数をＮ（Ｎは正の整数）とし、各シリアル接続レジスタの段数をＭ（Ｍは正の整数）とすると、ＭはＮよりも十分小さく（Ｍ＜＜Ｎ）、かつシフト入力に必要なサイクル数はＭとなる。なお、図４においてはＭが４の場合を示しているが、これは例示であり、本発明はこの数に限定されるものではない。シフト入力によってシリアル接続レジスタ２９１における各レジスタ１０−１，１０−２，１０−３，１０−４の内容は、「Ｃ」，「Ｄ」，「Ａ」，「Ｂ」のように更新される。
【００２５】
ステップ２：シリアル接続レジスタ２９１におけるレジスタ１０−２，１０−４の更新結果（「Ｄ」，「Ｂ」）がシリアル接続レジスタ２９１の内容として第４のバイパス３３を経由してシリアル接続レジスタ２９０に複製転送される。この複製転送によってシリアル接続レジスタ２９０におけるレジスタ１０−２，１０−４の内容は、図４の（ａ）に示すように、「Ｄ」，「Ｂ」のように更新される。この複製転送に必要なサイクル数は１となる。
【００２６】
ステップ３：シリアル接続レジスタ２９０，２９１をそれぞれシフトする。このシフトによって各シリアル接続レジスタ２９０，２９１の内容は、図４の（ｂ）に示すように、一方のシリアル接続レジスタ２９０のレジスタ１０−１，１０−３の内容が「Ｄ」，「Ｂ」となり、他方のシリアル接続レジスタ２９１のレジスタ１０−２，１０−４の内容が「Ｃ」，「Ａ」となる。このシフトに必要なサイクル数は１となる。
【００２７】
ステップ４：シリアル接続レジスタ２９１のレジスタ１０−２，１０−４の更新結果「Ｃ」，「Ａ」が信号線８０を経由して各設定メモリ７０に格納され、この格納動作と並行して、図４の（ｃ）に示すように、第４のバイパス３３を経由してシリアル接続レジスタ２９０に複製転送される。この複製転送と並行して、同様に、シリアル接続レジスタ２９０のレジスタ１０−１，１０−３の更新結果「Ｄ」，「Ｂ」が信号線８０を経由して各設定メモリ７０に格納される。この格納動作と並行して、図４の（ｃ）に示すように、第３のバイパス３２を経由してシリアル接続レジスタ２９１に複製転送される。
上記の複製転送によって、シリアル接続レジスタ２９０および２９１の内容は、図４の（ｃ）に示すように更新される。この複製転送に必要なサイクル数は１となる。
【００２８】
ステップ５：シリアル接続レジスタ２９０のレジスタ１０−２，１０−４の更新結果、およびシリアル接続レジスタ２９１のレジスタ１０−１，１０−３の更新結果は、信号線８０を経由して設定メモリ７０にそれぞれ格納される。この設定メモリ７０へのデータ格納に必要なサイクル数は１となる。
【００２９】
以上のように、第２の実施形態におけるコンフィギュレーション方法においては、ステップ１〜５までに必要なサイクル数はＭ＋４となる。一方、前述の特許文献１に示した従来の第１の方法を用いた場合には、図１５に示したようにシフト入力のみでシリアル接続レジスタ９０−１と、それに直列に接続されたシリアル接続レジスタ９０−２の更新を行っている。このため、従来の第１の方法では、ステップ１としてＮサイクルのシフト入力が必要であり、且つステップ２として１サイクルの設定メモリ７０へのデータ格納を行うため、必要なサイクル数はＮ＋１となる。
【００３０】
Ｍ＜＜Ｎという関係から、Ｍ＋４＜＜Ｎ＋１となり、第１の実施形態と同様の効果として、第２の実施形態のコンフィギュレーション方法により、設定メモリ７０への格納を少ないサイクルで実現可能であることが理解できる。さらに、第２の実施形態では、第１の実施形態の効果に加えて、シリアル接続レジスタ２９０のようにコンフィギュレーションチェーン２００の末端に位置している場合においても隣接するコンフィギュレーションチェーン２０１から複製転送可能となるため、第１の実施形態ではコンフィギュレーションチェーンの末端に位置するシリアル接続レジスタへの複製転送が複数サイクル必要になることに対して、第２の実施形態では複製転送に必要なサイクル数が大幅に削減される。
【００３１】
（第３の実施形態）
次に、本発明に係る第３の実施形態の再構成プロセッサのリコンフィギュアラブル回路を構成するコンフィギュレーションチェーンについて説明する。図５は、第３の実施形態のコンフィギュレーションチェーンの構造を示す図である。
動的再構成プロセッサでは、特定の回路、あるいは演算器にのみコンフィギュレーションを行う、いわゆる部分コンフィギュレーションを必要とする。図５は、図１のコンフィギュレーションチェーン構造を用いた、第３の実施形態の部分コンフィギュレーション手順を示す図である。
【００３２】
図５は、コンフィギュレーション対象とする特定の領域３００に対する部分コンフィギュレーションの場合について図示している。図５においては、特定の領域３００へのデータ転送を一般的に示すために、コンフィギュレーションチェーンのそれぞれのレジスタについて、座標（［１，１］〜［Ｌ，Ｍ］）を定義している。縦方向の座標の最大値Ｍ（Ｍは正の整数）は、各々のコンフィギュレーション対象とする領域３１０（３１０−１，３１０−２，３１０−３，・・・）に属する各々のシリアル接続レジスタ３９０（３９０−１，３９０−２，３９０−３，・・・）における段数Ｍに等しく、横方向の座標の最大値Ｌ（Ｌは正の整数）は、バイパス３０によるシリアル接続レジスタ３９０間の転送動作における段数に等しい。なお、図５においてはＭが４、Ｌが４の場合を示しているが、これは例示であり、Ｍ，Ｌはこの数に限定されるものではなく、適宜設定される。
【００３３】
図５に示す第３の実施形態のコンフィギュレーション手順は、以下の５つのステップで構成される。
ステップ１：データＺ（図５では「Ａ，Ｂ」と例示して記載）をシリアル接続レジスタ３９０−１にシフト入力する。コンフィギュレーションチェーン全体のシリアル接続レジスタの段数をＮとし、シリアル接続レジスタ３９０−１の段数をＭとすると、ＭはＮよりも十分小さい（Ｍ＜＜Ｎ）。また、シフト入力に必要なサイクル数は、特定の領域３００の座標に応じたサイクル数であり、最大値はＭ以下となる。ここでは特定の領域３００として、座標［Ｌ，３］，［Ｌ，Ｍ］で定義された領域３１０−Ｌのレジスタ１０−３，１０−Ｍとする。
シリアル接続レジスタ３９０−１へのシフト入力によってシリアル接続レジスタ３９０−１におけるレジスタ１０−３，１０−Ｍの内容は、図５の（ａ）に示すように、「Ｂ」，「Ａ」のように更新される。
【００３４】
ステップ２：シリアル接続レジスタ３９０−１におけるレジスタ１０−３，１０−Ｍの更新結果を次段のシリアル接続レジスタ３９０−２，３９０−３，および３９０−Ｌにバイパス３０を経由して転送する。これらの転送によって特定の領域３００を含むシリアル接続レジスタ３９０−Ｌの内容は、図５の（ｂ）に示すように更新される。これらの転送に必要なサイクル数は特定の領域３００の座標に応じたサイクル数であり、最大値はＬ以下となる。
【００３５】
ステップ３：シリアル接続レジスタ３９０−Ｌの１０−３，１０−Ｍの更新結果が、信号線８０を経由して設定メモリ７０にそれぞれ格納される。この設定メモリ７０へのデータ格納に必要なサイクル数は１となる。
【００３６】
以上のように、第３の実施形態におけるコンフィギュレーション方法においては、ステップ１〜３までに必要なサイクル数はＬ＋Ｍ＋１となる。一方、前述の特許文献１に示した第１の方法を用いた場合には、図１５に示したようにシフト入力のみでシリアル接続レジスタ９０−１と、それに直列に接続されたシリアル接続レジスタ９０−２の更新を行っている。このため、従来の第１の方法では、ステップ１としてＮサイクルのシフト入力が必要であり、且つステップ２として設定メモリ７０へのデータ格納を行うために１サイクルが必要であるため、必要なサイクル数はＮ＋１となる。なお、図１５は、特許文献１に示された第１の方法により、直列接続のみされたシリアル接続レジスタ（９０−１，９０−２）に対して同じ目的のコンフィギュレーションを行った場合を示している。
【００３７】
Ｍ＜＜Ｎという関係から、Ｌ＋Ｍ＋１＜＜Ｎ＋１となり、第１の実施形態と同様の効果を有しており、第３の実施形態のコンフィギュレーション方法により、設定メモリへの格納を少ないサイクルで実現可能であることが理解できる。さらに、第３の実施形態では、第１の実施形態の効果に加えて、特定の領域３００が任意の座標であっても、サイクル数の削減効果が得られることが理解できる。
【００３８】
第３の実施形態のコンフィギュレーション方法の手順により、コンフィギュレーションデータ（Ａ、Ｂ）がバイパス３０を経由して転送され、隣接するシリアル接続レジスタのレジスタに接続された設定メモリ７０にデータ格納されることにより、全てのシリアル接続レジスタのレジスタに対してシフト入力することなく、特定の回路、あるいは演算器にのみコンフィギュレーションを行うことができる。
【００３９】
（第４の実施形態）
次に、本発明に係る第４の実施形態の再構成プロセッサのリコンフィギュアラブル回路を構成するコンフィギュレーションチェーンについて説明する。
一般に、ビット列に対する可逆なデータ圧縮方法としては、ランレングス符号手法を代表とした、繰り返し規則性を抜き出すことで、基本パターンと繰り返し回数の形にビット列を変換するというものがある。
図６は一般化した圧縮対象のビット列を示している。図６において、四角形４１１は、任意の値（０または１）を表すビットを示す。このビット列において同じ値が a(i) 回連続しているグループ４１０、a(i+1) 回連続しているグループ４２０、以降同様に同じ値が連続しているグループが存在している。さらに a(i)、a(i+1)、・・・からなるデータパターンが b(i)回繰り返されているグループ４３０、b(i+1)回繰り返されているグループ４４０、以降同様に同じデータパターンが繰り返されているグループが存在している。
【００４０】
これら複数のグループから構成されるビット列に対して、グループ４３０、４４０の基本パターン、更にグループ４１０、４２０の基本パターンと繰り返し回数の形にしたものをコンフィギュレーションデータとすることにより、データ量の圧縮を実現できる。この圧縮操作は一般的なデータ圧縮アルゴリズムを用いて、コンフィギュレーションデータ生成ソフトウェア（コンパイラ）が圧縮することによって実現可能である。一方、このコンフィギュレーションデータを本来のビット列に復元して設定メモリ７０に格納する場合、再構成プロセッサ内に圧縮データを伸張するメカニズムが必要となる。これは専用のデータ伸長回路による回路増加を回避して実現することが望ましい。
【００４１】
図７は設定メモリ７０へのデータ転送の過程で圧縮データの復元を可能とするコンフィギュレーションチェーン構造を示す図である。図７に示したコンフィギュレーションチェーン構造の基本概念は、前述の第１、第２の実施形態と同様であるが、圧縮データの繰り返し規則性の形態に応じた復元を実現するためにバイパス３０に加えて、第３の接続手段としてバイパス４５０を追加している。なお、図７ではコンフィギュレーションチェーン４００は一つのみを記載しているが、再構成プロセッサの中に複数のコンフィギュレーションチェーンを設けても構わない。図８および図９は繰り返し規則性の形態と、コンフィギュレーションチェーンの動作との対応を示している。
【００４２】
図８は、基本パターン（図８の（ａ））が矢印４６０に示すように垂直方向に設定される場合におけるコンフィギュレーション動作を示している。図８に示す第４の実施形態のコンフィギュレーション方法は、前述の第１の実施形態と同様のステップを有しており、以下の３つのステップで構成される。なお、図８において、（ａ）は図６に示したコンフィギュレーションデータを示しており、（ｂ）および（ｃ）は基本パターンが垂直方向に設定された場合のコンフィギュレーションチェーン動作を示している。
【００４３】
ステップ１：データをシリアル接続レジスタ９０−１にシフト入力する。このシリアル接続レジスタ９０−１においては、基本パターンと更新内容は符号４７０の引き出し線のように対応付けられる。
【００４４】
ステップ２：シリアル接続レジスタ９０−１の内容が第２の接続手段であるバイパス３０を経由して隣接するシリアル接続レジスタ（９０−２，９０−３，９０−４，・・・）に順次複製転送される（図８の（ｃ）参照）。
【００４５】
ステップ３：シリアル接続レジスタの更新結果が信号線８０を経由して設定メモリ７０にそれぞれ格納される。
【００４６】
次に、基本パターンが水平方向に設定される場合におけるコンフィギュレーション動作について説明する。図９は、基本パターンが矢印４８０に示すように、水平方向に設定される場合のコンフィギュレーション動作を示している。図９の第４の実施形態のコンフィギュレーション手順は、以下の３つのステップで構成される。なお、図９において、（ａ）は図６に示したコンフィギュレーションデータを示しており、（ｂ）および（ｃ）は基本パターンが水平方向に設定された場合のコンフィギュレーションチェーン動作を示している。
【００４７】
ステップ１：第３の接続手段であるバイパス４５０により接続されたレジスタにより構成されたものを別形態のシリアル接続レジスタ４０１とする。このように構成されたシリアル接続レジスタ４０１に対してデータをシフト入力する。このシリアル接続レジスタ４０１においては、図９の（ａ）および（ｂ）に示すように、基本パターンと更新内容は符号４９０の引き出し線のように対応付けられる。ここで、バイパス４５０により接続されたレジスタにより構成されたシリアル接続レジスタ４０１は、各シリアル接続レジスタ（９０−１，９０−２，９０−３，９０−４，・・・）における最初の段のレジスタにより構成される。
【００４８】
ステップ２：各シリアル接続レジスタ（９０−１，９０−２，９０−３，９０−４，・・・）の接続構成を用いてシリアル接続レジスタ４０１の内容を隣接するレジスタに複製転送する。この複製転送のデータの流れは図８におけるシフト動作と同様である（図９の（ｃ）参照）。
【００４９】
ステップ３：各シリアル接続レジスタの更新結果が信号線８０を経由して設定メモリ７０にそれぞれ格納される。
【００５０】
以上のように、第４の実施の形態のコンフィギュレーション方法により、基本パターンが垂直方向（図８）、あるいは水平方向（図９）のどちらであっても、コンフィギュレーションチェーン４００の動作の組合せによってデータ複製が可能であり、すなわちコンフィギュレーション動作とデータ伸長動作を同時に実現できる。
【００５１】
また、第４の実施の形態のコンフィギュレーション方法の手順により、データ量の多いコンフィギュレーションにおいても圧縮を実現することが可能となり、さらに、圧縮にともなうデータ転送量の削減によってデータI/Oを増加すること無くコンフィギュレーション時間の削減が実現できる。
【００５２】
さらに、第４の実施形態によれば、図７に示すようにコンフィギュレーションチェーン４００は一定方向（図１の構成では垂直方向）に沿った配置であり、かつバイパス３０、及びバイパス４５０をコンフィギュレーションチェーン４００の配置方向と異なる方向（図７の構成では水平方向、及び斜め方向）に沿った配置に設けるという特徴を有している。この特徴によって、第４の実施形態によれば、再構成プロセッサの規則的配置を活用したバイパスを実現でき、データ伸長機能を有するコンフィギュレーション構造を得ることができる。
【００５３】
（第５の実施形態）
次に、本発明に係る第５の実施形態の再構成プロセッサのリコンフィギュアラブル回路を構成するコンフィギュレーションチェーンについて説明する。
再構成プロセッサでは、デバッグ、あるいはＬＳＩテストなどのために設定メモリ７０に格納されたデータをコンフィギュレーションチェーンを経由して読み出す、いわゆるリードバックと呼ばれる動作が必要となる場合がある。図１０は、本発明に係る第５の実施形態において、図１に示したコンフィギュレーションチェーン構造を用いたリードバック手順を示した図である。図１においては、領域１０１に属する設定メモリ７０に格納されたデータを読み出す場合に着目して図示している。図１０に示したリードバック方法の手順は、以下の３つのステップで構成される。
【００５４】
ステップ１：設定メモリ７０の内容が信号線８０を経由して、シリアル接続レジスタ９０−１に格納される。この格納動作によってシリアル接続レジスタ９０−１におけるレジスタ１０−１，１０−２，１０−３，１０−４の内容は、図１０の（ａ）に示すように更新される。このデータ格納に必要なサイクル数は１となる。
【００５５】
ステップ２：図１０の（ｂ）に示すように、シリアル接続レジスタ９０−１の内容がバイパス３０およびデータ線６０を経由して隣接するシリアル接続レジスタ９０−２に複製転送される。この複製転送によって、シリアル接続レジスタ９０−２におけるレジスタ１０−１，１０−２，１０−３，１０−４の内容は、図１０の（ｂ）に示すように更新される。この複製転送に必要なサイクル数は１となる。
【００５６】
ステップ３：シリアル接続レジスタ９０−２の内容がデータＸ（図１０では「Ａ，Ｂ，Ｃ，Ｄ」と記載）としてシフト出力される。コンフィギュレーションチェーン全体のシリアル接続レジスタの段数をＮ（Ｎは正の整数）、シリアル接続レジスタの段数をＭ（Ｍは正の整数）とすると、ＭはＮよりも十分小さく（Ｍ＜＜Ｎ）、かつシフト出力に必要なサイクル数はＭとなる。
【００５７】
以上ように、第５の実施形態のリードバック方法によれば、ステップ１〜３までに必要なサイクル数はＭ＋２となる。一方、前述の特許文献１に示された第１の方法を用いた場合には、図１６に示すようにシフト出力のみでシリアル接続レジスタ９０−１の読み出しを行うこととなり、ステップ１として１サイクルの設定メモリ７０へのデータ読み出し、ステップ２としてＮサイクルのシフト出力となり、必要なサイクル数はＮ＋１となる。なお、図１６は、特許文献１に示された第１の方法により、直列接続のみされたシリアル接続レジスタ（９０−１，９０−２）に対して同じ目的のリードバックを行った場合を示している。したがって、第１の方法によれば、図１６に示すように、隣接するシリアル接続レジスタ９０−２のレジスタの内容がダミー（ダミー１，２，３，４）として出力される。
【００５８】
Ｍ＜＜Ｎという関係から、Ｍ＋２＜＜Ｎ＋１となり、本発明によりリードバック動作が少ないサイクルで実現可能であることが理解できる。
【００５９】
以上のように、第５の実施形態においては、設定メモリ７０に格納されたデータがバイパス３０およびデータ線６０を経由して転送され、出力端子５０に出力されることにより、シリアル接続レジスタ９０−１および９０−２を全てシフト出力することなく、リードバックを実現することができる。
【００６０】
（第６の実施形態）
前述の第１〜第５の実施形態で説明したコンフィギュレーション方法における手順を効率的に実現するための方法として、再構成プロセッサのコンフィギュレーション動作を複数のコンフィギュレーション用命令からなるプログラムとして記述するという方法がある。図１１は、この方法を具体化するための構成例を示しており、本発明に係る第６の実施形態のコンフィギュレーション回路の構成例を示す図である。図１１に示した構成例においてコンフィギュレーションチェーン６００としては、前述の図１、図３または図７に示したコンフィギュレーションチェーン１００，２００，または４００が用いられる。コンフィギュレーションチェーン６００と制御インターフェース６１０は、制御信号が入出力される制御端子６１１、データが入力される入力端子４０、およびデータが出力される出力端子５０により接続されている。制御インターフェース６１０は、制御入力端子６２０および制御出力端子６３０を有し、制御入力端子６２０はＣＰＵ６４０または命令メモリ６５０と接続され、命令６２１（例えば、instruction 0, instruction 1, instruction 2, ・・・） が制御インターフェース６１０に入力される。
【００６１】
前述の第１〜第５の実施形態で説明したコンフィギュレーション方法における手順を実現するためには、命令６２１の機能としてバイパスの指定が必要となる。図１２に命令６２１の具体的な１例としての実施例を示す。図１２において、バイパスの指定を行うためのオペランド例を符号６６０で示し、符号６６１〜６６５ではコンフィギュレーション手順を実現するための基本的な命令の例を示している。バイパスの指定を行うためには、図１２に示す実施例のオペランド例６６０のようなオペランド「ｐａｔｈ」を設けることが望ましい。また、コンフィギュレーション手順を実現するためには、以下の基本的な命令を設けることが望ましい。
【００６２】
命令６６１：複製実行命令。オペランド「ｐａｔｈ」に指定した経路を使用してデータを複製する。
経路例１）図２に示した第１の実施形態における、バイパス３０を経由したシリアル接続レジスタ９０−１から隣接するシリアル接続レジスタ９０−２。
経路例２）図８に示した第４の実施形態における、シリアル接続レジスタ９０−１内の接続を経由したレジスタ間。
【００６３】
命令６６２：コンフィギュレーションと複製並列実行命令。オペランド「ｐａｔｈ」に指定した経路の始点に対応するシリアル接続レジスタのデータを信号線８０を経由して設定メモリ７０に格納する。並行して、オペランド「ｐａｔｈ」に指定した経路を使用してデータを複製する。
経路例）図２に示した第１の実施形態における、バイパス３０を経由したシリアル接続レジスタ９０−１から隣接するシリアル接続レジスタ９０−２。
【００６４】
命令６６３：シフト実行命令。オペランド「ｐａｔｈ」に指定した経路を使用してデータをシフトする。オペランド「ｎｕｍｂｅｒ」に指定した回数分シフトする。
経路例１）図２に示した第１の実施形態における、シリアル接続レジスタ９０−１およびシリアル接続レジスタ９０−２内の接続を経由したレジスタ間。
経路例２）図９に示した第４の実施形態における、バイパス４５０を経由したシリアル接続レジスタ４０１内のレジスタ間。
【００６５】
命令６６４：コンフィギュレーション実行命令。オペランド「ｔａｒｇｅｔ」に指定した領域に属するシリアル接続レジスタの内容を信号線８０を経由して設定メモリ７０に格納する。
【００６６】
命令６６５：リードバック実行命令。オペランド「ｔａｒｇｅｔ」に指定した領域に属する設定メモリ７０の内容を信号線８０を経由してシリアル接続レジスタに格納する。
【００６７】
上記の基本的な命令６６１〜６６５によって第１〜第５の実施形態におけるコンフィギュレーション方法が、図１１に示した第６の実施形態の構成例において実行される。図１３は、第６の実施形態において、実現される命令６２１の具体例である。前述の第１〜第５の実施形態はそれぞれ、上記の基本的な命令６６０〜６６５が用いられて以下のように実現される。
【００６８】
図２に示した第１の実施形態：図１３において命令列６７０で示す。第１の実施形態における各ステップと各命令は以下のように対応付けられる。なお、ここで領域１０１，１０２がdomain1，domain2に対応し、バイパス３０がbypass-Aに対応する。
ステップ１：OP_SHIFT_DATA config-chain M
ステップ２：OP_CONFIGURE_COPY_DATA bypass-A-from-domain1-to-domain2
ステップ３：OP_CONFIGURE_DATA domain2
【００６９】
図４に示した第２の実施形態：図１３において命令列６７１で示す。第２の実施形態における各ステップと各命令は以下のように対応付けられる。なお、ここで領域２１０，２１１がdomain1，domain2に対応し、バイパス３０，３２，３３がbypass-Aに対応する。
ステップ１：OP_SHIFT_DATA config-chain M
ステップ２：OP_COPY_DATA bypass-A-from-domain1-to-domain2
ステップ３：OP_SHIFT_DATA config-chain 1
ステップ４：OP_COPY_DATA bypass-A-from-domain2-to-domain1
ステップ５：OP_CONFIGURE_DATA domain1,domain2
【００７０】
図５に示した第３の実施形態：図１３において命令列６７２で示す。第３の実施形態における各ステップと各命令は以下のように対応付けられる。なお、ここで領域３１０−１，３１０−２，３１０−３，３１０−４がdomain1，domain2，domain3，domain4に対応し、バイパス３０がbypass-Aに対応する。
ステップ１：OP_SHIFT_DATA config-chain M
ステップ２：OP_COPY_DATA bypass-A-from-domain1-to-domain2
OP_COPY_DATA bypass-A-from-domain2-to-domain3
OP_COPY_DATA bypass-A-from-domain3-to-domain4
ステップ３：OP_CONFIGURE_DATA domain4
【００７１】
図８に示した第４の実施形態：図１３において命令列６７３で示す。図８に示した第４の実施形態における各ステップと各命令は以下のように対応付けられる。なお、ここで領域１０１，１０２，１０３・・・がdomain1，domain2，domain3・・・に対応し、バイパス３０がbypass-Aに対応する。
ステップ１：OP_SHIFT_DATA config-chain M
ステップ２：OP_COPY_DATA bypass-A-from-domain1-to-domain2
OP_COPY_DATA bypass-A-from-domain2-to-domain3
- - -
OP_COPY_DATA bypass-A-from-domain5-to-domain6
ステップ３：OP_CONFIGURE_DATA all-domain
【００７２】
図９に示した第４の実施形態：図１３において命令列６７４で示す。図９に示した第４の実施形態における各ステップと各命令は以下のように対応付けられる。なお、ここでバイパス４５０がbypass-Bに対応する。
ステップ１：OP_SHIFT_DATA bypass-B M
ステップ２：OP_COPY_DATA config-chain
OP_COPY_DATA config-chain
- - -
OP_COPY_DATA config-chain
ステップ３：OP_CONFIGURE_DATA all-domain
【００７３】
図１０に示した第５の実施形態：図１３において命令列６７５で示す。第５の実施形態における各ステップと各命令は以下のように対応付けられる。なお、ここで領域１０１，１０２がdomain1，domain2に対応し、バイパス３０がbypass-Aに対応する。
ステップ１：OP_READBACK_DATA domain1
ステップ２：OP_CONFIGURE_COPY_DATA bypass-A-from-domain1-to-domain2
ステップ３：OP_SHIFT_DATA config-chain M
【００７４】
以上のように、図１２で示した基本的な命令によって各実施形態に示したコンフィギュレーション手順を実現できることが理解できる。本発明に係る第６の実施形態の構成例を用いることにより、再構成プロセッサのコンフィギュレーション動作を複数のコンフィギュレーション用命令からなるプログラムとして記述することが可能となる。
【００７５】
なお、第６の実施形態のＣＰＵ６４０あるいは命令メモリ６５０は再構成プロセッサと同一のチップ内に実装される構成としてもよい。そのように構成した場合には、チップ内配線によって高速なデータ転送が実現できるという新たな効果を更に奏する。
【産業上の利用可能性】
【００７６】
本発明は、チップのI/Oの増加を抑えつつコンフィギュレーション時間の短縮を図ることができるため、大規模化した場合においてもコンフィギュレーション時間の短縮が達成可能であり、さらには動作中における短時間の部分コンフィギュレーションが求められる動的コンフィギュレーションにも適用でき、再構成プロセッサにおいて有用である。
【図面の簡単な説明】
【００７７】
【図１】本発明に係る第１の実施形態におけるコンフィギュレーションチェーンの構造を示す図である。
【図２】図１の第１の実施形態のコンフィギュレーションチェーン構成を用いたコンフィギュレーション手順を示す図である。
【図３】本発明に係る第２の実施形態におけるコンフィギュレーションチェーンの構造を示す図である。
【図４】図３の第２の実施形態のコンフィギュレーションチェーン構成を用いたコンフィギュレーション手順を示す図である。
【図５】本発明に係る第３の実施形態のコンフィギュレーションチェーン構成を用いたコンフィギュレーション手順を示す図である。
【図６】本発明に係る第４の実施形態において用いられる一般化した圧縮対象のビット列である。
【図７】本発明に係る第４の実施形態におけるコンフィギュレーションチェーンの構造を示す図である。
【図８】第４の実施形態に係る繰り返し規則性の形態とコンフィギュレーションチェーンの動作との対応を示す図である。
【図９】第４の実施形態に係る繰り返し規則性の形態とコンフィギュレーションチェーンの動作との別の対応を示す図である。
【図１０】本発明に係る第５の実施形態のコンフィギュレーションチェーン構成を用いたリードバック手順を示す図である。
【図１１】本発明に係る第６の実施形態におけるコンフィギュレーション構成例を示す図である。
【図１２】第６の実施形態における基本命令の実施例を示す図である。
【図１３】第６の実施形態における基本命令を第１〜第５の実施形態に適用した場合の実施例を示す図である。
【図１４】従来のコンフィギュレーション方法を示す図である。
【図１５】従来のコンフィギュレーション方法における手順を示す図である。
【図１６】従来のリードバック方法における手順を示す図である。
【符号の説明】
【００７８】
１０  レジスタ
２０  データ線
３０  バイパス
４０  入力端子
５０  出力端子
６０  データ線
７０  設定メモリ
８０  信号線
９０  シリアル接続レジスタ
１００  コンフィギュレーションチェーン
１０１，１０２，１０３，１０４，１０５，１０６  領域
４５０  バイパス
【図１】
2009159567.tif 000003
【図２】
2009159567.tif 000004
【図３】
2009159567.tif 000005
【図４】
2009159567.tif 000006
【図５】
2009159567.tif 000007
【図６】
2009159567.tif 000008
【図７】
2009159567.tif 000009
【図８】
2009159567.tif 000010
【図９】
2009159567.tif 000011
【図１０】
2009159567.tif 000012
【図１１】
2009159567.tif 000013
【図１２】
2009159567.tif 000014
【図１３】
2009159567.tif 000015
【図１４】
2009159567.tif 000016
【図１５】
2009159567.tif 000017
【図１６】
2009159567.tif 000018