▲應用處理器的基本架構,圖為NVIDIA的Tegra應用處理器。
這些應用處理器的架構大同小異,舉例來說,它們可能都包含了CPU核心(ARM或MIPS等等)、顯示核心、DSP、特定的硬體處理線路(安全、多媒體編解碼等),有些特殊的應用處理器也會加入類似FPGA之類的可程式化元件。
CPU核心部分,由於本系列主題還是ARM,所以其他處理器IP的討論以後再說,這次我們先從主流ARM11架構切入,再延伸到最高階的Cortex系列。
承先啟後的ARM11
顧名思義,ARM11就是ARM的第11代處理器IP,但是它的指令集則是演進到第六代(ARM9與Xscale屬於第五代),與之前的長輩們相較之下,最大的不同就是支援了單一指令多重資料(SIMD),讓特定演算法的應用程式效能獲得數倍成長。此外,支援Jazelle這個Java解碼加速功能,幫助網路裝置強化Java應用的效能。這對於手機、PDA、MID、Smartbook等Java程式平台相當有用。
ARM11算是最成功、也最流行的ARM核心之一,他還有個兄弟叫做ARM11 MPCore,顧名思義,就是多核心版本的ARM11。跟原本的ARM11比較起來,MPCore的應用並不多,主要是因為MPCore推出後不久,效率更高的Cortex-A8/A9就出現了,這讓MPCore核心的應用處理器(如NVIDIA的Tegra)還沒普及,就已經要改朝換代了。
其實ARM11也是ARM架構中的里程碑,比如說,SIMD處理能力,加入32位元處理能力的Thumb-2(前一代的Thumb只能處理16位元指令),都是在此世代中導入。ARM11也原生支援外掛輔助處理器(比如說DSP),能夠提供更廣泛的應用設計,這些特色也都被沿用到最新的ARM核心中。
▲前陣子相當熱門的三星i8000,其應用處理器S3C6410就是基於ARM11體系。
ARM11核心家族相當多,比如說高通MSM7系列、NVIDIA的Tegra、三星的S3C64×0、TI的OMAP2系列、Freescale的i.MX等等。這些應用處理器目前都還是主流元件,遍布於各種消費性電子、網路通訊產品中。
高效能代名詞Cortex-A8/A9
接下來的Cortex系列就像ARM11,具有A8、A9兩個別類。簡單來說,後推出的A9就是細部改進的A8核心,而且支援多核心或單核心配置,因此A9可以直接取代A8的定位,換句話說,A8其實比ARM11 MPCore更短命啊!
▲iPhone 3GS中的應用處理器出自三星之手,基於ARM Cortex體系。
Cortex系列除了加入了128位元SIMD計算能力,也增加了管線階層數,時脈可一舉飆高到2GHz。換算DMIPS可從2000到8000(四核心配置)。目前採用Cortex-A8的應用處理器,有TI的OMAP3系列、高通的Snapdragon(HTC HD2、Acer Neo Touch)、Freescale的i.MX 51、三星的S5PC100(iPhone 3GS),而目前市面上還沒有Cortex-A9架構產品,不過未來高通Snapdragon QSD8×72、NVIDIA的Tegra 2都是基於多核心的Cortex-A9。
效能取決於設計方式
不過從DMIPS來看效能表現太偏頗,以Tegra為例,一部分的多媒體解碼能力是依靠硬體線路處理,這部份無法完全換算成有意義的效能數字,也因此,CPU核心效能高,不代表應用效能也高。舉Intel為例,就好比Core-i7超頻4GHz+Intel整合型顯示晶片,跑起Crysis必定還是遠遠不如Core2+GTX285。
所以在多媒體及3D效能來說,基於Cortex-A8,時脈高達1GHz的高通snapdragon還是比不上NVIDIA基於ARM11時脈750MHz的Tegra。應用處理器的設計方式與處理單元搭配的方式不同,它們針對的應用市場與實際效能表現也不一樣,CPU核心會有影響,但並不是絕對成正比。
下次,我們用NVIDIA Tegra當例子,討論一款應用處理器還需要些什麼。
【編按】Dark Eric目前是自由作家,過去曾在幾家專業媒體撰寫比LP充血還要硬的技術文章,對半導體技術與市場之類的怪玩意有點小研究,如果大家也想成為特約作者, 歡迎來信tb@techbang.com.tw與我們討論。
防火牆在這裡喔
dual issue, in-order 管線長度 跟設計 類似ARM Cortex A8, 但不是based on A8
Snapdragon用的指令集是跟Cortex-A8系出同源的ARM V7指令集,加上管線、指令處理流程等結構已經大翻修,跟ARM 11真的已經有點遠了...
Steven Lin:
你說的沒錯,我前兩篇中也有提到,高通是採用架構授權,指令集相容即可,其它部分愛怎麼玩都隨便高通,不過高通在ARM11時代玩得不怎麼出色(高通:我玩得不好但是賣的好,怎樣?咬我啊!),與Cortex-A8同樣基於ARM v7指令集架構的Snapdragon,即便架構都是由高通自己負責,但是在細部設計概念上跟Cortex-A8的相似度實在太高(高通:設計處理器跟游泳、賽跑一樣,還不是你做啥我也跟著做啥?),所以筆者還是將之歸類於Cortex-A8 Based的產品。