【Microprocessor Forumレポート】1.4GHz Athlonを1GHz PowerPCに変えてしまうバーチャルCPU技術

 

Macユーザーの中には、AthlonでMac用のソフトを走らせたいと思う人がいるのではないだろうか。逆にPCユーザーの中にも、PCでMac用のソフトを使ってみたいという人がいるだろう。しかし、ソフトウエア・エミュレーションでは、ハードウエアのパフォーマンスが極端に制限されてしまう。TransmetaのCrusoeという例外はあるが、実用面を考えるとCPUアーキテクチャーの壁をソフトウエアで乗り越えるのは難しい。ところが、Transitive TechnlogiesのバーチャルCPUソフトウエア「Dynamite」を利用すれば、あるCPUアーキテクチャー用のバイナリーコードを異なったアーキテクチャーで走らせながら、オリジナルのアーキテクチャー以上のパフォーマンスを発揮できるそうだ。

現在、Dynamiteには二つのパターンのサンプル製品がある。一つはx86のバイナリーコードをMIPSで走らせる「Dynamite X/M」。もう一つは、ARM用のコードをMIPS用に変換する「Dynamite A/M」だ。さらに、この日はPowerPC用のソフトウエアをx86CPUで走らせる「Dynamite P/X」のデモを行った。Dynamite P/Xでは、1.4GHzのAthlonでPowerPCのソフトウエアを走らせることで、1GHz以上のPowerPCのパフォーマンスを実現していた。これをオリジナルのPowerPCのパフォーマンスと比較してみると、"1.4GHz Athlon、512MB PC2100 DDRAM" 上の約1GHzのPowerPCは、"450GHz Apple G4 Cube、576MB PC100 SDRAM" から予測した1GHzのPowerPCのパフォーマンスを若干上回っているのだ。

Dhrystone v2.1のベンチマーク結果。Dynamite P/XがオリジナルのPowerPCを若干上回っている
Dynamite P/Xでムービー再生をデモ

なぜエミュレーションなのにオリジナルのパフォーマンスを上回れるのだろうか。Dynamite P/Xを例にすると、Dynamiteのトランスレーション・プロセスは、PowerPC用ソフトウエア→PPC Front End→Optimizing Kernel→x86 Back End→Translated Code Cache→X86 CPUとなる。Front Endでは、バイナリーコードを中間的なコード(IR)である "Direct Acyclic Graphs" に書き換える。そしてKernelではIRコードを実行される頻度でブロック分けする。全く使われないコードを除外したり、ある特定のプログラムで頻繁に使われるコードを特定するなど細かく分別する。この最適化は、利用状況の変化に合わせて常に行われる。Back Endでは、x86用のバイナリー・インストラクションが生成される。そしてTranslated Code Cacheに頻繁に使われるx86コードが納められ、2度目からはキャッシュから直接実行できる。つまり、コードを変換するエミュレーション・プロセスではパフォーマンスを落とすが、その分をOptimizing Kernel以降の作業での“最適化”で取り返しているのだ。だから、プログラム実行時間の90%がコードの10%で行われる「90-10ルール」に則って書かれていると最適化の効果は高いが、コードがまんべんなく使われると効果は期待できない。現時点ではRISCコードからCISCコードへの変換がもっと最適化の効果があるそうだ。コードインストラクション・セット次第で、結果にばらつきが生まれるが、Transitiveは将来的にはほとんどの組み合わせで同等または高速化が可能になるとしている。

Dynamite P/Xの変換プロセス

Dynamiteは、OSの上または下でも利用できる。OSの上ではターゲットとなるCPUのアーキテクチャーでそのOSを走らせて、異なったプラットフォームの一部の機能だけを利用する。OSの下で機能する場合は、TransmetaのCode Morphingのように、異なったアーキテクチャーのOSを異なったCPUで走らせる。まさにバーチャルCPUである。

Dynamite P/Xのパフォーマンス・ロードマップ
Dynamiteのパフォーマンス・ロードマップ。来年には全ての組み合わせでオリジナルを上回る計画だ

今はまだ組み合わせが少なく、製品もサンプルの状態だが、あらゆるCPUアーキテクチャーの組み合わせが可能で、同じCPUアーキテクチャーでも世代の違いをDynamiteで埋められるそうだ。コンピューティングの壁を崩す技術だけに、今後、どのように展開するか楽しみである。

(Yoichi Yamashita)



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

開幕まで一週間! iPhone/iPadアプリを使ってリオ五輪をもっと楽しもう!!
[14:23 7/30] スマホとデジタル家電
[世界コスプレサミット2016]コスプレの祭典開幕 炎天下の愛知・蒲郡でオープニングセレモニー
[14:22 7/30] ホビー
[LiLiCo]阿佐ヶ谷姉妹・渡辺江里子と武井咲主演ドラマにゲスト出演
[14:00 7/30] エンタメ
[今週のアルスラーン戦記]第5話「決別」 アルスラーンに“助け舟” ナルサスの策も
[14:00 7/30] ホビー
iPhone/iPadにMacを使って夏休みの自由研究に取り組もう! - 子供向けワークショップ「サマーキャンプ」が開講
[13:57 7/30] パソコン

求人情報