Palm Programmer's Laboratory

トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Palm OS Programmer's Companion Volume I/14-1

↑14 章トップへ 2 節に進む →


14-1 Palm OS Garnet と ARM を理解する

 
Palm OS Garnet は、Palm オペレーティングシステムの 68K プロセッサから ARM プロセッサへの完全な移植です。

68K
68K プロセッサという表現は、モトローラの 68000 系プロセッサを意味します。
ARM
ARM プロセッサという表現は、Advanced RISC Machine 系プロセッサを意味します。ARM プロセッサは 4 バイトタイプの RISC プロセッサで、様々なベンダによって提供されています。

Palm OS Garnet では、オペレーティングシステム全体は ARM プロセッサ上でネイティブに実行されます。アプリケーションが Palm OS API 関数をコールすると、API 関数は ARM プロセッサでフルスピードで実行されます。ほとんどのアプリケーションは実行時間の大半をオペレーティングシステム関数の実行に費やすため、そのようなアプリケーションでは、変更を加えることなく ARM プロセッサのパフォーマンス上の恩恵を得ることができます。

 

Palm Application Compatibility Environment

Palm OS Garnet には、全ての Palm OSアプリケーションがその中で動作する、Palm Application Compatibility Environment (PACE) が含まれています。PACE は従来の Palmハンドヘルドが使用していた68Kファミリのプロセッサをエミュレートし、ARM プロセッサを採用したハンドヘルドにおいて新しいアプリケーションと古いアプリケーションの両方が使えるようにします。

Palm OS 関数はエミュレートではなくネイティブ実行されるため、PACE はほとんどの68Kアプリケーションに対して優れたパフォーマンスを提供します。結果として、ほとんどの68Kアプリケーションには ARM 向けに書きなおすメリットはありません。

PACE がどのようにして 68K アプリケーションと ARM ネイティブで動作する Palm OS Garnet の間に互換性レイヤーを提供しているかを図 14.1 に示します。

図 14.1 Palm Application Compatibility Environment

アプリケーションの68KコードはPACEによってエミュレートされるため、特定のアルゴリズム ―― データの暗号化や圧縮 ―― は、ARMネイティブコードに書き直した方が良い場合があります。

 


↑14 章トップへ 2 節に進む →