AMD推土機微架構

**推土機微架構**（英語：AMD Bulldozer）是 AMD 繼 K10 微架構之後推出的中央處理器微架構，由 IBM Power4 的總工程師 Chuck Moore 操刀。該微架構主要應用於桌上型平台、伺服器平台乃至超級計算機的微處理器核心上。Bulldozer 在歷經數次跳票後於 2011 年 9 月 19 日發布，其首發產品是核心代號為「Zambezi」的 AMD FX。

Bulldozer 微架構從一個早期已擱置的微架構設計發展而來，主攻熱設計功耗為 10 瓦至 125 瓦的處理器平台。AMD 預期認為，基於 Bulldozer 架構的處理器在實際應用中每個「推土機」（Bulldozer）核心每瓦效能可達到高效能計算（High-performance computing，HPC）的水準。屆時每個「推土機」核心會支援 Intel 絕大部分的指令集（包括 SSE4.1、SSE4.2、AES、CLMUL 以及 AVX），以及 AMD 自有的指令集（包括由 SSE5 拆分而來的 XOP、FMA4、CVT16）。

## 概觀

2011 年，AMD 處理器開始匯入 32 奈米製程，推出 APU（加速處理單元）新形態處理器，應用在桌上型電腦與筆記型電腦。超微的處理器架構有兩大關鍵的調整方向，依用途區分成兩種系列，其研發技術代號分別為 Bulldozer 與 Bobcat。Bulldozer 架構針對主流伺服器、桌上型電腦、筆電的應用，提供高存取效能與高負載多執行緒的架構，並選擇以 APU 組態的高延展性來連結圖形處理器；Bobcat 主攻低耗電的超輕薄電腦應用。

Bulldozer 架構的處理器均使用格羅方德的 32 奈米 HKMG SOI 製程，重新使用類似 DEC 的多任務計算的設計。根據 AMD 的發布說明，「平衡專用和共享的處理器運算資源，來提供一個易於成倍提升計算效能的，高度緊湊的單晶片多核心的設計」。換句話說，透過精簡處理器核心一些「冗餘」部分，輔以多核心 / 多執行緒的設計，超微希望籍此以更少的能耗，來充分發揮這些核心的特性和效能來提升整塊微處理器乃至整個平台的效能。AMD 研究員 Tim Fischer 表示，Bulldozer 採用全新的控制結構和運算單元，其效能體現於整數運算、浮點運算、L1 快取、電源管理，和時脈產生器等…… 均是開發重點，主要意義在於降低功耗並提升單位功耗的效能。

Bulldozer 微架構的設計早在 2003 年已出現，由於 AMD 忙於 K8 微架構處理器的研發和推出而擱置，後來 Bulldozer 架構在該微架構的基礎上重新設計。可合併為 1 個 256 位的 2 個 128 位元並且可進行融合乘法運算的浮點運算單元，這個主要特性在 2003 年的設計中已出現；一個 Bulldozer 核心單元中，除了前述的浮點運算單元外，還擁有兩個整數排程運算單元，每個整數排程運算單元各自擁有 4 條管線（另外的讀取、解碼這兩級管線為兩個整數運算單元所共享）；L1 快取為每整數排程運算單元獨占，但 L2 快取則為兩個整數排程運算單元所共享。AMD 稱這樣的一個單元為一個「模組」，一個 16 執行緒的 Bulldozer 處理器中包含 8 個這樣的模組，但一個模組並不會被辨認為一個物理核心，而是根據一個模組中的 2 個整數排程運算單元的數量辨認為兩個邏輯核心（即作業系統會將 1 個模組辨認為兩個邏輯核心 / 執行緒）。一個「模組」包含 2 個邏輯核心，和 Intel 的超執行緒技術中 1 個物理核心被辨認為 2 個邏輯核心的做法似乎有類似之處，但事實上，兩者大相徑庭：AMD Bulldozer 的「模組」為每條執行緒提供了各自的整數運算排程單元和一級指令快取，而英特爾的超執行緒則是兩條執行緒共享核心內所有可用的運算資源。

基於 Bulldozer 微架構，32 奈米 SOI HKMG 製程的處理器產品於 2011 年 9 月率先於桌上型平台上發布，是為核心代號「Zambezi」（Socket AM3+，4 至 8 執行緒）之 AMD FX 系列；緊接著的是 10 月 12 日發布伺服器平台，核心代號「Interlagos」（Socket G34，16 執行緒）、「Valencia」（Socket C32，4 至 8 執行緒）之 AMD Opteron 系列重新啟用了 AMD 少有的「FX」品牌。首發的桌面級產品 FX-8150，將有四個 Bulldozer 模組；伺服器級微處理器，代號 Interlagos，是由兩個包含 4 個 Bulldozer 模組的 MCM、共八個 Bulldozer 模組所構成。

## 微架構特性

### Bulldozer 核心 / 模組

* AMD 認為並對外聲明這種模組化的設計是「基於叢集的多執行緒」或「兩個整數排程運算單元的叢集」。這種基於叢集的多執行緒技術一般稱為「**叢集多執行緒**」（CMT，Clustered Multithreading），而 AMD 則定義：基於這種設計的處理單元為一個「模組」（Module）。從硬體的複雜性和功能性的角度出發，Bulldozer 模組（叢集多執行緒）介於兩個獨立的處理器核心和超執行緒之間。兩個獨立的處理器核心的設計中，每個核心擁有獨立的處理單元、快取等運算資源，一般稱這種多執行緒設計為**晶片級多核心**（CMP，Chip Multi-Processor）；而超執行緒則是兩條執行緒運作於一個運算排程資源足夠多、管線足夠長（但不可太長）的處理器核心上，兩條執行緒的運算資源是共享的，包括處理單元、快取，一般稱這種多執行緒設計為**同步多執行緒**（SMT，Simultaneous Multithreading）；而叢集多執行緒中一般幾條執行緒或多或少共享 fetch、暫存器甚至是浮點運算單元等運算資源，但主要執行單元 —— 整數排程運算單元都是獨占的。這種叢集式多執行緒微架構的設計，綜合了晶片級多核心和同步多執行緒的特點，最早的實例是 DEC 在 1996 年研發後來推出市場的精簡指令集體系的微處理器 Alpha 21264，後來的昇陽電腦公司和甲骨文公司開發的 UltraSPARC T1（核心代號「Niagara」）、UltraSPARC T2（核心代號「Niagara 2」）微處理器也是採用類似的設計（UltraSPARC T2 還同時使用了同步多執行緒技術）。
  * 超微採用叢集多執行緒設計的 Bulldozer 模組中，包含兩個 x86 整數運算排程單元並被辨認為兩個邏輯核心，每個整數運算排程單元各自佔有 16KB 一級指令快取；一個可拆分為兩個 128 位元的 256 位元浮點運算單元，fetch、解碼器、二級快取、I/O 總線等為兩條執行緒所共享，即一個模組所有。
* 每模組都擁有獨立的硬體資源：
  * 2MB 的 L2 快取（模組內兩個整數運算排程單元共享）；
  * 模組內兩個整數運算排程單元共享 2 路 32KB 一級指令快取，每整數運算排程單元獨占 1 路 16KB 一級指令快取和全數 4 路 64KB 一級資料快取，包含快取分支預測；
  * 兩個獨立的整數運算排程單元 / 整數核心，
    * 每個整數運算排程單元擁有兩個算術邏輯單元（ALU，Arithmetic logic unit）和位址產生單元（AGU，Address generation unit），由此一個整數排程運算單元在一個時鐘週期內可完成 4 次運算操作和記憶體存取作業，即一個模組可達成 8 指令發射 / 處理作業；
    * 對一些偏重多執行緒的應用程式，兩個整數排程運算單元和更多的執行管線可提供更多的硬體資源予兩條並行的執行緒上，以提升這些應用程式的效能表現；
    * 兩個整數運算排程單元的 Bulldozer 模組比僅有 1 個整數運算排程單元的僅多出 12% 的電晶體數量以及 5% 的晶片面積增量_；_
  * 一組兩個對稱的 128 位元 FMAC（融合乘法加法）浮點運算單元，在接收到有 256 位浮點運算作業的指令（如 AVX）或並行的（x87/MMX/SSE 等）128 位元浮點運算作業後可以合併為 1 個 256 位元的浮點運算單元，這種設計可以更好地相容一些不支援並行對稱浮點運算的應用程式；
  * 共同的 Fetch／解碼管線；
* 所有模組共享三級快取和增強的雙通道 DDR3-SDRAM 記憶體控制器；
* 一個模組共計 2.13 億個電晶體，佔用 30.9 平方毫米的晶片面積，這個資料包含了 2MB 的二級快取，四個模組共計約 12 億電晶體；
* 按照超微的說法，基於 AMD Bulldozer 微架構的處理器上，一個雙執行緒的的處理器上有一個 Bulldozer 模組（2 個整數排程運算單元），一個 4 執行緒的處理器有兩個模組（4 個整數排程運算單元），一個 8 執行緒的處理器上有 4 個 Bulldozer 模組（8 個整數排程運算單元），如此類推。

### 指令集

* 支援 Intel 的 AVX 指令集（Advanced Vector Extensions，進階向量擴展），使處理器支援 256 位元的浮點運算作業。除此之外還支援 Intel 授權的 SSE4.1、SSE4.2、AES、CLMUL、Multiply-Add/Accumulat 等，以及 AMD 自有的 XOP、FMA4、CVT16、SSE4a 等，其中 XOP、FMA4、CVT16 是 AMD 原先的 SSE5 拆分而來（原本 Bulldozer 將會實現 SSE5 指令集，但是由於 Intel 選擇不支援 SSE5 而另立自己的 AVX 指令集，AMD 最終決定將 SSE5 分拆），儘管這三者為並行對稱的 128 位元算指令，但可以相容於 AVX 的編碼方案。

### 製程 / 製作工藝、時脈頻率、熱設計功耗

* 11 層金屬、32 奈米 SOI 輔以格羅方德首代 HKMG 製程；
* Turbo Core 2.0，和上代 Turbo Core 一樣可以根據處理器的負載狀態調整各處理器核心的時脈頻率。在處理器核心閒置時可以降低其時脈頻率乃至關閉核心；處理器核心滿載時可以提升其時脈頻率，處理器半數核心處於滿負荷時可以有 1GHz 的提升幅度，全部核心滿載時也有 500MHz 的提升幅度，但是時脈頻率的提升會保持在處理器的 TDP 限制（俗稱「熱牆」或「工作溫度牆」）之下。與上一代 Turbo Core 相比，Turbo Core 2.0 可以使處理器核心關閉，而且可以調整各個核心的時脈頻率，而首代 Turbo Core 則只能一次過調整半數核心的時脈頻率而不能調整單個核心的，核心閒置也不能被完全關閉。
* 處理器核心電壓在 0.775V 至 1.425V，伺服器平台的預設時脈頻率最低 1.6GHz，最高 3.4GHz；桌上型平台預設時脈頻率最低 2.8GHz，最高達 4.2GHz；
* 熱設計功耗最低 25 瓦，最高 140 瓦。

### 快取、記憶體

* 單晶片最高 8MB 的路快取容量，4 模組 8 核心共享；伺服器版本最高端型號的 AMD Opteron 6200 系列 4 模組 8 核心以上的則為 16MB（兩個多晶片模組）。單晶片的 8MBL3 快取被劃分為 4 個容量相同的 2MB 的部分，可以和北橋（記憶體控制器）一併運作於 2.2GHz 的時脈頻率上，於 1.1125V 的操作電壓；
* 原生支援 DDR3-1866 記憶體；
* 桌上型平台的處理器，內建雙通道 DDR3 記憶體控制器，支援 PC3-14900（DDR3-1866）、PC3-16000（DDR3-2000）、PC3-17000（DDR3-2133）以及更高規格的記憶體；伺服器 / 工作站平台的處理器，則內建四通道 DDR3 記憶體控制器，可支援 PC3-1280（DDR3-1600）暫存型記憶體（ECC 記憶體，僅核心代號「Valencia」、「Interlagos」支援）。
* AMD 稱每通道支援兩條 DIMM DDR3-1600（亦即每通道的兩條 DIMM 記憶體插槽可插滿 DDR3-1600 的記憶體），但單個通道兩條 DIMM 插上 DDR3-1866 記憶體時會降低記憶體時脈至 1600MHz。

### 輸出輸入總線、配套晶片組、處理器插座

* HyperTransport 總線升級為 3.1 版本，預設運作時脈頻率 3.20GHz，傳送速率 6.4GT/s，頻寬 25.6GB/s，單向位寬 16 位元。新版本的 HyperTransport，在上一代 K10.5 微架構，HY-D1 步進的「Magny-Cours」核心（socket G34 平台，新步進版本於 2010 年 3 月推出）和「Lisbon」核心（socket C32 平台，新步進於 2010 年 6 月推出）AMD Opteron 處理器上業已使用。
* AMD 官方接受媒體採訪時確認：「現有的 G34、C32 伺服器平台會支援基於推土機的新款伺服器產品（核心代號為「Interlagos」/「Valencia」）。至於桌面上，為了充分發揮推土機架構的能力，會引入增強的 AM3 + 介面，支援推土機並向下相容現有 AM3 介面處理器。」
  * 電腦版處理器使用的插座為 Socket AM3+（也稱 AM3r2）配套晶片組為 900 系列晶片組此代晶片組除了支援 AMD 自家的 CrossFireX 多卡互聯技術以外，還會支援 NVIDIA SLI 多卡互聯技術。
    * 處理器上共 942 個針腳，插座上也有 942 個腳位，但和同樣也是 942 個腳位的 Socket AM3 插座不同的是 Socket AM3 + 僅支援 DDR3-SDRAM 記憶體、HT 總線版本不同以及供電穩定性更強；
    * 可向下相容於 800 系列晶片組、使用 Socket AM3 插座（包括一些已使用 Socket AM3 + 的）的主機板，但需要主機板廠商提供 BIOS/EFI 韌體更新，因為 AMD 官方沒有提供正式的技術支援，也沒有說明 Socket AM3 + 介面的處理器可使用於 Socket AM3 插座的主機板，然而 AMD 卻說明了 Socket AM3 介面的處理器可以使用於 Socket AM3 + 插座的主機板上。
  * 伺服器 / 工作站平台則繼續沿用既有的伺服器晶片組和既有的 socket G34（LGA1974）和 socket C32（LGA1207）。

## 處理器

### 桌上型處理器

基於 Bulldozer 微架構的桌上型平台處理器為 **AMD FX**，於 2011 年 9 月 19 日正式上市。使用 GlobalFoundries 32nm SOI 工藝，支援 Turbo Core 2.0、Cool'n'Quiet、HyperTransport 3.1 等技術。使用新的 Socket AM3+（942）插座，支援 DDR3-1866 雙連結記憶體，分為 8 核、6 核、4 核三種版本，主頻從 2.8GHz~4.2GHz 不等。配套晶片組為 AMD 900 系列晶片組。

Bulldozer 與 Fusion APU「Llano」兩個系列處理器的上市時間定案，分別是 2011 年 9 月 19 日跟 2012 年第一季。最初有 4 個 Bulldozer 處理器在 2011 年 9 月 19 日發佈，分別是：四核心 FX-4100、六核心 FX-6100、八核心 FX-8150、FX-8120。三核心型號（1.5 個模組，微軟 KB2592546 修補程式的定義為「1.5 核心」）只供 OEM 市場。

### 伺服器處理器

2011 年 11 月 14 日，AMD 宣佈推出針對伺服器等級效能的 Opteron 6200 與 4200 系列處理器（先前代號分別為：Interlagos 與 Valencia），主要將提供其擴充性，並且提供高出 73% 的記憶體頻寬，以對應更高階的虛擬化技術應用，同時在整體耗電量部份也讓每組核心減少原有一半，同時也讓主機使用空間減少三分之二，進而節省更多電力、空間等成本支出。

AMD 也同步透露 2012 年將加入全新 AMD Opteron 3000 伺服器平台，主要鎖定超高密度、超低功耗的 1 路網路主機代管（Web Hosting）、網路伺服器（Web Serving），以及微型伺服器（Microserver）等應用領域。其中將會先推出代號為「Zurich」的 4 至 8 核心架構的處理器系列，同樣採用推土機（Bulldozer）架構且對應 AM3 + 插槽，並且預計將於 2012 上半年間出貨。

#### 主要特性

* 同價位伺服器處理器產品效能約較競爭品牌高出 89％
* 處理器陣容齊全、從 4 核心一路涵蓋到 16 核心
* 與前代平台相同的功耗曲線下，每顆核心功耗最低約可達 4.375W
* 處理關鍵雲端、虛擬化及高效能運算等作業時，效能可高出 24％至 84％
* 擁有 2 路處理器最高的 TPCC 速度測試分數
* 最低的虛擬系統（virtual machine，VM）單位成本
* 最高可達 4 個記憶體通道，最高可支援 1600MHz 記憶體時脈
* 支援 1.25 伏特超低電壓記憶體
* 每顆處理器最高支援 12 組 DIMM 記憶體，最高可支援 384GB 記憶體
* 最多可支援 4 個 16 倍速的 HyperTransport（HT3）鏈路，每個鏈路傳輸速度達每秒 6.4GT

## 效能表現和市場反應

### AMD FX 系列效能問題

首款基於 Bulldozer 微架構的消費級處理器 AMD FX 上市後，在微架構的設計上、效能上和能耗上飽受爭議。首發的頂級型號 FX-8150，在倚重單執行緒的基準效能測試中，測試結果顯示 FX-8150 不僅落後於基於 Nehalem、Sandy Bridge 等微架構的 Intel Core i 系列，還不如基於 K10 微架構的 AMD Phenom II 系列；不過在倚重多執行緒的效能測試中，結果顯示勉強可以追平 Phenom II X6 1100T 和 Intel Core i7-2600K。縱觀各媒體的效能測試結果，FX-8150 綜合效能強於 Intel Core i5 2500K，而零售價格則在其之下，這個結果並沒給市場預期留下好印象。在效能測試中，FX-8150 在廠方預設時脈頻率下運作，無論待機抑或滿負荷運作，能耗比與 Intel 基於 SandyBridge 的處理器不相上下，但是進行較大幅度的超頻後，FX-8150 儘管效能提昇明顯但處理器會變得極其耗電，能耗比變得相當低下。

Tom's Hardware 的網站評論認為，這種在多執行緒負載下仍然不如預期的效能表現，是由於目前 Windows 7 的執行緒和處理器核心一一對應的執行緒排程方式。他們指出，如果 Windows 首先把一條執行緒分配給一個 Bulldozer 模組，並在模組內分為兩條子執行緒以充分利用該模組內的整數排程運算單元，這將會效能最大化地使處理器同時處理四條執行緒。這種執行緒排程方式和帶有超執行緒的 Intel 微處理器的類似 ——Windows 7 會在利用邏輯核心（超執行緒得到的）前把執行緒安排至物理核心上。

對於處理器在超頻狀態時誇張的功耗水平，業界相信由於格羅方德的 32 奈米 SOI HKMG 製程仍舊不成熟，這個導致了處理器核心在更高時脈下運作時，漏電現象嚴重，使耗電量飆升以及核心發熱量大增。而且有效能測評指出，AMD 為壓低 FX 系列的功耗，有意壓低部分型號處理器的最高工作溫度，而這個溫度的設定值，實際還低於處理器在預設時脈頻率下滿負荷運作時的最高溫度，這樣一來在處理器過熱保護機制下，效能受到了不小的影響，從而使處理器效能不如預期。

而 AMD FX 的較低階的型號中，FX-4100 系列與 Intel Core i3 系列之間的比較以及 FX-6100 系列與 Intel Core i5 系列（Core i5 2500K 除外）之間的比較中，除了某些倚重單執行緒的應用程式和基準效能測試項目以外，其餘的差距不大。不過功耗方面仍然有些偏高，尤其是超頻以後功耗仍然大幅增加。

2011 年 10 月 13 日，AMD 在其官方部落格中回應了 AMD FX 系列處理器的效能、功耗表現不如市場預期的問題，除了指出由於微架構不同於以往的 x86 處理器的微架構，現行的應用程式以及基準效能測試程式沒有對 Bulldozer 微架構的特點進行充分優化，以至效能不如預期以外，也承認 FX-8150 效能不濟的事實：不少效能測試成績不如 Intel 的 Core i7-2600K/2700K，甚至比不過 AMD 上一代的消費級頂級產品 Phenom II X6 1100T。AMD 同時表示，在 2012 年以後的發展規劃中，將提升 Bulldozer 微架構的效能，並降低功耗，目標是每一瓦電功率的效能提升 10% 至 15%。格羅方德也表示繼續改進其 32 奈米 SOI HKMG 製程。根據目前一些基於 AMD Piledriver 微架構的 AMD Fusion（核心代號「Trinity」）的工程樣品的效能測試，結果顯示和 AMD 的預期效能一致。

### 超級電腦

AMD 於 2011 超級電腦展（Supercomputing 2011）上，宣布基於 Bulldozer 微架構的新款 AMD Opteron 6200 系列處理器已被 HPCwire 雜誌的編輯與讀者評選為 2012 年最受矚目的五款新產品之一，並被美國國家科學基金會（National Science Foundation）的 Blue Waters 計畫採用，將在伊利諾州的國家超級電腦應用中心（NCSA）建置此部超級電腦。

超過 235 部，搭載近 5 萬顆 AMD Opteron 6200 系列處理器的 Cray XE6 機櫃，使 Blue Waters 超級電腦能提供超過每秒千兆次（petaflop）的充裕效能，在各種現象研究上的獲得突破性進展，包括：宇宙大爆炸（Big Bang）之後的演進、龍捲風的形成、病毒侵入細胞的機制，與其他眾多科學工程方面的應用。

2012 年 12 月，搭載 18,688 顆 8 模組 16 核心的 AMD Opteron 6274 為任務分配單元，18,688 顆 NVIDIA Tesla 運算加速卡（GK110 通用圖形處理器）的泰坦超級電腦以 17.59petaFLOPS 的記錄榮登 TOP500 第一名，Green500（超級電腦效能功耗比前 500 強）第三名。

### 效能優化修補程式

2011 年 12 月 16 日，微軟發布了 KB2592546，即傳說中的推土機執行緒排程修補程式。而當天上午微軟就已經撤下了修補程式，對於這一點 BSN 網站聯絡了微軟和 AMD，得到了 AMD 方面的官方回應：

微軟在 KB2592546 之後，針對以 Win7、Windows Server 2008 R2 的電腦為基礎，進行最佳化。目前，AMD 推土機處理器比預期的慢。因為在該兩種作業系統的執行緒邏輯，只對同步多執行緒（Simultaneous Multithreading, SMT）的排程特色進行優化，而沒對叢集多執行緒（CMT，Clustered Multithreading）一類的多執行緒設計的處理器進行特別優化，來讓效能最有效地運行。

後來完整版的修補程式（KB2646060 以及 KB2645594 更新檔）發布，不少效能測試結果顯示這些效能優化修補程式效用有限，無論是伺服器平台還是桌面平台，最多僅在某些項目上有 15% 的效能增長。

2012.09.21 AMD 的驅動程式已有內建修補無需安裝微軟的修正程式

### 金氏世界紀錄

AMD 全球副總裁暨終端產品事業群總經理 Chris Cloran 表示，等級最高的 FX-8150 八核心處理器，在 2011 年 8 月 31 日，由 AMD 團隊超頻達到 8.429GHz，超越同廠處理器先前的被「Team AMD FX」締造的 8.308 GHz 成績，榮登金氏世界紀錄「最高時脈的電腦處理器」。

## 改進版本

AMD 在 2011 年發布 2012 年的財政預算以及 2012 年的產品路線圖時宣布，在 2012 年的第三季度發布 Bulldozer 微架構的改進版 Piledriver。首批基於 Piledriver 的處理器是核心代號「Trinity」的 AMD A 系列處理器（APU）行動版本和電腦版本；新 FX 和 Opteron 在 2012 年 9 月發布。

## 參考文獻

## 外部連結

## 參見

* AMD CPU 微架構列表
* AMD FX
* AMD Piledriver
* AMD Fusion
* AMD Bobcat
* SSE5
* 多晶片模組