Bulldozer (マイクロアーキテクチャ)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Bulldozer
生産時期 2011年から
設計者 AMD
生産者 GLOBALFOUNDRIES
プロセスルール 32 nm
命令セット AMD64
ソケット Socket AM3+
Socket C32
Socket G34
パッケージ AMD FX
Opteron
テンプレートを表示

Bulldozer (ブルドーザー)とは、アドバンスト・マイクロ・デバイセズ(以下AMDと略)の AMD64 実装マイクロプロセッサアーキテクチャである。デスクトップ向けの AMD FX とサーバー向けの Opteron に採用された。

Bulldozer は、K10 マイクロアーキテクチャの次世代CPUコアに与えられたコードネームのひとつで、TDPは10Wから125Wを目標としている。 このアーキテクチャはゼロから完全に新しく作られた物で、AMD は、HPCアプリケーションに Bulldozer コアを用いる事で、1Wあたりの性能を劇的に向上させる事ができると主張している。

特徴[編集]

二つのコア、浮動小数点演算装置、命令デコーダ、L2キャッシュなどからなるモジュール(Bulldozer モジュール)を基本単位として構成されるクラスタードアーキテクチャとなる。 命令キャッシュからデコーダまでのフロントエンドと、浮動小数点演算装置及びL2キャッシュが二つのコアで共有されており、整数演算装置とL1データキャッシュのみがコアごとに独立している構造になっている。 そのため、完全なデュアルコアSMTとの中間的な構造である。 その他、特徴的な点として、浮動小数点の積和算をサポートしている。1サイクルに従来命令換算で、4つの128ビット演算を行えるため、モジュール単位でPhenom II 1コアと比較して2倍のスループットを得られる。 整数演算装置が2/3の性能で、Instructions Per Clock がK10より下がるため、クロックを上げて性能を補う、近年のAMDには珍しいスピードデーモン寄りのアーキテクチャとなり、K10と比べてクロックが25%ほど上昇している。

32nm HKMG (High-k/Metal Gate) SOIプロセスで製造された。

L2キャッシュは1モジュールにつき2MBとなる。デスクトップ向けの Zambezi は、L3は8MBで、メモリDDR3-1866デュアルチャネルに対応する。

液体ヘリウムを使用したオーバークロックを行った結果、8.461GHzを達成し、ギネス世界記録となった。

OSの対応[編集]

旧来のどのアーキテクチャとも異なる構成なのでIntel HTTの時と同じようにOSスケジューラの対応が必要となる場合がある。

Windows[編集]

Windowsのスケジューラは空いているコアに対してスレッドを割り振るが、対策前のWindowsでは「Bulldozer Module」の特性(フロントエンドや浮動小数点数演算装置の共有)を考慮していないため、同一モジュール内かどうかを考慮せずにスレッドを割り振る。このために空いているモジュールがあるにもかかわらず、同一モジュールにスレッドを割り振ってフロントエンドや浮動小数点数演算装置がボトルネックになり性能低下が起こる事があった。

マイクロソフト2012年1月にKB2645594とKB2646060のパッチを公開しこの問題に対応した。KB2645594はBulldozer Module1基を物理1コア論理2コアと見立てるように修正するパッチで、KB2646060はKB2645594の副作用でBulldozer Moduleが頻繁にC6ステートに入ってしまい,結果,マルチスレッド化があまり進んでいない環境で性能が低下する問題を修正するパッチである。

このパッチ群により性能低下への対応は行われたが、対策後のWindowsからは 物理コア数=Bulldozer Module数のSMTタイプCPUとして扱われるため、本来の性能を発揮しているかどうかは未知数である。

AMDはWindows 8でBulldozerへの最適化がなされるようマイクロソフトと協力しているという。

Linux[編集]

1モジュールあたり1コア2スレッドのSMTプロセッサとして扱われる。

改良[編集]

Piledriver[編集]

Piledriver は二世代目の Bulldozer として2012年に発表された。IPC と動作周波数が向上が図られた。

Steamroller[編集]

Steamroller は三世代目の Bulldozer として2013年に発表された。

参考資料[編集]