前言#
今 D9000 はすでにその生命の終わりに近づいているとはいえ
すでに 1 年が経過した
今さら同じことを繰り返してもあまり意味はないが
やはり話すべきだろう
以前書いたものには誤りがあるので、適当に見てください#
天機 9000 は 2021 年 12 月 16 日に発表された
TSMC N4 プロセスで製造された
最初に発表されたのは findx5pro 天機版である
もちろん、今回は実質的に初のレイアウトと言える
とはいえ、ああ
tech は早くから Dieshot を発表していたが
お金が必要なことは事実だ(貧乏学生にお金はない)
だから最近になってようやく描く時間ができた
当時 Dieshot を発表したときにはすでに描いていたが
その時は一部の部分について少し理解が不足していた
だから今まで保留していた
それでも一種の初発表と言えるだろう
さて、この画像が初発表の Dieshot
非常にぼやけているが、少し注釈を加え、コントラストを上げ、高解像度にした
やはり白黒のコントラストを高めることで、目が楽になり、より良く識別できる。
この画像で明らかに見えるのは、右上角が GPU クラスターである
つまり Mali g710 mc10 で、理論上は最大 16mp である
ここで mc(マルチコア)と mp(マルチプロセッサ)は同じ意味であり
何の違いもない。
Mali g710 には明らかに 2 つの ALU クラスターがあることがわかる
そして 3 つの GPU コア(オレンジ部分は GPU クラスター io)
4+4+2、なぜこのように設計されたのかはわからないが、同時期に発表された d81 の Dieshot を簡単に調べたところ、こうした設計はなかったので、非常に奇妙だ、ああ
左下角は GPU キャッシュ(黄色)で、3MiB であるべきだ。
G710 は前世代の g78 と同じ Valhall アーキテクチャに属するが
各シェーダコアには 2 つの実行エンジンが含まれていることを知っておくべきだ
シェーダが倍増し、理論上は最大 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 size と整数スループットが変わらない場合
G710 の処理ユニットは 4x4wide に分かれている
各エンジンには専用のリソースがある
この設計により、各コアの各サイクルの FMA が倍増する
新しい TMU ユニットは、各サイクルで 8 つの双線形テクスチャを処理できる
G710 は Mali 本来のジョブマネージャを「CSF」と呼ばれるものに置き換え
スケジューリングとドローコールの処理を担当する
G610 は実際には G710 未満のものだ
直面するパラメータを見ると
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 は 6m
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 の幅は 128bit(固定)であるが
SVE/SVE2 は最小 128bit であり
2048bit の幅に拡張可能である。
NEON の方法(128bit 固定)は悪くはないが
非常に面倒である(特に拡張性(SVE レジスタのサイズに基づいて、プログラム上で「データをどこに置くか」を処理すること)
それに対して、SVE の方法は拡張性と展開の容易さを持ち、SVE2 の性能は HPC の SVE と同じである
しかし、DSP とマルチメディアの性能は 128bit で 1.2 倍、256bit で 2 倍、512bit で 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 の読み込みは 2x64bit または 2x128bit を選択できる(おそらく 128bit は単核複合体で使用される)
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 つのストレージパイプライン、パイプラインは 2x128bit
3 幅の順次デコード、分岐予測
128 ビットのプリフェッチパイプラインを備えており、
各クロックサイクルで 4 つの命令を取得できる
VPU パスのサイズは 2×64bit または 2×128bit である
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 つのフレキシブルコアである
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 4x16bit で、最大 7500MHz をサポートしている、以上である
最後に TSMC N4 について話そう
ああ
N4 の単 Wafer 価格は約 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(密度ライブラリ)ライブラリの Cell 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 と後工程の Metal プロセスの最適化によるものである
全体的に 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 ライブラリの Cell 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 の定義は各社異なるからである
さらに、電圧の増加は消費電力を指数関数的に増加させることを意味し、高周波数の場合、動的消費電力が大部分を占める
(なぜなら、コアは異なるプロセスで異なる性能を示し、目標周波数で設計されたものは常に実現される周波数と異なるからである、(具体的には数日後に書くことにする)