曾幾何時,大家選擇手機的時候開始越來越關注處理器的主頻起來,300MHz、400MHz還是600MHz?大有以主頻來定性能來定價格的趨勢。誠然,智能手機的性能是由所采用的處理器性能決定的,但其實用過多款智能手機的用戶可能會有一個感覺,智能手機的CPU主頻越標越高,但真正用起來卻不覺得機器的速度有什么實質性的進步,連個大尺寸視頻也仍然是放不動;同時,手機的電池卻是明顯的越來越不耐用了,買個手機只敢待機,根本不敢放開玩。這只是一個簡單的直觀體驗,其實背后有很多復雜的架構設計因素影響。筆者從事處理器設計多年,希望籍此文從處理器架構的角度來幫大家分析一下什么真正代表著智能手機處理器的未來,希望對大家選購智能手機的時候有用。 實際上,現在的一臺智能手機,從硬件的角度看與一臺PC是非常接近的,但由于其特別的體積和續航能力的要求,其設計難度是遠遠復雜于PC的,不過手機的硬件系統卻正經歷著與PC硬件系統非常類似的發展路徑。PC系統發展的最初十幾年時間里,幾乎純粹是靠CPU主頻和工藝的提升來帶動,那個階段CPU主頻是衡量系統性能的唯一標準,CPU供應商也把所有注意力都集中在如何提升處理器的主頻上。這個觀點驅使著PC CPU產業逐漸走入了工藝極限的死胡同,直到AMD推出全新的X86處理器架構才開始發生變化,AMD用先進的處理器架構告訴了大家頻率不是性能的唯一衡量指標,到幾年后今天,我們已經不再主要拿主頻來衡量性能,而是更關注處理器的架構先進性、磁盤文件系統的性能、圖形系統的性能、甚至功耗等多種因素,F在的PC CPU的性能不可謂不高,有一個形象的比喻是歷時數年數千人參與的阿波羅登月計劃的全部計算工作量可以拿現在的一臺PC輕松搞定,由此可見當今的處理器性能之強,但是一個明顯的事實是:任何一個時期處理器都無法獨自承擔系統應用的全部性能需求,所以顯卡行業能夠長期繁榮而且越來越成為系統性能的關鍵。其實現在的手機系統也一樣,對于一臺智能手機來說處理器達到400M以上再增加主頻對系統日常操作的差別影響會非常小,但高強度的多媒體和圖形計算對處理能力的要求是遠遠無法靠多提升200-300MHz處理器主頻能夠解決的,當今世界上的最佳技術解決方案是帶專用硬件加速核的SOC架構。參看下表。 1 主流高性能智能手機處理器架構對比 我們可以看到,盡管處理器主頻不是最高,海思的K3 Hi3611處理器由于具備了全硬件的視頻Codec、圖形加速和硬件ASP等處理器核的存在,類似于PC的多核設計理念,K3處理器實際計算能力是其它平臺4-6倍。應該說K3已經不再是一個CPU,而是一個CPU、顯卡、聲卡俱全的單芯片微型PC(PC on a Chip) 除以上幾部分,文件系統也要特別提出,因為在高主頻處理器系統中文件系統性能往往成為系統性能表現的瓶頸,我們先看一下下面的一組數據: 從這組數據可以看出,各家的方案文件系統的表現有巨大差距,海思K3處理器的文件系統性能大大優于其它方案。究其原因,同時在文件系統上,針對特殊的文件操作,通過系統內存cache,加快訪問進行速度,優化訪問。同時芯片提供了快速的Nand flash 控制器,支持流水糾錯,訪問簡潔快速,對Nand flash 訪存處理優化到極致。此外K3 快速的主存系統對文件系統的優化也有很大的幫助。這樣的硬件和方案設計,類似于PC硬盤控制器的設計理念,其達成的性能與簡單的軟件+Nand接口方案當然就不可同日而語。 綜上,我們可以看出單純依靠CPU核心主頻的設計思想已經落伍,一個現代的高性能處理系統必然是硬件多核架構,在多個子系統上表現均衡才能在實際使用中有優良的性能表現。 海思的K3 Hi3611 SOC處理器的設計如同一個微縮PC,有獨立的符合微軟DD/DS標準的顯卡、聲卡、視頻加速器、磁盤控制器,完全是一個單片的PC架構,K3是當今業界唯一用硬件實現了這些部件的方案;比較而言,其它一些單純依靠CPU軟件強行計算的系統,就好像一個安裝了高性能CPU的機器搭配上了原始的VESA顯卡+ISA接口原始硬盤一樣,系統的綜合性能表現不會好。因此,多核時代的到來,我們看智能手機處理器的性能不能再簡單的看標稱主頻,而必須懂得一個先進的并行處理多核架構設計才是王道。 另一個有趣的話題是關于ARM9和ARM11內核的,通常的理解總是數字新的東西代表高性能,可是在這個話題上卻不盡然。仍然和PC CPU類似,了解Intel CPU發展的人應該都知道,Intel在相當長的一段時間里沒有對處理器架構做實質性的變化,所做的唯一工作就是想方設法把主頻提上去,直截了當的說就如Pentium4就是把處理器流水線由14級增加到21級,這樣做幾乎只有一個好處就是使頻率可以繼續往上提升,而ARM11相對于ARM9來講也是很類似的,把流水線從5級提升到8級。長流水線非常大的一個問題是在程序的分支預測錯誤的情況下,流水停頓造成的性能損失非常嚴重。而我們日常使用的應用、游戲等等均屬于商業應用結構,其轉移的taken和untaken比例統計結果是一半一半,即幾乎無法用轉移預測等技術去抵消長流水帶來的性能損失。這就是為什么高主頻的Pentium4在大多數商業應用場景下比較更低一些主頻的Pentium M,性能反而更差的真實原因。ARM11實際上面臨與Pentium4一樣的尷尬。下表是ARM9與ARM11在典型ACC解碼應用下的性能評估: 可以看到其實對于應用程序來說,ARM9的效率比ARM11高,簡單的推理如果ARM9可以提升到和ARM11接近的頻率的情況下,ARM11是沒有存在價值的。那么問題提出來了,缺省的ARM9最高頻率不過300MHz,真的有人可以把ARM9提升到那么高的頻率嗎?答案是肯定的,盡管確實很難,但真正有實力的廠商可以做到,比如華為海思這樣的大公司,早已規模量產400MHz以上的ARM9處理器,海思的K3 Hi3611更有甚者,把ARM9的能力發揮到了全球極致,采用全定制的私有化設計,在量產460MHz版本后,更推出了533MHz的版本。海思不選擇ARM11而選擇開發超高頻ARM9是基于對自身能力的雄厚信心以及致力于向用戶提供最佳性能功耗組合產品的一貫理念的選擇。海思后續產品將會跳過ARM11直接采用真正全新先進架構的ARM Cortex內核。 綜上,我們可以得出高性能不會簡單的來自于高主頻,而高主頻卻意味著高功耗的結論。我們需要更多的關注架構設計的先進性,多核設計才是高性能低功耗的保障。希望以上內容能夠幫助手機消費者能夠明白手機處理器規格參數的真正含義,在選購手機的時候挑選到真正高性能的產品。 |