從軟體需求方面談論,需要多少核心才足夠?

先從一個問題開始,為什麼有多核心的存在?是因為一個核心同時間只能做一件事情,如果有雙核心就能同時做兩件事,速度就變兩倍快。然而由於共用記憶體與多工協調的關係,真實速度只會有約1.8倍快。而且核心愈多,速度增加的幅度愈少。

而且多核心要快,前提是要有足夠多的事情做。例如你用老掉牙的MS-DOS單工作業系統,假設單核的效能相當,8核心的CPU也跑不贏單核心的CPU。就算作業系統支援了,如果程式不能把作業大致平均的分散到多個核心去跑,也不能發揮多核的效能。例如一個剛學程式試設計的學生用迴圈寫了一個1加到100的程式,這個程式的效能就僅由單核心的效能來決定。單核如果跑2秒,給他16核也不可能變成1秒。有人會說同時跑兩個這樣的程式多核心就有用了,但是你的電腦處於忙碌的時刻有多少?多數時候還是只有單一軟體忙碌而已。

大型的軟體的確能充份運用多核心,如資料庫軟體、繪圖影像軟體、虛擬機等。如果這是你最在意的,那麼核心是多多益善。但也有一些屬於先天限制的,例如不少人愛用的7z壓縮軟體,預設的壓縮法LZMA就只能用2核。給更多核也用不上了。

綜合以上,我個人還是偏愛單核效能較高的。

Kadaj wrote:
AMD Ryzen...(恕刪)


AMD家很早就比對手推出他所謂的8核心CPU雖然也是被人家真四核屌打..lol 到現在總算推出一款比較有競爭力的了再開始學人家高談闊論談論是否軟體能跟上硬體倒是還蠻諷刺的!
jinshun000 wrote:
單核升雙核的時候他...(恕刪)


其實amd在cpu多核方面並不輸intel...

實在是io 晶片組介面拖累cpu.......

如果cpu和晶片組同時開發可能結果就不一樣了.....
AMD 在 2011 年推出 FX-8150 FX-8120 八核處理器
但是單核效能佔優勢的 Intel 依舊毫無動搖地以雙核、四核佔據主流市場至今

Mozilla plans to enable the multi-process architecture for a subset of Firefox Stable users when the browser reaches version 48. If things go as planned, Firefox 48 will be released on August 2, 2016.

主流瀏覽器之一的火狐是一直到 2016 年才開始支援多工處理
至今仍未能做到全面100%多工(卡在許多外掛仍未對多工處理優化依然只能在單核模式中)
這就是軟體跟不上硬體的表現之一

不知道日常生活中還有多少仍未對多工、多核心處理優化的軟體存在

如今 Ryzen 效能算是跟得上 Intel 了
大家能以更優惠的價錢取得六核、八核
Intel 會開始把六核、八核下放至主流市場嗎?
還是會繼續卡在四核心?
今後會如何發展?
拭目以待~
嚴格來說AMD還真的是讓高規格降價的領頭羊

一起期待更趨穩定的RYZEN系列

現在intel開的高價還鎖極限真的是吃相難看
是 OS 還是 user application? 兩者不一樣歐

OS 主要就是 提供 threading 抽象化, 讓你的 task可以假裝由多顆 cpu 執行


從user application 來看 CPU core數量 沒有意義!!!

我個人是認為啦 真正評估CPU 執行效率 就看 cycle per instruction

再來看 extension instruction

最後才是堆核心

"製程" 嗯 應該不算 CPU設計啦 除非你 CPU內部繞線有繞 類比+非同步 可能才算

用I牌的ARK網頁來說明,

賽揚的CPU, 高核心數的時脈就開始降低,

當然裡面有許多技術限制,

然後再看看軟體層面,

軟體可以運用的多工最高到多少核心,

選擇對應的核心數, 就可以撈到最高的時脈,

這樣才會接近最佳選擇,


買個20核心的CPU, 時脈剩下2GHz

可是軟體只支援到8核心,

還不如買一個8核心 時脈3GHz的
Probe00 wrote:
軟體可以運用的多工最高到多少核心,

選擇對應的核心數, 就可以撈到最高的時脈,

這樣才會接近最佳選擇...(恕刪)

P大說到重點了

問題在於網絡上
對於“軟體可以運用最高核心數”
這方面的資料不詳

小弟很希望能找到相關完整資料

比方說:
軟體A:支援四核心
軟體B:支援雙核心
軟體C:支援單核心
軟體D:支援四核心以上

如果有了這些資料
那麼大家比照自己日常用到的軟體
就比較容易選擇需要的處理器
Probe00 wrote:
用I牌的ARK網頁...(恕刪)


沒那麼簡單

I社低階U常常會閹割指令集

若指令集不支援就只能硬算
處理速度當然會受到影響
這也是當年MMX造就Pentium之名
又或是AMD64造就當年K6 K7 K8王朝
(現在的INTEL ARK上的INTEL64指令集...其實應該叫AMD64)

又或是現在連低階U都可以輕鬆解4K就是因為已有指令集支援

I社低階U還有另外一個特點
L2/L3閹割的很嚴重

較大的快取可以增加運算效率
I社越高階的U給的快取也越大(當然也是幾何級數的貴)

當年還有一款經典賽揚300A
直接閹了L2

即使頻率接近,只能硬算的低階U+閹割的快取
造就了效能落差

===回到主題===

到底需要幾核心,要看個人使用和需求
不過現在OS和Application對多核心的優化已比之前好太多了
至少新軟體已不會再出現一核操死七核乘涼這種狀況了




Kadaj wrote:
P大說到重點了
問題...(恕刪)


其實多數軟體都是支援"多核心" 並沒有最高只支援幾核心的情形 只有優化佳不佳的情況

每個程式執行時會被拆成多個"虛擬執行緒" 也就是你從工作管理員看到的"執行緒"


在處理程序內可以看到每個程式使用到"虛擬執行緒"有多少個


遊戲少說都數百個"虛擬執行緒" 你可以想像遊戲將工作分成數百個"項目"

而每個核心負責(總項目數/核心數)個 EX: 400個項目/8核心 = 每個核心負責50個項目

但每個項目的"工作量"不一樣 有的比較輕鬆 有的比較難 難免會造成某些核心負擔比較重

這時候單核心效能強就有幫助 即使工作量分配的不平均 仍然可以輕鬆完成

簡單說...軟體的工作量分配的越平均 那核心數越多效能當然會越好

多數遊戲沒辦法將每個"虛擬執行緒"工作量分配的很平均 所以單核心強的優勢就會比較明顯
關閉廣告
文章分享
評分
評分
複製連結

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