News 2002年11月22日 10:08 AM 更新

次世代Crusoeのパフォーマンスは本物か(2/2)

Transmetaが次世代256ビットCrusoe“Astro”のデモを行っている。これを見る限り、Astroのパフォーマンスは、Pentium 4も目じゃないというほどの驚異的なものだ。ここまで高速化された理由は?

前のページ

 Transmetaによると、TM8000用の256ビット命令用CMSは、従来の128ビット命令用CMSをクロスコンパイラで256ビットで動作するようにし、それに最適化を図る手法では開発を行わなかったという。実績のあるCMSを捨て、新たに全く別のCMSを新アーキテクチャにフィットさせながら、スクラッチから作り上げた。

 しかも現在の256ビット命令用CMSは、まだパフォーマンスチューニングを十分に行っておらず、後述するCMSの高速化テクニックも利用していないという。まだファーストシリコンが上がったところで、テストの中で最適化を進めていけば、来年第3四半期と言われるTM8000のリリースまでには、さらなる速度向上が進むことだろう。CrusoeはCMS次第で、パフォーマンスがいくらでも変化するからだ。

 例えば、TM5600時代と現在のTM5800はチップのアーキテクチャは全く同じだが、現在のパフォーマンスはクロック周波数以上に改善されている。それだけでなく、PCベンダーが調達した時期によってCMSのバージョンも変わるため、わずかではあるが同時期に販売されているCrusoe機でも、メーカーによってパフォーマンスが異なる。

CMSの機能追加で128ビットCrusoeも大きく変わる?

 もうひとつ興味を引いたのが、同じ富士通「LifeBook」を2台並べてアプリケーション起動速度などを計測するデモンストレーションだ。2台に実装されたCrusoeはどちらも同じクロック周波数で動作している。ところがアプリケーションの起動速度や起動直後のレスポンスが明らかに異なる。高速な方のCrusoeには、まだリリースされていない新しいCMSが使われているからだ。


左右共に同じLifebookだが、右側のCMSが新しく、アプリケーション起動が明らかに高速化されている

 新CMSが高速な理由は、Crusoeがアプリケーションのコードを実行するプロセスの中にあるようだ。具体的な仕組みに関しては一切話をしてもらえなかったが、いくつかのヒントから推測すると以下のような理由だと考えられる。

 CrusoeのCMSは、初出のx86コードが実行されると、それをアトムと呼ばれる細かな命令に分割し、最大4個の命令で構成されるVLIW命令に変換、実行される。しかし初回の実行ではほとんど最適化は行われず、アトム生成時に並列実行できることがあらかじめわかっている命令しかVLIWへとまとめられていない効率の悪いコードだが、これをそのままCMSが管理するキャッシュ領域に保存しておく。

 実際に最適化が行われるのは、プログラムコードが2回目に実行される時で、このとき初回に翻訳されていたVLIW命令を再構成して並列度を高め、初めてCrusoeの能力が発揮できるようになる。最適化されたコードは以前のコードと置き換える形でキャッシュに保存され、次回実行時にさらに最適化が進められる。

 最適化されたコードで動くときのCrusoeは、実は現在言われているほど遅くない。Crusoeが体感的にもベンチマークでも特に遅くなってしまうのは、初出時のコードが十分に最適化されるまで何度かのループが必要になることと、初回の翻訳されたコードがほとんど最適化されていないためアプリケーション起動時の初期化プロセスなどが遅いためだ。

 最適化されたコードを保存する領域は(CMS本体の作業領域も含め)16Mバイト、一部機種で24Mバイトとなっており、ここからあふれたコードは最適化プロセスを最初からやり直さなければならない。

 逆に言えば初回実行時から最適化されたコードならば、Crusoe独特の「もっさりとした」動きだしの悪さはなくなる。

 新CMSが使っているのは、おそらくFX!32と同等のテクニックだろう。FX!32はWindows NT上でx86命令をAlphaプロセッサ命令へと変換・実行するソフトウェアだったが、一度変換したコードをハードディスク上にキャッシュとして展開する機能を持っていた。

 新CMSの場合はハードディスク上にx86のOSからは見えないパーティションを生成しておき、そこにOSを介さずダイレクトに最適化後のコードをキャッシュしておくことで、コード初回実行時にアトムへの変換を行う代わりに、キャッシュをメモリ内にロードしているのではないだろうか? 全くその通りかどうかはわからないが、Transmetaの担当者はそうした推測を否定しなかった。

 以下はTransmetaの用意したスイートルームに展示されていた製品類だ。写真とともに紹介したい。


IBMがテクノロジーデモとして展示していた超小型PCモジュール。組み込み用途を考えているようだ。基板は2段構造


IBMの小型PCモジュールを分解したところ。ALi製ノースブリッジで各種IOをサポート。最大512Mバイトのメモリを搭載できる


台湾Quanta製の小型タブレットPC。解像度はSVGAと低いが非常に小さく薄い。熱もそれほど感じられなかった

関連記事
▼ Transmeta、新プロセッサ「Astro」披露

[本田雅一, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.

前のページ | 2/2 | 最初のページ