AMDの次期プロセッサーZenの内部構造を推察した前回の記事について、いろいろなご意見を読者の方からいただいた。さらに、Waldhauer氏とも引き続き議論を続けており、これに関してまとめてアップデートをお届けしたい。論点は3ヵ所となる。
- デコーダー構成
- FPU構成
- 動作周波数
Vector PathはK7~K10世代と同じ
まず最初はデコーダー構成の話だ。筆者は前回Vector Pathの扱い方について「これまでこうした処理の仕方は見たことがなかった。逆に言えば、こんな処理の仕方を導入すること自体が、K12とZenでかなりの部分を共通化していることの傍証になるのではないかと思う」と書いたが、K7~K10までの世代も同じであるというご指摘をいただいた。
ということで、GitHubのAthlonに関する記述を確認してみる。このファイルはK7/K8/K10を全部ひっくるめて扱っている関係で、非常に読みにくい構成になっている。
こちらを参照されると整形されている分、若干読みやすいのだが、例えばAthlonの場合、整数のVector Pathについては以下の記述があり、間違いなくすべてのデコーダーが同期して動作する。
(exclusion_set "athlon-decodev" "athlon-decode0,athlon-decode1,athlon-decode2")
一方の実行ユニットの方だが、命令スケジューラーに以下の記述があった。
(define_insn_reservation "athlon_ivector_both" 6
(and (eq_attr "cpu" "athlon,k8,generic")
(and (eq_attr "athlon_decode" "vector")
(and (eq_attr "unit" "integer,unknown")
(eq_attr "memory" "both"))))
"athlon-vector,athlon-load,
athlon-ieu,
athlon-ieu,
athlon-store")
(define_insn_reservation "athlon_ivector_both_amdfam10" 6
(and (eq_attr "cpu" "amdfam10")
(and (eq_attr "amdfam10_decode" "vector")
(and (eq_attr "unit" "integer,unknown")
(eq_attr "memory" "both"))))
"athlon-vector,athlon-load,
athlon-ieu,
athlon-ieu,
athlon-store")
K8用とK10用の命令が入り乱れているのでわかりにくいが、ある種の命令は整数演算ユニットのかなりの部分(微妙に数が合わないので実際には全部ではない模様)をまとめてロックした形で実行されるようだ。
一方FPUはもっとシンプルで、3つある実行ユニットが全部ロックされる。
;; Vector operations usually consume many of pipes.
(define_reservation "athlon-fvector" "(athlon-fadd + athlon-fmul + athlon-fstore)")
ということで、前回書いた「こうした処理の仕方は見たことが無かった」のは単に筆者の不見識であった。お詫びして訂正する。
ただ、x86/x64とAArch32/AArch64の違いを吸収して実行ユニットに引き渡すためには、一度中間命令に変換してからになり、その際にバッファを持つだろうという筆者の見解そのものに変化はない。
→次のページヘ続く (FP3がボトルネックになる)
この連載の記事
-
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ