Explicit Data Graph Execution
既存のCPU設計における性能上のボトルネックは、データとそれを処理する命令が、メモリ上に分散していることである。メモリ性能は全体の性能を規定し、過去の「動的配置、動的発行」は、性能の限界に達しているようである。VLIWは「静的配置、静的発行」モデルを用いたが、プログラムの実行時の振る舞いを予測し、あらかじめ適切にスケジュールしておくことが困難であるため、実現困難なことがわかってきている。
EDGEアーキテクチャは「静的配置、動的発行」設計に基づく新しい種類のISAである。EDGEシステムはソースコードを静的に割り当てられた数百〜数千の命令からなる「ハイパーブロック」を形成するようにコンパイルし、ハイパーブロックが CPU により動的にスケジュールされる。EDGEは、VLIWのコンパイル時にデータの依存関係を見つけるという概念と、データが利用可能になったときに命令を実行すると言うスーパースケーラのRISCの概念の、それぞれの利点を組み合わせて用いる。
現実世界の大半のプログラムは、データと命令の関連は明示的である。プログラムは(時代によって異なるが)サブルーチン、手続き、メソッドと呼ばれる開始点、終了点が明確に定義されたデータの入出力を行うブロックに分割される。
Explicit Data Graph Execution あるいは EDGE とは、命令セットアーキテクチャ (ISA) であり、個々の命令を結合して「ハイパーブロック」と呼ばれる容易に並列実行可能なグループにまとめ、膨大な数の実行ユニットで実行させることで、 一般的なプロセッサ(x86など)に対して演算性能を大きく向上させることを目指している。 現代的なCPU設計における並列実行は、8個程度の実行ユニットと1~4個程度のコアで頭打ちになっているが、EDGE の設計では数百個のユニットを内部的に持てるようにし、これまでの設計に対して数百倍の高速化を実現しようとしている。EDGE の概念は2012年までに1チップで1TFLOPSを実現させることを目指した米国国防高等研究計画局の Polymorphous Computing Architectures プログラムの下、テキサス大学オースティン校が牽引している。