Cortex-A15架構(gòu)解析:它為什么這么強(qiáng)
今年的新手機(jī)趨勢(shì)無異是全面向四核靠攏,不過同樣是四核,在實(shí)際的性能上其實(shí)是千差萬別。例如針對(duì)入門級(jí)主流市場(chǎng)的四核手機(jī)普遍采用的都是Cortex-A7以及Cortex-A9 級(jí)別的CPU內(nèi)核,這類內(nèi)核性能、成本以及發(fā)熱都會(huì)較低,因此在入門市場(chǎng)上大行其道。
而在高端智能手機(jī)中則出現(xiàn)了一些新的變化,除了去年就已經(jīng)嶄露頭角的高通Krait系列架構(gòu)四核外,ARM正統(tǒng)的Cortex-A15也開始走上了四核手機(jī)的舞臺(tái),例如三星的Exynos5 Octa、NVIDIA 的Tegra 4。
Cortex-A15是ARMCortex-A家族中目前最強(qiáng)勁的CPU內(nèi)核架構(gòu),發(fā)布時(shí)間為2010年,德州儀器是最早(2011年)投產(chǎn)基于該架構(gòu)處理器(型號(hào)為OMAP5)的授權(quán)廠商。
和ARM的Cortex-A7、Cortex-A9等微架構(gòu)相比,Cortex-A15有很大的不同。
A15和A9同樣具備亂序執(zhí)行,但是Cortex-A15具備(兩倍)的指令發(fā)射端口和執(zhí)行資源,指令解碼能力也要高出50%,動(dòng)態(tài)分支預(yù)測(cè)能力更強(qiáng)(采用了多層級(jí)分支表緩存),指令拾取帶寬更強(qiáng)(128bit vs 64bit),這些都能讓A15的流水線執(zhí)行具備更高的效率。除此以外,A15采用了VFPv4浮點(diǎn)單元設(shè)計(jì),能執(zhí)行FMA指令以及硬件除法指令,相較而言A9的峰值向量浮點(diǎn)性能基本上只有A15的一半。
不過在現(xiàn)實(shí)中,A15 的對(duì)手應(yīng)該是高通自行設(shè)計(jì)的 ARMv7A 兼容處理器架構(gòu) Krait。高通對(duì) Krait 的架構(gòu)細(xì)節(jié)透露并不是很多,大致上就是 3個(gè)指令解碼端口(和 A15 一樣)、7個(gè)指令發(fā)射端口(A15 是8個(gè))、4個(gè)發(fā)射端口(A15 是8個(gè)),具備4KB+4KB的單周期時(shí)延L0Cache設(shè)計(jì)。
如果采用老掉牙的Dhrystone DMIPS/MHz作為性能衡量指標(biāo),Krait 是3.3,A9是2.5,而A15則是3.5,從紙面上看Krait的確非常適合作為A15的對(duì)手。
不過Dhrystone的缺點(diǎn)是顯而易見,它是完全可以塞進(jìn)CPU的L1 cache里執(zhí)行,這就意味著無法以此對(duì)L2cache(A15是一體化設(shè)計(jì),Krait是分離式設(shè)計(jì),一體化設(shè)計(jì)可以減少內(nèi)存交換導(dǎo)致的大量時(shí)延)、亂序執(zhí)行的硬件效率/復(fù)雜性、內(nèi)存子系統(tǒng)單元(A15的內(nèi)存單元可以實(shí)現(xiàn)在一定條件下預(yù)執(zhí)行一條加載指令,而Krait能否具備這樣的能力尚不清楚)等諸多體系架構(gòu)區(qū)別對(duì)實(shí)際性能的影響作出有價(jià)值評(píng)估。
當(dāng)然,ARM采用的DMIPS指標(biāo)實(shí)際上并非28年前的那個(gè)Dhrystone,而是來自EEBMC Coremark(其實(shí) Coremark就是前者的改善版本,主要是為了減少預(yù)優(yōu)化、對(duì)測(cè)試有比較嚴(yán)格的規(guī)則),但是CoreMark同樣可以塞進(jìn)現(xiàn)今大多數(shù)處理器的L1cache里,Dhrystone不能反映現(xiàn)今移動(dòng)設(shè)備真實(shí)應(yīng)用的問題在這里依然存在。
由于應(yīng)用環(huán)境日趨復(fù)雜,要正確評(píng)估一個(gè)移動(dòng)設(shè)備處理器的性能變得越來越復(fù)雜,因?yàn)楝F(xiàn)在的移動(dòng)設(shè)備跑的網(wǎng)頁瀏覽、三維游戲、音視頻、人工智能等都不可能可以完全塞進(jìn)L1Cache里,因?yàn)檫@些應(yīng)用牽涉到大量的數(shù)據(jù)處理。
這時(shí)候,人們?cè)谂_(tái)式機(jī)性能評(píng)估上學(xué)到的經(jīng)驗(yàn)和測(cè)試辦法就可以在移動(dòng)設(shè)備上采用了。對(duì)CPU測(cè)試來說,最合理的測(cè)試方式是采用多種計(jì)算規(guī)模的真實(shí)應(yīng)用源代碼以本機(jī)代碼進(jìn)行編譯再進(jìn)行測(cè)試,在這樣的情況下移動(dòng)設(shè)備的計(jì)算單元、內(nèi)存單元都得以充分考驗(yàn),測(cè)試結(jié)果最具參考價(jià)值。
能夠獲得業(yè)界(計(jì)算機(jī)工業(yè)、學(xué)術(shù)科研)官方認(rèn)可的CPU測(cè)試當(dāng)屬SPEC.org的SPECCPU,它就是采用源代碼方式,讓測(cè)試人員可以編譯為本機(jī)代碼來測(cè)試,許多處理器在研發(fā)伊始就采用SPEC CPU作為最重要的性能評(píng)估指標(biāo)。
SPEC CPU的最新版本為CPU2006,但是CPU2006針對(duì)的是當(dāng)前的臺(tái)式機(jī)、工作站、服務(wù)器處理器應(yīng)用環(huán)境,內(nèi)存容量(CPU2006支持多線程測(cè)試,因此要求的內(nèi)存容量相當(dāng)高,8線程處理器用16GB內(nèi)存也是有點(diǎn)勉強(qiáng))和自身存儲(chǔ)空間(未編譯時(shí)就要數(shù)GB空間,編譯后就要占用1xGB了)要求都較高,因此采用CPU2006對(duì)目前的移動(dòng)設(shè)備來說是不太現(xiàn)實(shí)的。
SPECCPU是每隔幾年就更新一次,在CPU2006之前的舊版本為CPU2000,它的speed整數(shù)性能測(cè)試完全可以在1GB級(jí)別的移動(dòng)設(shè)備上運(yùn)行,在以前甚至有一些CPU2000的測(cè)試被移植到GPU上做加速性能測(cè)試。
ARM陣營(yíng)極少公布SPECCPU測(cè)試結(jié)果,這當(dāng)然也是有原因的,因?yàn)樵谶^去的不少時(shí)間里,ARM針對(duì)的設(shè)備大都只有幾百兆內(nèi)存空間,塞進(jìn)操作系統(tǒng)后,留給程序運(yùn)行的空間就更少,此外由于省電先決的考量ARM處理器的性能其實(shí)真的不怎么樣。
不過有意思的是,今年ARM陣營(yíng)里的NVIDIA在發(fā)布Tegra 4的時(shí)候公布了CPU2000INT的測(cè)試結(jié)果:在1.9GHz頻率設(shè)定的NVIDIA參考平臺(tái)里,Tegra 4的SPEC PU2000int_base 為1168。這個(gè)測(cè)試結(jié)果相當(dāng)于2003年第四季度 SPEC.org上公布的AMD K8 Sledgehammer 2GHz測(cè)試結(jié)果。
NVIDIA還進(jìn)行了在小米手機(jī)2(采用高通 Snapdragon S4 Pro 即 APQ80641.7GHz)上的CPU2000測(cè)試,并且根據(jù)高通公布的S800相對(duì)S600在IPC(每周期指令)和頻率上的變化幅度而估算出來的S800的CPU2000測(cè)試結(jié)果:
從圖表來看,S600的CPUINT2000_base測(cè)試結(jié)果相當(dāng)于Tegra4的一半不到,這在很大程度上反映了Cortex-A15相對(duì)Krait系處理器的真實(shí)應(yīng)用差別。
需要指出的是,雙方的測(cè)試平臺(tái)本身也是有一些影響的,例如小米手機(jī)2執(zhí)行這個(gè)測(cè)試的時(shí)候,CPU頻率是否存在降頻現(xiàn)象,NVIDIA對(duì)此沒有說明。
一般來說,像APQ8064在四核全速運(yùn)行的時(shí)候,會(huì)在一段時(shí)間內(nèi)由于過熱而導(dǎo)致頻率從最高的1.7GHz開始下降。當(dāng)然,NVIDIA在這里公布的是speed模式下的CPU2000INT測(cè)試結(jié)果,這個(gè)模式下是單線程的測(cè)試,只有一個(gè)CPU內(nèi)核會(huì)被使用。
比較遺憾的是高通對(duì)這個(gè)測(cè)試結(jié)果尚未提出異議(據(jù)說高通對(duì)于處理器性能的孰高孰低并不十分看重,他們戲稱是賣基帶送CPU),而CPU2000的配置對(duì)一般人來說是相當(dāng)復(fù)雜的事情,所以這個(gè)測(cè)試暫時(shí)沒有第三方使用同樣的平臺(tái)測(cè)試佐證。[!--empirenews.page--]
威盛電子在發(fā)布Nano X2處理器的時(shí)候曾經(jīng)公布過一份文件,里面也有采用CPU2000對(duì)Nano X2 1.2+GHz和AtomD525進(jìn)行測(cè)試,其中g(shù)cc編譯器出來的CPU2000 INT成績(jī)分別為799和582,采用Intel編譯器出來的成績(jī)分別是955和725。
NVIDIA的Tegra4的CPU屬于ARMv7A指令集,因此編譯器很可能是armcc或者gcc,NVIDIA新近收購(gòu)的PGI是一家老牌編譯器廠商,也許它能提供內(nèi)部測(cè)試版給NVIDIA,只是PGI過往從未發(fā)布過ARM系編譯器。
資訊版權(quán)聲明 :
本網(wǎng)轉(zhuǎn)載自其它媒體的信息,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),如有版權(quán)問題,可以立即刪。
關(guān)鍵字 : 15Cortex-A架構(gòu)