このページの本文へ

前へ 1 2 3 次へ

ロードマップでわかる!当世プロセッサー事情 第332回

AMD次期プロセッサーZenの内部構造をパイプライン構成から推察

2015年11月30日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 最初にお断りしておくと、今回の記事はドイツのMatthias Waldhauer氏(@Dresdenboy)との共同作業である。

 同氏はAMDの次期プロセッサーZenとK12の関係を自身のブログでいろいろ考察しているが、筆者の記事を機械翻訳しても意味が通じないということで直接メールで質問をいただき、その結果を自身のブログに反映している。

 これに関してメールでやり取りしている最中に、いろいろ興味深い情報を教えていただいた。これを記事化することも承諾いただいたので、この情報をベースにZenの内部構造の推察を試みてみたい。

次世代AMD FXの“Zen”コアの概要

 ちなみにWaldhauer氏が得た情報に基づく記事はこちらである。当然ながら、内容は氏のものと重複する部分があることを最初にお断りしておく。

AMDのパッチからzenと思わしき記述が見つかる

 ソフトウェア開発のためのソースコード管理サービスであるGitHubにあるGCC(GNU Compiler Collection)には、さまざまなアーキテクチャー向けのパッチが常に投稿され続けている。

 これは新アーキテクチャーが出てくるたびに必ず発生するのだが、2015年10月6日にznver1というパッチがAMDのVenkataramanan Kumar氏により投稿された(関連リンク)。

 Kumar氏はAMDの技術者であるとともにGNUの貢献者でもある。ビジネス特化型SNSのLinkedInにあるKumar氏の経歴によれば、過去4年間AMDのGCCコンパイラチームで働いており、主にGCCでの新命令のサポートや性能分析/改善の作業を行なってきたとしている。

 Kumar氏のパッチは、14のファイルに対して、1239の追加と29の削除を行なうものになっているが、まず最後のgcc/doc/invoke.texiに対する修正を見ると以下のようになっており、znver1はZenコアの初代(Version 1)を指しているのは明白である。

+@item znver1
+AMD Family 17h core based CPUs with x86-64 instruction set support. (This
+supersets BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX,
+SHA, CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3,
+SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, and 64-bit
+instruction set extensions.

 ちなみにこの記述を見るとZenは17hとなっている。Excavatorコアが15hなので16hが飛んでいる。これはおそらくAMDが10月に発表した“Merlin Falcon”ことAMD Embedded Rシリーズに充てられているものと思われる。

 ただこの段階では、単にサポートされる命令しかわからない。もう少しディテールが示されているのは、新たに追加されたgcc/config/i386/znver1.mdである。やや長いのだが抜粋させていただく。

+(define_attr "znver1_decode" "direct,vector,double"
+ (const_string "direct"))
+
+;; AMD znver1 Scheduling
+;; Modeling automatons for zen decoders, integer execution pipes,
+;; AGU pipes and floating point execution units.
+(define_automaton "znver1, znver1_ieu, znver1_fp, znver1_agu")
+
+;; Decoders unit has 4 decoders and all of them can decode fast path
+;; and vector type instructions.
+(define_cpu_unit "znver1-decode0" "znver1")
+(define_cpu_unit "znver1-decode1" "znver1")
+(define_cpu_unit "znver1-decode2" "znver1")
+(define_cpu_unit "znver1-decode3" "znver1")
+
+;; Currently blocking all decoders for vector path instructions as
+;; they are dispatched separetely as microcode sequence.
+;; Fix me: Need to revisit this.
+(define_reservation "znver1-vector" "znver1-decode0+znver1-decode1+znver1-decode2+znver1-decode3")
+
+;; Direct instructions can be issued to any of the four decoders.
+(define_reservation "znver1-direct" "znver1-decode0|znver1-decode1|znver1-decode2|znver1-decode3")
+
+;; Fix me: Need to revisit this later to simulate fast path double behaviour.
+(define_reservation "znver1-double" "znver1-direct")
+
+
+;; Integer unit 4 ALU pipes.
+(define_cpu_unit "znver1-ieu0" "znver1_ieu")
+(define_cpu_unit "znver1-ieu1" "znver1_ieu")
+(define_cpu_unit "znver1-ieu2" "znver1_ieu")
+(define_cpu_unit "znver1-ieu3" "znver1_ieu")
+(define_reservation "znver1-ieu" "znver1-ieu0|znver1-ieu1|znver1-ieu2|znver1-ieu3")
+
+;; 2 AGU pipes.
+(define_cpu_unit "znver1-agu0" "znver1_agu")
+(define_cpu_unit "znver1-agu1" "znver1_agu")
+(define_reservation "znver1-agu-reserve" "znver1-agu0|znver1-agu1")
+
+(define_reservation "znver1-load" "znver1-agu-reserve")
+(define_reservation "znver1-store" "znver1-agu-reserve")
+
+;; vectorpath (microcoded) instructions are single issue instructions.
+;; So, they occupy all the integer units.
+(define_reservation "znver1-ivector" "znver1-ieu0+znver1-ieu1
+ +znver1-ieu2+znver1-ieu3
+ +znver1-agu0+znver1-agu1")
+
+;; Floating point unit 4 FP pipes.
+(define_cpu_unit "znver1-fp0" "znver1_fp")
+(define_cpu_unit "znver1-fp1" "znver1_fp")
+(define_cpu_unit "znver1-fp2" "znver1_fp")
+(define_cpu_unit "znver1-fp3" "znver1_fp")
+
+(define_reservation "znver1-fpu" "znver1-fp0|znver1-fp1|znver1-fp2|znver1-fp3")
+
+(define_reservation "znver1-fvector" "znver1-fp0+znver1-fp1
+ +znver1-fp2+znver1-fp3
+ +znver1-agu0+znver1-agu1")

 ここからかなりいろいろなことがわかる。まず冒頭のDecoders unitだが、Zenには4つのデコーダーが搭載され、いずれもFast PathとVector Typeの両方の命令をカバーするとしている。

 Fast Pathは命令構造が簡単な、インテルで言うところのSimple Decoderでカバーされるタイプ。一方Vector TypeはMicrocodeを参照する、インテルで言うところのComplex Decoderでカバーされるタイプだ。

 つまりK7/K8世代と同じく、すべての命令が各々のデコーダーで取り扱い可能で、しかもそれが4命令/サイクルで実装されているのがわかる。

 もっとも、Vector Pathに関しては“Currently blocking all decoders for vector path instructions as they are dispatched separetely as microcode sequence.”というあたり、実際にVector Pathを解釈するユニットは1つしかないようである。一方Direct Pathに関しては4つのデコーダー自身で解釈可能となっているようだ。

 さて、次はALU(演算ユニット)であるが、これもIEU0~IEU3の4つが用意され、またIEU0~IEU3までは完全に同じ構成になっているようだ。

 同様にAGU(アドレス生成ユニット)はAGU0とAGU1の2つが用意され、これも機能は同じようになっている。GPUもそうでFP0~FP3の4つが用意され、いずれも同等に設定されているらしい。

 ここでイレギュラーなのが、先にVecor Pathを通った命令である。これに関しては他の命令とは排他に近い形で実行されるらしい。こうしたメカニズムはあまりこれまで見ることができなかったが、理由はなんとなくわかるので、これは後述する。

→次のページヘ続く (パッチから推定するZenの内部構造

前へ 1 2 3 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
【Amazon.co.jp限定】HP ノートパソコン 15-fd 15.6インチ インテル Core 5 120U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M5PA-AAAI)
【Amazon.co.jp限定】HP ノートパソコン 15-fd 15.6インチ インテル Core 5 120U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M5PA-AAAI)
¥181,469
2
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - ミッドナイト
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - ミッドナイト
¥177,333
3
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥35,130
4
ESBOOKノートパソコン 【MS Office 2024搭載&Windows 11 Pro】14インチIPS液晶/1920×1080FHDディスプレイ カメラ付き/薄型PCノート高性能CPU/初期設定不要/8Gメモリ/無線LAN/大容量SSD/初心者向け・パソコンノート/日本語キーボードフィルム付き/ワイヤレスマウス付き(256G SSD, ローズゴールド)
ESBOOKノートパソコン 【MS Office 2024搭載&Windows 11 Pro】14インチIPS液晶/1920×1080FHDディスプレイ カメラ付き/薄型PCノート高性能CPU/初期設定不要/8Gメモリ/無線LAN/大容量SSD/初心者向け・パソコンノート/日本語キーボードフィルム付き/ワイヤレスマウス付き(256G SSD, ローズゴールド)
¥38,999
5
【整備済み品】中古 ノートパソコン富士通 A579/ 15.6型/ 第8世代Core i5-8365U/ 快適メモリ 8GB/ 高速SSD 256GB/ Win11 Pro/MS Office 2019付属/ テンキー・Webカメラ/豊富な接続端子(HDMI, VGA, USB 3.0)/ ACアダプター付属/初期設定済み・届いてすぐ使用可能/ 180日保証
【整備済み品】中古 ノートパソコン富士通 A579/ 15.6型/ 第8世代Core i5-8365U/ 快適メモリ 8GB/ 高速SSD 256GB/ Win11 Pro/MS Office 2019付属/ テンキー・Webカメラ/豊富な接続端子(HDMI, VGA, USB 3.0)/ ACアダプター付属/初期設定済み・届いてすぐ使用可能/ 180日保証
¥22,480

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,386
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,080
4
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,599
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
6
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
7
KIOXIA(キオクシア)【日本製】SDカード 32GB SDHC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA032G
KIOXIA(キオクシア)【日本製】SDカード 32GB SDHC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA032G
¥1,379
8
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
9
JAMJAKE iPad用ペンシル アップルペンシル代用ペン 2018年~2026年 iPad対応 タッチペン 超高感度 極細 スタイラスペン Type-C急速充電 傾き感知/磁気吸着/誤作動防止機能対応 軽量 耐摩 学生 子供 筆記 絵を描く デザイン用 ドローイング用
JAMJAKE iPad用ペンシル アップルペンシル代用ペン 2018年~2026年 iPad対応 タッチペン 超高感度 極細 スタイラスペン Type-C急速充電 傾き感知/磁気吸着/誤作動防止機能対応 軽量 耐摩 学生 子供 筆記 絵を描く デザイン用 ドローイング用
¥1,880
10
対応 iPad 11世代 / 10世代 ガラスフィルム (2025/2022モデル) ガイド枠付き 【2枚セット-日本旭硝子素材】対応 iPad第10世代 2022 第11世代A16 10.9インチ 保護フィルム フィルム 強化ガラス スマートタブレット 第11世代2025 第10世代2022 液晶保護フィルム ガイド枠 全面保護 2.5D 硬度9 H 耐衝撃 飛散防止 貼り付け簡単 自動吸着 気泡ゼロ 指紋防止 ラウンドエッジ加工 超薄0.26mm 超高質感 スマートタブレット SENTM-2IP10D-1
対応 iPad 11世代 / 10世代 ガラスフィルム (2025/2022モデル) ガイド枠付き 【2枚セット-日本旭硝子素材】対応 iPad第10世代 2022 第11世代A16 10.9インチ 保護フィルム フィルム 強化ガラス スマートタブレット 第11世代2025 第10世代2022 液晶保護フィルム ガイド枠 全面保護 2.5D 硬度9 H 耐衝撃 飛散防止 貼り付け簡単 自動吸着 気泡ゼロ 指紋防止 ラウンドエッジ加工 超薄0.26mm 超高質感 スマートタブレット SENTM-2IP10D-1
¥998

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン