• 6

關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

這篇內容稍微有些小難度,建議最好具備與作業系統及執行緒相關的基礎、並了解推土機架構的"模組"概念;基本上推土機的單"核"效能沒有令人驚艷的長足進步、甚至不進反退,不過結合八"核"力量後,在滿載時可以在特定應用下得到不錯的成績。但代價是耗能很嚇人(若超頻後耗能更只能用恐怖形容).....等等,這些都可以從各家評測中找到數據跟評論,因此在這篇中,不多加討論這些,所以護航的、打落水狗的、詢問Intel跟AMD誰道德比較高尚可以當陳樹菊女士接班人的、只想討論珊蒂橋跟推土機的CP值跟報價的,建議可以跳過這篇,Sorry啦....

昨天Anandtech對推土機評測的結論,以及Tom's Hardware對推土機評測的倒數第二頁,不約而同都有提到推土機搭配Windows 7跟Windows 8的效能差異,這當然跟AMD在事前提供媒體評測指南裡的先打了預防針有關(AMD:Win7不能讓推土機完全發揮,Win8會更好....),不過這確實是個有趣的問題,因此昨天在另一個主題中,個人對此以及江湖傳聞的推土機效能倍增驅動程式/BIOS是否存在,有提出一些看法跟解釋,有興趣的請不吝一讀

若是還期待模組內有"雙核融合"或是"逆向超線程"來達到讓負載落在單一執行緒的程式能夠效能倍增的網友.....這.....就別想太多了,AMD的官方技術文件內並不存在這種東東....而且Windows 8為推土機帶來的效能增進,是有但書的,不會有倍增神話發生,對於負載落在單執行緒的程式,也不能帶來改善(此處不考慮Windows 8本身作業系統程式碼最佳化後,為應用程式帶來的效能提昇,因為AMD/Intel都會受益於此)。

今天在繼續瀏覽推土機相關評測時,在XtremeSyetems看到了一篇目前所看到最有獨到測試想法的推土機評測,基本上作者DGLee的邏輯是說:雖然FX-8120/FX-8150都有八"核",但是如果是用來執行主要高負載是落在雙核到四核之間的程式(如不少遊戲,像最近很紅的BF3),若以四執行緒的應用程式舉例,到底是應該讓這四個執行緒在兩個模組(共四"核")內執行,還是應該分到四個不同模組內的第一個核心(總共也是四"核")執行?基本上這是由作業系統的執行緒排程決定的,也就是說:到底Windows 8針對推土機,可以採用什麼樣的執行緒排程策略?改善了什麼?

綜合目前看到的各方資訊,將優缺點羅列如下:

(1). 將四個執行緒侷限在兩個模組(共四"核")內執行的優缺點:另外沒用到的兩個模組可以去睡覺,功耗降低;而Turbo Core可以作動,將工作中的兩個模組時脈拉高;同一個模組內的兩個執行緒可以直接透過L2快取交換資料,效率比較好;但缺點是同一個模組內的兩個執行緒必須競爭去搶只有一份的資源(例如FPU、L2快取),可能會降低效率。
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

(2). 將四個執行緒分別指派到四個不同模組內的第一個核心(總共也是四"核")執行的優缺點:每個模組內凡是只有一份的資源,可由該執行緒獨享(因此不包括同模組內第二個核心的整數執行單元資源,也就是不存在"逆向超線程"、或是"核融合"這種東西....);缺點是模組處於啟動狀態機率變高,因此平均功耗較高,也不利於Turbo Core作動;而且執行緒間的資料交換,必須透過L3快取進行。
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

XtremeSystems的這位作者DGLee進行了測試,測試的方法是透過Asus板子所提供的功能,將關閉兩個模組的情況,與四個模組各關閉其中一個核心的情況,進行比較測試,證明了上面的(2),是效能比較高的方式。因此,容我先下個之所以開本棟樓的結論:

在Windows 8推出以前,如果八核推土機的使用者主要是執行高負載是落在雙核到四核之間的程式(例如最近很紅的BF3),可以試試將每個模組各關閉一顆核心,強迫Windows 7採取(2)的執行緒排程方式,執行效能會比較好。或是下載Core Affinity Resident這個程式,可以直接幫你指定程式限定在那些核心中執行(核心1/3/5/7,或核心2/4/6/8),並記住該設定,之後便不必再每次重來,也不需要玩關關樂,這樣就不用等Win8推出,在Win7下也可以改善推土機執行特定程式的效能。

但是不管是關核或是用程式指定核心,對於負載是落在單核、或是能夠讓推土機滿載的程式,在效能上是沒有幫助的


---------------------------------------------
以下為了方便說明,用Q&A的方式進行:
---------------------------------------------

[Q1] Windows 7是用上面的(1)還是(2)的方式分派執行緒到推土機的模組/核心去執行?

[A1] 不完全是(1)也不完全是(2),因為在Windows 7眼中,八個核心是相同且平等的(實際卻應該是兩兩成對),因此就跟擲骰子一樣:看運氣吧!也可以參閱第16樓第26樓的資訊。


[Q2] Windows 8會用上面的(1)還是(2)的方式分派執行緒到推土機的模組/核心去執行?

[A2] 不確定,AMD看來是偏向(1),這可以從Tom's Hardware評測的下面這兩張圖看出(應該來自AMD事前分發給媒體打預防針的評測指南資料);但是XtremeSystems的作者DGLee實測,以及第16樓第26樓的測試,顯示(2)卻可能是效能較好的方式。

關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?


[Q3] 推土機跑單執行緒程式的效能會因為用了Windows 8而增進嗎?

[A3] 當然不會!在Windows 7下或Windows 8下,(1)或(2)的分派方式對於單執行緒程式沒有差別(此處不考慮Windows 8本身作業系統程式碼最佳化後,為應用程式帶來的效能提昇,因為AMD/Intel都會受益於此),畢竟單核效能是硬功夫碰硬功夫、張無忌九陽神功硬碰金剛門禿頭阿二,並沒有太極拳或乾坤大挪移四兩撥千斤這種事兒,救不起來的。


[Q4] 如果我的應用會把八核都操到100%,效能會因為用了Windows 8而增進嗎?每個模組各關掉一個核心會有幫助嗎?

[A4] 當然不會!千萬別關....未來升級到Windows 8後,對於這種程式,效能也不會有影響(此處不考慮Windows 8本身作業系統程式碼最佳化後,為應用程式帶來的效能提昇,因為AMD/Intel都會受益於此),目前評測看到輸對手產品或自家前代產品的項目,還是會輸;原來有贏的項目,也不會贏更多。


[Q5] 那誰可以考慮玩關關樂關掉核心呢?

[A5] 在Windows 8正式推出以前,如果你平常常用的應用程式,主要負載是落在雙核到四核之間,其他核心負載不高的,可以考慮每個模組關掉一顆核心。


[Q6] 關掉核心後,跟AMD自家PII X4以及X6比起來,在Windows 7下改善效能如何呢?

[A6] 如果是單執行緒的測試程式,可以直接參考現有的媒體評測數據,因為這部分不受影響。大於四個高負載執行緒的測試程式,因為核心變少,自然會變慢。如果是二到四執行緒的測試程式,這就很難說了,因為現有推土機的評測數據(大多是遊戲類)有被低估的可能性,但估計關掉四個核心後效能要超過AMD自家的X6,嘿嘿....並不容易,跟X4相比,可能要看測試程式性質。


[Q7] 未來Windows 8針對這部份改進後,針對特定程式可帶來效能改進幅度有多少?

[A7] 要看Windows 8最終是否會採用(2)的排程方式,如果是的話,可以參考上面提到XtremeSystems那位DGLee的大作,內有包括Fritz Chess Benchmark、wPrime、Cinebench 11.5、WinRAR、3DMark 06、3DMark Vantage...等的詳盡測試。另外昨天在對岸舉行的推土機發表會,官方提出的數據如下:

關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

註:(線程)調度程序是對岸的說法,台灣大專院校的作業系統這門課程,一般稱之為(執行緒)排程程式,是作業系統內部極為重要的系統程式。


[Q8] 如果我不想關核心,又不想讓我的八核推土機在Windows 7下碰到這種當執行高負載是落在雙核到四核之間時、可能的效能減損問題,有沒有解決方式?

[A8] 理論上是有的,但是這比較進階了,可以到工作管理員內,在"處理程序"那頁找出該程式,用滑鼠右鍵點擊,選取"親和性設定",示意圖如下:
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
選取親和性設定後,可以指定該程式的執行緒,只能在哪些核心內執行,示意圖如下:
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
在八核推土機上,會看到八個CPU,接下來,把其中四個核心反勾選,只留下四個核心,但是....要反勾選哪四個?哪四個是對應到每個模組的第一個核心?這部分就需要推土機使用者自力救濟分享一下了,或看M01板上有沒有BIOS/系統軟體專家可以對此指導指導,應該是留下CPU0、CPU2 、CPU4、CPU6,或是留下CPU1、CPU3、CPU5、CPU7。


[Q9] 上述的程序,在重開機後或關閉程式重新執行時,還要再作一次嗎?

[A9] 是的,要再作一次;是的,很麻煩,所以才說這比較進階,不然也只能等Windows 8出來嘍!
[10/18更新] 或是下載Core Affinity Resident這個程式,可以不透過工作管理員,直接幫你指定程式在那些核心中執行,並記住該設定,之後便不必再每次重來,也不需要玩關關樂。這在Windows 8出來前,可以幫助在Windows 7下實際測試Windows 8可能採用的排程策略在推土機上帶來的效果,也就是對於主要負載在二到四執行緒的程式來說,到底是盡量先塞滿模組、還是盡量分配到不同模組,以及效能增進的邊際效益 vs 耗能增加的幅度。

關於AMD推土機在Win8下表現較好?以及效能倍增補丁?


[Q10] 為什麼Intel Hyperthreading沒有這種問題?

[A10] 當然也是有的,只是Hyperthreading推出已經夠久了,相關的作業系統、應用程式,早已經將因應Hyperthreading的修正以及調校包含進去了。這裡有個作業系統配合處理器架構進行調整的例子。


以上個人的一些淺見,還請高手跟高高手不吝指正。
-------------------------------------------------------------------------------------------

說實話,推土機的架構規劃不是一天兩天,是用望穿秋水計算的,中間又曾經拖延很久,實在沒有道理不能在最近一次的Win7 SP1內,就跟微軟談妥、把相關所需修改的最佳化執行緒排程演算法加進去,不然Sandy Bridge新AVX指令集的作業系統端支援(AVX暫存器的context switch),為何Intel就來得及說服微軟加進Win7 SP1內呢?只能說AMD呀AMD.....


===========================================================================================
這邊有個捷克網頁跟XtremeSyetems的DGLee一樣,對八核心推土機進行了一些類似的有趣測試,連結是Google翻譯成英文的結果,可能還是有些繞口,因此簡單說一下這位捷克作者作了什麼事:

作者用Fritz Chess Benchmark在八核心推土機上進行了四個執行緒的測試,運用類似一樓Q&A第8項的作法,分別去比較將四個執行緒鎖在四個模組的各自第一個核心、以及鎖在二個模組/共四個核心內、還有不干涉讓Windows 7自己決定的結果,分數如下(越高越好):

鎖在四個模組的各自第一個核心:8793 (107.3%)
不干涉讓Windows 7自己決定排程: 8197 (100%)
鎖在二個模組/共四個核心內:7425 (90.6%)

因為XtremeSystems那篇是用Asus的工具程式以硬體方式將每個模組的兩個核心關閉掉一個,而這位捷克作者是用手動干涉作業系統排程的方式,核心並沒有被真正關閉,因此可以加測一項完全不干涉、讓Win7自己決定的結果作為比較。

如果不干涉讓Windows 7自己決定,如一樓Q&A第1項所說,會把推土機的八個"核心"視為完全對等相同,可能會有兩個執行緒被丟到同一個模組內、另兩個執行緒被丟到另外兩個各自不同的模組內的狀況,因此平均效能居於兩種不同強制鎖定方式之間是合理的。


===========================================================================================
此法國網站也進行了類似比較,但是又更進一步,在此也簡單解釋一下作者作了哪些實驗:

http://www.hardware.fr/articles/842-10/cmt-turbo-core-2-0-windows-8.html

相較1樓XtremeSystems跟16樓捷克網頁的測試,這個法國網站把Turbo Core啟動跟關掉的情況再分開,因此可以看到將四個執行緒放在二個模組內執行(4T/2M)、Turbo Core啟動機會變高,跟四個執行緒放到四個模組的第一個核心內執行(4T/4M)、Turbo Core發揮空間較為受限的結果比較。

結果如下圖,仍然顯示:將四個執行緒放到四個模組的第一個核心內執行(4T/4M),效能比較好。圖中的4T,就是完全不干涉、讓Windows 7自行分派的結果,效能會居於上述兩者之間,跟16樓捷克網頁結果一致。

4T/4M:8531(108%)
4T:7901(100%)
4T/2M:7355(93.1%)
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

這位作者還加測了各種情況的功耗如下圖,由於4T/4M動用了四個模組,即使是只有使用其中的一個核心,功耗仍較4T/2M高,這也合乎預期。
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

有了上面兩種數據,就可以算出每瓦效能,在Turbo Core啟動的情況下,4T/4M跟4T/2M的每瓦效能反而在伯仲之間,畢竟4T/2M雖然可以運用Turbo Core衝較高時脈,但也是要付出額外耗能為代價的。如果將Turbo Core關掉,不管4T/4M或4T/2M,都會變成相對有耗能、沒效能的尷尬狀況。

關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

關於AMD推土機在Win8下表現較好?以及效能倍增補丁?


===========================================================================================
The Tech Report也進行了一篇針對在推土機上作業系統可以如何進行執行緒排程的探討,結果跟1樓的XtremeSystems26樓的Hardware.fr、以及16樓的捷克網站的數據,都蠻類似的:也就是將主要負載在四個執行緒的程式(像最近很紅的遊戲BF3)分配到四個模組的第一個"核心",會比分配到兩個模組的共四個"核心"上,效能來得高;另外當然也會比讓Windows 7在不認得推土機架構特性的情況下"自由發揮"來得高。

下面的Mask 55跟Mask 0f,數字部分是16進位數字,寫成二進位數字分別是0101010100001111,分別代表分配到四個模組的第一個"核心"執行,以及兩個模組內的四個"核心"執行的情況,1代表被使用的"核心",0是不使用的"核心"。執行緒的核心綁定,是透過Win7內建的命令列來啟動應用程式並下Mask 55或Mask 0f的參數為之。

關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?
關於AMD推土機在Win8下表現較好?以及效能倍增補丁?

不過The Tech Report進行的測試都是浮點數運算,由於兩個模組雖然有四個"核心",但只有兩個FPU,因此雖然Turbo Core在此情形下能夠把時脈拉到4.2GHz(相較分配到四個模組的第一個核心,時脈只能到3.9GHz),但是不能抵消資源共享的競爭缺點。
2011-10-13 19:41 發佈
不管投影片做得多麼詳細,效能一測出來數據就是這樣,沒什麼好辨了....
就等到 windows 8 能完全發揮,再買推土機就好啦
CPU 只會跌價不會漲價,早買也沒用

ycweng wrote:
windows 8

感謝樓主精闢入理的分析
不過現在WIN7都還沒普及
(身邊一推朋友都還在用XP...)
跟別說要等windows 8了
windows 8如果明年上市
等到大家換用windows 8以後
推土機不知道出到幾代了...
到時候intel也早就出新的CPU來應戰了...
感覺上AMD的FX-8120/8150像是100%的假"八"核.跟i7的情況類似.

仔細看FX-8120/8150 function diagram,其實是四核心的integer指令雙排程器/雙發射.(沒有獨立的解碼單元很難稱為模組內有雙核心),而i7是四核心的單排程器/雙發射.

既然結構相似,那DGLee的看法"將四個執行緒分別到四個不同模組內的第一個核心執行的優點"就理所當然了.

若FX-8120/8150能在Windows 8能獲得性能提升,Intel i7也應該有相同的獲益.

而且i7的單排程器/雙發射比Bulldozer雙排程器/雙發射更能降低執行單元的閒置.(畢竟Bulldozer同核心內的的A排程器無法派發到B排程器下轄的執行單元)

詭異的多核心.

umts wrote:
若FX-8120/8150能在Windows 8能獲得性能提升,Intel i7也應該有相同的獲益.

這也是一個重點
投影片只說推土機在 win8 下的進步
可是 win8 本來就改很多了
搞不好 intel 的 CPU 在 win8 還進步更多
這數據看不出推土機在win8的進步還是win8本身效率改進

ycweng wrote:
這篇內容稍微有些小難...(恕刪)


幫推

這次內容講的很多,

其實仔細看並不會難懂,

只能說堆土機現在的定位還滿尷尬.........

競爭是好事
只是有時想一想兩家的規模和研發投資的倍數差距
在效能上並沒有如此懸殊的差別(要快3倍談何容易...)
AMD落後追得辛苦
Intel要常保領先更要付出數倍以往的投資換取越來越困難的增益百分比...
要是Intel沒了現在OEM和Server等領域的高市佔和獲利是要怎樣支撐Tick-Tock繼續下去?
算了
身為普通消費者也不用想太多
其實堆土機上市了效能怎樣對我而言沒差
需求出現的當下有什麼符合條件的產品才重要

倒是Windows 8 pre-beta已經裝在自己Athlon 620主機
平常就用Chrome上網而已
沒相片處理也沒有影片轉檔需求
除了Benchmark沒什麼機會看到CPU滿載
現在就擁有至強的效能又如何
硬體一直推陳出新
當能完全壓榨硬體的需求來臨再買即可
當下能買得又強又新
現在對我而言
在即將宅配來的TP-703N上玩Openwrt遠比暴力效能PC跑Benchmark有趣得多

網路討論難免揶揄
幽默以對無傷大雅
最近01上不甘寂寞的興奮狂熱者當笑話看就好
只不過就是3C硬體而已也可以那樣情緒高漲的多話
坦白說
等到Win8正是普及之後
推土機早就過時了.........................
(就像"假如"intel說Pentium 4完美支援Win8一樣無言....)世代是差距多少了.......
到時候AMD會有更好的產品出現
推土機也就不重要了...
很重要的解說 這關係到買推土機來到底有沒有用處的問題
  • 6
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?