機能特化型のArmコアのカスタム開発が可能に

さて、今回の発表ではOne more thingがあった。それが「Cortex-X Custom Program」である(Photo14)

  • Arm

    Photo14:「このCustom Programに参加すると、Standard Cortex-A IPを自由にカスタマイズできるのか?」と確認したら、そうではない、という返事であった。またArm Cotex Technology ProgramをEvolveしたもの、という事だが具体的に何をどうEvolveしたのかはよく分からない

ちょっと古い話であるが、2016年にArmはCortex Technology License「Built on ARM Cortex Technology」を発表している。これはLead Licenseを取得しているパートナーのうちの一部に提供されるもので、あくまでも「Armと共同で」内部構造やマイクロコードのカスタマイズを行う事が出来るというものだが、このCortex Technology Licenseを一歩進めたのが今回のCortex-X Cusom Programとなる。

これを利用することで、例えばエリアサイズを犠牲にして性能を大幅に引き上げる、といった事も可能になる。もともとArmはPOP IPを提供する際には割とバランスの取れたPPA Optimizationを施しているが、当然ここで「突き抜けたパフォーマンスが欲しい」といったニーズには対応できない。もちろんPOPを使わずにRTLから物理実装を掛ければ、それなりに偏った構成にも出来るが、さらに性能が欲しいといったニーズに対応できるのがこちらということになる。

そのカスタマイズ版の最初の製品が「Arm Cortex-X1」で、Cortex-A77世代と比較して30%もの性能アップが可能になった、としている。

  • Arm

    Photo15:比較対象は3GHzのCortex-A77だそうで、別に4GHz駆動を可能にした、という話ではない様にも思える

面白いのはこのCortex-X Custom Programで生成されたコアはCortexブランドを名乗る事が可能で、またDynamIQを構築することも可能、という点だ(Photo16)

  • Arm

    Photo16:要するにInterconnectその他は標準的なArmのIPそのままに、セミカスタムコアを組み入れる事が可能になるという訳だ

最近で言えば、SamsungがArmコアの自社開発継続を断念してArmの標準プロセッサコアに回帰する(元々両方使っていたため、単に自社でのコア開発を断念、という方が正確か)動きを見せているが、そうなると今度は差別化が難しいという話が出てくる。そうしたニーズに応えるのがこのCortex-X Custom Programということになる。

従来プログラムとCortex-X Custom Programの違いは?

ではCortex Technology LicenseとCortex-X Custom Programの違いは? という話になる訳だが、説明によればCortex Technology Licenseの元で可能なカスタマイズは、設計の中で変更可能な比較的小さな領域に留まっており、性能への寄与もそれほど大きくはなかったという。ところがCortex-X Custom Programは、例えばそれが望まれるならNeon Unitの数を倍増させるといった、かなり性能へのインパクトの大きな変更も可能なのだそうだ(Photo17)。つまるところPPA Optimizationの新しいポイントを、顧客とArmで共同で決められるというのが、Cortex-X Custom Programの主眼なのだという。

  • Arm

    Photo17:後追いの形で示された、Cortex-X1の詳細。ついに5命令同時デコード/8命令同時発行に達した

このCortex-X Custom Programはまだ詳細が良く見えない部分もある。それを言えば、Cortex-A78についてもMali-G78/Ethos-N78についても、まだ不明確な点は多い。このあたり、もう少し詳細が判り次第レポートさせていただく予定だ。