Kurnal

Kurnal

浅談天機9000

前言#

D9000 はすでにその生命の終わりに近づいているとはいえ
もう 1 年が経過しました
今さら同じことを繰り返すのはあまり意味がありませんが
やはり話すべきことです

以前書いたものには誤りがあり、適当に見てください#

天機 9000 は 2021 年 12 月 16 日に発表されました
TSMC N4 プロセスで製造されています
最初に発表されたのは findx5pro 天機版です
もちろん、私たちにとっては実質的に初のレイアウトです
確かに、ああ
tech は早い段階で Dieshot を発表しましたが
お金が必要ですからね(貧乏学生にはお金がありません)
だから最近になってようやく描く時間ができました
当時 Dieshot を発表したときにはすでに描いていましたが
その時は一部の部分について少し理解が不足していたため
今まで放置していました
それでも一種の初発表と言えるでしょう

さて、これが初発表の Dieshot です

IMG_2589

非常にぼやけていますが、少し注釈を付けて、コントラストを上げ、高解像度にしました

IMG_2590_enlarged

やはり白黒でコントラストを上げると、目が楽になり、より良く識別できます。

MediaTek D9000

この画像で明らかに見えるのは、右上角が GPU クラスターです
つまり Mali g710 mc10 で、理論上は最大 16mp です
ここで mc(マルチコア)と mp(マルチプロセッサ)は同じ意味で
違いはありません。

G710 Coreshot

Mali g710 には 2 つの ALU クラスターがあることが明らかにわかります

そして 3 つの GPU コア(オレンジ部分は GPU クラスター io)
4+4+2 ですが、なぜこう設計されているのかは不明です。同時期に発表された d81 の Dieshot を簡単に調べてみましたが、こうした設計はありませんでした。非常に奇妙です、ああ

左下角は GPU キャッシュ(黄色)で、3MiB であるべきです。

G710 は前世代の g78 と同じ Valhall アーキテクチャに属していますが
各シェーダコアには 2 つの実行エンジンが含まれています

G78MP1

シェーダが倍増し、理論上は最大 mc16 を実現しました

GPU アーキテクチャの面では

G710 は G78 の進化版です
G510 は G57 の進化版です
G310 は G31 の進化版です
すべて Valhall アーキテクチャです
Valhall アーキテクチャは G77 から使用されています
Valhall コアは前世代の Bifrost から変更されました
新しい超スカラーエンジン(ipc と pw 値の向上)
簡素化された ISA、新しい命令セットはコンパイラにとってよりフレンドリーです
新しい命令の動的スケジューリング
Vulkan などの API と組み合わせて、新しいデータ構造を採用
例えば前世代の Bifrost アーキテクチャは 4wide/8wide です
G72 の実行部分は 4wide のスカラー SIMD を含み、warp サイズは 4 です
G76 は 2 つの 4wide、warp サイズは 8 に増加しました
この狭い warp 設計は
スケジューリング時に十分なスレッドを効果的に埋めることができません
Valhall は warp を 16wide に増やしました
これにより ALU の利用率が上がります

実行エンジンは以前の 3 つから 1 つの大きなものに統合されました
しかし実際の ALU は依然として 2 つの部分から構成され、2x16wide の FMA です

Bifrost のように、(各実行エンジンにはそれぞれのデジタルパス制御ロジック、スケジューラ、命令キャッシュがあります)リソースを無駄にすることなく、
G710 は前世代と比較して、各シェーダコアには 2 つの実行エンジンが含まれ、シェーダが倍増しました

エンジン内には依然として 2 つの処理ユニットがありますが、少し変化があります
wide サイズと整数スループットが変わらない場合
G710 の処理ユニットは 4x4wide に分かれています
各エンジンには専用のリソースがあります
この設計により、各コアごとの周期あたりの FMA が倍増します
新しい TMU ユニットは、毎周期 8 つの双線形テクスチャを処理できます

G710 は Mali 本来のジョブマネージャーを CSF と呼ばれるものに置き換え
スケジューリングと描画呼び出しを処理します

G610 は実際には G710 よりも少ない 7 つのコアです

直面するパラメータを見ると
G510 と G310 は確かに恐ろしい(100% ですね)
しかし G31 は何百年も更新されていません

G510 のシェーダコア内部には 1 つの実行エンジンが追加され
各実行エンジンは 2 つのクラスターの処理ユニットを選択できます
G710 に似ています
ただし G510 の 1 つのエンジンは 1 つの処理ユニットのみを選択できます
毎周期の FMA 処理能力は 48-64 を選択可能です
さらに、テクスチャユニットは毎周期 4 テクスチャ / 8 テクスチャを選択可能です
2-6 コアを選択でき、L2 を選択可能です
毎周期の FMA 処理能力は 48-64 を選択可能で、2-6CU を選択可能です

メモリ帯域幅は 60GB(4x16x3750x2÷8)で、SLC は 6MiB です

G510 は大幅な向上を示していますが、G57 の改良がない場合に更新されていることも事実です
つまり、見た目は大幅に向上していますが
向上のポイントは何百年も更新されていなかったからであり、
突然 SIV を変更してケンブリッジに任せることになったのです
G310 も同様で、G31 は本当に何百年も動いていません
今回の更新は表面的には 100% の性能向上ですが、同時期や前の世代の CU と比較すると
向上は寂しいものであり、これが ARM の巧妙さです

CPU 部分について話しましょう
上の図は D9k の CPU クラスターで、SoC の下部に位置しています

このプロセッサは ARMv9 命令セットアーキテクチャを採用しています
ARMV9 は V8.5 を基に更新され、すべての V8.5 サブセットを含んでいます

新たに SVE2 の拡張が追加されました
SVE2 は本質的に SVE の拡張ですが
SVE は純粋に HPC 向けです
SVE2 は NEON 命令セットとの互換性を実現しました
ある意味で、SVE2 は NEON の後継製品として位置づけられ、より柔軟なデータアクセスを実現します。
SVE 自体は V8.2 に引き継がれましたが、実際に使用されているのは ARMv1 サーバー IP です
GEMM と bf16 は V8.6 に含まれているため、V9.1 までサポートされません。
NEON の幅は 128 ビット(固定)で
SVE/SVE2 は最小 128 ビットで
最大 2048 ビットの幅に拡張可能です。
NEON の方法(128 ビット固定)は悪くはありませんが
非常に面倒です(特に拡張性(SVE レジスタのサイズに応じて、プログラム上で「データをどこに置くか」を処理する必要があります)

これに対して、SVE の方法は拡張性と展開の容易さを持ち、SVE2 の性能は HPC の SVE と同等です
ただし、DSP やマルチメディアの性能は 128 ビットで 1.2 倍、256 ビットで 2 倍、512 ビットで 3.5 倍です

1+3+4 の三つのクラスター
初期の aSMP 技術から、以前の bigLittle、そして現在の先進的な DynamIQ 技術まで
DynamIQ 技術は、最大 32 クラスターで各クラスターの最大 8 コアが異なる電圧曲線で動作できるようにしますが、これはサーバーの話です。
MTK エンジニアは HP+BP+HE、つまり三つのクラスターを持っています
HP 内核は 3.4GHz で動作し、高性能な要求を満たします。現在国内のソフトウェアは依然としてシングルコアを重視しています

BP 内核は Power/Performance のバランスを取ります
HE は超低消費電力、超低電圧の待機コアとして位置づけられています
ARMv9 には新しい DSU110 が追加され
複数のクラスター間でワークロードを切り替えて最適な電源効率を達成できます

DSU110、左上角は ARM X2 です
コアのアーキテクチャの変化について
X2 は前世代の X1 と比較してパイプラインが 1 段短くなり、D9k では 3.4GHz に定格されています
ざっくり推測すると、X1 が 3.75GHz で性能がほぼ同等になるでしょう
(ただしこれはエンジニアリング機の周波数で、実際には 3.05GHz です、ああ)
同時に、L3 は 8MB を提供しました(理論上は最大 16MB ですが、ARM の PPT は 1135g7 を対象としています)
隣の SDM は最大 4MB しか提供していません
同じプロセスで低周波数の場合、X2 は X1 よりもエネルギー効率が少し劣りますが
性能が上がれば、X2 のエネルギー効率はより強力になります
つまり、ARM は大コアを高周波数で動作させることを推奨しており、エネルギー効率を向上させることができます
しかし、MTK の MP 製品は高周波数を提供していないため、結局 3.05GHz しか提供されていません
したがって、D9000Plus のような特別な製品があると予想されます(8250ab のような)

見た目は X2 のエネルギー効率が良さそうですが
実際には X2 は同周波数で X1 よりもエネルギー効率が悪いことは確かです
ARM の PPT によれば
ARM は一般的な P/W を使用せず、Performance/PowerCurve を使用しています
つまり、同じ性能でエネルギー効率を見ています
同じ性能の下で、X2 はより低い周波数で動作でき、低電圧の利点を享受できます。
16%(異なるキャッシュ比較法)で IPC がリードしており
低周波数の場合、約 30%(土 3)のエネルギー効率バフを得ることができます
もちろん、同じ周波数で X2 の電力は高くなります(それは隅に隠れています)

同時に、A710 では、十分にバランスの取れた PPAC がその設計言語です。
設計上、A710 は A78 の小修正です
フロントエンドは X2 よりも少ない変更ですが、十分な増加幅があります。
分岐予測のウィンドウキャッシュは倍増し
TLB キャッシュ(32-48)が増加しました
uop が削減され、配信は 6 幅から 5 幅に変更され
パイプラインの 1 周期が短縮されました。

PPT では、8MB の L3 を考慮した場合、4MB の L3 を持つ A78 と比較して、性能が 10% 向上するか、同じ性能で消費電力が 30% 低下します。そして A710 は高周波数に適しており、PPT は A78 が適していない場所で曲がっています

A510 では、これは ARM の最近の最大の変更です
まず、デコードが 2 から 3 に増え、分岐予測が追加されました
A510 をデュアルコア複合体またはシングルコア複合体として組み合わせることができます
L2TLB と VPU のロードは 2x64 ビットまたは 2x128 ビットを選択できます(128 ビットをシングルコア複合体で使用することが予想されます)
AA32 が削除されました
小コアが AA32 をサポートすると消費電力が増加するため、ARM は A710 で AA32 を慎重に保持しました

エネルギー効率の面では
低周波数の場合、A55 よりも劣っており
高周波数の場合にのみ A55 よりも優れています
しかし、誰が高周波数の小コアを使用するのでしょうか
A510 では、最も明らかな点は A510 をデュアルコア複合体として組み合わせることができること、またはシングルコア複合体として使用できることです。
デュアルコア複合体は L2 キャッシュ、L2 TLB、VPU を共有し
シングルコア A510 は独自の L2 キャッシュ、L2 TLB、VPU を独占します。
バックエンドでは
整数は:
3 つの整数 ALU、1 つの複雑な MAC、1 つの DIV ユニット、1 つの分岐配信ポート、1 つの整数除算ユニット、LSU と純粋なストレージユニットを持っています
VPU は:PALU
SHARED VPU
(暗号ユニット VALU,VMAC,VMC,VPU128bit(暗号 1、VALU1 VMAC1)

ロードに関しては、2 つのロード / 1 つのストレージパイプライン、パイプラインは 2x128 ビットです
3 幅の順次デコード、分岐予測
128 ビットのプリフェッチパイプラインを備え
各クロックサイクルで 4 つの命令を取得できます
VPU パスのサイズは 2×64 ビットまたは 2×128 ビットです
L1d は MMU とは別です

左上角はモデム部分です

モデム部分については特に話すことはありませんが
他のモデム部分との比較において、感慨深いものがあります

すべて、ああ、
元の画像を切り取ったものです
CPU + モデムの比率は同じですが
CPU と CPU の比率は誤った計算です
なぜなら、合格表現は CPU / モデムがそれぞれのダイ内の面積の比率を示しているからです
感慨深いです
ただし、SDM のモデムはミリ波に対応する必要があります
MTK M80 は必要ないようです、
ああ、これも面積の一部です
しかし、ざっと見ておくのが良いでしょう、
詳細な解読にはお金がかかります、
ああ
加えて、私自身も専門家ではないので、
適当に見ておくことにします

x65 について少し触れておきます
彼は巨大なモデムキャッシュを持っています
聞くところによると ISP と共有しているようですが、詳細は不明です

左下角は動画(正確にはストリーミング)デコード部分です
今回のデコードも bigLittle を採用しています
2 つの大きなエンコーダ
2 つの小さなエンコーダ
意味は不明ですが
ああ、見た目は非常に
ああ、専門的です
一般的に動画デコードは通常 CPU/GPU の仕事ですが、
今回は APU も追加され、ああ、補助計算を行います

これが APU で、右下角の領域にあります
実際には NPU で、MTK は APU と呼んでいます。内部には
ああ、APU の面積は非常に大きいです
PPT によれば
APU は多くのユニットの追加計算を担当しています
例えば GPU、ISP、CPU、デコードのいくつかのタスクを APU に補助させています
黄色部分は 3.5-4MiB の APU キャッシュです
今回は 4 つの大きなコアと 2 つの柔軟なコアの NPU 設計意図があります
4 つのパフォーマンスコアと 2 つのフレキシブルコア
RISC V のいくつかの要素が見られますが
ARM の可能性も排除できません

ストリーミングデコード部分の上にはいくつかの
あまり明確でないユニットがあります
例えば imagiq 790
実際には ISP です
今回は
3 つのカメラを同期処理し、32mpx3 18bit HDR ビデオを処理します
処理速度は 90 億ピクセル / 秒に達し
最大 3.2 億ピクセルの CMOS です
処理部分の一部のデータは APU に処理されます。
赤い部分の ISP コアが直接見えます

下の MiraVision790 はディスプレイ
表示処理ユニットで、具体的には分析できません
右上角は不明なユニットで、私の技術では解析できません

右下角は一般的な USB バッファです
さらに 2 つの USB IO があり
合計で 3 つあります
もう 1 つは GPU の近くにあります
メモリ部分は LPDDR5X 4x16 ビットで、最大 7500MHz をサポートしています、以上です

最後に TSMC N4 について話しましょう
ああ
N4 の単一ウエハの価格は約 2 万 6 千〜3 万ドルで、N5 は 2.6 から 2.8 に値上がりしました
N4 は実際には N5 の小さな改良版です、
Ti の見解は:ノードとしては明らかにカウントされませんが、
Ti は CPP/MMP の変更が少しでもあればそれもカウントします
N5: TSMC の N5/N5P
TSMC5nm は新しいノードです
TSMC は N5 に 5 つのサブポイントを持っています、N5 N5P、N4 N4P N4X

N5:
TSMC は N5 に 3 つのライブラリ、6Track UHD ライブラリ、7.5Track HD、9T HP ライブラリを持っています
6T UHD(密度ライブラリ)のセル H は 180(6x30)nm で、137.6Mtr です
7.5TUD(性能ライブラリ)は 225(7.5 x30)nm で 92.3Mtr です
9T HP は 270(9x30)nm です
CPP は 48nm です
MMP は 30nm です
N5 LPE の理論上の最大密度、
つまり 6T UHD は
137.6Mtr/mm2(予測)に達します
実際には

N5 の最大の問題は熱密度です
1.8X の密度で消費電力は 0.7X にしか減少しません
これは高性能シーンに非常に不利です

N5 は新たに 7 つの Vt(SVTLL、SVT、LVTLL、LVT、uLVTLL、uLVT、eLVT)を提供しました
eLVT は追加の 10% の消費電力向上をもたらし、
これは Via Piller と後工程の金属プロセスの最適化によるものです、
全体的に 35% の向上(N5 HPC の uLVT は n7 の uLVT と比較して、周波数が 25% 増加し、消費電力は変わりません)

N5P は主に消費電力を削減することを目的としており、このプロセスでは同じ設計ルール(DRC)を使用し、N5 と完全に互換性があります。FEOL と MOL での最適化を通じて Power を削減します

N4:
N4 は N5 製造と比較して、Mtr の変化は少なく、その 7Mtr は MMP の短縮に過ぎません…
例えば D9000 では
X2 は 210nm ライブラリを使用しています
しかし実際には d9k の中で
CPU サブシステムのすべてのコアは n5 の 210ulvt です

N4、N4P、N4X の 3 つの段階があり、同様の 3 つのライブラリ、6Track UHD ライブラリ、7.5Track HD、9T HPC があります
N4HP ライブラリでは、N5 HP ライブラリを共用し、N4/N6 は低周波数で動作するのに適しています
6T UHD ライブラリのセル H は 168(6x28)nm で 146Mtr です
7.5T は 210(7.5 x28)nm で 97.8 です
CPP は 48nm です
MMP は 28nm で、2nm 削減されました…
30nm から 28nm に縮小され
金属層間距離とゲート間距離、金属層の層数を縮小しています…

N4 LPE の理論上の最大密度、
つまり 6T UHD は 146MTR/mm2 に達します

N4P は過渡的な製品で、主にマスクを削減し、より多くの EUV 層を採用し、6 枚増えました

N4X は 5nm の究極の製品で
高電圧状態での高性能を提供します
結局、5nm 設計キットと互換性があります….
しかし、MTR で測ることができるわけではありません、MTR の定義は各社で異なるからです

さらに、電圧を上げることによって消費電力が指数関数的に増加します。定格周波数が高い場合、動的消費電力が大部分を占めます
(なぜなら、コアは異なるプロセスで異なる性能を示し、目標周波数で設計されたものは常に実現される周波数とは異なるからです(具体的には数日後に書きます)

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。