iPhoneの64ビットA7の利点は何ですか


21

64ビットプロセッサへの移行がiPhoneでこれほど重要な理由を理解しようとしています。2倍のレジスタがあるため、プロセッサは2倍のデータを処理できるため、パフォーマンスが向上することを理解しています。

しかし、すぐに多くの電話が4GBを超えるメモリにアクセスすることはありません。それはやり過ぎのように見え、バッテリー寿命に悪影響を及ぼします。

もう1つの問題は、ほとんどの変数が2倍のメモリを必要とすることです。これにより、メモリが少ないモバイル環境で問題が発生します。

私は、Appleの人々は知的であり、おそらくこれを行う大きな理由があると信じています。私は彼らを理解しようとしています。

編集

GPUについてはあまり知りませんが、64ビットのレジスタを使用すると、2つのピクセルを各レジスタにロードでき、操作を個別に実行できると言われました。64ビットに関してグラフィカルな利点はありますか?


2
副次的な注意点として、処理能力が高いということは、プログラマーが以前よりも怠になる余裕があることを意味します(最適化が少ない)。
Vlad Preda

3
@ Chris.Stover-今日は利点がありません。もちろん明日、iOSアプリケーションは、電話のメモリが増えると、より多くのメモリを使用できるようになります。わずか5年で、電話のメモリ容量は少なくとも200%増加しました。この傾向が続くと、6GB〜8GBの電話が非常に短い時間で見られる可能性があります。Appleはまた、このようなことをするのを楽しみにしています。すべては、ARMが今後64ビットデザインのみをライセンスする可能性が高いという事実に帰着します。それは本当に電話がより速くなる本当に多くのレジスタを持っているという事実に帰着します。現在、64ビット仕様は重要ではありません。
ラムハウンド

1
2倍ではなく、桁違いに大きいです。32ビットプロセッサは、4 GBのRAMトップのみに対応できます。64ビットプロセッサは、約18エクサバイトに対応できますが、これは3桁高くなっています。
世界エンジニア

7
これ以上640Kメモリ制限
Reactgular

1
Nexus 5には3 GBのRAMが搭載されていることが疑われており、来月発売される予定です。4 GB +はあなたが思うほど遠くないと思います。
ブレンドン

回答:


25

それは大部分に感銘を与えるので、それは主にそこに大きな数を投げているだけです。数値が大きいほど明らかに優れているため、64ビットプロセッサを搭載したものは32ビットプロセッサを搭載したものよりも明らかに優れています。新しいCPUが有意に良好その前任者よりもですが、アップルのファッションでは、彼らは技術仕様に基づいて販売しようとするつもりはない-彼らはちょうどことを伝えるつもりだ64ビットA7がある新しい&より良いよりも32ビットA-6 。ただし、技術仕様を見ると、次のことがわかります。

  • 28nm vs 32nm チップワーク
  • 改善された統合グラフィックスプロセッサ
  • ARM v8アーキテクチャ v。ARM v7(SIMD関数を追加。13から31の汎用レジスターにジャンプ)
  • オンダイ(つまり-高速)メインメモリ

それ以外にも、「4GBの壁」に立ち向かう前に、今日では(下位互換性のある)64ビットハードウェアの展開を開始できるという事実があります。数年後、64ビットが必要になると、すべてのハードウェアがそれをサポートし、レガシーの32ビットアーキテクチャを処理する必要がなくなります。


1
wiki記事で情報のソースを実際に見つけることができません。他のサイトは、1.5GHzのデュアルコアを報告しています。あるウィキページでは、A7は1.7GHzオクタコアです。次を参照してください。en.wikipedia.org
wiki / Apple_(system_on_chip

2
@ Chris.Stoverは、Appleが技術仕様でハードウェアを販売していないことを示しているだけです-彼らは「Newer&Better!」新しいハードウェアが実際に優れている理由説明するのではなく、次世代に。
ショーンマクサムシング

2
ARM v7はすでに40ビットのアドレス行(1 TBのRAM)をサポートしていますが、その32ビットアーキテクチャのアプリはそれぞれ4 GBしかアドレス指定できません。現在、Arm v8は32ビットアプリをサポートしているため、下位互換性は問題になりません。
gbjbaanb

16

多くのARMv7コアはLPAE(Large Physical Address Extension)をサポートしているため、ARMv7には「4GBウォール」はありません。LPAEはx86のPAEと同様の概念ですが、LPAEは40ビットアドレッシングを使用します。つまり、LPAEが装備したARMv7は、最大1TBのRAMに対応できます

A7を含む今後のARMv8コアは64ビットの物理アドレス指定を使用しないことに注意することも重要です。ほとんどの場合、A7は40ビットまたは44ビットの物理アドレス指定を使用します。後で最大16 TBのRAMにアクセスできます。

もちろん、ARMv7のLPAEまたはARMv8のAArch32モードのどちらでも、アプリケーションはまだ32ビットなので、アプリケーション自体は一度に4GBにしかアクセスできません。しかし、私はそれがいつかモバイルデバイスで問題になるとは思わない。

アプリがより多くのメモリ(64ビットポインター)を使用することを心配しますが、アプリが32ビットモード(AArch32)で実行される場合はそうではありません。

一方、ARMv8は、AArch64とは関係のない、ARMv7に比べてアーキテクチャが改善されています。

TL、DR:A7の64ビットはマーケティングの仕掛けです。4GB以上のRAMを搭載したシステム上でも、32ビットアプリのLPAEよりも大きな利点はありません。また、64ビットアプリは近日中にリリースされません。

更新:Qualcommマーケティングエグゼクティブ(これらのコメントで降格されたため、現在は元エグゼクティブ)によって確認されました。

Qualcommの上級副社長兼最高マーケティング責任者であるAnand Chandrasekher氏はインタビューで、「AppleがA7で[64ビット]を行ったため、多くのノイズがあることを知っています」。「彼らはマーケティングの仕掛けをしていると思う。消費者がそこから得られる利益はゼロだ」

64ビットの利点はメモリアドレス指定能力の向上ですが、今日のスマートフォンやタブレットには関係ありません、とChandrasekherは言いました。iPhone 5sのDRAMは1GBのみです。

「主に... 4GBを超えるメモリアドレス指定のために必要です。それだけです。パフォーマンスのために実際には必要ありません。64ビットで使用されるアプリケーションの種類は、ほとんどが大規模なサーバークラスアプリケーションです」以前にIntelのモバイルプラットフォームグループを運営していたChandrasekher。(ソース


9

そこにA7いることARMv8にだけ焦点を当てることは明らかな利益です。ARMは命令セットとアーキテクチャを再起動しています。

と後方互換性があるためARMv7、次のバージョンも主張しています

  • 新しい命令セット(A64)
  • AArch64状態の例外の例外処理を修正
  • バンクレジスタとモードが少ない

そのため、アーキテクチャの違いにARMv8挑戦ARMv7し、より良いプラットフォームにつながるレガシー機能を削除する可能性のあるシステム開発者向けのよりクリーンなインターフェースを提供します。つまり、バッテリーに悪影響を与えるのではなく、より良いパフォーマンス/エネルギーを期待する必要があります。

詳細については、ARM Architecture Previewをご覧ください。


+1。Gruberは、daringfireball.net / 2013/09 / the_iphone_5s_and_5cにあるARMv8の利点についても説明しています。(「A7:ARMv8および64ビットアーキテクチャ」までスクロールします。)
ジョシュケリー

4

64ビットプロセッサで32ビットを超える最大の利点は、メモリのサイズではなくメモリの移動です。32ビットが直接アクセスに4GBの制限を課すことができるのは事実ですが。この制限を回避するための多くのハードウェア/ソフトウェアソリューションがあります。

64ビットプロセッサは、単一のプロセッサ操作でより多くのデータを簡単に読み書きできます。これにより、アセンブリコードは8バイトブロックで操作を実行できます。これにより、32ビットプロセッサよりもパフォーマンスが大幅に向上します。浮動小数点の計算は64よりも32の方が高速で、CPUがデュアルレジスタを使用する場合、128ビットのデータブロックで動作できます。

64ビットプロセッサは、物理メモリに対してより広い帯域幅も備えています。1080pを記録するカメラがあり、そのビデオを編集する場合。1GBのビデオファイルで操作を実行すると、64ビットでより高速になります。

プロセッサのGhzが同じ場合でも、上記のすべてが当てはまります。

64ビットが非常に優れている場合、128ビットではないのはなぜですか?

CPUのパイプラインに追加するビットが多いほど、CPUが移動する必要があるデータが多くなります。CPUはその帯域幅を16または32に狭めることはできません。そのため、ソフトウェア開発者にとって問題が発生します。ほとんどのソフトウェア(カレンダー、メモなど)は大量のデータに依存しないため、結果として128ビットには多くの帯域幅が浪費されます。これにより、パフォーマンスとバッテリ寿命が低下し始める可能性があります。そのため、CPUメーカーは帯域幅とソフトウェア要件のバランスを見つける必要があります。

Appleがモバイルコンピューティングの世界ですぐに新しい64プロセッサをリリースしたことには驚かされます。これに対する彼らの本当の動機は3Dグラフィックスだと思います。64ビットプロセッサを使用すると、電話機はより多くのデータをGPUにすばやく移動できます。これにより、高速の3Dゲームとより印象的なグラフィックスが可能になります。そのプロセスはデータに大きく依存するため、リアルタイム3Dで64ビットの利点を実感し始めるでしょう。


4
最近/最新のCPUアーキテクチャは、ここで説明するよりはるかに複雑です。CPU cache linesは、16ビット、32ビット、またはおそらく64ビットのメモリバスを介して呼び出される単位でメモリからデータを移動します。CPUアーチのネイティブワードサイズと一致する必要はありません。その大きな問題はデータを移動することですが、その問題は他のハードウェア/アーキテクチャのドメインに属します。FPは、実際には非常に高速で、単精度または倍精度のサイズで動作するFPUで実行されます。実際にはビデオデコードや3Dでも同じですが、64ビットとは限らない独自の専用ハードウェアがすべて備わっています。
auselen

4
呼ばれる素晴らしいドキュメントがありwhat every programmer should know about memory好奇心、開発者のための無料利用できるakkadia.org/drepper/cpumemory.pdf
auselen

2

大量のデータを処理する際に物事を簡単にします。暗号化(安全な携帯電話を備えたPRISMが非常に重要になった後)および科学的アプリケーションでは、多数が非常に重要です。


1

32ビットに固執すれば、今は問題にぶつかることはないかもしれませんが、近い将来には確かに問題があるでしょう。デスクトップの世界から学んだ教訓は、移行は長くて苦しいプロセスになるということです。そのため、後からではなく、早めに開始する必要があります。

スマートフォンが手始めから64ビットではなかったことは、私にとっても驚くべきことでした。


現在のアプリを32ビットに変換して、これをテストしました。いくつかの警告がありましたが、エラーはありませんでした。幸いなことに、アップルはすべての警告に対して修正案を提案していたので、各警告をクリックし、Enterキーを押して修正を受け入れました。約5分かかり、64ビットで稼働しました。頭痛なし、問題なし...これまでのところ
クリス・ストーバー

0

技術的な利点はあまりないと思います。まず、iPadを考えると、より理にかなっていると思います(バッテリーが大きいので、より多くのRAM、プロセッサによるより高いエネルギー消費などをサポートできます)。現在進行中の他の発表をもう一度見てください。AMDは、2014年に64ビットARMプロセッサを出荷することを発表しました。これは、基本的には、ハイエンドのAndroidおよびWin8タブレットに直面している状況に直面している市場のリーダーシップを維持するAppleです。


0

短期的にはほとんど何もありません。実際には、いくつかの点で一歩後退しています。私が知っている3つの主な利点があります。

  1. 64ビットは、数字が大きいほど優れており、暗号化の恩恵を受けます。これは、携帯電話の指紋スキャナーと組み合わせると面白いかもしれません。
  2. 繰り返しになりますが、64ビットと多数の改良点は物理レンダリングに役立ちます。これは、iOS7のUIで使用される物理量を考慮すると便利です。これは、特にiPadのような大きな画面領域を持つゲーム開発者にも役立ちます。
  3. また、これを使用して現在の携帯電話をある程度校正することもできます。

0

ベンチマーク。

x86、MIPS、ARM ISAの32ビットと64ビットの両方のアーキテクチャモードが可能な一部の実装では、特定の重要なアプリケーションで64ビットモードのベンチマークが高速化されました。主要な理由の1つは、64ビットISAがより新しいため、ISAアーキテクトはアプリケーションの統計情報と、ISAを定義する際のアプリケーションの動作セットを最適化する方法についてより多くを知っていたことです。また、新しいプロセッサISAは、ムーアの法則のペースで成長し、モバイルデバイス分野で既に100万倍以上に成長しているアプリケーションメモリのニーズに対して将来に対応する必要があります。

したがって、新しいarm64 ISAは、開発する可能性のあるパフォーマンスに制約があるコード(私のコードにあります)でベンチマークを高速化し、10年以上後に一般的になりそうな広大な仮想アドレス空間にダムCポインターが対応できるようにします(これは元の32ビットARM ISAがすでに存在するよりもはるかに短い時間です)。

特定のアプリケーションセットでのパフォーマンス(確認するための手段)は、arm64を好む大きな理由です。


-4

64ビットにより、OSXのデスクトップビルド(すべて64ビット)とのコード共有が大幅に増えます。


ただし、現在すべてのiosアプリは32ビット互換性を維持する必要があるため、64ビットのみのコードは32ビットに変換する必要があります。
ブライアンチェン

1
しかし、いずれにしてもアーキテクチャはまったく異なります(x86-64とarmv8)。それによるゼロゲイン(C / C ++ / ObjCで正しく作成されたプログラムは、要件ではない場合でも、任意のビット数で動作します)。
Jan Hudec
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.