64bit対応で高速化が期待できる
Cortex-A35は、Cortex-A7などと同じくインオーダー(命令を順序通りに実行する)でデコーダーで2命令を同時に発行することができる。パイプラインは8ステージでロードストアと整数演算、NEON命令は別のパイプラインとなっている。
ただし、同時に実行できるのは、整数演算とロードストア、またはNEON命令と組み合わせが限られ、すべての場合に2命令を同時実行できるわけはない。このため、単純て整数演算などでは、Cortex-A7とCortex-A35はあまり大きな性能差がない。
しかし、データアクセスにプリフェッチ機能があり、連続した領域のデータアクセスなどが効率良くできるようになっている。もう1つは、L1とL2が改良されて、性能が高くなっている。このため、メモリアクセスだけを見ると、Cortex-A35は、Cortex-A7の3.75倍の性能があるのだという。
こうしたアーキテクチャ上の工夫で、同じ製造プロセスで作っても、ウェブブラウジングのベンチマークでCortex-A7(同じくインオーダーコア)より16%ほど高速化している。
また、同じコードで比較した場合だが、AMRv8の場合、ソフトウェアが64bit対応していると、同等の機能であっても、高速化されることが少なくない。というのも64bit命令のほうが高機能な暗号化命令などに対応しているからだ。
また、NEONの仕様も64bitでは拡張されているため、64bitコード化することで高速化することがある。同じ32bit環境でも、ARMv8の32bit環境(AArch32)では、拡張されている部分があり、64bit環境と同じ暗号化処理命令が利用可能など、高速化する余地がある(写真10#%P10%#)。同じクロック周波数でも暗号化処理などでは、3.5~11倍という速度差が生まれる(写真11#%P11%#)。
ただし、どちらの場合も既存のソフトウェアを64bit化やARMv8対応する必要がある。比較的更新頻度の高いソフトウェアであれば、高速化が期待できる。なお、Androidの場合、アプリケーションはJavaの仮想マシンコードで記述されるため、アーキテクチャには影響されにくい。
しかし、これを実行するJava仮想マシン(VM)自体が高速化すれば、アプリケーションも高速化される可能性がある。また、一部のアプリでは高速な処理を行なうために機械語コードのモジュールを組み込んでいるものがある。それならば、この部分だけを64bit対応などにすることでさらに高速化される可能性がある。
Cortex-A35は、現在Cortex-A7を使うような低価格スマートフォン向けに利用可能で、さらにスマートウォッチなどのハイエンドなウェアラブルもターゲットにしている。また、LITTLEプロセッサとして、Cortex-A72やArtemisなどのbigプロセッサとの組み合わせでハイエンドスマートフォンやタブレットに導入されるだろう。その意味では、最も重要なCortex-Aプロセッサになる可能性がある。
