Neoverse N1と対になるNeoverse E1の正体
Neoverse N1と対になるのがNeoverse E1である。こちらは要するにCortex-A65AEのサーバ向け仕様である(Photo10)。
そのため、こちらもRevisionがr1p1に上がった「らしい」のだが、肝心のCortex-A65のTechnical Reference Manualが現時点では公開されていないため、何が変わったのかははっきりしない(本稿執筆の2月21日時点では、Neoverse E1のWebサイトの最後に示されているTechnical Reference Manualのリンクの先が、なぜかCortex-A76のものになっているため)。
現時点で判るCortex-A65AEとの違いとしてはサポートされる命令セット(Neoverse N1と同様の命令拡張に対応)とL1キャッシュ容量(Cortex-A65AEは16~64KBなのに対し、Neoverse E1は32/64KBになっている)になっていることと、ISO26262 ASIL-DのサポートがNeoverse E1には無い程度だろうか。L2/L3キャッシュの容量は同じだし、PAも44bit(16TB)で特に差が無い。恐らくは内部構成もほぼ同等と思われる。
ところでCortex-A65AEはArmとしては初めてSMTをサポートしたプロセッサであるが、この効用として示されたのがStall cycleの削減である。Cortex-A55と比較しても、Out-of-Orderの実装で多少Stallには強くなっている訳だが、SMTの実装でさらにStallの頻度が減ったとされる。
これは別にArmだからという訳ではなくSMTのメリットの1つとして広く認知されている事ではあるが、逆に言えばこれまでよくSMTを実装してこなかったな、という見方もできる。理由は簡単で、SMTを実装すると確実に消費電力が増えるので、モバイルが主戦場向けのプロセッサには適さないというのがArmの判断であり、Cortex-A65AE/Neoverse E1は自動車/サーバ向けだから搭載できたという話なのだと思われる。
このNeoverse E1を利用したアプリケーションとして、例えば5G基地局のトランスポート層の処理(Photo12)をオープンソースのDPDK(Data Plane Development Kit)やOpenSSLを利用して構築したプロトタイプの性能を比較した場合、Neoverse E1はCortex-A53比で2.7倍の性能と2.4倍の効率性を実現できた、としている(Photo13)。
ちなみにこのNeoverse E1のプロトタイプは2.3GHz駆動の16コアNeoverse E1を2つのクラスタに分け、CMN-600と2chのDDR4-3200という構成になっており、消費電力は4W程度で50Gbpsの平均スループットを実現できた、という説明であった。
Armによれば通常こうしたSoCのTDPは15W未満であり、したがってあと11W分アクセラレータやDSPなどを統合する余地がある、という説明である。
ちなみにCMN-600はNeoverse N1とNeoverse E1を混載させることも可能であり、一例としてPhoto14のような構成で100Gbpsを超えるルータが実現できる、としている。
今回のアナウンスにより、2018年10月のNeoverseの発表の際に明確になっていなかった項目のほとんどが明らかになった形だ。まだ、7nm+のZeusとか5nmのPoseidonなどが見えてこないが、こちらはそもそも2020/2021年向けのプラットフォームなだけに、COMPUTEXのタイムフレームでも果たして明らかになるか怪しいところである。恐らくは今年10月のArm TechConの前後までお預けになりそうな気がする(もっともモバイル向けにZeus世代のCortex-AバージョンはCOMPUTEX前後でアナウンスが行われる可能性はなくはないだろう)。