省電超強小鋼炮:NVIDIA Tegra

省電超強小鋼炮:NVIDIA Tegra

如果大家看過前兩篇ARM應用處理器的概述,應該會對ARM核心的基本架構與應用有了相當程度的認知。而本系列文章也將前進到另外一個階段,從本週開始,筆者將從實際產品著手,介紹在手機產品中著名的應用處理器架構,當然,如果大家有興趣知道其他應用架構,或有其它問題,歡迎留言指教,筆者會在之後的專欄中為各位解答。 講到NVIDIA,大家對其最印象深刻的就是顯示晶片了,這十年來,NVIDIA的顯示晶片以超越摩爾定律的速度持續進化著,應用範圍也超越3D顯示,不僅挑戰傳統CPU的領域,如今,NVIDIA的招牌也開始出現在手機等各種嵌入式應用產品裡,也就是Tegra產品線。

本篇將會詳細介紹Tegra的基本結構,讓大家瞭解這款應用處理器究竟包含什麼特異功能、以及NVIDIA獨家的特色。

Tegra家族

目前Tegra包含了兩大產品線,也就是大家熟知的APX2500/2600與CSX600/650,APX是針對手機市場設計,至於CSX則是針對高階車用娛樂與導航、MID、netbook等較大型的設備而來。除了時脈與支援周邊的數量不同,其他都大同小異,1080p解碼已經是必備能力,高階3D繪圖效能更是NVIDIA引以為傲的特色。

一般來說,高效能其實等同於高功耗,這個情況過去在半導體產業屢見不鮮,系統商往往在省電和效能之間難以抉擇,即便是NVIDIA的顯示卡也避免不了。Tegra的解決方式很聰明,就是把各個功能處理單元的功耗設計完全切割開來,當需要個別處理能力時(比如說音訊處理、視訊解碼),就把其他用不到的部分關掉。不過它的細節並不簡單,我們稍後再述。

Tegra的基本結構

省電超強小鋼炮:NVIDIA Tegra

▲Tegra二代的架構圖。

Tegra就像一般應用處理器一般,包含了CPU、繪圖、多媒體、IO、儲存控制等必備的基本能力。1代Tegra具有7個核心,2代則是因為導入雙核Cortex-A9,所以多了1個變成8個。當然,這樣的核心區分與定義,有時是為了宣傳方便(NV:你們看,我們家的Tegra隨隨便便也有7、8個核心,Intel的4核心算什麼?Atom的HyperThreading閃邊喘啦!),然而事實上,所有應用處理器的處理單元設計都大同小異,只是要看整合能力的多寡來取捨而已。我們以Tegra 一、二代為主線進行解說。

CPU核心:

這是一款應用處理器核心部分,Tegra一代是採用ARM11核心,二代則是改採雙核Cortex-A9,除了AMR11跟Cortex-A9以外,另外整合了1個ARM7,這個ARM7的功用非常特殊,與高通的MSM 7xxx中的次要ARM9核心有著完全不同的功能取向。

顯示核心:

這顆核心是NVIDIA最自豪的特色之一,Tegra一代架構上基於Geforce 6,具有兩個pixel shader units、兩個vertex shader units 以及兩個texture mapping units (TMUs),最高運作時脈為130MHz,每秒可以產生高達4000萬以上的多邊形與6億個pixel。當然,這是顆特別打造的GeForce 6,跟以前的市售產品差很多,整體速度大約是GeForce 6100(一個vertex shader、三個pixel shader,時脈425MHz)的一半。即便如此,也已經是Snapdragon繪圖核心速度的兩倍有餘了,也相當於Imagination前陣子所推出的PowerVR SGX545(時脈200MHz)。

省電超強小鋼炮:NVIDIA Tegra
▲Tegra 2以超過30FPS的速度運行Unreal 3。我們可以回想一下,PC中的顯示卡到何時才能讓Unreal 3流暢執行?

Tegra二代中的繪圖核心與一代同樣是基於GeForce 6,不過速度比一代提高了兩到三倍以上,基本上這是透過時脈與記憶體頻寬增加而得來的,架構並沒有改變。即便如此,也已經可以在FWVGA解析度上流暢的執行Unreal 3(Tegra一代為Quake 3)遊戲。不過,對於高階遊戲玩家,Tegra一/二代都可以另外附加包含GeForce 9功能以及部分CUDA能力的次晶片(sub die),達成更恐怖的計算能力。

搞不懂為何要另外增加這個晶片?想像一下,整合Tegra 2的NDS HD遊戲機,隨身攜帶時,可以只啟動內建的GeForce 6核心,在FWVGA解析度下遊戲時間可以長達2、30個小時,如果接上基座(內建光儲存媒體的dock station),連接到電視螢幕上,就可以啟動GeForce 9晶片,加上CUDA的平行計算能力,變身成為Wii HD,享受超越PS3的3D效果。當然,這只是合理推論,不準不要罵我…:P

圖形處理核心:

這個部分是負責執行2D圖形顯示以及照相機的功能,連接外部顯示器時,可以提供超過SXGA的解析度,照相機功能最高可支援達1200萬畫素。

HD影像編碼核心:

一代Tegra中,給手機使用的APX 2500/2600並沒有包含這個核心,而是在高階的CSX650才有,在Tegra二代產品線目前還不明瞭。不過目前看來,應該是全線都會支援這個編碼核心。一代中CSX650僅支援到720p影像的即時編碼,Tegra 2的HD影像編碼核心則是提供了1080p H.264的即時編碼能力,不過不清楚可以支援到什麼profile。

HD影像解碼核心:

省電超強小鋼炮:NVIDIA Tegra

▲藉由Tegra,在手機上可以輕鬆輸出720/1080p高畫質影片。

這個核心在所有的Tegra產品線上都有,不過能力不一,比如說APX2500/2600、CSX600就被限制在720p,CSX650和Tegra二代都能夠達到1080p的解碼能力。值得一提的是,NVIDIA結合了部分硬體線路設計,而不是像高通採用DSP來解碼,因此不僅效率高,佔用晶片面積小,而且更為省電!硬體線路是執行解碼時負擔最重的部分,並且只內建最熱門的幾種編解碼標準(比如說可被H.264、MPEG-4共用的解碼邏輯,WMV及VC1可共用的解碼邏輯),讓CPU負擔減到最輕。當然,碰到他不支援的編解碼標準,還是只能用CPU硬上了。

音效解碼核心:

省電超強小鋼炮:NVIDIA Tegra

▲iPod一到五代都是採用PortalPlayer的音效SoC晶片。

NVIDIA在2007年的時候,用3.5億美元收購了PortalPlayer公司。要知道,蘋果鼎鼎大名的iPod一到五代,整個音效子系統用的都是PortalPlayer的晶片,基本上,這個音效解碼核心,是把過去PortalPlayer的音效處理晶片,剝離ARM的部分獨立而成。跟影像編解碼部分情況類似,大多數工作也是透過硬體線路處理。由於音效編解碼的處理負載小,且各種編解碼模式相當類似,因此即便支援主流音效格式,核心依然能夠維持的非常精緻,且效率非常高。加入預設的幾個預先定義的後處理(post-process)特效與EQ之後,就構成了完整的音效處理核心。

深入研究省電設計

前面提到,ARM7在Tegra之中扮演著非常特殊的角色,它主要負責網路通訊的負載、基本系統工作以及隨時監控系統正在執行什麼應用,並且根據目前載入的應用類型動態關閉用不到的核心。基本上,如果ARM11/Coretx-A9是大腦,那這個ARM7就相當於小腦,而且必要時還能接任大腦的工作。

比如說聽MP3時,ARM7就會接手負責音樂播放列表控制、部分內部儲存IO控制,從小腦變成大腦,並關閉除了音效解碼核心、音效IO(IO部分其實也可定義成為一個子系統,也可根據系統需求,動態開啟或關閉特定的IO回路,但是NVIDIA並沒有特別強調,因為沒人會關心IO在做什麼)以外的其他核心,此時的工作狀態,就有如完全沒有螢幕的iPod shuffle,加上預計有一、兩千mAh容量的電池助陣,想達到上百小時的音樂播放,可以說輕鬆之至!

依此類推,播放影片時,ARM7會則視影片複雜度決定自己上或由主CPU核心(ARM11或Cortex-A9)接手,同時開啟HD影像處理核心、音效核心、影像、音效輸出IO,在這樣的狀態下可以達到十幾個小時的連續播放時間。

最後,玩3D遊戲時,不需要的編解碼核心就可以全部關掉,由於處理器負載高,因此開啟最大運算效能,並且開啟顯示核心與音效核心,ARM7則是在背景定時偵測運算狀態,如果遊戲運算有空隙,比如說遊戲暫停,就立刻忙裡偷閒,關閉目前空閒的部分,藉此延長開機時間。

結論

省電超強小鋼炮:NVIDIA Tegra

▲手機上的Tegra應用處理器平均功耗是100mW。這張圖是針對CSX650與Atom的比較。Tegra 2也是號稱平均功耗不超過100mW。

藉由高靈活度的核心設計與功耗調度控制,Tegra1/2達到了空前的效能與功耗表現,包括TI、高通在內的傳統DSP架構沒有人是對手。目前也成功導入包括MP3、汽車導航等多種嵌入式應用!NVIDIA在繪圖架構上還有許多發揮空間,比如說未來一定會把CUDA計算能力整合到Tegra中,進一步提高應用處理器的應用能力。不過,沒有整合3G模組,使得Tegra平台的成本與BOM cost在手機產品上沒辦法與高通競爭(高通:我…我的整合性還是最高啦!效能再高也沒用!能賣贏我再說吧!)不過在高階嵌入式應用市場,Tegra的應用延展性就明顯勝過高通了。

說到高通的DSP,筆者其實怨念頗重,不過這點還是留待下期解剖高通應用處理器時再來說明吧!

Dark Eric
作者

使用 Facebook 留言
12c52b153daf70e75162ec15e8c01cbe?size=48&default=wavatar
1.  痴漢水球 (發表於 2010年1月29日 19:58)
小弟才疏學淺,比較想知道不同ARM solution廠商SoC的BSP差異性,以及導入前需要付的license fee,因為這才是決定廠商選擇採用哪家廠商晶片的關鍵,也是眾多Embedded RISC和x86世界最不同的地方。多謝了。
0f285ab06c8a2f943815a444fd0b9164?size=48&default=wavatar
2.  挖挖哇 (發表於 2010年1月29日 21:44)
哈哈~敲碗~~~~~~~~~~

nVidia 放開腳步與束縛,直接開始「單挑」「蘋果」啦~XDXD

別人不買你的「硬體」,自己來搞啦~靠著「Google」的軟體系統~
你的產品會賣翻的啦~
Eea06ce4dc6a2bbada28ecb8916def3e?size=48&default=wavatar
4.  KK (發表於 2010年1月30日 03:47)
只能說 NVIDIA Tegra 超強悍的
能省電又有高效能 打趴 atom
Bb32eb85bf08c6464bc08496638c02e7?size=48&default=wavatar
6.  roadman (發表於 2010年1月30日 09:11)
想打atom的話
先支援win再說
windows真是太邪惡了
離不開就是離不開
這都是Intel&微軟的陰謀阿~
Bb32eb85bf08c6464bc08496638c02e7?size=48&default=wavatar
7.  roadman (發表於 2010年1月30日 09:17)
不過拿來當手機的處裡器 恩 感覺好猛
手機看1080p 哇~
雖然可能只到720p....
H.264嗎?那...好猛
所以把驢子駝回來的BDrip都灌到手機裡吧!!
然後灌沒幾部就把記憶體塞滿了!!
然後可以外接硬碟?!(誤)


題外話..我有一個朋友已經進化成看BDISO了...硬碟太多喔
Dark Eric
9.  Dark Eric (發表於 2010年2月01日 15:26)
水球兄,

您要是才疏學淺,那在下可以直接打包回家種田了。

不同廠商Soc的BSP方面我也不清楚,可能要直接找各廠商問。至於License fee方面,ARM提供了一個試用評估方案,導入前,甚至從設計、驗證到Tape out都不用付錢,直到量產才要付費,不過這僅限於ARM9及ARM7,其它核心沒有這個方案,而根據需求不同,IP授權、設計服務授權、製造授權三個部分,依授權層次、數量、IP效能的不同,價格也不一樣(就是要跟業務談才清楚)。如果是類似高通的授權方式,一開始可能就要先付好幾千萬美金了。
118ed642d310bc813c5ce34d61285f49?size=48&default=wavatar
10.  wellss (發表於 2010年2月05日 00:35)
ARM CPU 介紹從頭到尾都是精彩的好文阿,再次受教了。
E33d7055dd2f746189e5da4c2fd94d98?size=48&default=wavatar
11.  Vivian Hsu (發表於 2011年5月14日 16:56)
(⊙ˍ⊙)
好文章
可否請教Android 未來的Ice cream sandwitch 會搭配Tegra 或 QCOM 或 TI的 處理器?
請賜教
發表回應
謹慎發言,尊重彼此。按此展開留言規則