智能手機的cpu性能 = 核心數 * 單核頻率?

四核*1.5GHz是不是一定比雙核*2GHz的cpu性能高?如果不是,那為什麼現在的手機核心數一直在不斷增加,四個核心能不能同時運算,我的電腦cpu是amd的e450 1.65ghz,他的運算能力是不是還不如現在的一個普通雙核*1.2GHz的手機cpu?


謝邀@我用第三人稱,這貌似還是我第一次被邀請,不過題主這麼小白的問題也實在未免有些……

ps:如果覺得前面長篇大論了可以直接跳到後面看4/5/6點。

簡單說下,時鐘頻率和核心數這個東西並不是決定性意義的。。。有些人總是說時鐘頻率然而連它的本質都沒搞懂(基礎的晶振clk發生器和加倍器相關等等)甚至有些人還認為時鐘頻率影響運算性能。

⒈時鐘頻率和同步電路:首先,我來解釋一下時鐘頻率的作用。我們現代處理器用的數據通路都是由時鐘驅動的,這些都是同步電路,clock到來的時候狀態才會改變。組合邏輯電路的輸入一旦變換就有不同信號輸入,一段時間後才會穩定所以需要時序邏輯電路作為控制器來維持。否則這些信號之間會有競爭;時序邏輯在時鐘觸發下工作。一般計算好延遲讓時鐘信號>延遲間隔,這樣才能穩定。

⒉時鐘頻率和pipeline:其實說到底時鐘頻率就是數字脈衝信號的震蕩速度,可以理解為信號的傳播速度。所以,即使你時鐘頻率再快alu計算上也沒一丁點進步,但是,越深的pipeline理論來說時鐘頻率應該越快,因為pipeline越深而每個階段延遲就小,所以時鐘頻率也就越高,可以理解為深pipeline是為了提升頻率但不要認為提升頻率是為了加深pipeline。

綜上所述,影響這個時鐘周期的就是你的pipeline長度和信號的傳播速度,而後者就是時鐘頻率的作用。所以,說白了,時鐘頻率影響的並不是alu計算的速度而是信號傳播速度。這時候我們可以說——時鐘頻率不完全等於性能也不完全等於CPU速度。

⒊多核並行化和傳統程序使用:再來說一下cores數量的問題,由於一般程序很難寫並行,所以在非SIMD運算上多核的負載很多都並不是很理想(題主問能不能四核同時運算,可以,SIMD可以很簡單做到並且負載相對均衡;一般情況也可以,但負載不均勻)這時候多核的問題就暴露出來了——傳統程序不好寫並行,有時候達不到理想的多核並行;而且傳統程序也不一定需要八核全開(除了load程序的那一刻)才能維持。

比如單核和雙核比較的話那差距是比較明顯的,但是核心數越來越多增加並不是線性的(主要是因為CPU適合串列執行,傳統非流計算時無法做到GPU那種大規模並行的SIMD/SIMT)而日常對於一般程序而言的用不到那麼多核。

還有一個地方,多核並行必定需要損失效率的(內核之間的同步需要開銷,其中也包括Cache監聽一致性協議等等許多方面)所以1+1+1+1<4

⒋衡量CPU性能的唯一準則:說了那麼多,其實CPU的性能衡量可不是那麼簡單的,唯一可以衡量CPU性能的方法只有一個——time

曾經計算機體系結構上有人企圖用MIPS作為性能衡量的單位,但最後也被證明並不合適,有其局限性因素存在——1:指令基數問題,不適合測試不同指令集 2:不同程序MIPS不同 3:新程序執行指令數更多而單條指令速度更快則跟性能是無關的

有這樣一個公式:秒數/程序=(指令數/程序)*(時鐘周期/指令數)*(秒數/時鐘周期數)

這個公式告訴了我們一個至理名言——「任何企圖用一個公式子集衡量性能的方法都是不靠譜的,而執行時間是唯一有效不可推翻的度量方法」

⒌用戶時間和CPU執行時間以及Branch Mark:這麼多年了計算機體系結構對於衡量CPU性能只告訴了我們一句話:時間才是唯一真理,其他的東西都不靠譜。

然而,我們並不能把終端設備拿來直接對比,因為終端設備上的程序響應時間不只是CPU的——還有os、I/O、存儲器等等各方面的影響,所以這樣對比CPU單純性能是很危險的。

那麼,拿用戶時間來對比不行的話還能用什麼方法呢?那就只有Beach Mark了,但Branch Mark能否衡量實際性能也是需要看其數據類型對於實際是否有代表意義。其實這些東西就又牽扯到量化分析研究,不是一般人能搞定的~

⒍總結:所以,我覺得上面幾位答主都沒說到正題上,不管是微結構實現Cycles/Instruction層好還是時鐘頻率實現Second /Cycle層也罷這些衡量都不是簡簡單單的事情,也不是跑一兩次Branch Mark就可以定量的事情●﹏●


不是,和處理器的架構有關。A15的雙核可以完爆A8四核,MTK被稱為偽四核也由此而來。而X86的處理器性能也遠優於ARM,比如聯想K900所用的Intel Atom雙核就比小米2的高通APQ8064性能優異。同樣還要考慮處理器的製程,工藝等等。


這個要從幾個緯度上來解釋

1 應用對於多核心的支持程度,比如說一個簡單例子,小米2A和2S,這兩個在大部分應用與遊戲下都差不多,大部分遊戲也就支持雙核而已,所以4核不會有太大的性能發揮,但是往後走,遊戲對於4核性能壓榨,會出現4核有比雙核好的情況,總的來說,手機適合單任務,所以4核和雙核差距並不明顯,除非有如跑分類應用壓榨性能,

2 單核性能仍然是重要的指標,如前面所講應用不一定用完所有核心,但是單一核心性能強大會讓應用更流暢,4核A7也許總體性能高於A9雙核,但是大部分場景中,仍然是A9雙核快於A7

3 因為構架不同性能差別很大,ARM性能排列如下A5 A7 A8 A9 A15,但是請注意,性能和功耗是不成正比的,A15性能也許是A9的兩倍,但他消耗的電力是A9的三倍,所以ARM才出了一個A7這樣只是注重功耗的IP。 在比如 X86性能比ARM性能好很多,但是功耗也高,當然功耗是可以用逆天的製程降低的,比如INTEL的凌動手機平台,單核性能與A15相當,但是功耗卻低於A15,INTEL凌動性能幾乎是同頻A9的兩倍

3 至於你說你的E450比不上普通雙核手機,那是不可能的,E450這種APU 性能相當與同頻A15,所以你別糾結,另外因為應用環境區別,你又基本上沒可能在E450上裝安卓,所以了 不同平台與構架基本上沒有可比性


補充一點,還和手機系統有關。android4.0才針對雙核或多核心處理器優化,當然這是隨著手機硬體發展,手機系統充分利用硬體性能。


做一個簡單的類比

1:做100道10以內加減法算術題,4個小學生速度肯定比2個大學生快。1.0X4與2.0X2

2:做1道微積分算術題,4個小學生做不出,只有大學生能做出。1.0X4被PASS

3:大學生比小學生吃得多,所以有時候一般派一個吃的一般多,又高低兼備的高中生。1.8X4誕生。

可能具體原理描述的不夠準確,只是抽象的東西形象化,便於大家理解,有不足之處敬請諒解。O(∩_∩)O~~


不會,按照notebookbench,amd e450隻是比1.7ghz 4核高通梟龍600差點,比1.5gh 4核的apq8064a,rk3188強。手機雙核里至少要1.7ghz 雙核的exynos5250才能超過e450,攤算下來,1.65ghz的e450大概相當1.5-1.6ghz的exynos5250,遠高於tegra2,exynos4210,omap4460這些雙核。

手機cpu性能既可以按drhystone的dmips比較,也可以使用specint,browsermark比較。

四核1.5GHz不一定比雙核2GHz的cpu性能高。

手機核心數增長因為手機功耗-頻率曲線是漸增線,性能-頻率曲線是漸減線,即——隨著頻率越來越高,需要消耗的功耗越來越多,而獲得的性能增長越來越小,達到某閥值,功耗如何增加,頻率如何增加,性能都不會增長。

而多核化可以減緩這個過程。達到同樣的性能,雙核要比單核頻率更低,同時功耗更少。

從功耗-性能的優化曲線上考慮,多核低頻要比單核高頻划算,從廠商角度,自然是增加多核比提升頻率容易。能否同步運算,要受cpu核心之間的同步-非同步,同構-異構等關係,內涵的結構,系統的優化等的制約。

比如tegra3的vsmp(Variable Symmetric Multiprocessing),4+1核中的伴核不能和主核同時運轉。

三星的hmp(Heterogeneous Multi-Processing)方案出來前,exynos5系的big little結構的全部內核不能同時運轉。


不一定啊。比如一個程序是單線程的,雙核2Ghz的cpu可能運行效果還好些,因為只需要用到1個核心,其他的核心對於這個程序來說是出於閑置的狀態。但是對於那些大型遊戲,肯定4核的效率會高些,因為大型遊戲是多線程的,因此每個核心都能發揮它的功效,1.5*4&>2*2,這只是鄙人很粗淺的理解。


Apple A8 雙核 1.4Ghz 笑趴在地上


推薦閱讀:

會有i5 8400桌面U的藍天(神舟K680E)筆記本嗎?
為什麼14納米之後不研發13納米,而是以躍進的方式研發?
AMD RYZEN 5 1600的遊戲性能與intel i5 7500的比較?
如何評價AMD在2017.10.26全新發布的RYZEN移動處理器?
如何看待 AMD 宣稱其 Zen 處理器性能超過英特爾 Broadwell-E?

TAG:中央處理器CPU | SoC |