QuickSilver社のACM

ACM(Adaptive Computing Macine)は名前からしてThinkin Machine社のCM(Connection Machine)-1を彷彿とさせます。ACMの基本要素はノードと呼ばれるプロセッサです。
ノードにはローカルメモリーと演算器が内包され、それをネットワークインターフェース、パイプライン、マネージャー、DMA、データ組み立て、データ分解などのラッパーユニットが包み込んでいます。ノードは高速のネットワークインターフェースで相互接続され、4ノードでセットを構成します。セットはさらにネットワークインターフェースで相互接続され、4セットでマトリックスを構成します。マトリックスは比較的低速のインターフェースで相互接続されます。
このようにACMは一見普通の階層型プロセッサ・アレイですが、大きな特徴としてノードの不均質性を挙げることがあります。ノードにはRISC型、ビット演算型、算術演算型など複数の種類のものがあり、ASIC化するときにどのノードにどの型を使うか決めることが出来ます。そうしてネットワークからデータを流し込み、各ノード間を流していくことでデータフロー処理を行うのがACMの考え方です。
ノードの演算器は型によって異なるものの、ラッパー部分は共通なのでハードウェア設計とプログラミング・モデルはある程度簡素化されるようです。また、動的再構成性については、それほどラディカルではなく、演算データ幅や演算器構成の変更にとどまっています。
私見ですが動的再構成というより時間のかかる*1モード切り替えだと思ったほうがいいかもしれません。モードの種類が極めて多いと考えるのです。マイクロ・プロセッサの場合はALUの機能は命令単位で変更されます。それに対してある種のデータフローマシンの場合、固定機能ユニットをデータが流れていく形式になります。ACMはデータフローが中心になりそうなのでALUのように煩雑に機能を切り替えなければならない用途はそれほど多くないかもしれません。
おそらく完全機能固定ではなくデータ処理のフェーズによって構成を変えながら大量のデータをDMAによってストリーム処理する構成になると思われます。プログラムにはアセンブラC言語を使います。
(EDN Japan 5.1)

*1:10クロック程度