トランスメタ
トランスメタのプロセッサはイン・オーダー方式のVLIWコアである。x86コードを実行するため、ソフトウェアベースの命令トランスレータがヒューリスティックによるホットスポット推定を使いつつ、x86のコード列を実行時にコンパイルまたはエミュレートする。1990年代の類似の技術としては、SolarisおよびLinuxでのWabi(英語版)、AlphaでのFX!32(英語版)、Itaniumでの IA-32 EL(英語版)、オープンソースのDAISY、PowerPCでの Mac 68Kエミュレータなどがあったが、トランスメタが達成しようとしているのはブートからマルチメディア命令まで全てのx86命令を遜色ない性能で実行するというかなりハードルの高いものだった。
トランスメタはこの技術を「コードモーフィング」と称した。
コードモーフィングは、一般的なコンパイラの最後の最適化パスによく似ている。次のような32ビットのx86コードを例に説明する。
まずこれを単純に本来の命令に変換する。
そして、最適化によって共通式と不要な条件コード操作を除去し、可能ならばループ展開などの最適化を施す。
最後に個々の命令 ("atoms") をグループ化しVLIWのオペコード ("molecules") を構成する。
この2つのVLIWオペコードは2クロックサイクルで実行される。x86プロセッサではハードウェアでの最適化を行わないため、このコードの実行にもっと長い時間がかかる。
トランスメタは次のような利点を挙げている。