(57)【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路と、
前記プログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ複数の回路情報を記憶した記憶手段と、
前記複数の回路情報の各々に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック列で構成された列領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の列領域が同じ列に配列されるように構成し、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック行で構成された行領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の行領域が同じ行に配列されるように構成し、かつ前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成する構成手段と、
を備えた情報処理システム。
【請求項２】
前記記憶手段を、ネットワークに接続した請求項１記載の情報処理システム。
【請求項３】
マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ複数の回路情報を記憶しておき、
前記複数の回路情報の各々に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック列で構成された列領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の列領域が同じ列に配列されるように構成し、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック行で構成された行領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の行領域が同じ行に配列されるように構成し、前記第１の情報に対応する回路を前記プログラマブル論理回路の１以上の論理ブロック行で構成された複数の行領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の行領域が同じ行に配列されるように構成し、かつ前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成する
情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム及び情報処理方法に係り、より詳しくは、プログラマブル論理回路を用いて複数の機能を実現する情報処理システム及び情報処理方法に関する。
【０００２】
【従来の技術】
デジタル回路装置の分野において、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）やプログラマブル・ロジック・デバイス（ＰＬＤ）等のプログラマブル論理回路が、特定用途向け集積回路（ＡＳＩＣ；Application Specific Integrated Circuit）を製作する際の試作デバイスとして、又は、数週間から数か月という長い製作期間を要するＡＳＩＣの代替デバイスとして広く用いられている。また、最近では、回路構成を変更できるというプログラマブル論理回路の特徴を生かして、回路装置作成後でも、仕様変更や、回路欠陥の修正等を可能とするためにプログラマブル論理回路が用いられている。
【０００３】
ところで、最近の論理回路は複雑さが増してきており、一つのプログラマブル論理回路では実現できない規模にまで回路規模が大きくなっている。この問題を解決するための一つの技術として、異なる時間に異なる論理回路を実現するために、プログラマブル論理回路を処理の途中で再構成する技術が提案されている。この技術を適用することにより、携帯情報端末のように装置が小型であるために、内蔵できる回路規模に制約がある場合でも、様々な処理を比較的高速に行うことができる。
【０００４】
しかしながら、この技術では、論理回路を再構成する際に回路全体の回路情報を再度読み込ませる必要があるため、再構成に時間がかかる、という問題点があった。更に、処理の途中で論理回路を再構成するためには、処理を一時中断し、その時点のデータをプログラマブル論理回路の外部の記憶装置に待避させ、新たな回路情報を読み込んで再構成した後に、再構成前のデータと再構成に伴う新しいデータを入力する、といった余分な処理が必要となる。
【０００５】
この問題を解決するために、米国アトメル社のデータブック「CONFIGURABLE LOGIC」に記載されているプログラマブル論理回路（ATシリーズ）、及び米国ザイリンクス社のデータブック「THE PROGRAMMABLE LOGIC」に記載されているプログラマブル論理回路（Virtexシリーズ）では、データを記憶するためのデータ記憶装置を備えておき、回路の動作中でも外部の記憶装置から回路情報の一部を読み込んで部分的に再構成することで、再構成するために要する時間を最小限に留めている。
【０００６】
このようなプログラマブル論理回路を用いることにより、大規模な処理回路を時分割し、回路規模の小さなプログラマブル論理回路に再構成しながら処理を行うことで、その回路規模以上の回路を実現でき、回路装置の小型化及び低コスト化が可能となる。しかしながら、動作中に部分的に再構成可能なプログラマブル論理回路においても、書き込む回路情報の規模や書き込み頻度によっては、処理全体の中の回路再構成時間が長くなり、処理性能が低下する、という問題点があった。
【０００７】
この問題点の解決手法の一例として、「スケルトン回路技術」と呼ばれる回路設計技術がある。「スケルトン回路」は、プログラマブル論理回路を再構成する際の、先に構成された回路と、後に構成する回路の共通部分である。すなわち、初めにスケルトン回路をプログラマブル論理回路上に構成しておき、このスケルトン回路に対して次に構成する回路との差分回路を構成することにより、最小の回路情報で新たな回路を構成することができ、回路の再構成時間を短縮することができる。
【０００８】
スケルトン回路技術の一例としては、ＦＣＣＭ'９６で発表された“Assessing Document Relevance with Run-time Reconfigurable Machines”で示されたテキスト検索装置が挙げられる。
【０００９】
このテキスト検索装置は、プログラマブル論理回路上において、図９に示すように、プリプロセッサ８４と、８個の単語検出回路８０Ａ〜８０Ｈと、４個のインクリメンター８２Ａ〜８２Ｄと、文字キャラクタ入力バス８６と、ストローブライン８８と、デストリビューションバス９０と、計数出力バス９２とで構成される。８個の単語検出回路８０Ａ〜８０Ｈは、各々回路情報により指定される単語の検出回路である。
【００１０】
同図においては、８ビットで符号化された文字キャラクタデータがプリプロセッサ８４に入力されて、大文字と小文字を区別せずにＡからＺまでの文字が１から２６までのトークンにマップされる。また、数字等の他の文字は０（零）のトークンにマップされ、文字区切りを表すトークンとして扱われる。大文字と小文字を区別しないことにより、データバス幅を５ビットに狭めることができる。
【００１１】
５ビットのバス９０上を流れるトークンから、単語検出回路８０Ａ〜８０Ｈが、各々指定された特定のトークンを検出し、特定のトークンの順列を検出することにより、単語を検索する。検出された単語数はインクリメンター８２Ａ〜８２Ｄで計数される。図９に示した例では、４単語からなる２組の単語リストを検出する。
【００１２】
ここでは、単語検出回路８０Ａ〜８０Ｈを除いたバス８６、８８、９０、９２と、プリプロセッサ８４等の固定回路がスケルトン回路として構成される。
【００１３】
このテキスト検索回路では、電源投入時に上記スケルトン回路が構成され、引き続いて単語検出回路８０Ａ〜８０Ｈが構成される。そして、異なる単語を検出するときは、単語検出回路８０Ａ〜８０Ｈのうちの、その単語を構成する単語検出回路のみを再構成し、スケルトン回路は再利用される。
【００１４】
このようにして、スケルトン回路技術では、回路情報を減らして回路の再構成時間を短縮することが可能であり、再構成される回路間に共通部分が多く、しかも差分回路のみを効率よく再構成できる場合において特に有効である。
【００１５】
【発明が解決しようとする課題】
しかしながら、上述した従来のスケルトン回路技術では、差分回路がプログラマブル論理回路上に２次元的に点在する場合は、論理回路の再構成に長時間を要する、という問題点があった。
【００１６】
一般に、プログラマブル論理回路における回路再構成単位は、列単位又は行単位とされており、この場合、差分回路がプログラマブル論理回路上に２次元的に点在する際には、回路再構成単位の中で回路を変更する論理セルの比率が低下すると共に、再構成単位数が多くなるため、再構成時間が長くなる。
【００１７】
例えば、米国ザイリンクス社のVirtexシリーズのＦＰＧＡでは、２次元に配列された論理セル（ＣＬＢ、Configurable Logic Block；書き換え可能な論理ブロック最小単位）のうち、Column（列）単位で論理セルをまとめて再構成する仕様となっているため、上述のように、差分回路がプログラマブル論理回路上に２次元的に点在する場合は、回路再構成単位の中で回路を変更する論理セルの比率が低下すると共に、再構成単位数が多くなり、再構成時間が著しく長くなる。
【００１８】
本発明は上記問題点を解消するために成されたものであり、プログラマブル論理回路に対する回路の再構成時間を短縮することができる情報処理システム及び情報処理方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の情報処理システムは、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路と、前記プログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ複数の回路情報を記憶した記憶手段と、前記複数の回路情報の各々に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック列で構成された列領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の列領域が同じ列に配列されるように構成し、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック行で構成された行領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の行領域が同じ行に配列されるように構成し、かつ前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成する構成手段と、を備えている。
【００２０】
請求項１に記載の情報処理システムによれば、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ回路情報が記憶手段によって記憶される。ここで、上記記憶手段には、ハードディスク、フロッピィディスク、光磁気ディスク等の記録媒体や、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等の半導体記憶素子が含まれる。また、上記プログラマブル論理回路には、ＦＰＧＡ、ＰＬＤ等の全てのプログラマブルな論理回路が含まれる。
【００２１】
また、本発明では、構成手段により、上記記憶手段によって記憶された複数の回路情報の各々に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック列で構成された列領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の列領域が同じ列に配列されるように構成し、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック行で構成された行領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の行領域が同じ行に配列されるように構成し、かつ前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成される。
【００２２】
この際の上記第１の情報に対応する回路を、上記列領域及び上記行領域の何れに構成するかは、プログラマブル論理回路のコンフィギュレーション・アーキテクチャに応じて決定される。すなわち、プログラマブル論理回路が論理ブロックを列単位にまとめて再構成することができるものである場合は、上記第１の情報に対応する回路を上記列領域に構成し、プログラマブル論理回路が論理ブロックを行単位にまとめて再構成することができるものである場合は、上記第１の情報に対応する回路を上記行領域に構成する。
【００２３】
このように、請求項１に記載の情報処理システムによれば、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ回路情報を記憶しておき、上記回路情報に基づいて、第１の情報に対応する回路をプログラマブル論理回路の１以上の論理ブロック列で構成された列領域又は１以上の論理ブロック行で構成された行領域にまとめて構成しているので、回路再構成単位の中で回路を変更する論理ブロックの比率が向上すると共に、再構成単位数を少なくすることができ、プログラマブル論理回路に対する回路の再構成時間を短縮することができる。
【００２５】
また、請求項２記載の発明のように、請求項１記載の発明の記憶手段を、ネットワークに接続する形態とすることもできる。
【００２６】
一方、上記目的を達成するために、請求項３記載の情報処理方法は、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ複数の回路情報を記憶しておき、前記複数の回路情報の各々に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック列で構成された列領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の列領域が同じ列に配列されるように構成し、前記第１の情報に対応する回路を前記プログラマブル論理回路の複数の論理ブロック行で構成された行領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の行領域が同じ行に配列されるように構成し、前記第１の情報に対応する回路を前記プログラマブル論理回路の１以上の論理ブロック行で構成された複数の行領域にまとめて構成するときには前記第１の情報に対応する回路が構成された特定の行領域が同じ行に配列されるように構成し、かつ前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成するものである。
【００２７】
このように、請求項３に記載の情報処理方法によれば、請求項１記載の発明と同様に作用するので、回路再構成単位の中で回路を変更する論理ブロックの比率が向上すると共に、再構成単位数を少なくすることができ、プログラマブル論理回路に対する回路の再構成時間を短縮することができる。
【００２８】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。図１には、本実施の形態に係る情報処理システム１０の構成が示されている。同図に示すように、本実施の形態に係る情報処理システム１０は、情報処理システム１０全体の動作を司るＣＰＵ（中央演算処理装置）１２と、メモリコントローラやバスブリッジ等の機能を有するチップセット１４と、アプリケーションプログラムや各種制御プログラム等を実行する際のワークエリア等として用いられるＤＲＡＭ（Dynamic Random Access Memory）で構成されたメインメモリ１６と、アプリケーションプログラムや回路モジュール情報等を記憶するためのハードディスクドライブ２２と、プログラマブル論理回路２６と、を含んで構成されている。
【００２９】
ＣＰＵ１２のホストバスには、チップセット１４に含まれるメモリコントローラを介してメインメモリ１６が接続されている。また、ＣＰＵ１２はチップセット１４を介してＰＣＩバス１８に接続されている。
【００３０】
ＰＣＩバス１８には、ハードディスクドライブ２２とプログラマブル論理回路２６が各々ハードディスクインターフェース２０とプログラマブル論理回路インターフェース２４を介して接続されている。
【００３１】
また、ＰＣＩバス１８は、記憶装置３２Ａ、３２Ｂ、３２Ｃ等が接続されたネットワーク３０に通信インターフェース２８を介して接続されている。従って、ＣＰＵ１２は、ホストバス、チップセット１４、ＰＣＩバス１８、通信インターフェース２８を介して、ネットワーク上に接続されている記憶装置３２Ａ、３２Ｂ、３２Ｃ等の各種装置との間で各種情報の授受を行うことができる。
【００３２】
図２には本実施の形態に係るプログラマブル論理回路２６の平面構造が、図３には本実施の形態に係るプログラマブル論理回路２６の内部構造のブロック図が、各々示されている。図２及び図３に示すように、本実施の形態に係るプログラマブル論理回路２６は、回路モジュール情報を格納するためのコンフィギュレーションメモリ５８（図２では図示省略）と、マトリクス配列された論理セル５０や配線領域５２等からなる回路素子５６と、入出力端子５４とを含んで構成されている。
【００３３】
本実施の形態に係るコンフィギュレーションメモリ５８は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、ＳＲＡＭ（Static Random Access Memory）等の書き換え可能なメモリ素子で構成されている。
【００３４】
一方、回路モジュール情報は、アドレスとデータの対で構成された複数の回路情報によって構成される。プログラマブル論理回路２６のコンフィギュレーションメモリ５８に上記アドレスを与えて、そのアドレスに対応するメモリセルに当該アドレスと対になったデータが格納されると、このデータに従って、論理セル５０内の回路構成や、論理セル５０と入出力端子５４を相互に接続する配線領域５２の接続状態が再構成される。
【００３５】
プログラマブル論理回路２６の回路再構成情報の単位は、２次元に配置された論理セル５０のうち、列方向にまとめた論理セル単位で一つの再構成回路情報を構成しており、全ての列に対して回路モジュール情報をコンフィギュレーションメモリ５８に書き込むことで、プログラマブル論理回路２６の全面を再構成することができると共に、一部の列に対してのみ回路モジュール情報をコンフィギュレーションメモリ５８に書き込むことで、プログラマブル論理回路２６が動作中であっても、回路を部分的に再構成することができる。
【００３６】
このようにしてプログラマブル論理回路２６に再構成された回路素子５６に対し、入出力端子５４を介して処理すべきデータが入力されると共に、その処理結果が入出力端子５４を介して出力される。
【００３７】
一方、ハードディスクドライブ２２に記憶されているアプリケーションプログラムは、メインメモリ１６にロードされた後、ＣＰＵ１２によって実行される。上述の回路モジュール情報は、実行中のアプリケーションプログラムにおけるコマンドに応じて呼び出され、必要に応じてプログラマブル論理回路２６のコンフィギュレーションメモリ５８にロードされて、ハードウェア処理が行われる。
【００３８】
図４には、本実施の形態に係る回路モジュール情報の構成が示されている。同図に示すように、この回路モジュール情報は、予めプログラマブル論理回路２６に構成すべき先行ベース回路の回路情報と、該先行ベース回路に付加することによって各々異なる各種機能を実現することができる差分回路Ａ、Ｂ、Ｃの各々の回路情報と、により構成されている。
【００３９】
ハードディスクドライブ２２が本発明の記憶手段に、ＣＰＵ１２が本発明の構成手段に、論理セル５０が本発明の論理ブロックに、先行ベース回路の回路情報が本発明の第２の情報に、差分回路の回路情報が本発明の第１の情報に、回路モジュール情報が本発明の回路情報に、各々相当する。
【００４０】
次に、図５を参照して、本実施の形態に係る情報処理システム１０の作用を説明する。なお、図５は、ハードディスクドライブ２２に記憶されているアプリケーションプログラムを実行する際に、ＣＰＵ１２によって実行される処理の流れを示すフローチャートである。なお、ここでは、アプリケーションプログラムで使用される回路モジュール毎の回路モジュール情報（図４も参照）がハードディスクドライブ２２の所定領域に予め記憶されていることを前提に説明する。
【００４１】
同図のステップ１００では、ハードディスクドライブ２２からアプリケーションプログラムで使用される全ての回路モジュールに対応する回路モジュール情報を読み出す。
【００４２】
次のステップ１０２では、上記ステップ１００で読み出した各回路モジュール情報における先行ベース回路の回路情報に対応する先行ベース回路と、差分回路の回路情報のうちの何れか１つの回路情報に対応する差分回路と、のプログラマブル論理回路２６上の配置位置を導出する。
【００４３】
なお、本実施の形態では、各回路モジュール情報の各々について、差分回路の回路情報の何れか１つに対応する差分回路をプログラマブル論理回路２６の１以上の論理セル列で構成された機能変更依存領域Ａ１に配置し、先行ベース回路の回路情報に対応する先行ベース回路を上記機能変更依存領域Ａ１以外の領域である機能変更非依存領域Ａ２に配置するように配置位置を導出する。また、このとき、各回路モジュール情報の各々の差分回路を配置する機能変更依存領域Ａ１のうちの複数がプログラマブル論理回路２６の同一列に配列されるように各回路の配置位置を導出する。
【００４４】
次のステップ１０４では、上記ステップ１０２で導出した配置位置となるようにプログラマブル論理回路２６に対して各回路モジュール情報毎に先行ベース回路の回路情報と何れかの差分回路の回路情報を出力することにより、プログラマブル論理回路２６に各回路モジュール情報が示す先行ベース回路と何れかの差分回路とを構成する。
【００４５】
図６には、本ステップ１０４においてプログラマブル論理回路２６上に構成された複数（同図では４個）の回路モジュールの配置例が示されている。
【００４６】
同図に示すように、各回路モジュールは各々、機能変更依存領域Ａ１と、機能変更非依存領域Ａ２とに２分されている。そして、各回路モジュールの中の回路素子のうち、機能変更に関わる回路素子（機能変更の際に再構成される回路、すなわち差分回路に含まれる回路素子）は全て機能変更依存領域Ａ１に配置されている。この例では、回路モジュールの形状は矩形であり、機能変更依存領域Ａ１は、該矩形の左端側の規定列分と定められる。また、各回路モジュールの原点座標は対応する矩形領域の左下隅と定められる。
【００４７】
更に、同図に示す例では、各々２個ずつの回路モジュール群に分けられ、各回路モジュール群に含まれる機能変更依存領域Ａ１が同一列に位置するように各回路モジュールが配置されている。
【００４８】
一方、図５のステップ１０６では、実行中のアプリケーションプログラムの次に実行すべきコマンドがハード処理コマンド、すなわち、プログラマブル論理回路２６を用いたハード処理によって実行されるコマンドであるか否かを判定し、ハード処理コマンドでない場合（否定判定の場合）はソフト処理コマンドであるものと見なしてステップ１０８へ移行して、当該コマンドをソフトウェアで実行した後にステップ１１８へ移行する。
【００４９】
一方、上記ステップ１０６でハード処理コマンドであると判定された場合（肯定判定された場合）にはステップ１１０へ移行して、上記ハード処理コマンドによる処理がプログラマブル論理回路２６の処理機能を変更する必要がある処理か否かを判定し、処理機能を変更する必要がある処理である場合（肯定判定の場合）はステップ１１２へ移行して、処理機能の変更に対応する回路モジュール情報の差分回路の回路情報をプログラマブル論理回路２６に出力することによって対応する機能変更依存領域Ａ１の回路を再構成した後にステップ１１４へ移行する。
【００５０】
一方、上記ステップ１１０において、上記ハード処理コマンドによる処理がプログラマブル論理回路２６の処理機能を変更する必要がない処理であると判定された場合（否定判定された場合）には、上記ステップ１１２の処理を実行することなくステップ１１４へ移行する。
【００５１】
ステップ１１４では、処理すべきデータをプログラマブル論理回路２６に入出力端子５４を介して出力する。すると、プログラマブル論理回路２６は入力された処理すべきデータに対してプログラマブル論理回路２６に構成された回路による処理を実施し、これによって得られたデータを入出力端子５４を介して出力する。
【００５２】
そこで、次のステップ１１６では、プログラマブル論理回路２６から出力されるデータの入力待ちを行い、次のステップ１１８では、当該アプリケーションプログラムの全てのコマンドの処理が終了したか否かを判定し、終了していない場合（否定判定の場合）は上記ステップ１０６へ戻り、終了した時点（肯定判定となった時点）で本処理を終了する。
【００５３】
次に、本実施の形態に係る情報処理システム１０によるプログラマブル論理回路２６に対する回路モジュールの構成手順を具体的な回路を例示して説明する。なお、ここでは、従来より各種演算や信号処理に多用されている、加算回路、減算回路、及びアキュムレータの３つの機能を実現する場合について説明する。
【００５４】
図７には、加算回路、減算回路、及びアキュムレータの３つの機能を有する回路の構成例が示されている。同図に示すように、この回路は、加算器６０、２の補数生成ルックアップテーブル（以下、「補数ＬＵＴ」という）６２、２入力のセレクタ６４、ラッチ６６、ラッチ６８、及びセレクタ設定セル７０を含んで構成されている。
【００５５】
この回路を加算回路として構成する場合は、補数ＬＵＴ６２を入力信号を変換せずにそのまま出力するテーブルデータとして設定する。また、セレクタ６４から入力Ｂが出力されるようにセレクタ設定セル７０を設定する。この設定により、入力Ａ及び入力Ｂはそのまま加算器６０に入力され、加算が実行される。
【００５６】
次に、この回路を減算回路として構成する場合は、補数ＬＵＴ６２を入力信号に対して常に２の補数を出力するテーブルデータとして設定する。また、セレクタ６４から入力Ｂが出力されるようにセレクタ設定セル７０を設定する。この設定により、加算器６０には入力Ａと、入力Ｂの２の補数が入力されて加算されるので、実質的に減算が実行されることになる。
【００５７】
次に、この回路をアキュムレータとして構成する場合は、補数ＬＵＴ６２を入力信号を変換せずにそのまま出力するテーブルデータとして設定し、セレクタからラッチ６６からの入力が出力されるようにセレクタ設定セル７０を設定する。この設定により、入力Ａが入力されるたびに、過去の入力Ａの累積との加算が繰り返えされ、アキュムレータ動作が行われることになる。
【００５８】
図８には、図７で示した回路構成を本実施の形態に基づいて配置した場合の配置例が示されている。図７の回路構成において、再構成の対象となる回路素子は補数ＬＵＴ６２及びセレクタ設定セル７０の２つであり、図８に示す例では、補数ＬＵＴ６２及びセレクタ設定セル７０の双方とも当該回路領域内の左端の一列に配置される。
【００５９】
このように、本実施の形態に係る情報処理システム１０では、予め配置配線された回路モジュールを、さらに大規模な処理回路の中で再利用する場合に、各回路モジュールの機能変更依存領域を列で揃えて配置する。これによって、その処理回路で定まった任意の複数列のみを部分的に再構成するだけで、複数回路モジュールの機能変更が同時に行われ、効率のよい部分的再構成可能なプログラマブル論理回路上の処理回路が実現できる。
【００６０】
以上詳細に説明したように、本実施の形態に係る情報処理システムでは、マトリクス状に配置された複数の論理セルを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報（差分回路の回路情報）と再構成しない回路を構成するための第２の情報（先行ベース回路の回路情報）とを含んだ回路情報（回路モジュール情報）を記憶しておき、該回路情報に基づいて、第１の情報に対応する回路をプログラマブル論理回路の１以上の論理ブロック（論理セル）列で構成された列領域（機能変更依存領域）にまとめて構成しているので、回路再構成単位の中で回路を変更する論理ブロックの比率が向上すると共に、再構成単位数を少なくすることができ、プログラマブル論理回路に対する回路の再構成時間を短縮することができる。
【００６１】
また、本実施の形態に係る情報処理システムでは、複数の回路モジュール情報の各々の第１の情報（差分回路の回路情報）に対応する回路を、該第１の情報に対応する回路が構成された特定の列領域（機能変更依存領域）が同じ列に配列されるように構成しているので、複数の回路モジュール情報の各々の第１の情報に対応する回路が互いに異なる列に配列されるように構成する場合に比較して、回路再構成単位の中で回路を変更する論理ブロックの比率を、より向上することができると共に、再構成単位数を、より少なくすることができ、プログラマブル論理回路に対する回路の再構成時間を、より短縮することができる。
【００６２】
なお、本実施の形態では、機能変更依存領域Ａ１を矩形状の回路モジュール領域における左端に位置する領域とした場合について説明したが、本発明はこれに限定されるものではなく、例えば、回路モジュール領域における右端に位置する領域とする形態とすることもできるし、回路モジュール領域における左端及び右端の間の中央に位置する領域とする形態とすることもできる。この場合も、本実施の形態と同様の効果を奏することができる。
【００６３】
また、本実施の形態では、本発明に係るプログラマブル論理回路として列毎に回路構成を変更することができるものを適用した場合について説明したが、本発明はこれに限定されるものではなく、行毎に回路構成を変更することができるプログラマブル論理回路を適用する形態とすることもできる。この場合は、機能変更依存領域Ａ１に配置すべき複数の回路モジュールの回路情報の各々に対応する回路が当該プログラマブル論理回路の同一行に複数並ぶように配置すればよい。この場合の上記同一行も、矩形状の回路モジュールの上端、下端、及び上端及び下端に挟まれた中央の何れの行も適用可能である。この場合も、本実施の形態と同様の効果を奏することができる。
【００６４】
また、本実施の形態では、本発明の記憶手段として、ＰＣＩバス１８に接続されたハードディスクドライブ２２を適用した場合について説明したが、本発明はこれに限定されるものではなく、例えば、図１におけるネットワーク３０に接続された記憶装置３２Ａ、３２Ｂ、３２Ｃの何れかを本発明の記憶手段として適用する形態とすることもできる。この場合は、ネットワーク接続された記憶装置から回路モジュール情報を取得することができるので、情報処理システム１０の融通性が向上する。
【００６５】
【発明の効果】
以上詳細に説明したように、本発明に係る情報処理システムによれば、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ回路情報を記憶しておき、上記回路情報に基づいて、第１の情報に対応する回路をプログラマブル論理回路の１以上の論理ブロック列で構成された列領域又は１以上の論理ブロック行で構成された行領域にまとめて構成しているので、回路再構成単位の中で回路を変更する論理ブロックの比率が向上すると共に、再構成単位数を少なくすることができ、プログラマブル論理回路に対する回路の再構成時間を短縮することができる、という効果が得られる。
【００６６】
また、本発明に係る情報処理方法によれば、請求項１記載の発明と同様に作用するので、回路再構成単位の中で回路を変更する論理ブロックの比率が向上すると共に、再構成単位数を少なくすることができ、プログラマブル論理回路に対する回路の再構成時間を短縮することができる、という効果が得られる。
【図面の簡単な説明】
【図１】  実施の形態に係る情報処理システムの構成を示すブロック図である。
【図２】  実施の形態に係るプログラマブル論理回路の平面構造を示す平面図である。
【図３】  実施の形態に係るプログラマブル論理回路の内部構造を示すブロック図である。
【図４】  実施の形態に係る回路モジュール情報の構成を示す概略図である。
【図５】  実施の形態に係る情報処理システムにおいてアプリケーションプログラムを実行する際に、ＣＰＵによって実行される処理の流れを示すフローチャートである。
【図６】  実施の形態に係る情報処理システムにおいてプログラマブル論理回路上に構成された複数の回路モジュールの配置状態を示す概念図である。
【図７】  加算回路、減算回路、及びアキュムレータの３つの機能を有する回路の構成例を示すブロック図である。
【図８】  図７で示した回路構成を実施の形態に基づいて配置した場合の配置状態例を示す概念図である。
【図９】  従来の技術の説明に供するブロック図である。
【符号の説明】
１０    情報処理システム
１２    ＣＰＵ（構成手段）
２２    ハードディスクドライブ（記憶手段）
２６    プログラマブル論理回路
３０    ネットワーク
３２Ａ、３２Ｂ、３２Ｃ    記憶装置
５０    論理セル（論理ブロック）
５２    配線領域
５６    回路素子
５８    コンフィギュレーションメモリ
【図１】
0003948193.tif 000002
【図２】
0003948193.tif 000003
【図３】
0003948193.tif 000004
【図４】
0003948193.tif 000005
【図５】
0003948193.tif 000006
【図６】
0003948193.tif 000007
【図７】
0003948193.tif 000008
【図８】
0003948193.tif 000009
【図９】
0003948193.tif 000010