- A=A×B+C
Sandy Bridge世代では浮動小数点で上の演算を行なう場合、以下のように2つの命令に分けて処理を行なう必要があった。トータルでのレインテンシーは8サイクルかかる。
- A=A×B (レイテンシー 5サイクル)
- A=A+C (レイテンシー 3サイクル)
これがHaswellの世代では1回でできるので、前掲のスライドにも「Latency:5 cycles」と記述されている。
そのほかにも、これまではSSE3/SSE4などで提供されてAVXには含まれていなかった命令を、全部AVXで取り込むようにしたり、強力なデータの並べ替え機構(AVXレジスタにデータを取り込む時の指定方法を強化)、bit演算命令などの追加という改良が加えられている。
AVX強化に合わせて、
1次データ/2次キャッシュの帯域も強化
ただし、AVX命令の性能を強化した結果、データ入出力についても強化しないといけなくなった。例えば「A=A+B」という演算では、2つの処理が必要になる。
- ①AとB、2つの値を読み込む
- ②計算後にAの値を書き出す
従来のSSEは128bitだったので、読み込みが16byte(128bit)×2で32byte/サイクル。書き出しは16byte/サイクルの帯域が必要である。Sandy Bridgeはこれに合わせてLoadユニットを増加させていたが、AVX2で演算性能が倍になると、これらの帯域も倍増させないと間に合わなくなった。
そのため、CPUコアと1次キャッシュ(正確には1次データキャッシュ)の帯域は、ついに読み出しが64byte/cycle、書き込みが32byte/cycleで、合計96byte/cycleの帯域を持つように強化された。それに合わせてデータ1次キャッシュと2次キャッシュの間の帯域も、Sandy Bridge世代の倍である64byte/サイクルに強化されている。
ただし、上のスライドにもあるとおり、1次/2次キャッシュの構成やサイズそのものは、Sandy Bridge世代と変わっていない。また別の資料によれば、1次/2次キャッシュへのアクセスレイテンシーも「不変」とあるので、この帯域倍増は純粋に、バスの配線を倍増する形で実装したものと思われる。もちろん、バス幅以外まったく同じというわけではなく、書き戻しの際の干渉を軽減したり、キャッシュライン※1をまたがってデータアクセスする場合の効率を改善したりと、さまざまな工夫はされている。
※1 キャッシュは通常、32byteあるいは64byte単位で管理されており、この最小単位をキャッシュラインと呼ぶ。キャッシュにリクエストを出す場合、このライン単位で読み書きをするため、これにぴったりあった形で読み書きをすると高速だが、ラインをまたがった場合は著しく効率が落ちる。

この連載の記事
-
第860回
PC
NVIDIAのVeraとRubinはPCIe Gen6対応、176スレッドの新アーキテクチャー搭載! 最高クラスの性能でAI開発を革新 -
第859回
デジタル
組み込み向けのAMD Ryzen AI Embedded P100シリーズはZen 5を最大6コア搭載で、最大50TOPSのNPU性能を実現 -
第858回
デジタル
CES 2026で実機を披露! AMDが発表した最先端AIラックHeliosの最新仕様を独自解説 -
第857回
PC
FinFETを超えるGAA構造の威力! Samsung推進のMBCFETが実現する高性能チップの未来 -
第856回
PC
Rubin Ultra搭載Kyber Rackが放つ100PFlops級ハイスペック性能と3600GB/s超NVLink接続の秘密を解析 -
第855回
PC
配線太さがジュース缶並み!? 800V DC供給で電力損失7~10%削減を可能にする次世代データセンターラック技術 -
第854回
PC
巨大ラジエーターで熱管理! NVIDIA GB200/300搭載NVL72ラックがもたらす次世代AIインフラの全貌 -
第853回
PC
7つのカメラと高度な6DOF・Depthセンサー搭載、Meta Orionが切り開く没入感抜群の新ARスマートグラス技術 -
第852回
PC
Google最新TPU「Ironwood」は前世代比4.7倍の性能向上かつ160Wの低消費電力で圧倒的省エネを実現 -
第851回
PC
Instinct MI400/MI500登場でAI/HPC向けGPUはどう変わる? CoWoS-L採用の詳細も判明 AMD GPUロードマップ -
第850回
デジタル
Zen 6+Zen 6c、そしてZen 7へ! EPYCは256コアへ向かう AMD CPUロードマップ - この連載の一覧へ











