次のスライドはET-Maxionコアを説明する唯一のスライドである。ET-Maxionは高性能のアウトオブオーダ実行を行うRISC-Vプロセサである。超マルチコアのET-Minionはたくさんのスレッドを並列に実行すれば高いスループットを得ることができるが、処理の中には並列に実行することはできず、1つのスレッドの命令を順に実行せざるを得ない場合がある。このようなコードを高性能で実行するにはクロックを上げ、アウトオブオーダ実行のように1つの命令列を高速に実行する必要がある。GPUを使うアクセラレータの場合は、このようなコードはXeonやEPYCが実行を受け持っている。

しかし、別のCPUを付ける必要があり、電力、コストなどの点で不利になる。そのため、EsperantoはET-Maxionコアを搭載した。Maxionはサーバ用のハイエンドCPUには及ばないが、アウトオブオーダ実行を行っており、シリアルなコードを高速で実行することができ、システム全体の実行性能を高めることができる。

ET-Maxionは64エントリの分散型の命令スケジューラを持ち、128エントリのリオーダバッファを持っている。また、32エントリのロードキューと32エントリのストアキューを持っている。

整数命令のレジスタファイルは8R4Wで128エントリ、浮動小数点レジスタファイルは3R2Wで64エントリとなっている。演算器はロード/ストアが1個、簡単なALUが2個、複雑なALUと分岐計算ユニットが1個、浮動小数点演算器は1個である。さらに、L1、L2キャッシュへのデータのプリフェッチを行うユニットを備えている。

メモリ系は32エントリのデータTLB、32エントリの命令TLBと512エントリのユニファイドTLBを備えている。

演算器などの搭載個数はサーバCPUと比べると軽めであるが、ET-SoC-1は大量の演算を行うことを目標としていないと思われ、全体の制御をかなり早く実行するという用途には、この程度で十分ではないかという感じである。

Maxionコアは500MHzから2GHzのクロックで動作するとのことである。

  • ET-SoC-1

    図19:Maxionコアは4命令並列デコードのアウトオブオーダ実行を行う

まとめであるが、ET-SoC-1はTSMCの7nmプロセスで作られ、チップ面積は570mm2となっている。トランジスタ数は24Billionという。1088個のMinionプロセサを集積しており、これらのMinionコアは500MHz~1.5GHzクロックで動作する見込みである。これ以外に4個のMaxion CPUと1個のRISC-Vサービスプロセサを集積している。

また、キャッシュやスクラッチパッドとして使える160MBのオンチップSRAMメモリを内蔵する。

消費電力は典型的な使い方では20W以下と、非常に低電力である。この消費電力はソフトウェア制御で10Wから60+Wまで変化させることができる。

ET-SoC-1は45mm×45mmのチップで2494ボールのBGAパッケージに入っている。動作電源電圧が低いので、個々のMinion Shireの電源電圧の調整やDVFSによる調整が可能なようになっている。

次の図の右上の写真はET-SoC-1のダイ写真で、その下の写真はパッケージされたチップの裏表の写真である。

  • ET-SoC-1

    図20:ET-SoC-1はTSMCの7nmプロセスで作られ、24Bトランジスタを集積。Minion Shireごとに電源電圧の調整ができるように作られている

  • ET-SoC-1

    図21:まとめ。ET-SoC-1は最高の性能を持つRISC-Vチップである

なお、ET-SoC-1はTSMCでチップが製造され、現在は実験室で動作テストが行われている状態で、順調に行けば、今年中にサンプルが完成する予定とのことである。