COMPUTEX TAIPEI 2019前日にあたる5月27日、英ArmはProcessor IPのCortex-A77とGPU IPのMali-G77、そしてDisplay IPのMali-D77とArm ML Processorを発表した。今回はこのうち、Cortex-A77について紹介する。
Cortex-A77は2018年発表のCortex-A76をベースにIPCを20%以上引き上げ(Photo01)た製品である。ことML(Machine Learning)に関していえばCortex-A55比で35倍もの性能改善となる(Photo02)ほか、絶対性能という観点では、2013年のCortex-A15比でいえば4倍もの改善を実現した(Photo03)という。
さて、このような性能向上をどのように実現したのか。Cortex-A77はCortex-A76をベースとした構成である。つまり4命令同時デコードのSuper Scalar/Out-of-Orderの構成である(Photo04)。以下が変更点としてあげられている(Photo05)。
- Macro-Op Cacheの搭載(1.5M Ops)
- 6 MicroOpsの同時発行
- ALUを強化するとともに、Dual Branch Predictionをサポート
Front Endでは、Branch Predictionの強化(Photo06)とMicroOps Cacheの搭載(Photo07)が挙げられる。特にループなどに入っている間はこれが効果的に作用するうえ、その間はデコード段を止められるので省電力化にも貢献=その分動作周波数をあげられるということで性能改善に大きな効果がある。
次がDecode→Rename→Dispatchで、ここは6命令に拡張された。これはSamsungのM3などに並ぶ幅であり、これに合わせてIn-Flightの命令数も160 Entryに拡張されている(Photo08)。
実行段(Photo09)では4つ目のALUが追加され、その意味では真の4命令/cycleのプロセッサになったともいえるが、加えて2つ目のBranch Unitが搭載され、Nested Branchの場合にも投機実行が可能になった形だ。
これを支えるL1/L2キャッシュも、Load/Store Unitの強化が施されており(Photo10)、さらにData Prefetcherを強化することで実効帯域を増強したとする(Photo11)。
こうした効果により、Cortex-A76比で20%以上(アプリケーション次第)の性能改善がなされた、というのがCortex-A77の主な改良点である(Photo12)。
駆け足で簡単に紹介したが、基本的にはCortex-A76の改良といいつつ、内部構成はずいぶんとリッチになっている。おそらくこれはCortex-A76設計時に、こうした拡張を多少考慮していたのではないかという気がする。
そろそろPC向けプロセッサと同一周波数では性能的に並ぶところまで来たのではないか、という感じの構成になっているのがお分かりいただけるかと思う。