【コラム】

OS X ハッキング!

164 Intel Mac強化計画 - エミュレータの動向を知るの巻

    海上忍  [2006/02/02]

    もうすぐ「MacBook Pro」が出荷されるはず…… ですが、2月2日現在のApple Store(オンライン)では、出荷予定日が2月のままです。先月の発表会で触れたプロトタイプ機は、パームレストがそれなりに熱くなっていましたが、実機はどうなのか? 早く知りたいものです。

    さて、今回は「Intel Macで動くエミュレータ」について。なにぶん実機が出荷開始されたばかりであり、肝心の"モノ"は出揃っていないが、開発コミュニティはかなり盛り上がっている。エミュレータ関連では第1話となる今回は、開発動向を中心に現在の状況についてまとめてみよう。

    前回の補足 - ハードパワーより"マンパワー"

    とその前に、前回フリーのH.264/AVCエンコーダ「x264」をIntel iMacとPower Mac G5それぞれでビルドして処理速度を比較したのだが、紙幅が不足していたとはいえあまりに言葉足らずだったので少し補足しておきたい。

    結果だけを見ると、SSEやSSE2を持つIntel CPUのほうが(Altivecを持つ)PowerPCより速い、と早合点する向きもありそうだが、当然ながらそうではない。識者には言わずもがなだが、コーデックのエンジンを構成する一部のコードはi386とPowerPCとで異なり、単純に書き直したものではないのだ。これは、PowerPC/Altivec向けのコード(common/ppcディレクトリ)がすべてCで記述されているのに対し、i386向けのコード(common/i386ディレクトリ)は多くの部分がニーモニック/機械語で記述されていることからも明らかだろう。

    もちろん、機械語で記述されたプログラムがC言語で記述されたものより高速とは限らないが、最適化が進んでいるかどうかの1つの目安にはなる。最適化の効果のほどは、前回i386とPowePCそれぞれでビルドしたx264のエンコード速度を比較したとき、--no-asmオプションを付けるかどうか(CPU最適化機能有効/無効の有無)で結果が逆転したことからも伺える。

    前回はサラッと流してしまったが、MacがIntelプラットフォームに移行した利点の1つが、このようなコードを提供できる開発者の層の厚さなのではないか、と筆者は考えている。ハードウェアのシェアから推定すれば、i386を得意とする開発者の数はPowerPCのそれより多いはずで、オープンソース系の開発でもその比率は大きく変わらないと思われる。

    特にコーデックなどCPUごとの最適化を要するオープンソースソフトウェアの場合、開発コミュニティの大きさ/アクティブ度、すなわち"マンパワー"が処理性能を左右する可能性は高い。実際、MP3エンコーダのLAMEは、いまなおAltivec対応のコードが実装されていない(個人レベルでの試みは幾度かあったがマージは未了)。x264とlameだけを取り上げて結論を出すのはいささか乱暴だが、前回の速度の差はSIMD命令の優劣うんぬんではなく"マンパワー"の差なのだろう、と筆者は考えている。

    エミュレータの動向

    Intel Macが出荷された現在、もっとも注目を集めている分野の1つが「エミュレータ」。従来の環境では、x86マシンをエミュレートしようとするとx86->PowerPCという重い処理を伴ったが、x86同士ならば機械語レベルの変換は必ずしも必要ない。Windows版Virtual PCやVMWareのように、高速に仮想ホストを動かす環境がMacでも視野に入ってきたのだ。

    そのような使い方に役立ちそうなエミュレータが、高速性で知られる「QEMU」。x86やPowePC、SPARCやMIPSなど多くのCPUに対応したフリーなエミュレータで、OS X/PowerPCでも動作実績がある。現在のバージョン(0.8.0)は、GCC4の不具合などの原因もあり、Intel Macではビルドに失敗してしまうが、開発者用のメーリングリストでは意見のやり取りが活発に行われている。

    Classic環境がサポートされなくなったIntel Macで旧Mac OSのアプリケーションを使いたい、x86マシンには特に興味なし、という向きには「SheepShaver」がある。PowerMacのROMイメージが必要など手間はかかるが、すでにIntel Mac用のバイナリも配布されているので、即戦力になる。どれほどのパフォーマンスを発揮するかという観点からも、興味深い存在といえるだろう。

    ここで紙幅が尽きてしまった…… ということで、他に動きがなければ次回もエミュレータの話題を続ける予定だ。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン