Apple が iOS 7 で 64 ビット モバイル デバイスに移行したことは驚きでしたが、開発者向けに概説された同社の情報は、64 ビット モバイル アプリへの移行が短期的に大きなメリットをもたらすことを示しており、これは Google の Android でも再現するのが難しいようです。長期的には。

多くの懐疑的な見方を受けた

Apple の 64 ビット アーキテクチャへの移行はでっち上げか、実際の利益をもたらさない無意味なマーケティング戦略か、あるいはいずれにせよいずれにせよ誰もが最終的に従うことになる避けられない移行かのいずれかであると主張する評論家や自称専門家が不足することはありません。したがって、ニュース価値も評価にも値しません。

レポートでは、基本的に 64 ビットへの移行自体は iPhone 5s に直接的なメリットはないと主張する一方で、次のデバイスなど、他のデバイスでは後で何らかの用途がある可能性があることを認めていることによって、このすべての懐疑論を調和させようと頻繁に試みられています。 iPadの収穫。

ブルック・クローザーズ、執筆CNET、を運びました小見出し「同社の64ビットチップへの移行は必要だ。そして、Appleが最初にそこに移行したことには意味がある」と述べたが、その報告書でも「すべてのアプリが64ビットプロセッサの恩恵を受けるのか?いいえ。ほとんどではないにしても、多くのアプリが」と結論付けている。 、アプリには意味のあるメリットがありません。」

スティーブン・シャンクランド氏も執筆CNET、もっとありました強制的に却下するApple の 64 ビットに関する発表。

同氏の小見出しは、「64ビットチップは魔法のように32ビットチップよりもソフトウェアを高速に実行できるというAppleの宣伝文句を鵜呑みにしないでください」と警告し、「64ビット設計ではほとんどのタスクのパフォーマンスが自動的に向上するわけではない」と付け加えた。

Joel Hruska によるさらに扇動的なレポートエクストリームテック と主張した「64 ビット A7 チップは宣伝文句であり、パフォーマンスは向上しません。」

これらの意見は、Apple が Cocoa Touch 64 ビット移行ガイドで iOS 開発者に伝えている内容と矛盾しています。「64 ビット処理をサポートするアプリは、同じデバイス上で実行される 32 ビット アプリと比較すると、ほぼ常にパフォーマンスが向上します。」 - Apple

「64 ビット処理をサポートするアプリは、同じデバイス上で実行される 32 ビット アプリと比較すると、ほとんどの場合パフォーマンスが向上します。」と同社は述べています。iOS での Cocoa Touch 開発に関連して。

たとえ Apple が携帯電話の 64 ビット CPU の価値についてマーケティングの煙を吹いただけだったとしても、アプリに 64 ビット サポートを追加するメリットについて開発者に内密に嘘をついたのでは意味がありません。それは実際にはかなり逆効果になります。

64 ビット A7 が App Store アプリに直接的な利点をもたらさなかった場合、Apple はサードパーティのパートナーに他の戦略的進歩に取り組んでもらう方が適しているでしょう。その戦略的進歩には数多くあります。 3年前の初代iPadの発売時と同様、メディア関係者の当初の懐疑は明らかに誤りである。

64 ビット アーキテクチャへの移行の利点についての混乱は、PowerPC の場合、64 ビットへの移行が当初多くのアプリでメモリ使用量を増大させる以外にあまり効果がなかったという事実に関連している可能性があります。

しかし、それは PPC が IBM の 64 ビット POWER アーキテクチャの縮小版として誕生したためであり、最初から多くのレジスタを備えた設計でした。 PPC は、G5 で 64 ビットにスケールバックされるまで、10 年ほどの間 32 ビット プラットフォームとしても存在していました。比較的若い 64 ビットへの移行では、アーキテクチャの大規模な見直しは必要ありませんでした。

しかし、Intel の x86 の場合、64 ビット x86 プロセッサへの移行は、「レジスタ不足」という長年の問題の解決策ももたらしました。x86 ファミリは 16 ビット アーキテクチャとして誕生し、段階的に拡張されてきたためです。 32ビットCPU。 64 ビット PC が登場するまでに、x86 の設計は 25 年近く前のものでした。

Intelのx86と同様に、ARMの既存のチップアーキテクチャ同様に、64 ビット パッケージの一部として提供される新しい 64 ビット ハードウェア機能からも恩恵を受けることができます。これは、ARM アーキテクチャも現在 25 周年に近づき、その後ハイエンドでのアーキテクチャの飛躍が予定されているためです。

Apple は、新しい A7 には、32 ビットの前モデルに比べて 2 倍の汎用レジスタと浮動小数点レジスタ (どちらも CPU 内のアドレスとデータの小規模なストレージとして機能し、ソフトウェアが外部 RAM に頻繁にアクセスする必要がなくなる) が搭載されていると述べています。

同時に、PPC や x86 デスクトップが 64 ビットに移行したことを覚えているほど長く生きている人は、当時の Mac や PC の出荷時の RAM が少ないのが一般的だったということも覚えているはずです (PowerMac G5 では 256 ~ 512 MB)。たとえば、今日の iOS デバイスが備えているものよりも優れており、64 ビット アーキテクチャの利点を実感するには少なくとも 4 GB の RAM が必要であるという議論は特に奇妙です。

そして今、馬から

「アーキテクチャの改善点の中でも特に、64 ビット ARM プロセッサには、以前のプロセッサの 2 倍の整数レジスタと浮動小数点レジスタが含まれています。その結果、64 ビット アプリは一度により多くのデータを処理できるようになり、パフォーマンスが向上しました」と Apple は述べています。 。「一般に、64 ビット アプリは 32​​ ビット アプリよりも高速かつ効率的に実行されます」 - Apple

「64 ビット整数演算やカスタム NEON 演算を広範囲に使用するアプリでは、さらに大きなパフォーマンスの向上が見られます。64 ビット プロセスでは、ポインターは 64 ビットで、一部の整数型はかつては 32 ビットでしたが、現在は 64 ビットです。

「システム フレームワーク、特に UIKit と Foundation の多くのデータ型も変更されました。一般に、64 ビット アプリは、同等の 32 ビット アプリよりも高速かつ効率的に実行されます。ただし、64 ビット コードへの移行により、メモリ使用量が増加します。」慎重に管理しないと、メモリ消費量が増加し、アプリのパフォーマンスに悪影響を及ぼす可能性があります。」

iOS 7 と 64 ビットでのメモリ管理

Apple は、開発者がアプリを 64 ビット用に再コンパイルすることを望んでおり、Xcode 開発ツール自体で過渡的な重労働の多くを処理することで、これを簡単に実行できるようにしています。これにより、同じアプリ パッケージ内で 32 ビット コードと 64 ビット コードの両方をシームレスに展開する「ファット バイナリ」パッケージ (別名ユニバーサル バイナリ) が提供されます。

iOS シミュレーター上で PCalc を 64 ビットで実行できるようになりました。所要時間は約 1 時間で、それほど難しくはありませんでした。あとは実際にテストするために 5S が必要です。

– ジェームズ・トムソン (@jamesthomson)2013 年 9 月 16 日

iOS の 64 ビットへの移行は、iOS 7 とは関係のない機能強化からも恩恵を受けています。Apple は次のように推奨しています。「既存のアプリがある場合は、まずアプリを iOS 7 用に更新してから、64 ビット プロセッサで実行できるように移植する必要があります。最初に iOS 7 用に更新すると、非推奨のコード パスを削除し、最新の方法を使用できます。」

同社はまた、たとえそれらのアプリ自体が 64 ビットへの移行によって大きな利益を得なかったとしても、サードパーティ アプリがタイトルの 64 ビット バージョンをユーザーにリリースすることが有益である理由についても概説しています。重要な結果は次のとおりです。エンドユーザーのメモリ使用量が削減されます。

「iOS が 64 ビット デバイスで実行されている場合、iOS にはシステム フレームワークの 32 ビット バージョンと 64 ビット バージョンが個別に含まれています。デバイス上で実行されているすべてのアプリが 64 ビット ランタイム用にコンパイルされている場合、iOS は 32 ビット ランタイムをロードしません。これらのライブラリのビット版は、システムが使用するメモリが少なくなり、アプリをより速く起動できることを意味します」と Apple は説明します。

「すべての組み込みアプリはすでに 64 ビット ランタイムをサポートしているため、64 ビット デバイス上で実行されるすべてのアプリ、特にバックグラウンド処理をサポートするアプリが 64 ビット ランタイム用にコンパイルされることは、誰にとっても利益になります。パフォーマンスに敏感でないアプリでも、このメモリ効率により利益が得られます。」

64 ビットの飛躍的なメリットとデメリット

つまり、iOS アプリを 64 ビットに移行する利点には、A7 の 64 ビット コアのハードウェア上の利点 (より多くのレジスタとおそらくより多くのキャッシュを含む)、新しい 64 ビット ARMv8 命令セットに固有の改善と最適化が含まれます。そして、iOS 7 に付属する必要な API の機能強化です。

移行の主な欠点は、iPhone 5s ユーザーがすべてのアプリを 64 ビットに移行できない場合に、システム メモリの消費量が増加することです。このため、Apple にとって Apps Store タイトルの 64 ビットへの移行は大きな優先事項となっており、その後、サードパーティ開発者にサポートを促すことになります。

したがって、大量の数値処理を行わないアプリであっても、Apple の 64 ビット移行の恩恵を受けることになります。これは、使用する iOS 7 の共通ライブラリとフレームワークが、新しい 64 ビット ハードウェアを活用するようにすでに最適化されていることが理由の 1 つです。その理由の 1 つは、この移行により、最新の API を介して追加の副次的なメリットがもたらされ、iOS 7 の新しい外観、デザイン面、その他の機能強化と合わせて、App Store のタイトル ライブラリ全体が更新されるのに役立つためです。

GoogleのAndroidの64ビットハードル

Google の Android が 64 ビットに移行するかどうかも、特定するのは困難です。 Android が使用する Linux カーネルはすでに 64 ビット アーキテクチャに移植されており、モバイルに最適化されたデバイスを構築することを目的としたものではないものの、潜在的には ARMv8 にも移植されており、Apple が A7 を発表したときに「他の人たちはまだ話していなかった」テーマです。 。

ただし、Android アプリは Linux プロセスではありません。これらは、Java のような仮想マシン上で実行される Dalvik 実行可能ファイルです。一般的な Android の「.dex」アプリは、すべての iOS Cocoa Touch アプリとは異なり、ネイティブ コードではありません。

むしろ、ネイティブ ブラウザの JavaScript エンジン (本質的には Google の ChromeOS も同様です) 内で実行される Adob​​e Flash ミドルウェアまたは JavaScript コードに似ています。 64 ビット プロセッサを効果的に使用するために Android の Dalvik/Java VM アーキテクチャを再設計するのは簡単な作業ではありません。

64 ビット Android はエンジニアリング的にほとんど意味がありません

Apple の iOS とは異なり、Android の Dalvik VM は、「デスクトップ クラス」アプリをモバイル デバイスに提供することを目的として設計されていません。 Google の Android プロジェクトは、Sun の Java Mobile プラットフォームを採用し、Google がライセンス料なしで使用できるオープンソース プロジェクトに拡張する方法として始まりました。 Dalvik VM は、多くの RAM を持たない低速プロセッサ上で単純なアプレットを実行するために明示的に作成されました。 Android が追いつくために方向転換したのは iPhone が登場してからです。

Android の Dalvik を 64 ビットに移植することは、サブコンパクトのエコノボックスを全地形対応 SUV に改造するようなものです。それを捨てて、最初から始めるほうがはるかに理にかなっています。Google にとってのスクラッチとは、ChromeOS のことです。

パフォーマンスの目的で Dalvik VM を使用せずに実行される「ネイティブ」 Android アプリ (多くの場合ゲーム) もあります。この細分化されたネイティブ/仮想の亀裂は、たとえ Android を真の 64 ビット環境にすることに Google が興味を持っていたとしても、その取り組みをさらに複雑にしています。

ネイティブ アプリと VM アプリの両方を 64 ビットで動作させながら、両方のタイプの既存ソフトウェアとの 32 ビット互換性を維持するには、それ自体がメモリ管理の問題を伴うことになります。プラットフォームが正常に動作するには、すでに iOS よりも多くの RAM が必要です。

64 ビット Android はビジネス上あまり意味がありません

また、Facebook や Angry Birds などのクロスプラットフォームの基本や、本質的に壁紙、電子書籍、音楽である多数の Google Play タイトル以外に、斬新で重要なアプリがほとんどないプラットフォームに 64 ビット CPU がどのようなメリットをもたらすのかも明らかではありません。サムスンのジェイ・Zのようなアルバム市場調査アプリ

Android スマートフォンには、Epic の Infinity Blade シリーズのようなコンソール スタイルのビデオ ゲームが著しく欠けています。さらに、タブレットからビデオ ゲーム専用機、カメラ、音楽プレーヤーに至るまで、Android を新しいフォーム ファクタに搭載する取り組みは、いずれも極めて控えめな結果しか得られず、最小限の売上にとどまるだけでなく、非常にローエンドに焦点を当てたデバイスをターゲットにするという点においても同様でした。

メディアは Android を祝福することを止められないが、配送発展途上国の多くのホワイトボックスタブレットでは、バレル底部のコンポーネントを装備した場合にすでに販売利益が得られなくなっている39ドルのタブレットにハイエンドの64ビットプロセッサを搭載するビジネスケースはありません。

Apple は、ほぼ利益のないローエンド デバイスで主に構成されている Android プラットフォーム全体の規模に匹敵する iPhone と iPad のプレミアム デバイスの販売を維持しています。 Samsung のハイエンド携帯電話から Google の Nexus 7 タブレットに至るまで、Apple と同等のハードウェアは、Apple のような数量で販売されておらず、利益率もはるかに低いです。

Apple の iPhone 5s レベルの 64 ビット高級 Android デバイスを生産することは、純粋に企業の自尊心の行使であり、Google の ChromeBook Pixel や少量生産で手作りされた Moto X、Samsung の膨大な数の販売台数の少ない大型タブレット、LG の製品に匹敵するものとなるでしょう。贅沢プラダの電話または金メッキポルシェ デザイン ブラックベリー20,000ユーロで落札されましたが、会社の無価値感を免れることはできませんでした。

このような技術的に複雑な 64 ビットへの移行を実現するには、Google 自体も同様です。注意を向けるAndy Rubin の Android 中心の戦略を倍増させるのではなく、Chrome に移行するのです。Android 中心の戦略は、これまで主に知的財産に対する無遠慮なアプローチに関連して重大な法的問題を引き起こし、お金を払いたくないユーザーのファンベースを会社に築いてきました。 、特にソフトウェア。

Samsung の 64 ビットの状況

こうした現実により、サムスンは約束した 64 ビット Android に加えて 32 ビット Android を仮想化することを余儀なくされるかもしれないスペック上のチップ、その結果、真の「デマ64ビット」が行われます。演劇のベンチマーク実際のパフォーマンスの向上ではなく、Apple が A7 という爆弾を投下して以来、テクノロジーメディアがすぐに Apple を非難してきたことそのものだ。

Android の 64 ビット アプリへの移行には、別の複雑な問題もあります。プラットフォームとしての Android の主な問題は、開発者が実際に Android を活用していないことです。これは、斬新で興味深いアプリのための最高のプラットフォームではありません。さらに、開発者は既存の Android 3.x/4.x の機能を真剣に活用していません。これは主に、Android インストール ベースの大部分が依然として Android 2.x に満足していないためです。

Google Play をよく調べてみると、Android 4.x を必要とするアプリや、数年前に登場した新機能を特別に活用するアプリを見つけるのは難しいでしょう。

Googleは、Google Playのアクティブユーザーを示す円グラフからAndroidのインストールベースの大部分を除外しているが、Android 4.0のリリースから2年が経った今でも、Playのアクティブなアプリダウンローダーの半分、さらにはそのセグメントを表しているにすぎないとしか報告できない。 Android 4.x は 3 つの API レベル (および 2 つのデザート名) に分かれています。

今月の時点で Google は、昨年 11 月にリリースされた Android 4.2 のバージョンを搭載しているアクティブ ユーザーはわずか 8.5 パーセントであると報告しています。それはからです2.3パーセント四半前。このペースでいけば、昨年の Android は今年末までに 15% を超えることはないだろう。

幾つかサムスンやその他のライセンシーが販売する携帯電話の大部分がローエンドデバイスであることを考えると、Android の新しい 64 ビット版がプラットフォームのユーザーベースの 10 分の 1 でも蓄積するのにかかるでしょうか?

そうなると、もしサムスンが理論上 64 ビットのハイエンド「Galaxy S6」を提供したとしても、開発者が新しいチップ アーキテクチャの恩恵を受ける可能性のある有用な新しいアプリケーションを生成する可能性は低く、その結果、そのすべての作業が主に次のことに貢献することになります。 RAM 使用量の増加について Apple は、新旧のアプリを混在させることによる副作用と説明しています。

Samsungの代替案は、SamsungのBada、IntelのMoblin、NokiaのMaemoを統合した放棄ウェアのLinuxるつぼであるTizenを完成させて出荷することだ。 Tizenはサムスンに独自の「純粋な」モバイルLinuxプラットフォームを提供する可能性がある。

Tizen の 64 ビットへの移植は、現時点では 32 ビットのレガシー アプリ エコシステムが存在しないため、より簡単です。それはTizenの欠点でもあります。

Tizen は、Android や Windows Phone と並んで 3 番目のサポート対象プラットフォームを追加することで、Samsung の社内開発努力を断片化する可能性もあります。あるいは、サムスンが優先プラットフォームとして Tizen を立ち上げることに成功した場合、Google の Android 市場シェアは即座に崩壊するでしょう。

より可能性が高いのは、Samsung が BlackBerry の PlayBook OS と同様の互換環境で既存の 32 ビット Android アプリをホストしながら、約束の 64 ビット ハードウェアで実行する 64 ビット Tizen を発売する穏やかな代替シナリオですが、その戦略もうまくいきました。金メッキのポルシェ デザイン電話のように。

いずれにせよ、Apple は 64 ビット版の iPhone と (間違いなく) iPad の販売に 1 ~ 2 年独占的に取り組み、App Store アプリのライブラリを 64 ビット版のずっと前に 64 ビット版に移行できるようです。代替案は、他のモバイル プラットフォームでの採用の最先端にさえ達しています。

また、Apple A7 の 64 ビット後継者たちの前に立ちはだかるもう 1 つの障害があり、これは、携帯電話の文脈で 64 ビットについて誰もが考え始める前に、なぜ Apple が A7 アーキテクチャを実現するために数十億ドルを投資したのかを説明するのに役立ちます。それは将来のセグメントで検討されます。