圖解ARM核心,防火長城、禁止偷菜、手機看片都靠它

圖解ARM核心,防火長城、禁止偷菜、手機看片都靠它
上次我們簡單談到了手機上的應用處理器,相信大家都有了基礎的理解。當然,其實應用處理是很廣泛通用的名詞,理論上,同一種架構的SoC(系統單晶片,也就是一顆晶片上包含一整個系統所需的各種能力)被用在不同的產品上,還可以再冠上不同的名稱。 比如說用在網通產品上,就可叫做網路應用處理器,被用在手機上,當然就是手機應用處理器,如果是用在多媒體設備中(機上盒、PMP等),就可以叫做多媒體應用處理器。你知道中國大陸和諧的網路世界是怎麼來的?這要拜某家美國公司的高效率通訊內容處理器所築起的網路長城,該處理器也是很多公司行號裡面負責阻擋大家上Facebook偷菜的幫手之一。

圖解ARM核心,防火長城、禁止偷菜、手機看片都靠它

▲應用處理器的基本架構,圖為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核心中。

圖解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更短命啊!

圖解ARM核心,防火長城、禁止偷菜、手機看片都靠它

▲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與我們討論。

Dark Eric
作者

使用 Facebook 留言
C4aaf2364b96ce8d7336ff5d1e8abeae?size=48&default=wavatar
1.  QSD8x50 (發表於 2010年1月21日 22:19)
Snapdragon 用的也是ARM11,來源是官方文件 :P
7d5404fcaf6dc8f732b8f0308bfd438f?size=48&default=wavatar
2.  shunyuan (發表於 2010年1月21日 23:41)
標題檔,我被防火長城給騙進來,哪個字跟防火長城有關?
B0b27d365e41c157b92aa1547b9c0461?size=48&default=wavatar
4.  PCABC (發表於 2010年1月22日 14:27)
你知道中國大陸和諧的網路世界是怎麼來的?這要拜某家美國公司的高效率通訊內容處理器所築起的網路長城,該處理器也是很多公司行號裡面負責阻擋大家上Facebook偷菜的幫手之一。


防火牆在這裡喔
118ed642d310bc813c5ce34d61285f49?size=48&default=wavatar
6.  wellss (發表於 2010年1月23日 10:08)
對ARM處理器了解甚少,來看這篇長長知識才是正道,看來它對資安也負起舉足輕重的腳色。
5cf19049e661e878c2809ac837046e7e?size=48&default=wavatar
7.  Steven Lin (發表於 2010年1月23日 22:09)
Qualcomm scorpion (Snapdragon) 是Qualcomm custom core...
dual issue, in-order 管線長度 跟設計 類似ARM Cortex A8, 但不是based on A8
Dark Eric
8.  Dark Eric (發表於 2010年1月24日 19:55)
QSD8x50:

Snapdragon用的指令集是跟Cortex-A8系出同源的ARM V7指令集,加上管線、指令處理流程等結構已經大翻修,跟ARM 11真的已經有點遠了...


Steven Lin:

你說的沒錯,我前兩篇中也有提到,高通是採用架構授權,指令集相容即可,其它部分愛怎麼玩都隨便高通,不過高通在ARM11時代玩得不怎麼出色(高通:我玩得不好但是賣的好,怎樣?咬我啊!),與Cortex-A8同樣基於ARM v7指令集架構的Snapdragon,即便架構都是由高通自己負責,但是在細部設計概念上跟Cortex-A8的相似度實在太高(高通:設計處理器跟游泳、賽跑一樣,還不是你做啥我也跟著做啥?),所以筆者還是將之歸類於Cortex-A8 Based的產品。
發表回應
謹慎發言,尊重彼此。按此展開留言規則