このページの本文へ

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

AMD次期プロセッサーZenはFP3がボトルネックになる?

2015年12月07日 12時00分更新

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

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

FPU構成はタイプミスでなければ
FP3がボトルネックになる

 次に2つ目のFPU構成である。これはFP2がどう動くかという問題である。さすがに長大なのでリストを掲載するのは避ける。GCCでは命令セットの定義に以下のフォーマットで記載を行なう。

(define_insn_reservation insn-name default_latency condition regexp)

 例をあげよう。

(define_insn_reservation "znver1_fp_mov_direct_load" 5
(and (eq_attr "cpu" "znver1")
(and (eq_attr "znver1_decode" "direct")
(and (eq_attr "type" "fmov")
(eq_attr "memory" "load"))))
"znver1-direct,znver1-load,znver1-fp3|znver1-fp1")

 この場合、znver1_fp_mov_direct_loadで定義される命令セットは処理に5サイクルを要し、実行ユニットとしてはznver1-loadに加えてznver1-fp1とznver1-fp3のどちらかを使うという意味だ。

 さて、ここで命令セットと、どの実行ユニットを使うかを一覧でまとめたのが下表である。命令は名前の通り実行されるFPUの命令、Load/StoreはLoad/Storeユニットを利用する場合にこれを表記(なければ使わない)、FPUは実際に使われるFPUのユニットである。

命令セットと実行ユニットの関係
命令 Load/Store FPU
fp_mov_direct_load load fp3|fp1
fp_mov_direct_store store fp2|fp3
fp_mov_double fp3
fp_mov_double_load load fp3
fp_mov_direct fp3
fp_spc_direct tfp2+fp3
fp_fsgn fp3
fp_fcmp fp0+fp2
fp_fcmp_load load fp0+fp2
fp_op_mul fp0
fp_op_mul_load load fp0
fp_op_imul_load load fp0
fp_op_div fp3
fp_op_div_load load fp3
fp_op_idiv_load load fp3
fp_insn fpu
mmx_add fp0|fp1|fp3
mmx_add_load load fp0|fp1|fp3
mmx_cmp fp0|fp3
mmx_cmp_load load fp0|fp3
mmx_cvt_pck_shuf fp1|fp2
mmx_cvt_pck_shuf_load load fp1|fp2
mmx_shift_move fp2
mmx_shift_move_load load fp2
mmx_move_store store fp2
mmx_mul fp0
mmx_load load fp0
avx256_log fpu
avx256_log_load load fpu
sse_log fpu
sse_log_load load fpu
avx256_log1 fp1|fp2
avx256_log1_load load fp1|fp2
sse_log1 fp1|fp2
sse_log1_load load fp1|fp2
sse_comi fp0|fp1
sse_comi_load load fp0|fp1
sse_comi_double fp0|fp1
sse_comi_double_load load fp0|fp1
sse_test fp1|fp2
sse_test_load load fp1|fp2
sseavx_mov fpu
sseavx_mov_store store fpu
sseavx_mov_load load fpu
avx256_mov fpu
avx256_mov_store store fpu
avx256_mov_load load fpu
sseavx_add fp2|fp3
sseavx_add_load load fp2|fp3
avx256_add fp2|fp3
avx256_add_load load fp2|fp3
sseavx_fma (fp0+fp3)|(fp1+fp3)
sseavx_fma_load load (fp0+fp3)|(fp1+fp3)
avx256_fma (fp0+fp3)|(fp1+fp3)
avx256_fma_load load (fp0+fp3)|(fp1+fp3)
sseavx_iadd fp0|fp1|fp3
sseavx_iadd_load load fp0|fp1|fp3
avx256_iadd fp0|fp1|fp3
avx256_iadd_load load fp0|fp1|fp3
ssecvt fp3
ssecvt_load load fp3
ssediv_ss_ps fp3
ssediv_ss_ps_load load fp3
ssediv_sd_pd fp3
ssediv_sd_pd_load load fp3
ssediv_avx256_ps fp3
ssediv_avx256_ps_load load fp3
ssediv_avx256_pd fp3
ssediv_avx256_pd_load load fp3
ssemul_ss_ps fp0|fp1
ssemul_ss_ps_load load fp0|fp1
ssemul_avx256_ps fp0|fp1
ssemul_avx256_ps_load load fp0|fp1
ssemul_sd_pd fp0|fp1
ssemul_sd_pd_load load fp0|fp1
ssemul_avx256_pd fp0|fp1
ssemul_avx256_pd_load load fp0|fp1
sseimul fp0
sseimul_avx256 fp0
sseimul_load load fp0
sseimul_avx256_load load fp0
sseimul_di fp0
sseimul_load_di load fp0
sse_cmp fp0|fp1
sse_cmp_load load fp0|fp1
sse_cmp_avx256 fp0|fp1
sse_cmp_avx256_load load fp0|fp1
sse_icmp fp0|fp3
sse_icmp_load load fp0|fp3
sse_icmp_avx256 fp0|fp3
sse_icmp_avx256_load load fp0|fp3

 FPUの意味は以下のとおり。表で太字のところはFP2を利用するという命令ユニットである。

FPU FP1/FP2/FP3/FP4のどれか1つ
FP0+FP1 FP1とFP2を同時に利用
FP0|FP1 FP0とFP2のどちらか片方を利用

 さて、問題はなにかというと、例えばsseavx_fmaやavx256_iaddなどの命令が、(fp0+fp3)|(fp1+fp3)と表記されているが、これが正しいか否かである。

 もしこれが正しいとすれば、FMAを実行する場合にFP2が利用できないので、事実上FP3がボトルネックになることになる。したがって、FMA命令2つの同時発行はできないという制約が付くことになる。ちなみにWaldhauer氏はこれはタイプミスだとしている。さてこれはどっちだろう?

 ということで、以下筆者の見解だが、そもそもこのFP0~FP3の4つのFPUが、必ずしも同じ機能を持っているわけではないのは当然として、完全に2セットというわけではないようだ。

 例えば、fsgnやfp_moveなどがFP3でしかできない、FPUのShift演算はどうもFP2にしか実装されていないなど、いくらかの偏りはあるようだ。

 あるいは、完全に2つのセットだとすれば、普通に考えればFP0とFP2、FP1とFP3でそれぞれセットになるため、FP0とFP1はおおむね同等の機能になるはずだ。

 ところが、sseavx_logやavx256_logはFP1/FP2のどちらか、sseavx_addやavx256_addはFP2/FP3のどちらかという構成になっている。もっと端的なのがmmx_addで、FP0/FP1/FP3のみでFP2が対象になっていない。

 そもそも命令ユニットを見ると、乗算を行なうユニットはFP0/FP1にのみ搭載されているようだ。では加算は? というと、mmx_addなどではFP2以外にはすべて実装されているように見えるが、よく見るとavx256_addではFP2でも動作することになっている。つまりFP2にも加算が実装されていないと辻褄が合わない。

 ということで、全体としてみるとあちこち理屈に合わないことが多すぎる。そのことは間違いないのでタイプミスにしたいところであるが、これが全部タイプミスだとするとFPU周りはほぼ全部とは言わないまでも、かなりの部分が書き直しになる。

 もちろん、そこまで盛大に間違えていた可能性は否定できないが、筆者としてはタイプミスではなく本当にFP3がボトルネックになっている可能性が高いと考えている。

 もしもznver1_mmx_addが

"znver1-direct,znver1-fp0|znver1-fp1|znver1-fp3"

 ではなく

"znver1-direct,znver1-fpu"

 と記述されていれば、タイプミス(つまりMAC演算は同時に2命令発行できる)と判断していたのだが。ただそうなると、avx256_addが示唆するFP2に搭載されている加算はなに? という問題が残ることは指摘しておきたい。つまり派手にタイプミスしている可能性もまだ残っているということだ。

→次のページヘ続く (動作周波数は3GHzか4GHzか?

カテゴリートップへ

この連載の記事
1
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
¥19,800
2
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
¥107,800
3
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
4
【Amazon.co.jp限定】 HP ノートパソコン 15-fd 15.6インチ インテル Core i5-1334U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M4PA-AAAB)
【Amazon.co.jp限定】 HP ノートパソコン 15-fd 15.6インチ インテル Core i5-1334U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M4PA-AAAB)
¥181,469
5
【整備済み品】富士通 ノートパソコン 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)
¥36,979

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
¥1,880
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
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
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
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
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
7
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
9
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
10
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040

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

デジタル用語辞典

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