日別アーカイブ: 2012年9月25日

iPhone 5 / A6 の浮動小数点演算

浮動小数点演算も全体的にパフォーマンスが上がっています。
CPU core が Cortex-A9 でないことは間違いありません。

特に NEON は 4並列 (128bit) になっており、Cortex-A8/A9 の 2倍、
Qualcomm の Snapdragon 系 CPU core である Scorpion/Krait に
匹敵する速度が出ているようです。

特筆すべきは NEON 命令の out-of-order で、順番依存による
速度低下がほぼ発生していないように見えます。
この点は Scorpion より有利で、同じ 128bit 演算でも大きく差がつくと
思われます。

ただし Qualcomm の新 CPU core 、Krait でも同等の性能が出ている
可能性があります。残念ながらまだ Krait を手に入れておらず
評価できていません。

VFP も全体的に高速ですが、VFP だけ積和命令が苦手なようです。
fmacs は fmuls/fadds の 2倍かかっており、2命令に展開されるか
レイテンシが大きいのだと思われます。この命令は A9/Scorpion より
わずかに遅くなっています。

NEON の場合は特に差がなく、vmul/vadd も積和命令 vmla も全く同じ速度で
走っており高速です。そのためピーク FLOPS には影響ありません。

全体的に速度が出やすい CPU です。

関連エントリ
Android SXZ-PD10 Cortex-A5 の速度
Android 4.0 MIPS で RenderScript, ainol Novo 7 Paladin の浮動小数点演算速度
Snapdragon の本当の浮動小数点演算能力
iPad2 A5 と浮動小数演算 VFP/NEON
Tegra2 Cortex-A9 と浮動小数演算
Snapdragon と浮動小数演算速度
ARM Cortex-A8 の NEON と浮動小数演算最適化