NVIDIA Tegra3,高通S4 MSM8960,三星Exynos4技術(shù)淺析
三款處理器技術(shù)淺析第一回合:半導(dǎo)體工藝制程在高集成度的半導(dǎo)體微處理器行業(yè)中,半導(dǎo)體工藝制程可能是除去設(shè)計以外最重要的因素。高通、三星、NV三家公司分別選擇了三種不同的工藝:Tegra3采用了臺積電“40nm Fast G”,MSM8960采用了臺積電“28nm LP”,Exynos 4 Quad則采用了三星自家的“32nm LP HKMG”。這些工藝的代號可能會讓你眼花繚亂,但實際上它們才是理解工藝細節(jié)的關(guān)鍵。我先來好好了解一下半導(dǎo)體工藝的相關(guān)基礎(chǔ)細節(jié)。線寬可能是半導(dǎo)體工藝中最直觀的一個參數(shù),例如28nm、45nm,但這也可能是最具欺騙性的參數(shù)。大家都可能認為數(shù)字越小越先進,但實際情況遠沒有這么簡單。目前的半導(dǎo)體行業(yè)中存在兩種類型的企業(yè),一種是以Intel、三星為代表的擁有自主制造能力的企業(yè),另一種則是以nVIDIA、高通為代表的Fabless,即設(shè)計代工型企業(yè)。對于后者而言,芯片的制造往往交給諸如臺積電、意法半導(dǎo)體等代工廠負責(zé)。最近10年來,每一代邏輯芯片工藝的線寬基本上都是以70%的比例不斷降低,就Intel為例,近幾年我們熟悉的有 90nm、65nm、45nm、32nm和最新的22nm。由于這些企業(yè)的工廠主要為自用,工藝參數(shù)往往只是用于輔助宣傳,但對于臺積電而言,由于它的業(yè)務(wù)是代工,因此有可能是出于宣傳自己工藝的角度,臺積電自130nm節(jié)點開始,每一代工藝的線寬都要比Intel小一點——分別是 80nm、65nm、40nm、28nm和20nm。這樣的確會營造一種更加先進的感覺,但實際上可能只是商業(yè)策略居多,就本質(zhì)而言大家依然是同一代工藝。Tegra3所采用的40nm工藝是屬于45nm一代的節(jié)點,而Exynos 4 Quad和MSM8960采用的32/28nm則是最新一代的節(jié)點,后兩者之間不存在誰更先進的區(qū)別。那么為何nVIDIA要采用上一代工藝呢?原因相信在最近的新聞中大家都能明白——那就是產(chǎn)能。由于nVIDIA長期以來和臺積電在最先進工藝領(lǐng)域深入合作(NV的PC顯卡基本全由臺積電代工,這些產(chǎn)品可比手機處理器復(fù)雜多了),因此NV很清楚臺積電28nm工藝的進度比預(yù)期要慢得多。為了保證Tegra3不會被影響,NV依然選擇了上一代的40nm工藝。這自然會付出功耗和性能的代價,但這也讓nVIDIA可以提前對手接近半年推出自己的產(chǎn)品,占得市場先機——華碩Transformer、谷歌Nexus 7、HTC One X,LG 擎天 4X,第一批上市的四核心Android設(shè)備用的全是Tegra3,為何?答案是:只有Tegra3一塊芯片可用,其它根本還沒生產(chǎn)出來。臺積電28nm工藝原本計劃在2011年9月量產(chǎn),而一直到今天,它還只進入早期量產(chǎn)階段,產(chǎn)能預(yù)計要到年底才能勉強達到供需平衡,高通自然也深受其害。當(dāng)然,功耗的代價也是nVIDIA必須付出的,否則也不會有4+1架構(gòu)的出現(xiàn)。好了,你已經(jīng)明白“線寬”這個參數(shù)的區(qū)別,讓我們接著來看線寬后面的參數(shù),如上圖中提到的“Fast”和“Low power”。大體來說,一代線寬下都會有三個工藝方向:高性能型、通用型、低功耗型。高性能型工藝功耗大、漏電大,但是可以讓芯片工作在極高的頻率下,獲取最大的性能;低功耗型工藝功耗低、漏電小,但芯片的最高工作頻率會受到明顯限制,通用型則介于兩者之間。同樣的線寬,不同的工藝方向,差別甚至可以達到數(shù)倍之多,因此只談?wù)摼€寬是沒有意義的。在這一代的旗艦平臺中,高通和三星的芯片均采用了低功耗型即LP工藝,唯獨nVIDIA因為設(shè)計了LP工藝制造的伴核,從而使用通用型即Fast G 工藝制造剩下的部分以追求更低的滿負荷功耗。方向之外,一個節(jié)點的工藝還有很多其他的技術(shù)細節(jié)。我們注意到開頭的工藝介紹中,Exynos 4 Quad的工藝介紹中有HKMG字樣,這四個字母就代表著工藝技術(shù)細節(jié),它指高介電常數(shù)金屬柵極,英文為High-K Metal Gate,縮寫為HKMG。這是一個非常先進但也非常復(fù)雜的技術(shù),這里就不介紹具體細節(jié)了,大體而言,HKMG就是利用高介電常數(shù)的金屬氧化物(例如氧化鉿或者氧化鋁)代替二氧化硅作為柵極絕緣層,提高柵極對的容納能力與對溝道的控制力,進而降低漏電,更重要的是降低高頻率下的功耗。根據(jù)三星提供的數(shù)據(jù), HKMG相對于SiON/Poly-Si工藝在同樣的延遲(即頻率)下漏電最多可以降低到十分之一,而同樣的漏電下頻率最多可以提升40%。Exynos 4 Quad也正是借助這樣的先進工藝,在核心數(shù)翻倍的情況下,整體功耗依然降低了20%。而高通在MSM8960上的選擇就相對保守。雖然臺積電也擁有28nm HPL HKMG工藝,但高通選擇的卻是基于SiON/Poly-Si的28nm LP工藝。這一方面是因為HKMG會抬高制造成本,更重要的是臺積電的28nm HPL HKMG工藝產(chǎn)量太低且延期太久,迫使高通不得不選擇較為早量產(chǎn)的28nm LP——這自然會對MSM8960的功耗帶來一定負面的影響。因此綜合來看,這一代平臺中工藝最為先進的是三星Exynos 4 Quad,其次是高通MSM8960,再次是Tegra3。當(dāng)然,Tegra3也達到了自己的目的——它的發(fā)布時間已經(jīng)搶占先機,成功進駐了一大批設(shè)備。第二回合:基礎(chǔ)架構(gòu)——驍龍S4真的是A15嗎?前文中我們曾提到,驍龍S4所采用的核心是自行研發(fā)的,高通表示這顆處理器的基礎(chǔ)架構(gòu)要遠比Cortex A9先進,那么,它算不算ARM新一代架構(gòu)Cortex A15呢?為了解釋這個問題,首先我們要來看一下所謂核心的概念。首先要明確的是,ARM所謂的Cortex A架構(gòu)并非只有一個執(zhí)行核心,它是一套完整的處理子系統(tǒng),包含核心、內(nèi)存管理單元、協(xié)處理器、多核心協(xié)同控制器、總線控制器、緩存控制器等等在內(nèi),而執(zhí)行核心僅僅是其中的一個部分而已??催^很多介紹文章的讀者應(yīng)該知道,Krait核心擁有3指令并發(fā)、全亂序執(zhí)行等“類似于A15”的設(shè)計參數(shù),但這僅僅是處理核心上的某些共同之處而已,實際上它們之間有著很大的區(qū)別。我們用Cortex A9作為例子,帶領(lǐng)大家粗略了解一下處理器的架構(gòu):處理器的工作過程是拾取指令->解碼指令->分派給執(zhí)行機構(gòu)->進行運算->把結(jié)果寫回內(nèi)存->拾取下一條指令??梢钥吹?,指令從左下角的預(yù)?。≒refetch Stage)級進入到上方的解碼(Decode Stage)級,經(jīng)過必要的處理(Register Rename)后,進入亂序指令分發(fā)(Dispatch)級,送給各個執(zhí)行(ALU/NEON)器,最后進入亂序?qū)懟兀╓rite back)部分。這一條路徑,就是所謂的指令流水線,也就是下面這張圖。Cortex A9的指令解碼器(圖中De)具備單周期解碼兩個指令的能力,而亂序指令分派器(圖中Iss)具備3+1個端口,也就是說每個時鐘周期最多可以分派4個指令,而執(zhí)行單元部有兩個通用執(zhí)行器(其中一個支持并發(fā)執(zhí)行一個硬件乘法)、一個訪存器和命名為“Compute Engine”的運算協(xié)處理器,也就是我們知道的VFP和NEON。Cortex A15的執(zhí)行管線相對于Cortex A9而言得到了比較大的強化,取指寬度從Cortex A9的64bit提升到了128bit,而且單周期解碼能力增加到了三個指令。這是我們最常提到的提升,但這其實并不是最大的改變,最大的改變有兩點,這里先看分派器和執(zhí)行器。與Cortex A9的3+1分派不同,Cortex A15的分派器具備8指令分派能力,相較A9而言提升了一倍有余,執(zhí)行器不僅4組對應(yīng)的擴充到了8組,還額外增加了分支跳轉(zhuǎn)單元和硬件乘除法單元。在Cortex A9上,VFP和NEON公用一個分派端口,而在Cortex A15上它們各自擁有自己的分派端口,這可以有效緩解指令沖突問題。相對而言Krait的資料比較缺乏,目前只知道單周期解碼能力為3、指令分派能力為4、執(zhí)行單元一共有7個,其它方面則不得而知,很可能缺少的就是分支單元。從規(guī)格而言,Krait的執(zhí)行核心部分介于Cortex A9和A15之間,如果從指令分派角度來看,Krait更像是增強版Cortex A9,高通給出的3.3DMIPS/MHz的理論運算數(shù)據(jù)也說明了這一點。當(dāng)然這只是理論運算能力,實際表現(xiàn)和很多其它因素也有關(guān)系,后面我們會分析。協(xié)處理器方面,Krait采用的NEON協(xié)處理器擁有128bit的SIMD寬度,這要比Cortex A9處理器的64bit SIMD來的更寬,與Cortex A15同級。浮點協(xié)處理器方面也是如此,搭配的是Cortex A15的VFPv4,性能方面大約兩倍于Cortex A9的VFPv3。但是這并不意味著Krait等同于Cortex A15,事實上Cortex A15第二個重大的改變就在這里。上圖就是Cortex A9的浮點運算單元。它的內(nèi)部實現(xiàn)了管線化架構(gòu)設(shè)計,擁有自己獨立的指令隊列和指令分派,但是每個周期只能分派一個指令。雖然圖上沒有畫出來,但是VFP/NEON指令的具體解碼在Cortex A9中是在浮點運算單元中實現(xiàn)的,因此相對于其他的執(zhí)行管線而言,獨立性顯得比較明顯。到了Cortex A15,浮點運算單元被以其他運算器相同的運作方式整合到了處理器的主管線中,具體而言,就是VFP和NEON的指令解碼和其它類型的指令一樣是在前端直接實現(xiàn),無需自行解碼,運作架構(gòu)也和其他執(zhí)行器相同。此外,VFP和NEON運算器內(nèi)部實現(xiàn)了雙指令發(fā)射,可以同時執(zhí)行兩條SIMD指令,四個融合MAC運算,甚至還具備了亂序執(zhí)行能力。我們都知道亂序執(zhí)行對性能的貢獻,因此可以看出,Cortex A15在這方面的改進也是非常巨大的。而根據(jù)現(xiàn)有的資料,高通S4并沒有引入這些復(fù)雜的設(shè)計,因此與Cortex A15有著相當(dāng)大的差距。最后我們用一張圖來簡單比較一下Cortex A9、Krait和Cortex A15的執(zhí)行管線:除去執(zhí)行管線的增強,Cortex A15的二級緩存也進行了大幅度的升級。在Cortex A9上,ARM設(shè)計了多核心共享式二級緩存,但這個緩存是通過外部總線訪問的??梢钥吹剑瑑深wCortex A9處理器通過標記為PL310的二級緩存控制器連接到1MB的緩存上。PL310的內(nèi)部結(jié)構(gòu)如下:結(jié)合之前的架構(gòu)圖,我們就可以推測,PL310提供的兩個AMBA3 AXI 64bit接口,一個會用來進行指令拾取,而另一個則用戶訪問二級緩存。在Cortex A15上,ARM將二級緩存控制器直接整合進了A15多核心控制器SCU中,與所有的核心構(gòu)成了一個緊密耦合的整體。不但如此,Cortex A15的二級緩存架構(gòu)還針對多核心訪問設(shè)計了4個獨立的TAG隊列,將多核心控制器整合進L2系統(tǒng)并支持直接的CPU到CPU數(shù)據(jù)傳輸,這一切都是為了極大提升多核心下并發(fā)訪問緩存的性能。Intel曾經(jīng)說過Cortex A9糟糕的二級緩存性能限制了它的性能,很明顯,ARM決心在Cortex A15上改進這個缺陷。至于高通S4平臺,根據(jù)目前的資料,雖然Krait已經(jīng)淘汰了S3平臺上每個核心私有緩存的設(shè)計,但是并沒有達到Cortex A15的高度,實際上采用的應(yīng)該是類似于Cortex A9的緩存架構(gòu)。到這里大家應(yīng)該就明白了,認為Krait是類似于Cortex A15架構(gòu)的說法是不準確的。事實上,驍龍S4的“Krait”架構(gòu)是一個相對上代Scorpion而言執(zhí)行核心經(jīng)過強化、配備了Cortex A15級協(xié)處理器、采用了類似Cortex A9存儲架構(gòu)的處理子系統(tǒng),整體而言介于Cortex A9和A15之間,看作是“增強版A9”而不是A15級設(shè)計比較恰當(dāng)。第三回合:多核心構(gòu)成方式——膠水 vs 膠水關(guān)注高通的讀者應(yīng)該都知道,高通的移動處理器采用的都是所謂的異步架構(gòu),高通自始至終對外將異步架構(gòu)宣傳為一個先進的技術(shù),而大家則把它戲稱為“膠水”。拋開其中的戲虐調(diào)侃之意,異步多核究竟能不能被稱為“膠水”呢?三款處理器多核心結(jié)構(gòu)有何優(yōu)劣或者不同?本次我們打算用一個淺顯易懂的例子來解釋異步多核心。如果我們把智能手機系統(tǒng)看作一個銀行的營業(yè)廳,處理器就是窗口和窗口后面坐著的客服人員,而指令就是排隊的人。如果一個營業(yè)廳只有一個窗口和一位客服人員,可以簡單理解為營業(yè)廳是“單核”的——如果業(yè)務(wù)過多的話,這個客服人員就會忙不過來,也就是說這個單核的手機就會變得很卡。在這種情況下,銀行可以增加一些客服人員與窗口,來提升處理能力,這就是所謂的“多核心”。此時有兩種選擇,第一是在唯一的窗口后面增加一名客服人員,而另一種選擇則是額外開啟一個新窗口,并再配備一名客服人員。在計算機系統(tǒng)內(nèi),前一種方案就對應(yīng)異步架構(gòu),而后一種方法則對應(yīng)同步架構(gòu)。銀行客服人員可以看作是“運算能力”,而銀行窗口則代表著“吞吐能力”。異步架構(gòu)的本質(zhì)是維持同樣的吞吐能力,提高運算能力,而同步架構(gòu)則會同時提升這兩者。自然的,前者要付出的代價比后者低,因為不需要額外再設(shè)計一個窗口,但缺點也顯而易見:如果客戶辦理的都是非常簡單的業(yè)務(wù)例如存款取款,那么整個營業(yè)廳的工作效率最終會受制于窗口的數(shù)量(一個)而不是客服人員的數(shù)量(兩個)。在這種情況下,擁有兩個窗口的營業(yè)廳可以獲得接近兩倍的處理能力,而用有兩個客服人員的窗口則不會有太多的提升。當(dāng)然,如果客戶辦理的都是諸如購買保險這類復(fù)雜業(yè)務(wù),那么一個窗口擁有兩個客服人員就可以較好的提升營業(yè)廳的處理能力,但在目前的手機應(yīng)用環(huán)境下,這樣的情況是比較少的。因此,異步架構(gòu)總體而言相對同步架構(gòu)而言性能損失比較明顯。理論上,異步架構(gòu)的好處是設(shè)計簡單、實現(xiàn)方便,缺點是性能低、吞吐量差。我們可以考慮極端的情況,假設(shè)在一個窗口后安排四名甚至八名客服人員,這個窗口是絕不可能獲得四倍或是八倍與單人的工作效率,因此異步架構(gòu)只有在高強度運算密集型的體系中才會得到應(yīng)用,而在民用領(lǐng)域,以Pentium D為代表的異步架構(gòu)處理器在2006年后基本就被淘汰了,目前只有ATOM還在采用這樣的設(shè)計。雖然異步架構(gòu)通過合適的任務(wù)分發(fā)機制可以讓多個核心運行在不同的頻率下——例如某個核心負載較小,就可以讓其運行在更低的頻率下,高通聲稱這最多可以節(jié)約40%的功耗。但是,如果要獲得明顯的功耗優(yōu)勢,這兩個核心的頻率和負載就要有足夠大的差異,在這樣的情況下,由于其中一個核心負載非常小,同步架構(gòu)也可以選擇關(guān)閉這顆核心。因此異步架構(gòu)的省電特性未必能反映到實際使用中,而且隨著硬件升級浪潮下核心數(shù)量的增加,異步架構(gòu)所帶來的性能損失會越來越大。很不幸的是,高通驍龍S4,也就是MSM8960依然選擇了異步架構(gòu),甚至高通未來規(guī)劃中的四核Krait產(chǎn)品(如APQ8064)也將繼續(xù)沿用異步架構(gòu),這不得不說是一個遺憾。至于Exynos 4 Quad和Tegra3,它們因為基于Cortex A9設(shè)計,因此采用的都是同步架構(gòu)。雖然理論上同步架構(gòu)的吞吐不是問題,但實際中依然會受到很多因素的影響,比如存儲系統(tǒng)帶寬,準確說是PL310這根數(shù)據(jù)總線。之前我們提到了,由于PL310只提供了兩個64bit的AMBA3 AXI接口,因此眾多核心只能通過一個64bit的AMBA3 AXI接口訪問二級緩存。另一個接口則用于CPU取指,寬度也僅僅只有64bit。由于AMBA3總線的設(shè)計特性,這種設(shè)計的并發(fā)性會相當(dāng)差,導(dǎo)致CPU會長時間處于等待狀態(tài),從這個角度而言,四核心Cortex A9的確不是一個很好的設(shè)計,因為它同樣會遇到吞吐量的瓶頸——S4的瓶頸是吞吐量,而A9的瓶頸是存儲系統(tǒng)帶寬。這個問題對于Tegra3而言會更加嚴重,因為Tegra3為了實現(xiàn)“4+1架構(gòu)”,二級緩存的工作速度大約只有正常速度的一半,這無疑會進一步削減多核心時的系統(tǒng)性能。所以說,不論是MSM8960、Tegra3還是Exynos 4 Quad,其多核心架構(gòu)都有缺陷,第一代四核手機處理器,大家都不完美。相對而言,至少在緩存方面,Exynos 4 Quad要好于MSM8960,而Tegra3再一次為它“只求最快問世”策略付出了一定的代價。第四回合:內(nèi)存——最容易被忽視的細節(jié)內(nèi)存是一個極易被忽視的重要環(huán)節(jié),智能手機的CPU和GPU都要從主內(nèi)存中存取數(shù)據(jù),隨著屏幕尺寸的步步提升,智能手機內(nèi)存容量、帶寬的壓力與日俱增。自從進入Cortex A9以來,絕大部分主流的手機SoC處理器均引入了雙通道內(nèi)存的設(shè)計。只有兩個例外,其中一個是Tegra2, 另外一個則是MSM8x60。這兩顆SoC均只支持單通道內(nèi)存,因此帶寬方面有一定的缺陷,也最終導(dǎo)致了性能的不理想。那么在新一代的旗艦平臺中,大家都選擇了雙通道嗎?答案依然是否定的,因為Tegra3再一次成為了例外。但是不要急著先罵nVIDIA,因為他們的解決方案簡單粗暴而又有效——Tegra3直接提升了內(nèi)存的運行頻率,照樣可以實現(xiàn)較高的帶寬。根據(jù)官方提供的資料,高通的MSM8960支持雙通道LPDDR2內(nèi)存,但它的內(nèi)存頻率僅僅運行在等效533MHz下,也就是說MSM8960的內(nèi)存系統(tǒng)實際上是雙通道LPDDR2 533。通過計算可以得到,這樣的內(nèi)存系統(tǒng),帶寬約為4.2GB/s。Tegra3雖然僅支持單通道LPDDR2內(nèi)存,但等效頻率高達1066MHz,因此它的帶寬同樣也是4.2GB/s,而且由于頻率的提升,Tegra3的內(nèi)存訪問延遲要大大低于MSM8960,具體的數(shù)字可能會在30~40%左右。這是一個非常有趣的結(jié)果,單通道的性能反而比雙通道更加優(yōu)勝。當(dāng)然,NV這樣的提升犧牲了功耗,就像雙核1GHz的處理器功耗要低于單核2GHz一樣。至于Exynos 4 Quad,它的內(nèi)存子系統(tǒng)是雙通道LPDDR2 800MHz,因此擁有最大的帶寬——6.4GB/s,延遲則比Tegra3略高。究竟帶寬和延遲在實際應(yīng)用中誰更重要是一個很難直接給出的結(jié)論,在后面的測試中我們會想辦法去尋找由這點帶來的差異。但是不論如何,MSM8960的內(nèi)存子系統(tǒng)相對而言都是最弱的,Tegra3和Exynos 4 Quad可以說是各有優(yōu)劣??紤]到未來高通的四核Krait產(chǎn)品依然將沿用這樣的內(nèi)存規(guī)格,過小的帶寬和過大的延遲可能會成為制約高通產(chǎn)品發(fā)揮性能的一大桎梏。第五回合:功耗——誰是好男人在之前的工藝對比一節(jié)中,我們知道Exynos 4 Quad、Tegra3、MSM8960三款旗艦平臺采用了三種不同的工藝,因此自然也會產(chǎn)生不同的功耗。目前智能手機的功耗越來越大,一天數(shù)次充電已經(jīng)成為了常態(tài),因此誰的功耗最低,有可能誰就將會在這一輪的旗艦大戰(zhàn)中占據(jù)有利位置。Tegra3包含別具一格的伴核,MSM8960擁有目前代工領(lǐng)域最小的線寬,Exynos 4 Quad則有最先進的HKMG加持,究竟鹿死誰手,下面我們來詳細分析。nVIDIA在Tegra3的白皮書中給出了功耗對比,Tegra 3的整個CPU部分工作在1GHz頻率下的功耗大約是1.26W,而Tegra3的實際產(chǎn)品運行頻率是1.5GHz,這個頻率下的功耗nVIDIA并沒有提供,我們只能根據(jù)經(jīng)驗來預(yù)估。由于Fast G工藝的漏電比例較大,因此Tegra3在1.5GHz下的功耗可能是在2.5W左右。考慮到Tegra3的幾乎整顆芯片都用的是40nm Fast G工藝制造,因此也可以猜測在其它通用硬件上,Tegra3的功耗會相對大一些。當(dāng)然,Tegra3有一個LP工藝制造的伴核。但是這個伴核更多是用于在待機時避免Fast G工藝的高漏電而設(shè)計的,對于正常使用的貢獻并不大。GPU方面,由于完全沒有任何可以參考的資料,所以Tegra3的GPU究竟功耗多少,只能從實際使用續(xù)航中加以猜測。根據(jù)我們的實際測試,Tegra3手機的續(xù)航時間都不會太長,我們推測Tegra3的GPU功耗應(yīng)當(dāng)在1W左右,也就是說整顆Tegra3芯片在CPU和GPU滿載的時候,功耗大約在3.5W左右(該數(shù)字并非官方提供,僅供參考)。其次是Exynos 4 Quad。到目前為止三星依然沒有公布Exynos 4 Quad的詳細資料,但我們知道同樣工藝的雙核版Exynos 4 Dual 32nm的信息。在圖上可以看出,1.5GHz的雙核Exynos 4 Dual 32nm的CPU部分功耗大約是在1W左右,每顆核心大約500mW。而Exynos 4 Quad的工作頻率為1.4GHz,因此估計的功耗大約會是430mW,也就是說四核心的總功耗在1.7W左右,相對于Tegra3而言大約低了30%。獵戶座的GPU部分功耗圖中也有所體現(xiàn),45nm工藝下,運行頻率為266MHz的Mali400 MP4的功耗大約是105mW,由于Exynos 4 Quad的GPU運行頻率大約是400MHz,因此經(jīng)過估算功耗大約在160mW左右。至此,Exynos 4 Quad的CPU+GPU最大總功耗就可以計算出來了,大約是在1.9W左右。最后是MSM8960。相對于前兩者的頻繁估計不同,由于高通提供了MSM8960的開發(fā)平臺,因此各項功耗都可以輕松直接測量。借用其它媒體的結(jié)果,雖然功耗隨著頻率和負載的波動變化很大,但當(dāng)工作在1.5GHz時,Krait CPU功耗大約是在700~750mW,因此總功耗這里取1.4W。這個數(shù)字在這一代的旗艦平臺中是最低的(當(dāng)然單顆核心功耗不是最低的),也就是說MSM8960在純CPU的任務(wù)下是最省電的。但是令人驚訝的是,MSM8960的GPU功耗高的難以置信,最高達到了1.6W,平均而言也有1.1W左右——幾乎是Exynos 4 Quad的七倍。受到GPU拖累,MSM8960的CPU+GPU總功耗還是突破了2W大關(guān),大約在2.5W左右。Android 4.0以后的系統(tǒng)中對于GPU的使用會非常頻繁,這也許會對MSM8960的功耗帶來一定的影響。在之前的工藝分析中,我們提到過,高通沒有選擇最先進的28nm HPL HKMG工藝,可能會對產(chǎn)品的功耗表現(xiàn)產(chǎn)生一定的負面影響,在這里我們可能已經(jīng)看到了結(jié)果,擁有HKMG技術(shù)加持的Exynos 4 Quad在三大旗艦平臺的功耗里是最小的,其次是MSM8960,Tegra3由于伴核的存在,實際使用中的功耗比較難以估測,但如果是極限情況下則明顯不容樂觀。毫無疑問,最容易讓手機變成好男人的是Tegra3。實測數(shù)據(jù)對比分析看完了理論分析對比,相信大家也都累了。三顆處理器究竟孰優(yōu)孰劣,還得經(jīng)過實際測試才能知曉。我們整理了Anandtech、gsmarena等數(shù)家國外權(quán)威媒體的測試成績,并嘗試通過分析結(jié)果來驗證一下理論分析的結(jié)論。在未來,我們還會親自對這三個平臺進行性能測試,以追求更加全面的結(jié)果。需要注意的是,因為各種原因,有些測試程序的參考價值有限,如Neocore、Nenamark v1和Vellamo。對于這類測試,我們決定直接忽略。首先我們來看一些理論性能測試,作為對比,我們在圖表里加入了1.2GHz的Exynos 4210與1.5GHz的MSM8260。Linpack是最近出廠率比較高的測試之一,靠求解線性方程組來測試系統(tǒng)的浮點運算能力。雙核的MSM8960在這個測試中取得了壓倒性的領(lǐng)先,超過其它兩款四核對手,這主要是緣于Krait的浮點協(xié)處理器為VFPv4,而A9和Scorpion只有VFPv3。浮點運算性能在現(xiàn)階段的實際應(yīng)用中體現(xiàn)的較少,因此這項測試的實際意義可能更多是體現(xiàn)在未來。比較有趣的是,Exynos 4 Quad的單線程性能不如Exynos 4210,這也許就是受到了帶寬問題的影響。接下來是幾乎逢評測必測試的兔子跑分。這是一個綜合測試項目,我們先來看總分,再慢慢分析。Exynos 4 Quad是三大平臺里分數(shù)最高的,其次是Tegra3,再次是MSM8960。雙核和四核在這里體現(xiàn)出了差距,但是我們還需要來仔細看一下單項得分。內(nèi)存的結(jié)果比較有趣,看起來兔子跑分的內(nèi)存測試會消耗很多的CPU性能,這導(dǎo)致?lián)碛型瑯觾?nèi)存配置的Exynos 4210得分只有Exynos 4 Quad的一半都不到。而若只看新一代平臺,即可發(fā)現(xiàn)Exynos 4 Quad依靠最大的帶寬還是取得了最高的成績,而MSM8960的低分也許是受到了延遲的影響,也許是因為CPU核心較少,成績有些不成比例。整數(shù)部分的差距體現(xiàn)的是雙核和四核的差距,雖然Krait擁有架構(gòu)的優(yōu)勢,但這并不足以抵消核心數(shù)量的差距,和Exynos 4210相比,驍龍S4同頻性能僅僅提升了6%,浮點甚至倒退了(兔子跑分的浮點部分并沒有使用VFP加速,因此性能和整數(shù)是掛鉤的,參考意義不大)。而2D和3D由于測試強度過低,因此在目前的頂級平臺上大家的分數(shù)均受制于屏幕刷新率,無法拉開差距。至于其它項目,對于總分的貢獻很少。所以說,兔子跑分雖然設(shè)計上是一個全面的測試軟件,但在旗艦平臺上,基本總分只取決于內(nèi)存和整數(shù)性能,參考意義大大下降。雖然網(wǎng)站很熱衷于用它來進行測試,不得不說的是兔子跑分并不是一個好的測試軟件。MSM8960在這個測試中的成績并不理想。CF-Bench也是一個理論性能測試軟件。這里我們也來對比一下測試成績。再一次,核心數(shù)量顯示出了決定性的作用,但是MSM8960的Java性能要好于其它兩款四核平臺,相對于前一代Scorpion而言更是有超過兩倍的飛躍。這個結(jié)果比較出乎意料,也許是因為Krait引入的額外執(zhí)行器在起作用,不論如何,這樣的結(jié)果意味著在純Java的應(yīng)用中高通MSM8960會有較大的優(yōu)勢,甚至要比四核A9更好。Quadrant測試向來是熱門測試之一,我們也來對比一下,這里收集的是支持多核心的V2版,由于總分受IO影響過大,我們只看CPU和內(nèi)存。Quadrant V2的結(jié)果顯得相當(dāng)難以理解,S4的內(nèi)存性能有些異乎尋常的高,這或許是因為Quadrant大體上是一個測試Java性能的程序,內(nèi)存測試結(jié)果受到了S4超高的Java效率影響,變成了虛擬機訪存效率測試而不是真正的內(nèi)存測試??催^了這些理論性能測試,我們下面來看一下實際環(huán)境模擬的測試。首先采集的是Smartphone Benchmark 2012中反映CPU性能額Productivity項。雖然MSM8960有新架構(gòu)的優(yōu)勢,但是由于核心數(shù)量少,性能依然趕不上四核Cortex A9。瀏覽器測試也是實際應(yīng)用中很常見的項目,我們先看看Sunspider。時間越短越好,不過從雙核A9、雙核Krait到四核A9,差距并不大。因為SunSpider測試的成績主要受到瀏覽器JS引擎的影響,與系統(tǒng)層面的優(yōu)化關(guān)系密切,因此差距不大是可以理解的。接下來是BrowserMark。BrowserMark的結(jié)果可以說是一枝獨秀,除了Exynos 4 Quad以外,其它平臺基本處于同一水平,有趣的是不論Tegra3還是MSM8960,都不如上一代的Exynos 4210,這說明三星在軟件上針對瀏覽器進行的單獨優(yōu)化效果是遠超其他廠家的。接下來我們看看3D性能。首先登場的自然是大名鼎鼎的GLBenchmark。Egypt場景使用了大量的Shader,尤其是Pixel Shader,比較看重GPU進行像素處理的能力。為了避免分辨率的影響,我們采集的是720p Offscreen的數(shù)據(jù)。不出意料,Exynos 4 Quad再次奪得第一,MSM8960則不幸墊底??紤]到GPU功耗,這個結(jié)果實在是顯得相當(dāng)杯具。當(dāng)然像素性能一向不是高通的強項,因此我們換一個測試。Basemark ES2.0 Taiji是一個比較注重定點處理能力的測試,這個測試的結(jié)果又如何呢?測試統(tǒng)一在800×480分辨率下進行。雖然依然落后于Exynos 4 Quad,但MSM8960在這個測試中進步明顯,超過了Tegra3。不過Exynos 4 Quad似乎已經(jīng)跑到了屏幕刷新率上限(成績?yōu)?8.9FPS),所以實際性能有可能不止于此。最后我們來看看Nenamark V2。這也是一個比較注重頂點性能的測試。在新一代SoC面前,Nenamark2也敗下陣來,MSM8960和Exynos 4 Quad都跑到了屏幕刷新率的上限??紤]到它們的GPU均為上一代超頻50%而來,因此應(yīng)該還是Exynos 4 Quad占有上風(fēng)。能耗比和同頻性能的初步探究和以往測試性能不同,由于存在兩種架構(gòu)和兩種核心數(shù),所以這次我們嘗試更加深入一點,去計算了一下三大旗艦平臺在不同項目中的能耗比。除了Linpack以外,我們假定在測試中各個平臺的功耗均處于最大,數(shù)據(jù)采用之前的結(jié)果。MSM8260的功耗之前并未提及,根據(jù)估測應(yīng)當(dāng)在650毫瓦左右。下面先來比較一下CPU部分的性能功耗比,這里用MSM8960的性能作為單位1。接下來比較GPU部分??梢钥吹剑珽xynos 4 Quad的能耗比在四個產(chǎn)品中是一枝獨秀的,這應(yīng)當(dāng)主要是32nm HKMG工藝的功勞。而MSM8960的能耗比雖然位居第二,但是和Exynos 4 Quad有著不小的差距,這意味著在未來將要推出的四核心Krait產(chǎn)品,如何權(quán)衡功耗和性能會成為一個麻煩的事情。GPU則對高通而言相當(dāng)不妙。Tegra3由于采用的是落后的40nm工藝,能耗比不理想是可以理解的,但S4已經(jīng)采用了28nm工藝(雖然工藝細節(jié)比較落后),再考慮到架構(gòu)上的巨大優(yōu)勢,不僅能耗比大幅落后,連性能都是如此,這樣的結(jié)果很難令人接受。很快,高通將會發(fā)布新一代的Adreno300系列GPU,宣稱性能最高將達現(xiàn)有的四倍,實際泄露出的測試成績則比Exynos 4 Quad高了大約15%,幾乎達到Adreno225的兩倍。但如果高通無法提升自己GPU的能耗比,只是一味的去“堆”運算單元,即便最終可以獲得強大的性能,這樣的提升也會變得毫無意義,畢竟便攜設(shè)備靠電池供電,不可能無限制的允許功耗的增大。能耗比之后,我們再來看看同頻性能。由于和四核產(chǎn)品對比同頻性能比較困難,因此這里我們用MSM8960與Exynos 4210進行對比。從結(jié)果可以看出,驍龍S4的Krait核心在整體的執(zhí)行性能方面和Cortex A9互有勝負,并不像很多文章中所說,“遠超Cortex A9,與Cortex A15同級”。領(lǐng)先較多的三項中,Linpack源于Krait更高版本的VFP處理器,真正有實際意義的是Java性能,這點可能會在實際使用中帶來很大的區(qū)別??傮w而言,Krait與Cortex A9的關(guān)系更多類似于“基本持平”而并不是“遠遠甩開”。這個結(jié)果對高通而言可能有些沮喪,畢竟高通奉行的是兩年一升級的策略,驍龍S4在自己生命周期的起始階段無法徹底擊敗上一代架構(gòu)的對手,隨著下一代產(chǎn)品的陸續(xù)上市,Krait核心屆時會變得更加被動。結(jié)論與展望:驍龍S4——起大早,趕晚集?看到這里,相信現(xiàn)在大家已經(jīng)對三位選手有了足夠的了解。驍龍S4確實是一顆優(yōu)秀的處理器,高通的策略很明顯——循序漸進,隔代升級。高通自行開發(fā)的處理器升級時間點和ARM是錯開的——ARM拿出Cortex A8,高通就有驍龍S3 A8改進版;ARM拿出Cortex A9,高通就有驍龍S4 A9改進版。通過架構(gòu)換代的時間差,高通贏得了針對Cortex A9的優(yōu)勢,但這個優(yōu)勢并并沒有太好的發(fā)揮出來,因為臺積電工藝的問題,驍龍S4問世要比預(yù)定時間晚,而且它對普通A9處理器的優(yōu)勢要比想象的小,也許我們把它形容為“彌補了驍龍S3的劣勢”更加準確一些。只要使用最先進的工藝,現(xiàn)階段的四核Cortex A9處理器(如Exynos 4 Quad)依然可以達到與之相當(dāng)甚至更佳的性能。MSM8960的實際表現(xiàn)比較令人惋惜。其實高通本來可以在能耗比上表現(xiàn)得更好,只是放棄采用HKMG技術(shù)的決定令工藝的優(yōu)勢大打折扣。驍龍S4雖然在工藝和架構(gòu)上都進行了升級,能耗比的提升依然比不過單純更換了新工藝的Cortex A9核心。能耗比決定了一顆芯片的適用范圍,以及它未來可能的發(fā)展方向和代價。MSM8960相對于Exynos 4 Quad平均能耗比低了大約40%,這意味著高通要實現(xiàn)相同的性能需要額外付出40%的功耗。如果三星愿意達到與高通同樣的功耗,就可以實現(xiàn)更強的性能,可以說,擁有能耗比優(yōu)勢,就擁有了產(chǎn)品策略的主動權(quán)。而這點在GPU上體現(xiàn)的更加明顯??梢哉f,高通如果不能以五倍以上的幅度去提升Adreno系列GPU的能耗比,在未來高端手機競爭中將很有可能處于下風(fēng),因為游戲永遠是硬件發(fā)展的最大推動力。事實也是如此,MSM8960雖然在日常使用中的確非常省電,但是在游戲中的發(fā)熱卻相當(dāng)?shù)拇?,APQ8064實現(xiàn)了超過兩倍于現(xiàn)有的性能,如果需要消耗超過兩倍于現(xiàn)有的功耗,那么對于最終產(chǎn)品而言,這款GPU無疑會成為一場災(zāi)難。我們看到APQ8064的官方開發(fā)套件第一次以平板的形式提供,高通對其的定位也是平板,這也從另一個方面說明了這顆芯片功耗可能不是太理想。最后,不得不承認的是,Tegra3在這一輪競爭中綜合表現(xiàn)確實與兩位對手有一定差距,最大的遺憾就是落后工藝帶來的巨大功耗。但是對于nVIDIA而言,Tegra3已經(jīng)完成了它的歷史使命,作為第一款問世的四核SoC,Tegra3犧牲了能耗換取的時間和價格優(yōu)勢已經(jīng)讓它成為了目前市場上最普遍的四核產(chǎn)品,從這點來看,我們似乎也不能過多的責(zé)怪它。Tegra3的綜合性能與驍龍S4表現(xiàn)互有勝負,只要廠家針對散熱處理到位,這顆處理器在大尺寸手機或者平板上依然具備強大的競爭力。畢竟Tegra3的殺手锏是價格——不論是Exynos 4 Quad,還是MSM8960,或是即將問世的APQ8064,都不可能成為199美元級設(shè)備的核心,而Tegra3能。無論如何,驍龍S4的處境都有些尷尬——半代架構(gòu)換代積累的時間優(yōu)勢幾乎被臺積電不爭氣的工藝進度浪費殆盡,A9/A15混合結(jié)構(gòu)帶來的性能優(yōu)勢,又被對手加倍處理核心、使用最先進工藝等手段輕易抵消,屬于典型的起了個大早,趕了個晚集。尾聲:螳螂捕蟬 黃雀在后談到手機處理器,有一個巨大的影響因素我們永遠無法忽視,那就是ARM本身。經(jīng)過數(shù)年磨礪,ARM架構(gòu)早已控制了智能手機市場大半江山,作為規(guī)則制定者,ARM的一舉一動都將對市場產(chǎn)生強大影響。不論是四核心Tegra3、獵戶座,還是架構(gòu)領(lǐng)先的驍龍S4,它們都將在半年后迎來強勁的挑戰(zhàn),那就是ARM全新一代移動處理器架構(gòu)Cortex A15。根據(jù)目前零散的實際測試性能以及理論分析,Cortex A15不論是相對于Cortex A9還是Krait的提升都將非常明顯,德州儀器(TI)的演示中甚至出現(xiàn)了單項測試中同頻性能Cortex A15超越Cortex A9接近8倍的恐怖結(jié)果。雖然現(xiàn)階段Cortex A15的功耗暫時無法用于手機產(chǎn)品,但ARM已經(jīng)宣布了一項名為big.LITTLE的技術(shù),即用Cortex A15搭配低功耗處理器Cortex A7的方式,讓程序和系統(tǒng)可以無縫的在兩顆核心中切換,并利用Cortex A15的高性能與Cortex A7的高能源效率實現(xiàn)功耗和性能的平衡。這個技術(shù)與Tegra3上采用的“4+1架構(gòu)”很像,但是整合程度要深入的多,效果和適用范圍自然也會大大提升。就目前的資料,下一代產(chǎn)品上,nVIDIA會繼續(xù)開發(fā)自家的vSMP技術(shù),而OMAP5已經(jīng)確認整合的是Cortex M4而非A7,因此三星可能成為第一個將big.LITTLE技術(shù)帶進現(xiàn)實的廠商。而高通則會比較頭痛,因為驍龍S4已經(jīng)出招完畢,而對手的絕招——Cortex A15還未到來。驍龍S4不僅要在明年繼續(xù)作為當(dāng)家花旦去面對Cortex A15的狂轟濫炸,甚至靠犧牲性能換來的功耗降低在big.LITTLE的面前也可能會黯然失色。2012年注定是一個過渡之年,雖然三星、高通、nVIDIA都在今年拿出了新的旗艦SoC,但真正的大戲尚未上演。根據(jù)時間規(guī)劃,nVIDIA將在2013年初推出基于Cortex A15的新一代SoC——Tegra4,而德州儀器公司在放棄了整個2012年后,也將在2012年底到2013年初推出基于Cortex A15的OMAP5產(chǎn)品線。至于三星,早在今年二季度就已經(jīng)量產(chǎn)了世界上第一款Cortex A15處理器,即Exynos 5 Dual,在2012年底到2013年初這段時間很有可能會推出第二代Cortex A15 SoC。ARM公司將Cortex A15稱為“ARM架構(gòu)有史以來最大的一次飛躍”,那些追求極致性能的用戶可以暫時捂住自己的錢包,等到A15時代到來后再做決定。而對于實用主義者而言,現(xiàn)今的四核獵戶座、Tegra3、驍龍S4都是不錯的選擇——最出彩的四核獵戶座成本最高,綜合表現(xiàn)較差的Tegra3卻擁有無可比擬的價格優(yōu)勢,驍龍S4則剛好夾在中間,它們之間的勝負,將更多的取決于實際產(chǎn)品。這個結(jié)果對于高通而言是難以接受的。很快,高通將推出新一代驍龍S4 Pro處理器APQ8064,它的四核心結(jié)構(gòu)相當(dāng)于把兩個驍龍S4拼到了一起,集成的顯示芯片也更新為Adreno 320,高通的意圖很明顯——用這塊處理器豎立絕對性能優(yōu)勢,與NV、三星的四核A9產(chǎn)品劃清界限。