多謝Reich兄在Hyper-Threading現象的補證. 雖然個人不清楚Prescott在這方面將會有何改進, 有興趣者可參考Prescott's New Instructions Manual (
http://www.geocities.com/thiagoguzella/prescott.pdf), 裡面對HT的論述不多就是了.
不過我要再強調的是, 之前所謂的CPU使用率"假象", 是指在跑Prime95 Torture Test或是兩個軟體同時搶一個FPU運算單元的情況. 大家都知道每棵CPU内各有一個ALU及一個FPU運算單元, 現有兩個軟體 (Prime95和Super PI) 都要使用FPU (請注意SSE, SSE2等都是屬於FPU), 試想把"運算單元"比喻為車子如下:
1, 單CPU運作時, 車子要先載完Prime95, 再回來載Super PI.
2, 真實雙CPU運作時, 則是兩部車子 (此時有兩個FPU) 一起把Prime95及Super PI載過去.
3, 單CPU開啟HT運作時, 是一部車子同時把Prime95及Super PI載過去, 但由於"超重", 所以車子的速度慢了一半, "假象"即在此時發生.
但如果是一個用ALU, 一個用FPU的軟體 (或執行緒) 同時運作時, 就可以發揮HT的強大功能, 好像真實雙CPU一樣, 有兩部車子 (ALU+FPU) 一起把它們載過去. 好比金庸小說裡的周伯通, 可以兩隻手各打一套拳一樣的威猛. 有支援HT功能的應用軟體就是能夠對上述HT特性做優化使ALU和FPU在同一個CPU Cycle運作, 而使該軟體效能顯著提昇. 這也應證了亮哥 (已經叫"哥", 應該不用再加"兄"了吧.

) 的HT使用經驗.
還是誠心建議以Prime95 "In-place large FFTs"專測CPU, 以Memtest-86 V3.0專測Memory, 是比較科學的方法. 亮哥 (或其他一些網友) 以Prime95 "In-place large FFTs"和Super PI 32M並用測穩定度, 其實只是再讓Super PI幫忙再多測一點記憶體罷了, 但又測不全, 還不如用Prime95 "Blend" Test來的完整.
另外支援HT enable的軟體全速運作時 (CPU使用率=100%), 由於ALU及FPU同時動作使CPU die的發熱面積加大, 溫度稍高是可以預料的. 但Prime95光是純操FPU其溫度就直逼一般ALU+FPU的溫度, 可見一般應用軟體的FPU運作絕不比Prime95操. 如同"CPU利用率"一樣, 這又是一個以溫度誤導判斷的例子. 其實溫度不是穩定度的主要指標, 最重要的是--->CPU還能不能"正確運算", 記憶體還能不能"正常存取".
以上謹供大家參考.
引用:
Originally posted by 亮哥
感謝P大詳盡解釋.
不過HT enable的使用率個人經驗並非假象.
我曾用支援雙CPU的RENDER程式去TEST過實際效能:
狀況1: 不開HT,不開雙CPU支援(也就是一般狀況)==>3分35秒.CPU利用率100%
狀況2:開HT,不開軟體的雙CPU支援==========>4分15秒,CPU利用率50%
狀況3:開HT,開啟軟體雙CPU支援==========>2分45秒,CPU利用率100%
時間愈少代表速度愈快效能愈佳.
實際上,開HT又操到100%對CPU的負荷纔是最操的(温度監測數值也支援此說法)
如果開HT單純RUN Prime95,利用率大約50%而已,監測温度也比上述低個4度左右.
|