不論是軟體或硬體,革命性新架構都需要時間磨合。AMD 的 Bulldozer(推土機)也有類似的問題,由於採用新設計的 CMT(Clustered Multi Threading,叢集多執行緒)架構,使得 Windows 7「認不出來這個架構」。現在微軟針對 Bulldozer 提供更新檔,小編實測到底效能增加了多少!

快速目錄:

不論是軟體或硬體,革命性新架構都需要時間磨合。Intel在2008年首度推出Nehalem架構Core i7,雖然理論效能遠高於當代處理器,但是實測中也發現不少軟體或遊戲的效能「出不來」。

Win 7 認不出推土機架構,效能跑不出來

推土機推不動

AMD 的 Bulldozer(推土機)也有類似的問題,由於採用新設計的CMT(Clustered Multi Threading,叢集多執行緒)架構,使得Windows 7等作業系統「認不出來這個架構」。現在微軟針對Bulldozer提供KB2646060以及KB2645594更新檔,讓FX處理器不再跛腳。

CMP架構:核心量取勝

為什麼CMT架構會讓處理器效率不彰?得先從處理器的架構談起會比較有概念。先前處理器架構大致上有2個派別,分別為CMP(Chip MultiProcessor,單晶片多核心)與SMT(Simultaneous Multithreading,同步多執行緒)架構。

前者就是AMD拿手的多核心架構,透過增加核心數量來堆疊處理器效能,現在六核心、八核心,或是伺服器市場的十二核處理器都是代表。優點是架構簡單、堆疊容易,效能提升是顯而易見的。但缺點就是電晶體數量較多,成本比SMT更高,且核心數量到達一定程度後,效能與成本效益越會越來低。

SMT架構:成本低、效益高

SMT架構則是Intel使用的HT(Hyper-Threading,超執行緒)技術,它能讓1個核心具備多個執行緒,並且能共享資源,硬體上需要增加的成本比CMP架構還低。Intel最早在Pentium 4時代加入HT技術,後期隨著多核心架構的優勢而消失。到了Nehalem時期才再度回歸,目前Sandy Bridge系列Core i3與Core i7多款產品都有支援HT技術。

CMT:模組化多核心架構

Bulldozer使用的CMT架構不同於CMP或SMT,當初AMD在設計時希望能將核心與執行緒的效益最大化。以往CMP與SMT各有其優缺點,CMP效率比SMT高,但SMT成本又比CMP低。取其優點後,產生的就是CMT架構。

截長補短的CMT

CMT是Clustered Multi Threading的簡寫,根據字面上的意思是叢集多執行緒。若講的白話一些,可以把它當成模組化多核心。Bulldozer一改過去的核心架構,處理器由模組(Module)構成,每個模組內有2個獨立卻能共享部分資源的實體核心。透過模組化設計,讓每個模組可執行2個執行緒,可節省硬體成本,又能強化效能。

多核心的新定義

八核心的FX-8150處理器內有4個模組,每個雙核心模組有2個整數單元(Integer Unit),並1個共享的浮點運算單元(Flex Floating Point Unit,簡稱FPU),整數單元內還有調度器(Scheduler)。由於具備調度器,因此Bulldozer的模組可執行2個執行緒,這就是AMD定義的CMT架構。

傳統核心設計上,處理器每個核心都有獨立的整數運算單元,以及浮點運算單元。但Bulldozer架構的核心在傳統的定義中並不算完整的核心,因此也有人說FX-8150這種CMT架構處理器,只能算是四核心八執行緒處理器。

▲1個CMT雙核心組的規模,大約是2個單核心的75%,理論吞吐量可以達到兩個單核心的90%。Bulldozer採用嶄新的雙核心模組設計方式,算是以成本考量優先,比較有「C/P值」的設計新思維。

效能才是指標

記憶比較好的讀者,應該記得Intel Core 2 Quad Q6600這顆由2個E6700組成的處理器,當時就有人說它是「假四核」。時至今日,應該也沒有人會否認它是四核心處理器。筆者認為,CMT架構過於特殊,無法用傳統核心來定義,在規格上做口舌之爭沒有太大的意義,效能才是最重要的指標。

1分鐘看懂Bulldozer架構

Bulldozer使用的CMT架構異於傳統設計,八核心的FX-8150內有4個雙核心模組,並非傳統8個獨立核心。雙核心模組中有共享的浮點運算單元(FPU)、預取器(Fetch)、解碼器(Decode)以及L2 cache,共享著多數的資源,看起來就像是1位能力比較強的員工在做著2人份的工作。

AMD認為超過80%的運算都是整數運算,因此增加少量的核心面積,整數運算單元就能帶來80%的效能提升,是相當划算的交易。而理想中數據經過預取(Fetch)、解碼(Decode)後,經過2個調度器(Scheduler)到達運算單元,同時間可有2個執行緒在運作,理論表現遠高於Intel HT技術帶來的效益。

(後面還有:免費更新檔,裝了效能強)

延伸瀏覽:

AMD 降價了!調降數款 Bulldozer 與 Phenom II CPU 報價

AMD A8-3870K 的驚奇,高手超上 5.9GHz

AMD 八核推土機 bulldozer 來了,不鎖頻空冷可望 5GHz

免費更新檔,裝了效能強

了解Bulldozer架構後,回過頭來看作業系統。這次微軟提供的2個更新檔,主要是告訴作業系統,FX是個模組化多核心處理器,得要注意執行緒的分配,這就是更新檔KB2645594所要扮演的角色。

執行緒最佳化

若以2條執行緒來簡單說明,若有2條執行緒是相關的,那麼作業系統可以將它們分配到同1個模組內執行,透過大量的共享資源讓運作更有效率。反之亦然,若2條執行緒不相關,那麼就可分配到不同的模組中避免互相爭奪資源,並且能關閉其他未執行的核心,讓Turbo Core時脈更高,提升執行效率。

圖解指令最佳化

假設共有3條Thread(執行緒),其中Thread 1a與 Thread 1b有關連,而Thread 2與前兩者毫無關係。在最爛排程中,就是把3條Thread分配到3個模組內,這樣一來既無法共用資源,也無法產生閒置的核心,讓Turbo Core時脈增加。

而在次佳的分配中(圖中上例),將Thread 1b與Thread 2分配至相同模組,而Thread 1a分配在另外的模組,這樣可減少核心使用量,但無法共享資源。

最好的分配法則是下方的範例,將Thread 1a與Thread 1b分配在相同模組,而Thread 2配在另外的模組,這樣既可讓Thread 1a與Thread 1b共享資源,又有2個閒置核心,可提升處理器時脈增加運算效率。

▲上例:將Thread 1b與Thread 2分配至相同模組,而Thread 1a分配在另外的模組;

下例:將Thread 1a與Thread 1b分配在相同模組,而Thread 2配在另外的模組

(圖片來源:AnandTech

核心未滿載最有效

FX處理器共有四核心、六核心與八核心版本,對於這2個更新檔而言,最有效益的環境是非滿載的時候,因此所有版本都有可能受惠。此時有閒置的核心,若分配得當,可使用共享的資源加快運算,同時可關閉無用的核心,提高Turbo Core的時脈,也能提升運算效能。當執行緒塞滿處理器時,此時排程最佳化帶來的效益較小,最多只能透過排程共享資源,而無法提升Turbo Core時脈。

C6休眠是運作關鍵

那另外的KB2646060在系統中扮演著什麼樣的作用?先前有提到,除了指令的最佳化外,另外能提升效率的關鍵就是閒置的核心。多核心處理器在閒置時會將核心關閉,依照程度的差異分為C1、C3、C6等,而C6就是最深層的休眠,核心接近於完全關閉,功耗最低但同時喚醒的時間也最長。

不論AMD的Turbo Core或Intel的Turbo Boost,都得依靠核心休眠達到超頻的目的。當休眠的核心越多,能提升的時脈也就越高。像是FX-8150依照休眠核心的多寡,就分成3.9GHz與4.2GHz不同時脈。

別讓核心太早睡著

其實KB2646060並不像KB2645594跟執行緒最佳化有關,KB2646060目的只是要讓核心別太早進入C6休眠。因為處理器的喚醒、休眠都是需要時間,反覆地執行會影響效能。因此KB2646060可能帶來小小的副作用,就是處理器功耗增加。不過依照測試以及理論來看,差距並不明顯,相較於整台電腦總功耗只是九牛一毛。

下載FX效能提升更新檔

FX更新檔只適用於Windows 7以及Windows Server 2008 R2,並有32位元及64位元版本。其中KB2645594安裝後可以解除安裝,而KB2646060必須先安裝KB2645594才能安裝,且安裝後無法移除。
筆者使用32位元版本Windows 7進行測試,未更新至SP1時無法安裝,完畢後才能依序安裝此更新檔。若碰到無法安裝的問題,可試著先更新至SP1再安裝。

(後面還有:FX更新檔實測)

FX 更新檔實測

效能大增小減

實際使用FX-8150在Windows 7環境下,搭配多款軟體測試1、2、4、6、8執行緒的效能表現。可分析出在加入更新檔後效能不見得會呈現正成長,仍有不少測試項目表現比原先要差。但是整體而言,效能提升的項目總量還是比衰減的多,且在wPrime、WinRAR等項目效能有約15%的成長,而衰減的項目最多不會超過5%。以整體30個測試項目來看,總平均效能約有2.14%的成長,更新檔的效益雖不明顯,但至少不是往壞的方向前進。


▲wPrime測試中,在四核心表現上特別出色,更新後有近15%的成長。


▲在繪圖渲染軟體Blender環境下,效能並沒有明顯成長,且八核心效能還降了


▲FritzChessBenchmark中,可看到也是四核心效率特別高,有約8.6%的成長。


▲至於在7-zip中,四核心亦特別突出,約有4%的提升,但是整體來看幾乎沒成長。

解放並非大解放

以結果論,這次微軟提供的更新檔對於FX處理器雖有正面效益,但以成績來看實在不是很明顯。對於有FX處理器的玩家,肯定無法滿意這樣的效能提升率。筆者對於這樣的更新檔,感想就是聊勝於無,雖雞肋但還可以接受,以阿Q一點的想法來思考,至少有些項目有超過15%的大成長,而且還是免費提升,就姑且用用看吧!

延伸瀏覽:

Bulldozer 時脈創金氏記錄,單核效能被 Phenom II 打臉?

SiSoftware 洩漏 AMD Bulldozer 推土機的效能測試