手機(jī)雙核知多少?四大主流雙核CPU全比拼
本文引用地址:http://www.ex-cimer.com/article/139451.htm
在單核時(shí)代,Cortex A8架構(gòu)是絕對(duì)的主流。作為ARM官方設(shè)計(jì)的產(chǎn)品,雖然Cortex A8和Cortex A9都基于ARM v7指令 集架構(gòu),但是它們之間依然有很多的不同點(diǎn),其中最重要,也是用戶最能感覺(jué)到的,是一項(xiàng)叫做亂序執(zhí)行的功能。雖然Cortex A8和Cortex A9都支持同時(shí)執(zhí)行兩條指令,但是只有Cortex A9支持亂序執(zhí)行能力,這個(gè)功能究竟是什么意思?
我們知道,計(jì)算機(jī)程序,都是由一條一條的指令組成的。這些指令有很多種功能,有的是把數(shù)據(jù)從一個(gè)地方復(fù)制到另一個(gè)地方,有的是做數(shù)學(xué)運(yùn)算,有的負(fù)責(zé)判斷某一個(gè)條件,有的負(fù)責(zé)從一處跳轉(zhuǎn)到另一處。編譯器會(huì)把所程序員寫出的程序編譯成一條一條順序的指令,就像電器的使用指南一樣,讓處理器遵照它去做。為了方便理解,我們假設(shè)一個(gè)程序的內(nèi)容是做一份考試卷,執(zhí)行的過(guò)程是先做完選擇題,再做完問(wèn)答題;做選擇題的條件是要有鉛筆去涂答題卡,而做問(wèn)答題的條件則是要有鋼筆去寫答題紙?! ?/p>
如果你忘了帶鉛筆,那么為了完成考卷,就必須要等到鄰座的做完了選擇題,你找他借來(lái)鉛筆,才能繼續(xù)自己的考卷,這樣就耽誤了時(shí)間。對(duì)于一顆標(biāo)準(zhǔn)處理器而言,很多時(shí)候都會(huì)遇到這類“沒(méi)有帶鉛筆”的情況,比如需要訪問(wèn)的數(shù)據(jù)在內(nèi)存里,這就需要處理器通知內(nèi)存管理器,讓內(nèi)存管理器去把數(shù)據(jù)調(diào)入處理器,才能繼續(xù)執(zhí)行這一條指令。由于處理器內(nèi)部的時(shí)鐘延遲是納秒級(jí)別,而內(nèi)存的運(yùn)行頻率則有數(shù)十納秒的延遲,兩者之間差了許多倍,因此處理器一般需要消耗很長(zhǎng)的等待時(shí)間,才能繼續(xù)開(kāi)始工作,最終的結(jié)果就是性能下降。
這時(shí)候,亂序執(zhí)行就派上用場(chǎng)了。一個(gè)程序的指令都是有嚴(yán)格的邏輯順序的,但是所謂的亂序執(zhí)行,就可以打破這種原本的指令順序,在邏輯允許的范圍內(nèi)以一種新的順序去執(zhí)行程序。如果繼續(xù)用考試的例子,那就是這樣:
雖然編譯器生成的考試指南告訴你,要先做完選擇題,再去做問(wèn)答題,但懂得變通的人會(huì)在沒(méi)有鉛筆的時(shí)候先去做問(wèn)答題,這樣就節(jié)省了大量的時(shí)間。支持亂序執(zhí)行的處理器也懂得這樣去“變通”,在遇到需要等待的指令時(shí),如果后面的指令并不需要等待這條指令的結(jié)果,那么就可以先跳過(guò)這條指令,去執(zhí)行后面的指令,大大節(jié)約等待時(shí)間,提升程序性能。當(dāng)然,亂序執(zhí)行并不是沒(méi)有條件的,它要求被亂序的指令之間不存在嚴(yán)格的相關(guān)性。例如假設(shè)問(wèn)答題里需要選擇題的結(jié)果, 那么你就不能跳過(guò)選擇題去做問(wèn)答題,只能老老實(shí)實(shí)去等鄰座的鉛筆了。
亂序執(zhí)行能有效節(jié)省時(shí)間
那么回頭來(lái)看看Scorpion核心。這個(gè)核心是高通在單核時(shí)代設(shè)計(jì)出來(lái)的,雖然也是基于ARM v7指令集架構(gòu),但在具體設(shè)計(jì)上屬于高通自己的實(shí)現(xiàn),與Cortex A8相比有很多區(qū)別,其中最重要的就是高通為Scorpion核心引入了部分的亂序執(zhí)行能力。所謂部分的,就是說(shuō)在某些特定指令序列下,Scorpion可以實(shí)現(xiàn)亂序的效果,Cortex A8則不行。在單核時(shí)代正是由于這點(diǎn),高通的處理器核心在很多測(cè)試中的表現(xiàn)都要稍好于Cortex A8,但是當(dāng)雙核時(shí)代來(lái)臨后,大家都升級(jí)到了支持完整的亂序執(zhí)行的Cortex A9核心,而高通則依然沿用老舊的Scorpion核心,當(dāng)年的優(yōu)勢(shì)就成為了現(xiàn)在的劣勢(shì)。
不僅如此,在純執(zhí)行能力上,Scorpion面對(duì)Cortex A9也處于劣勢(shì)。根據(jù)高通提供的數(shù)據(jù),同樣在1000MHz的頻率 下,Cortex A8的執(zhí)行能力為2000DMIPS(可以簡(jiǎn)單認(rèn)為是每1周期執(zhí)行兩條指令),Scorpion比它要高一些,為2100DMIPS, 但是Cortex A9則高達(dá)2500DMIPS,領(lǐng)先Scorpion接近20%。雖然高通試圖通過(guò)超頻20%的方式彌補(bǔ)這個(gè)差距,但是在單線程性能 上,還是被競(jìng)爭(zhēng)對(duì)手甩開(kāi)了不小的距離,畢竟亂序執(zhí)行的能力在很多應(yīng)用中可以獲得的性能提升遠(yuǎn)遠(yuǎn)不是這200MHz的頻率可以彌補(bǔ)的,而且更高的頻率也會(huì)抵消Scorpion核心在省電上的特點(diǎn)。這點(diǎn)在后面的測(cè)試?yán)镆部梢钥闯鰜?lái)。
當(dāng)然,Scorpion核心也不是沒(méi)有自己的優(yōu)勢(shì)。作為高通自行設(shè)計(jì)的核心實(shí)現(xiàn),它在一些方面有著超出ARM官方Cortex A系列的地方,例如它的二級(jí)緩存是直接連在兩顆CPU上,而不是通過(guò)AXI總線共享的,在帶寬和延遲上有著自己的優(yōu)勢(shì)。但是整體而言,Scorpion作為上一代核心,在新一代Cortex A9雙核的面前還是顯得比較孱弱的。
最后,我們給這些處理器的核心架構(gòu)作個(gè)評(píng)分(考慮到默認(rèn)頻率):
Tegra 2 ★★★★
OMAP4430 ★★★★
MSM8x60 ★★★
Exynos 4210 ★★★★★
較量項(xiàng)目二:處理器核心的協(xié)同作戰(zhàn)能力
評(píng)論