機能特化型のArmコアのカスタム開発が可能に
さて、今回の発表ではOne more thingがあった。それが「Cortex-X Custom Program」である(Photo14)。
ちょっと古い話であるが、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%もの性能アップが可能になった、としている。
面白いのはこのCortex-X Custom Programで生成されたコアはCortexブランドを名乗る事が可能で、またDynamIQを構築することも可能、という点だ(Photo16)。
最近で言えば、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の主眼なのだという。
このCortex-X Custom Programはまだ詳細が良く見えない部分もある。それを言えば、Cortex-A78についてもMali-G78/Ethos-N78についても、まだ不明確な点は多い。このあたり、もう少し詳細が判り次第レポートさせていただく予定だ。