推土機性能增強10%!CPU線程調配探究
泡泡網CPU頻道11月24日 在今年的10月12日,AMD正式發布了人們期待已久的Bulldozer推土機處理器,新架構相比上一代的重大改變之一就是采用了全新的模塊化設計——兩個核心組成一個模塊(Bulldozer Module),這種設計的優點就是既可以在擁有多達八顆物理核心的情況下大量節約晶體管,又不會出現超線程技術中的性能不升反降的情況。

AMD推土機架構的每個模塊內有兩個整數核心和一個浮點核心,各自搭配專用的調度器,浮點核心為兩個整數核心共享使用。據AMD介紹,推土機每個模塊可以同時處理兩個線程,兩個線程都分別有獨立的單元對應,而這兩個單元可以共享命令解碼器和浮點運算指令解碼器等資源,跟Intel的SMT超線程技術相比,推土機模塊的兩條線程不會搶奪資源,產生沖突,從而有效得提升了數據吞吐量。

我們回顧下推土機處理器的模塊化設計的優點:首先,每個模塊擁有兩顆物理核心,四個模塊就是真八核;其次,模塊化設計可以減少暴力堆疊產生的冗余晶體管,可以控制成本和發熱量;再次,推土機模塊內每顆核心擁有一級緩存,兩顆核心共享二級緩存,四個模塊共享三級緩存,這樣緩存的利用率很高;最后,當模塊內的一個核心負載一個待機時,資源的利用率很高,單核性能也會比較理想,也不會產生超線程技術中出現的性能不升反降的情況。
然而,推土機處理器的性能并不如想象中的那么強大,究竟是什么讓模塊化設計變得黯然失色呢?我們或許能從最近的新聞中窺到某些信息。推土機處理器性能未達到預想水平自然是AMD近期比較頭疼的一件事,不過近期有消息稱“Windows 8或許是推土機處理器的救星”,那么這究竟是怎么回事呢?一切還得從Windows的內核調度結構體說起。
首先要說下進程與線程的區別,在操作系統中,每個程序可以看作是指令的集合,執行這些程序就會產生進程,一個程序可以有多個并行進程,每個進程包含多個線程(操作系統中的最小調度單位是線程),每條線程可以并行執行多個任務。

Windows操作系統的內核線程調度機制并未針對模塊化設計優化
以實際應用來說,當你運行某個程序時,在Windows操作系統中就會出現對應的一個或多個進程,每個進程又會包含多個線程分配到處理器中執行。如果一個程序針對多線程優化,那么該程序對應的進程中的不同線程就會能得到充分執行,程序的執行吞吐率也會高很多。這樣的程序在多核或者支持超線程技術的處理器上運行時效率就會很高,不過現在的很多程序并沒能跟上處理器多核化的腳步,比如Photoshop在測試中就只能讓處理器的一顆核心滿載,而其他核心都處在空閑狀態,我們能做的是什么呢?或者說Windows8能做的是什么呢?
在Windows系統中,調度的最小單位就是線程,系統依靠自己的內核線程管理機制可以將一個或多個進程或者一個進程中的一個或多個線程綁定到一個或多個處理器核心上(即CPU親緣性)。讀到這兒你要激動下了,因為推土機處理器的每個模塊內的運算資源是由兩顆核心共享的,如果一個程序并不能利用這么多核心(目前能完整利用到八顆核心的日常程序是少之又少),而只能利用到四顆核心,操作系統讓該程序進程中的線程分別只運行在每個模塊中的一個核心上,而讓另外一個核心閑置,那么這時的運算效率會怎樣呢?
現在的問題是在Windows 7中,推土機的八顆核心均是一模一樣的,它本身并沒有上段的那種調度機制,而Windows 8就帶來了這種可能性,不過現在我們可以采用方法在Windows7中實現這種機制,于是小編帶來了下面的測試。
前面已經提到,本次測試采用的是AMD FX-8150四模塊八核心推土機處理器,配套主板為華擎990FX Professional,內存則是采用金士頓4GB DDR3-1333 X2,顯卡選擇了Geforce GTX580。

本次測試意在探討操作系統調用推土機處理器不同核心的程序運行情況,分別讓處理器啟用每個模塊的一個核心,閑置其中的另一個核心(以下簡稱為“設置一”)、讓處理器啟用兩個模塊的四個核心,閑置另外兩個模塊(以下稱為“設置二”)運行程序。
Adobe Photoshop只能利用處理器的一顆核心
測試項目主要針對能較好利用多線程的程序,而像Super PI、Adobe Photoshop等程序就不在測試范圍內。
首先測試的是國際象棋測試。它它通過模擬思考國際象棋的算法測試處理器性能,能較好得支持多線程,主要測試大量科學計算,經常被用來測試處理器的科學運算能力。
讓處理器只啟用每個模塊的一個核心,閑置另外一個核心(設置一)
設置一下的測試成績
讓處理器只啟用兩個模塊的核心,閑置另外兩個模塊的核心(設置二)
設置二下的測試成績

從上圖中的測試成績來看,兩種情況下的性能差距明顯,設置一(只開啟每個模塊中的一個核心)下的性能要比設置二(只開啟兩個模塊的四個核心)高出18%,顯然多出的一倍運算資源并沒有浪費。
CineBench使用針對電影電視行業開發的Cinema 4D特效軟件引擎,可以測試CPU和顯卡的性能,最新版本R11.5對于運算強度有了進一步加強,即便目前最強悍的處理器也很難在這項測試中取得高分。
設置一下的測試成績
設置二下的測試成績

上圖的成績顯示,設置一下的推土機處理器性能領先設置二下達10%。
WinRAR是目前使用最廣泛的壓縮解壓縮軟件,而且它自帶性能測試工具,可以為廣大用戶提供系統性能參考,WinRAR壓縮/解壓縮的運算主要依賴于CPU的性能以及內存性能。
設置一下的測試成績
設置二下的測試成績

上面的成績顯示,兩種設置下的處理器性能基本一致。
3DMark 11是Futuremark在DX11顯卡全面上市一年之后才推出的DX11顯卡性能測試工具,兼顧考察CPU處理器的配合能力,尤其是在并行計算方面。3DMark 11基于原生DX11引擎,全面使用DX11 API的所有新特性,包括曲面細分、計算著色器、多線程。
設置一下的成績
設置二下的成績

在3DMark 11的測試中,設置一下的處理器性能比設置二高出3%,不過200分的領先幅度是比較大的,因為同平臺下,酷睿i7-930也僅僅比酷睿i5-750多出200分。
PCMark7是全球著名圖形及系統測試軟件開發公司Futuremark帶來的最新一款測試系統性能的工具,盡管在很多特效方面借鑒甚至照搬了PCMark Vatange,但是在對硬件的嚴格考驗方面毫不馬虎。
設置一下的成績
設置二下的成績

兩種情況下的總得分差距也不大,不過設置一下的成績無論是總得分還是子項分數相比設置二均領先。
Capcom公司格斗大作《街頭霸王4》中的角色是3D多邊形建模的,而戰斗形式則依然是玩家們所熟悉的2D風格,游戲畫面的表現效果相當驚人。 PC版除了支持高解析度畫面輸出之外,還為玩家提供了畫面渲染風格選擇的功能,除與家用機版一樣的“普通”模式外,還有“水彩”、“海報”和“煙灰墨”這 三種追加的渲染風格。玩家在游戲的設定選項中,可以根據自己的喜好對顯示效果進行調解。相比于傳統的街霸游戲,《街霸4》對PC硬件的要求提高了很多,但并不像很多所謂大作那樣變態,是考驗主流硬件性能的必備游戲。
游戲畫面設置
設置一
設置二

在《街頭霸王Ⅳ》的測試中,設置一下的推土機處理器平臺的游戲平均幀數領先設置二7.25%。
《H.A.W.X 》追求爽快感的空戰游戲定位,駕乘戰機鳥瞰依據真實衛星地圖打造的廣闊大地也成為了許多玩家的獨特趣味。
游戲畫面設置

兩種情況下,設置一中平臺的平均幀數領先設置二6幀。
《沖突世界》(WorldinConflict)是一款重點在于單位策略、行動、團隊游戲和毀滅上的后冷戰時期的即時戰略游戲。游戲畫質達到了次世代級別。
游戲畫質設置

兩種設置下的成績很相近,不過設置一下的平均幀數仍領先。
《異形大戰鐵血戰士》是一款由Rebellion公司開發的FPS游戲,本作的游戲舞臺設定為名叫BG-386的行星,殖民采掘集團在該星球發現了古代金字塔,圍繞該金字塔隱藏的巨大秘密異形、鐵血戰士以及人類3種族再次展開激烈的戰斗。


從測試結果來看,兩種情況下的成績基本一致,不過該款游戲對處理器的性能要求并不高。
● 總結
從本次測試來看,如果操作系統能針對推土機處理器較新的模塊化設計進行優化,合理調度啟用單個模塊的單個核心,充分利用每個模塊內的共享計算資源,那推土機的性能有望提升10%左右。
此外,本次測試中,小編發現多款程序并不能在指定啟用推土機處理器核心時順利運行,比如說AIDA64、wPrime、X264 HD Benchmark、3DMark Vantage、《星際爭霸Ⅱ》、《孤島驚魂2》、《地鐵2033》等,不是找不到文件就是報錯。由此看來,盡管推土機處理器首先在桌面處理器中推出八核心,但是目前很多軟件并未能針對此改變——尤其是模塊化設計,做出優化,如果未來的Windows 8能針對這種模塊化設計適度優化,改進內核線程調度機制的話,推土機處理器還是會有不小的性能提升的。■<
關注我們


