動的再構成
ウィキペディアから
ウィキペディアから
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.
動的再構成(どうてきさいこうせい、ダイナミック・リコンフィギュレイション、Dynamic reconfiguration)とは、コンピュータのハードウェア技術の1つであり、複数の小規模な演算処理部同士をプログラムに従って短時間に頻繁に結線し直すことで、小さな回路規模で複雑なデジタル処理回路を作るものである。
機能ごとに固定された専用回路を切り替えるのではなく、演算処理を行うハードワイヤード回路の再配置を行って専用回路を構成し、複数の演算部が協調してパイプラインによる演算処理を行う。
一般には、ALU(Arithmetic Logical Unit)と呼ばれる演算部が数十から数千個ほどが並び、各ALU間はクロスバ・スイッチのような配線で接続される。
例えば数百段もの深いパイプライン処理[注 1]を行うには、数百段の演算部を専用に備えるか、それが不可能なら従来型の数個のCPUコアで順次実行するという方法が存在するが、動的再構成技術を使えば、数百段をいくつかに分割して例えば数十段分を演算してから、すばやく次の数十段分の演算に対応した回路構成に組み替えて実行を続けることが出来る。この例では一連のパイプライン処理を複数個に分割するので、それぞれの間ではパイプラインによる処理の連続性は失われて演算効率は低下するが、数百段をすべて備える必要がなく求める処理速度に応じた適度な回路規模で済み、パイプライン処理すべき演算内容が変わっても配線プログラムの変更で対応できる、などの利点がある。 最大数千個にもなる演算部同士の配線は、出来るだけ柔軟な組み換えが可能になるようにしながらも、過剰に引き廻して接続点を無闇に増やすのは回路面積を増やすと同時に処理性能を低下させるので避ける必要がある。最適なマトリクス配線の方法は使用する演算対象でも異なると考えられ、各社で研究している段階である。
1秒間に数十回以上の頻度で配線は変更され、多くの製品では配線の変更動作は1クロックで行えるため、少ない演算部でも仮想的に多数の処理段数があるように見せかけられる。
長所
短所
演算部としてはALUが一般的であるが、それより小さな単位での比較器やレジスタアレイ単位で組み換えが行われるものもある。いずれも4-32ビット幅での簡単な演算回路から構成され、演算部同士の結線情報がプログラマブルなだけで演算部回路内にはプログラムを解釈する機構は基本的に存在しないハードワイヤード回路である[注 2]。
また、演算部の粒度という点で他の処理技術と比較すれば、CPUは粒度が大きく、マルチコアであってもそれぞれが汎用的でプラグラマブルな演算やロードとストアの動作を行っているために、パイプライン処理といっても各段ごとは十数クロックから数十クロック程度の時間が掛かり、処理速度はハードワイヤード回路よりもかなり劣る。また逆にFPGAでは粒度が小さく、LUT(Look up table)と呼ばれる配線情報で切り替えられるエレメント単位は通常1ビットごとであり、処理単位の違いなどから面積当たりの処理効率では5-10倍程度の差が出るとされる[注 3]。
2001年から2002年にかけて、米Quicksilver Technology社[1]、米Chameleon Systems社、日本のAOIテクノロジー社など多くのベンチャ企業が動的再構成(ダイナミック・リコンフィギュラブル)技術の製品開発を行う企業として設立され、小さなブームを作ったが、その後、解散するなど当時の企業で動的再構成技術により成功した会社は存在しない。当時現れた数少ない実用製品例をソニーが2002年から自社の携帯機器であるウォークマンやPSPシリーズに、動的再構成技術であるVME(Virtual Mobile Engine)として採用したが、その詳細は明かされていない。一方では2004年からは、東芝、三洋電機、三菱電機が開発に着手し、高騰する最先端ASICのマスクコストの回避手段として検討されている。また、NECエレクトロニクス(現ルネサス エレクトロニクス)[注 8]、パナソニックがこれらの会社に続いた[2]。
FPGAでも、数十ms程度時間がかかるが、回路を動的に切り替えることができる。ザイリンクスは2010年からこの機能の商用サポートを始めた[3]。アルテラもStratix VやCyclone Vでは動的再構成ができる[4]。CPUコアにより、それ以外の部分の回路のバージョンアップという用途にも使える。