Ipad

Appleから開発者へ:64ビットアプリをできるだけ早く提供してほしい

Appleから開発者へ:64ビットアプリをできるだけ早く提供してほしい

Apple 2013年9月イベント(iPhone 5s、64ビットスライド001)

Apple は、新しい主力製品である iPhone 5s によって、スマートフォンにおける 64 ビット コンピューティングの時代を切り開こうとしている。これは予想外の動きであり、Samsung などのライバル各社は、ハードウェアとソフトウェアがどのように連携してアプリを改善するのか、まったく明確な考えがないまま、2014 年中に 64 ビット プロセッサを搭載したモバイル デバイスをリリースしようと躍起になっている。

一方、Apple は現在、登録済みの iOS 開発者に対し、デバイスの 64 ビット A7 チップ向けにウェアーズを最適化して提出するよう求めている…

Apple が本日 iOS Dev Center に投稿し、その後理由は不明だが削除されたメモによると、iOS 6 と iOS 7 の両デバイスをサポートするように設計されたアプリは、同社が来月、単一のアプリバイナリで 32 ビットと 64 ビットの両方のコードをサポートする新しい仕様の作業を終えるまでは、32 ビットのみになるという。

撤回される前の発表内容は次のとおりです。

iPhone 5sのパワーを最大限に活用したiOS 7向け64ビットアプリを今すぐ申請できます。Xcodeでは32ビットと64ビットの両方のバイナリを含んだアプリをビルドできるため、iOS 7を搭載したすべてのデバイスで動作します。

iOS 6のサポートを継続したい場合は、32ビットのみでビルドする必要があります。来月には、iOS 6の32ビット、iOS 7の32ビットと64ビットの両方をサポートする単一のアプリバイナリを作成できるように変更する予定です。

Xcodeを使えば、アプリを32ビットと64ビットの両方のデバイスで動作するバイナリに自動的にビルドできるので、64ビットアプリの開発は簡単です。実際、開発元のChAIRは9月10日の基調講演で、自社のゲーム「Infinity Blade」をわずか2時間で32ビットから64ビットアーキテクチャに移行したと発表しました。

Apple の発表を私が解釈したところによると、iPhone 5s の A7 プロセッサに最適化された 64 ビット アプリは、同社が 32/64 ビット統合バイナリの仕様を完成するまで、32 ビットおよび iOS 6 と互換性のあるアプリとは別のダウンロードとして提供される可能性がある。

この動きは、複数のフォームファクタのデバイス用のコードを単一のアプリバイナリにまとめた Apple の既存のユニバーサルアプリからヒントを得ることになるはずだ。

白いiPhone 5sの前面

移行の予期せぬ結果として、64 ビット コードは 32 ビット コードよりも多くのスペースを必要とするため、来月準備が整うと、これらの二重バイナリ パッケージによってアプリのサイズが増大することが十分に考えられます。

実際、Apple は、64 ビット コードへの移行によってメモリ使用量が増加し、慎重に管理しないとメモリ消費量が増加してアプリのパフォーマンスに「悪影響を与える」可能性があると指摘しています。

開発者が 64 ビット アーキテクチャに移行するもう 1 つの理由は、オペレーティング システム全体の効率です。

Apple はこの問題にどのように取り組むつもりなのか、以下に示します。

iOS が 64 ビットデバイス上で実行されている場合、iOS には 32 ビット版と 64 ビット版のシステムフレームワークが別々に含まれています。デバイス上で実行されるすべてのアプリが 64 ビットランタイム用にコンパイルされている場合、iOS はこれらのライブラリの 32 ビット版をロードしません。そのため、システムのメモリ使用量が削減され、アプリの起動が速くなります。

すべての組み込みアプリは既に64ビットランタイムをサポートしているため、64ビットデバイスで実行されるすべてのアプリ、特にバックグラウンド処理をサポートするアプリを64ビットランタイム用にコンパイルすることは、誰にとっても有益です。パフォーマンスにそれほど依存しないアプリであっても、このメモリ効率の恩恵を受けることができます。

最終的にはすべての iOS デバイスが 64 ビット プロセッサを搭載するため、ある時点で 32 ビット アーキテクチャのサポートは完全に廃止されることになります。これは、Apple が Mac を Intel チップに移行してから数年後に従来の PowerPC アプリのサポートを停止したのと同じです。

iPhone 5s プロモーション(A7 チップのクローズアップ 002)

10億個を超えるトランジスタを搭載したA7チップに関しては、Appleは基調講演で、汎用レジスタと浮動小数点レジスタが前身のA6パッケージの2倍であると宣伝した。

レジスタを倍増すると、チップは 4 ギガバイトを超える RAM のメモリ空間をアドレス指定できるようになるだけでなく、より正確に計算を実行し、1 サイクルでより大きなデータ セットの操作を実行し、低速の RAM と高速のレジスタ間でより大きなデータ チャンクをより効率的に移動できるようになります。

結果的に、コンピューティングとグラフィックスのパフォーマンスが 2 倍に高速化されます。A7 チップは、初代 iPhone のプロセッサよりも 40 倍高速です。

Apple 2013年9月イベント(iPhone 5s、64ビット スライド 002)

また、iOS 7 は 64 ビット コンピューティング用に最適化されていることもわかっています。

具体的には、オペレーティング システム カーネル/ドライバーとすべての標準アプリの両方が、A7 チップを活用するように独自に設計されています。

AppleのiPhone 5Sウェブページによると:

カメラアプリはその好例です。A7に搭載された新しい画像信号プロセッサを活用することで、最大2倍高速なオートフォーカス、より高速な写真撮影、そしてより高いビデオフレームレートを実現しています。

これだけの機能が満載だとバッテリー寿命が短くなると思うかもしれませんが、A7は驚くほどの省電力設計なので、そんなことはありません。

Apple の Dev Center では、iOS 7 の 64 ビット コンピューティングについて次のように述べています。

iPhone 5sは、Appleの次世代A7チップを搭載し、デスクトップクラスの64ビットアーキテクチャを搭載した世界初のスマートフォンです。手のひらサイズで、圧倒的な高速パフォーマンスを実現します。iOSカーネル、ライブラリ、ドライバも64ビット化に対応し、アプリやゲームのCPUとグラフィックスパフォーマンスが最大2倍高速化します。

また、Xcode はアプリを 32 ビットと 64 ビットの両方のデバイスで実行できるバイナリに自動的にビルドするため、アプリを 64 ビットでビルドして実行するのは簡単です。

Apple の移行ガイドでは、アプリを新しい 64 ビット アーキテクチャに移植する方法について詳しく説明しています。

iDB および他の出版物は、iOS 7.0.1、iOS 7.0.2、iOS 7.1 を実行しているデバイスの痕跡を発見しました。これは、今後の iOS 7 ソフトウェア アップデートで、単一のバイナリによる iOS 7 の 32 ビットおよび 64 ビット コードのサポートが予定されているのではないかという推測の根拠となります。

Milawo
Milawo is a contributing author, focusing on sharing the latest news and deep content.