既報の通りArmは5月26日にCortex-A78/Mali-G78/Ethos-N78などを発表したが、国内でも27日に正式に記者説明会が開催された。ここで不明な点がいくつかクリアになったので、ご紹介したい。

Mali-G68とMali-G78の違いはコア数

まずMali-G68とMali-G78であるが、コア単体としては全く同じものであることが担当者より確認された。つまり1~6コアまでのクラスタがMali-G68、7~24コアのクラスタがMali-G78として扱われるという話である。

柔軟なメモリ構成が可能になったEthos-N78

次いでEthos-N78。基本的な構成はEthos-N77と同じであり、搭載されるメモリ量は最大4MBと変わらないが、より柔軟なメモリ構成が可能になったとされている。

実際、Embedded SRAMはコアあたり384KB~4MBになっており、Ethos-N77が1/2/4MBしかオプションが無かった事に比べると取りえる構成が大分増えたようだ。加えるとメモリ容量だけでなく、様々なConfiguration Optionが用意される模様だ。

Ethos-N37~Ethos-N77までは基本的にConfiguration Optionはなし(Single Product Offering)で、強いて言えばEthos-N77のみSRAMの容量を変更できる程度だったが、Ethos-N78では90以上のDesign Optionが用意されているそうで、かなりニーズに応じてカスタマイズ可能になっているようだ。

また、メモリ帯域に関してはEthos-N37/N57/N77までの帯域圧縮オプションが"Extended compression technology, Layer/Operator fusion, clustering, and workload tiling"という表現で示されているのに対し、Ethos-N78は"Enhanced Compression"とシンプルな表現になっており、恐らくEthos-N37/N57/N77で提供される帯域圧縮オプションのほとんどに手が入っているものと思われる。

なお最大コア数はEthos-N77の2倍であり、MACs/cyclesはEthos-N77が2048 MACs/cycleであるのに対し、4096 MACs/cycleに達している。ただ本来これだと性能は8TOP/sにしかならない訳で、10TOP/sになるのはその分動作周波数も上がっていると思われる。

Cortex-X Custom Programの最初の顧客はSamsung

ところでCortex-Xであるが、Cortex-A77/A78とCortex-X1の性能を比較した結果が示されている(Photo01)。ここでMachine Learningが2倍なのはNeon Unitをダブルで搭載しているからで、これは不思議ではない。

  • Cortex-A78

    Photo01:結果的に、プロセス/動作周波数が同じだと、Cortex-A77とCortex-A78の整数演算性能は7%の差であることが図らずしも公開された訳だ

それよりも整数演算性能がCortex-A77比で30%アップ、Cortex-A78比でも22%アップという猛烈なIPC向上が見られることがポイントである。まぁ4命令デコード/6命令同時発行のCortex-A78と5命令同時デコード/8命令同時発行のCortex-A78では、この程度のIPC向上が無いと帳尻が合わないのかもしれない。

ところで「誰がこれを使うのか」である。筆者はSamsungだろうと思っていたのだが、製品ページにSamsungの名前が示されたことで「やっぱりな」と思った。

何故Samsungか? 同社は実はArchitecture Licenseを取得しており、自身でExynos M1~M4というコアを開発している。初代のExynos M1は2016年に14LPPプロセスでExynos 8 Octa 8890としてGalaxy S7/S7 Edgeに搭載された(Photo02)。

  • Samsung M1

    Photo02:2016年当時だとArmのハイエンドは3way SuperScalarのCortex-A72で、これを上回る重厚さである

翌年これを10LPPに持ち込んだのが次のM2で、Exynos 8895としてGalaxy S8/S8+/S8 Edgeに搭載された。次いでその10LPPのまま内部構造を大幅に強化したのがM3(Phoro03)である。

  • Samsung M3

    Photo03:もっともSamsungが仮想敵としていたと思われるAppleの場合、2014年のApple A8ですでに6命令デコードを実装しており、その意味ではまだ十分ではなかったのだが

こちらはExynos 9810としてGalaxy S9/S9+/Note 9などに搭載された。このM3を8LPP/7LPPに移行させると共に、若干の手直しをしたのが2019年発表のExynos 9820(8LPP)/9825(7LPP)である。

Samsungが自力でCPUコアの開発を諦めた背景

さて、Samsungはこれに続き、M5の開発をスタートしたのだが、2019年末にこのM5がキャンセルされた。もっと正確に言えば、Samsungは自社での独自Armコアの開発を続ける事そのものをキャンセルした、という事だ。理由は開発コストである。

競争力のある優れたコアを開発するには、優秀な設計チームを維持し続ける必要があるが、この維持費は(Architecture Licenseの費用など問題にならないくらい)高くつく。結局コストパフォーマンスを考えると、Armのコアを使った方が賢明という判断を下したようだ。

この結果、SamsungのCPU開発チームがあったSARC(Samsung Austin R&D Center)のCPUチームは解散した。Photo02/03は2018年のHotChipsにおける発表スライドだが、この発表を行ったJeff Rupley氏(当時の肩書はSr Principal Engineer)は2019年12月でSamsungを離れ、2020年1月からCentaur TechnologyでPrincipal CPU Architectとして働いている。余談だが、このニュースが流れた直後、様々なメーカーがこのCPUチームのメンバーのリクルーティング争奪戦を繰り広げたらしい。

話を戻すと、そんな訳でSamsungとしてはもうスタンダードなCPU IPを入手するしかない訳だが、それで例えばMediaTekの様な、やはりStandard CPU IPを使うベンダーと差別化するのは難しいし、Qualcommと競合するのもなかなか困難である。

自社での開発コストを最小限に抑えつつ、Standard CPU IPよりも高性能なCPU IPが差別化のために必要であり、これとArmの思惑がうまく合致した、ということであろう。これに続くメーカーがどの程度あるのかは分からないが、仮にSamsung 1社だとしてもArmとしては十分帳尻が合うだろうし、Samsung的にもその方がWelcomeかもしれない。

長期的に見ると、今回の動きが将来のArchitecture Licenseにどの程度影響を及ぼすとArmが見込んでいるのかはちょっと気になるところだ。恐らくライセンス費用+コラボレーションに関する費用そのものは、Cortex-X Custom Programの方が高くつく。ただし最終的にCPU IPを完成させるまでの総費用で言えば、圧倒的にCortex-X Custom Programの方が安いだろう。そのあたりを勘案しつつ、Architecure Licenseを取得しているベンダを次第にCortex-X Custom Programに引き込むつもりがあるかどうか。まずは2社目のパートナーが現れるかどうか、であろう。