1. まとめトップ

【64bit CPUって何?】iPhone 5s A7プロセッサとは

64bitって何?ノートPCでも普及段階にある64bit CPUが、いちはやくiPhone 5sに搭載されます.20日に並ぶ筆者が,知りたいことをまとめます!!

更新日: 2014年04月21日

11 お気に入り 46830 view
お気に入り追加

この記事は私がまとめました

hidenori_tさん

わかりづらいので,まとめます.

まずは,apple公式サイトによるA7の説明を端的にすると...

64ビットアーキテクチャ搭載A7チップ

が日本での正式名称

新しいA7チップは、CPUとグラフィックスのパフォーマンスが
A6チップと比べて最大2倍高速です。
つまり、超薄型のスマートフォンに、デスクトップクラスのアーキテクチャが入っているのです。さらに、64ビットアーキテクチャのためにつくられたiOS 7が、A7チップの性能を最大限に活かします。

A7チップはOpenGL ESのバージョン3.0に対応しているので、かつてはMacやWindowsパソコン、ゲーム専用機でしか実現できなかった、繊細なグラフィックスや複雑なビジュアルエフェクトも表現できます。

iOS 7とすべての内蔵アプリケーションは、A7チップに合わせて最適化されています。
その良い例がカメラアプリケーションです。
A7に搭載された新しい画像信号プロセッサを活用するので、オートフォーカスは最大2倍高速。
撮影速度もより速くなり、ビデオのフレームレートも一段と向上しました。
ここまでレベルが上がったら、バッテリーの駆動時間に影響が出るのでは、と思うかもしれません。
でもご心配なく。A7チップは驚異的なエネルギー効率を持つように設計されています。

A7チップは、ほかのどんなスマートフォンもまだ持っていない64ビットのアーキテクチャを中心に置いて設計されています。
一世代前のチップと比べ、CPUとグラフィックスのパフォーマンスは最大2倍。
まったく新しい画像信号プロセッサも搭載しています。
OpenGL ES 3.0に対応するので、コンピュータやゲーム用コンソールでしか得られなかったビジュアルエフェクトも体験できます。
しかも、これだけパフォーマンスを向上させたのに、A7のエネルギー効率は優れたままです。

上記までがapple公式の情報です

そもそも 64bit CPU って何がどう違うの?

1bitでは0と1の2種類の情報しか表せないが、2bitになると「00」「01」「10」「11」と4種類の情報を表すことができる。
簡単に言えば、1bit増えるごとに扱える情報量は2倍になっていく

64bit CPUでは扱えるメモリーも格段に増える。
一般的な32bit CPUでは、扱えるメモリー空間は最大4GB(約40億バイト)までだが、64bit CPUなら理論上は最大16EB(16エクサバイト、約1600京バイト。
10億の10億倍が100京なので天文学的な数値だ)のメモリーを扱えることになる。

実際の64bit CPUではCPUやチップセットの制限があるため、そこまで大容量のメモリーは扱えないが、それでも32bit CPUよりはるかに大きいメモリーに対応可能

具体例を挙げると、CPUが実際に扱えるメモリー空間は「物理アドレス」と呼ばれており、Core 2シリーズなど64bit CPUの場合、32bitモード時の物理アドレスは最大64GB(36bit)。これに対して64bitモード時では最大1TB(40bit)と約16倍に増えている。

メモリ4GB以上積んでいないと64bitの実力は発揮出来ないという声も...

もちろん,5sはメモリ4GB積んでいるとは考えられない... (iPhone 4S/512MB, 5/1GBと言われているため)

技術が解る人からは,A7のためだけでも,5sは買い!!だそうです

ちなみに,他メーカーのスマホに64bitプロセッサの搭載がされるのは来年の夏以降と言われているため,少なくとも1年はappleにアドバンテージがあることになりました

AppleのCPUがベースとしているARMのロードマップを見ると、現行アーキテクチャであるARMv7(Apple A6はここに含まれる)の次には、64bit拡張が施されたARMv8が計画されているが、スマートフォンへの採用はまだ先の話。Apple A6から独自設計のCPUコアを採用し始めたAppleが、その勢いでARMv8アーキテクチャを他社に先駆け実装したと考えてよさそうだ。

A7に関する情報は少ないが、発表会のスライドにあった「Over 1 billion transistors」と「102mm2 die size」(A6は約96.7mm2)という記述をつなぎあわせると、同等のダイサイズにA6の約2倍となるトランジスタを搭載していると分かる。新CPUは20nmプロセスで製造されるという噂を以前耳にしたことがあるが、それが事実であれば腑に落ちるスペックだ。

64bit CPUであるApple A7は、初代iPhoneの最大40倍高速だという,
一方、搭載されるメモリ(RAM)について言及されなかったことが気がかりだ。
同じカーネル(xnu)を採用するOS Xも、32bit環境から64bit環境への移行を経験しているが、64bit環境では若干(経験でいえば10%前後)メモリ消費量は増加した。
iPhone 5sにも、できれば2GB以上欲しいところだ。

◆ 64bit化でiPhoneはどう変わる?

ハードウェアとしての64bit環境は、肝心の本体を入手しなければ検証しようがないが、アプリ実行環境は経験則である程度推測できる。
システムおよびアプリの64bit化がどのような変化をiPhoneにもたらすか、ざっくりまとめてみよう。

 まずは互換性の問題だが、これは心配無用だろう。OS Xのバイナリフォーマット「Mach-O」(マーク・オー)は、単一ファイルに異なるアーキテクチャの命令を収録でき、実行環境に応じて使い分けられる(ユニバーサルバイナリ)。
LeopardやSnow Leopardのときは、PowerPCからIntelアーキテクチャへの移行期と重なったため、PowerPCのサポートを継続しつつ64bit化を推進する(計4アーキテクチャ)という離れ業をやってのけたが、ユニバーサルバイナリなのでユーザーの目には単一のファイル/アプリにしか映らなかった。
Apple A7は32bitバイナリーをそのまま実行できるため、大半のアプリはユニバーサルバイナリの体裁をとる必要はなさそうだが、パフォーマンスを落とさず互換性を維持できる心強い機構がiOSにはあるのだ。

システムメンテナンスも、おそらく従来どおりだ。
OS Xが32bit環境から64bit環境へ移行するときには、ドライバ類(KEXT)とシステムフレームワーク(ライブラリ)をユニバーサルバイナリ化することから始まった。
カーネルもユニバーサルバイナリ化されていたが、システムの安定性を重視するAppleは、ドライバ類の64bit対応が落ち着くまで32bitモードをデフォルトとしていた。
しかし、iOSではすべての開発リソースをAppleが抑えているわけだから、そのような移行期間は必要ないうえ、端末ごとに専用のインストールイメージを用意することも可能だ。
おそらくiPhone 5sでは、最初から64bitモードのカーネルが動作するのだろう。
32bitアプリの実行に備えフレームワークはユニバーサルバイナリだろうが、ドライバや標準装備のアプリは64bitバイナリのみと考えられる。

App Storeで配布されるアプリだが、パフォーマンスを重視するアプリはApp Store内部に32bit版と64bit版を用意しておく方法も考えられる。
しかし、アプリ容量におけるバイナリファイルの占める割合の低さ(大半は画像などのリソースファイルだ)からすると、そのようなアプリはユニバーサルバイナリで対処するはず。
実際のところ、Appleがどのような形式を採用するかはわからないが、ユーザが32bitアプリか64bitアプリかを意識する場面は少ないのではないだろうか。

M7もよくわかりません...

お気に入りに追加していただけると嬉しいです.

1