CPU的時脈你會怎麼解釋?

vincentni wrote:
在單核的時代,CPU使用率高達98%!所以,小弟有一個理論,如果在單核的時代,某人組一個兩個單核的CPU在同一個主機板上,在處理轉檔的動作時,他的速度一定會比單顆雙核的CPU快!因為前者用98%CPU使用率在跑,後者大約只用了50%!這樣的理論對嗎?...(恕刪)

這絕對是大錯特錯的,因為兩顆CPU必須靠北穚來溝通彼此的訊息,其速度遠遠不及雙核CPU用 L2 cache 在內部溝通。

執行單一程式雙核跑不到滿檔是正常的,這裡很多人以為雙核就等於兩倍效能,其實是對軟體架構不了解所致。

要讓一個工作分成相等的兩份(或多份)是非常困難的,因此往往會有不平衡的情況發生,一個執行序佔 80% 的負載,另一個則佔 20%, 那這樣即使雙核,效能提升也只有 20% 的程度。

再來多執行序的訊息溝通必須考慮到許多相當複雜的情況,ex deadlock, race condition,...為了避免這些事情發生,往往必須付出不少額外的效能犧牲。

然後還有資料處理順序的問題,一個工作分成多份,不太可能彼此就不相關,往往彼此都還有很大的相關性的,這就會造成,某一個執行序必須等另一個完成某個運算,才能繼續下個運算...

以上這些問題,都是造成你無法執行單一程式時就讓 CPU 跑滿 100% 的原因。
但讓 CPU 跑滿並不難,只要執行序彼此不相關,或你執行兩個程式,還是可以充份利用 CPU 效能。
或許多核心在對於軟體不支援的情況下 不能100%有效利用

處理同"一件事"或許多核心不會比單和來的快

肯定的是 更多核心可以讓你同時做更多事



核心數多寡決定你同時能做的工作數量


我用Q66 有4個核心

我把一個核心撥給VM使用 其他3個核心 可以一個用來轉檔 一個用來玩GAME 一個處理作業系統的背景工作


或許多核心做同一件事不會比單核心快 軟體支援度是個問題
肯定的是 核心多寡 根系統資源成正比 4顆的"系統資源"就是單核的4倍 (以相同架構的U比)

我說的是系統資源是單核的4倍 各位別誤以為效能也是4倍喔!!

intel core2系列CPU 經過測試 雙核&單核的多功效益 效能大約有61%~69%的成長

有興趣的人可以抓NuclearMC 這軟體試試看
Q6600 @3.33G
用這測試軟體 分配給一個CPU工作時 測得分數6515分 分配給兩個核心時 總分為11031
分給4個核心 全員100%動起來時 總分 17994

P4 3.4G 跟 core2系列的U @3.4G 效能差多少 2倍有.....
P4 3.4G HT 只分配一個核心 NuclearMC 得分3515 兩個核心動起來 4217 (多功效益只有18% 真低= =)
Q6600 @3.4G 只分配一個核心給 NuclearMC 得分6715
結論是 新的core2架構 一個clock效能約是P4的2 clock 這效能增益實在驚人
core2架構的U @3.4G P4你大概也要@6.8G才跟他的效能扯平 加上core2多工效益有61%~69%這樣高

若軟體能充分利用Q66@3.4G 那以前單核的P4也要@18G 才能扯平(這結果由測試軟體得到的結論)

我不談理論 實際測試結果就是如此 講這樣多倒不如實際測測看不就知道了


core2不像樓上所說 多工效益只有20%幅度的效能成長

如樓上所說
"但讓 CPU 跑滿並不難,只要執行序彼此不相關,或你執行兩個程式,還是可以充份利用 CPU 效能。 "

這點我深表贊同 各核心"各執行各的" 就沒有多工處理上向溝通效能損耗問題 這時4核效能 大概就是單核的4倍

若單一程式丟給4個核心一起做 就算100%CPU使用率 就有溝通上的損耗 就如我上面所說 效率只有增加61~69% 並非完美的100%


舉個例子 如果一次要轉4部影片 4核轉一起處理一個檔案快
還是每個核心各處理各的快 一個核心一部影片轉 一次轉4個

當然是各處理各的快 比較沒有多工處理上溝通的損耗問題


有個轉檔軟體可以充分利用到多個核心 TMPGEnc
可以同時轉4個檔 每個核心各處理一個檔 "CPU使用率保證100%" 完整利用 有興趣的也可以抓來試試看
因為你用的是測試軟體才會得到你說的結論,多工效率取決工作性質,絕對不是一個測試軟體可以代表全部的,不信我可以出個題目,讓你四核心跑起來和單核心一樣慢。

題目很簡單,計算 pi 到 32M 位數,而且要用 superpi 的方式,也就是說,去改良他,讓他可以在四核心下計算速度至少快三倍。

superpi 不支援多核,當然,不是不支援,是辦不到。

並不是所有的問題都可以「多工化」,我上面已經提及,多工化比你想像中複雜許多,不但很多麻煩要面對,甚至很多問題是沒辦法多工化,或多工化沒什麼效率的。

這個限制從神乎奇技的量子電腦到現在的多核心CPU都一樣,不可能突破。

前兩期的 Scientific American 就有一篇文章提到,量子電腦被過度神話,如果遇上不可分工的問題,量子電腦的能力和一般電腦差不多而已。

至於測試軟體,既然是測試,當然就要讓數據好看,所以只能當個參考。現實中的問題,可以你想像中複雜多了。
downtodo wrote:
也不能完全這樣說,時...(恕刪)


高時脈的雙CPU系統,和雙核心系統比~比的贏嗎?

還要考慮到製程、放進去的指令集、電路的設計,還有快取記憶體大小!


時脈的解釋,我只會跟我的客戶說這是電腦心臟的運作速度,
雙核心的GHz雖然比較少,但是它是兩顆心臟在處理事情的,(雖然這是模擬的並不是真正的雙CPU)

新款的C2D 1.6G跟舊款的P4D 3.4G約差不多速度...

這樣就可以把大部分問我這問題的人搞定啦!

當然必須針對那些對電腦硬體不是那麼熟悉的人才可以這樣唬過去....
hobbyexpert.blogspot.com 趣味達人
大略看完討論串
發現似乎有一個問題沒解釋清楚~
有些人認定 因為"雙核"的關係 所以core2對上P4是"兩個打一個" 才能用低時脈贏高時脈的P4
(比如說效率1+1=2、兩個心臟、以多對少...等)

先不論雙核加乘的效率多少
事實是,core架構下就算單核都遠勝同時脈P4
(ex. 選兩顆都是單核的 "賽羊 1.6G vs P4 3.0G" 賽羊勝 這是最低階的core系列了)

這已不是"以多對少一定贏"這麼簡單了,而是架構上效率根本的不同囉

Electrical Engineer
lafish wrote:
賓士 500 --&...(恕刪)

F1 應該是3000
怎麼在看假說時, 總有人會用(兩個人工作總比一個人好)的觀點....留意一下, 那兩個人只是小朋友來的而已....

在單一程序, 單線性執行下, P4 3G 大概比2140 1.6G 來的快(實際上, 只是險性, 雖然頻率上遠勝, 因core 結構升級, ram頻寛等等因素縮短左距離)

但實際電腦很少作單一程序處理, 如我們偉大的window xp 單單啟動都跑1000個thread 了. 每一個thread 輸出都是極簡單的東西(真的是1+1 的那種喔orz). 要一個寫程式高手寫1000個簡單程式, 不如找兩個初中畢業生來寫會快一點, 橫豎出來的成果也是一樣的.

偶也不能好好表達這件事呢, 只是想提一下, 不要誤入迷思, 以為兩個 vs 一個這麼不公平. 單核P4 也是位3G+ 的高手來的呀(雖然不怎麼聰明...)
White Pope wrote:
因為你用的是測試軟體...(恕刪)


測試軟體是表示能多工化的程式來舉例

當然跟PI不同

實際上現在不能多工化的程式還很多

但還是老話 越多核心不一定能幫你更快完成一件事 但可以同時幫你做更多事



題外話

core2的U(L2=4M以上 單顆核心運作而已) 1個clock效能大概是P4的2 clock
一個clock能做的是幾乎是P4的兩倍 core2單核的效能就已經遠勝P4了
大概core2的U @3.0G P4要@6.0G才追得上他
再怎麼樣core2 都有讓你從P4升級到core2的理由
況且core2不是很多小朋友 他每顆都比P4強= = 一個clock可以做的事是P4的2倍
現在的 C2D 要超到 3.0G 會很困難嗎?甚至不超使用起來都沒什麼感覺了,
更是證明了雙核雖然時脈較以前單核心低,但是效能並沒有讓人感覺到有什麼變化,
但需要用到多工的時候,多核心不就派上用場了嗎?以前的單核心怎麼比?

我工作的公司以前買的電腦是單核心 P4 3.0G,跑起來慢得要死
我另一個同事申請到的新電腦,雙核 E2160 時脈不到 2.0G 跑起來像在飛一樣,有差嗎?差太多了!
光是使用起來的感覺就有很大的差別,不需要用測試軟體證明就能感覺得出來。

現在要在市面上找 P4 3.0 ?? 不容易吧 甚至想找 P4 D 這種早期的雙核都有點困難了
多核心在誰強誰弱的爭論聲中早已悄悄的征服整個市場了,現在桌上、筆電、甚至商用主機單核心越來越少。
討論誰比較強我個人覺得沒什麼意義,因為很明顯的誰強誰弱早已反映在市場上。

相同大小的浴缸
一邊用的水管五分鐘便可以漏滿
另邊用的水管需要七分鐘才可以漏滿
但是是兩條水管一起漏
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 9)

今日熱門文章 網友點擊推薦!