央視網 > 第一體育 > 遊戲 > 正文

定義你的瀏覽字號:

[機能]嵌入式工程師分析NDS和PSP硬體真正實力

 

CCTV.com  2009年05月08日 09:18  進入體育論壇  來源:央視網綜合消息  

  想起這個主題的原因是看到一則消息“外國玩家將NDS超頻到了100MHz”,結合很久以前就有的“PSP的CPU降頻1/3 使用”的信息,讓人實在是對NDS 和 PSP 硬體實力的對比感到很好奇。因而查閱了一些資料,結果讓人大吃一驚:兩者的差距遠沒有之前一些人分析的1 :5 那麼懸殊,任天堂老謀深算的隱藏了實力。

  下面就請看我的對比分析:

  我們先看看NDS:大家都知道NDS採用了兩個CPU ,一塊是ARM946E-S,它有8k字節指令緩存和4k字節數據緩存,通常工作在 67 MHz ;另一塊是33MHz 的ARM7TDMI,有 64 k 字節內存。他們共享32 k字節的高速緩存。當然這些都是眾所週知的情況,但是如果是從事嵌入式設備開發的朋友看了這些多半會産生疑問:ARM946E-S 怎麼會只能跑到67 MHz,ARM7TDMI怎麼會只能跑到33MHz.事實上ARM9架構屬於目前嵌入式CPU 中的中端産品,主流的頻率應該在200-300MHz左右,ARM7架構屬於中低端的産品,但是主流頻率也在100-200MHz左右。而且這也不太可能是任天堂公司技術實力太差,移植IP的時候性能嚴重縮水所致。因為擁有ARM系列的ARM 公司採取的商業策略是只授權硬IP核,即直接交付生産用的版圖,根本不允許用戶修改,所以在這方面任天堂根本沒有犯錯誤的機會。

  我從電子設計領域的專業渠道了解到的資料顯示,NDS 的ARM946E-S 實際可以工作到200MHz,ARM7TDMI實際可以工作到133MHz,請大家注意,這裡的頻率均不是超頻的結果,而是設計的正常工作頻率。至於這麼做的真實原因,恐怕只有任天堂自己才知道。

  不過我們可以猜想:可能是為了省電的因素,也有可能是目前軟體的水平只需要如此,就是不要妄想這是任天堂的設計失誤,事實上他們在硬體設計上“合理就好”的傾向很明顯,當年在NGC推出前改規格,降低GPU頻率,提高CPU頻率,避免瓶頸的事就説明了這點。

  我們再來看看PSP 的情況:PSP 有兩個1.2V MIPS 4KE CPU 內核,可以運行到 333 MHz,但正常時鐘不超過222 MHz ,這可能是出於功耗考慮。一個內核處理大多數系統代碼和遊戲代碼,另一個內核補充了2M字節嵌入式DRAM,負責音頻、

  靜止圖像、視頻等媒體的處理。PSP 有4M字節嵌入式DRAM以及32 M字節離散 DRAM. 顯然SONY方面也採取了和任天堂相似的降頻策略,只不過氣魄上還是差了點。

  我們現在可以先作一下比較

  NDS 的目前CPU 頻率之和=67+33=100MHz

  PSP 的目前CPU 頻率之和=222+222=444MHz

  兩者之比=100:444=0.225

  NDS 的真實CPU頻率之和=200+133=333MHz

  PSP 的真實CPU 頻率之和=333+333=666MHz

  兩者之比=333:666=0.5

  當然一些業內人士肯定要笑我胡鬧,哪有這樣比較兩個不同架構CPU 性能的,而且CPU 的性能也只是整體的一部分。好,請聽我繼續分析。

  ARM 公司目前是世界嵌入式CPU IP授權市場的老大,不過ARM7架構是97年左右推出的,擁有能夠提供0.9MIPS/MHz 的三級流水線結構。ARM9架構是99年左右推出的,擁有能夠提供1.1MIPS/MHz 的5 級流水線結構,而且ARM9系列還提供了增強的DSP處理能力,不過這兩個都算不上最新技術。PSP 的CPU IP提供者是MIPS公司,它是世界嵌入式CPU IP授權市場的老二,雖然來頭稍小一點,但是它提供的MIPS 4KE CPU內核屬於最新的MIPS32架構,擁有能夠提供1.5MIPS/MHz 的5 級

  流水線結構,這點比ARM9要強不少。本來MIPS32 4KEc 內核在TSMC(臺積電)的0.13微米製程下所能達到的最高頻率是233MHz,但是SONY方面又不惜血本,它們在日本長崎縣諫早市的索尼半導體「SCEI Fab」晶圓廠採用的是0.09微米製程,所以同樣的CORE,它們的可以跑到333MHz. 不過這也可能是SONY方面的無心之過,從理論上説更先進的製程除了可以帶來更高頻率,更低的成本外,也可以帶來更低的功耗。但是恰恰在0.09微米這個工藝節點,由於對深亞微米工藝的特性認識

  不足,在超低K 值介電材料的開發上沒有跟上,出現了很嚴重的漏電流問題,導致功耗不但沒有降低,還提升了。所有的半導體製造商均是如此,更嚴重的是,例如INTEL ,可以通過使用後來開發的超低K 值介電材料解決這個問題,甚至直

  接升級到更先進的0.065 節點,但是SONY由於遊戲機的硬體統一性,很難採取類似的方式。

  第一批PSP的水平就決定了之後所有PSP的水平,他是PSP這個木桶的最短一塊板。我們難以想象SONY會發佈這樣的通告:“2006年X 月前生産的PSP,CPU跑在222MHz,2006年X 月後生産的,CPU 可以跑在366MHz,用戶可以自行選擇”,這樣的話,軟體開發商和用戶非造反不可!從這一點分析,雖然SONY公佈的CPU 最高工作頻率是333MHz(目前是222MHz),而且目前也的確存在方法讓PSP跑到333 ,但是這並不意味著SONY會在將來允許開發商將實際工作頻率提高到333MHz,因為這會導致初期版本的PSP 功耗超過SONY方面在制定標準時的預期,從而發生不穩定。333MHz很有可能成為非官方軟體的專利。相對而言,任天堂不存在這個問題,他使用的是成熟産品和成熟工藝,沒有不可預期的情況,ARM 架構又以功耗低聞名,NDS 達到設計的工作頻率沒有什麼懸念,由此導致的持續能力降低不會超過2小時。

  我們再做一次計算:

  NDS 的實際運算能力=200*1.1+133*0.9=340MIPS

  PSP的實際運算能力=333*1.5*2=999MIPS

  兩者之比為=340:999=0.34

  如果發生SONY不能把PSP 的工作頻率提升的情況,情況就會變為

  NDS 的實際運算能力=200*1.1+133*0.9=340MIPS

  PSP 的實際運算能力=222*1.5*2=666MIPS

  兩者之比為=340:666=0.51

  如果SONY方面最終能提高工作頻率,但是達不到333MHz這麼高,那就會是0.34-0.51 之間的某值另外再考慮CPU 的其它方面,NDS 配備了ARM946E-S 和ARM7TDMI,目前任天堂不願意討論處理器內核之間的功能劃分問題,不過按照過去的多代家用遊戲機的慣例,這樣的一主一輔兩個CPU 的設計,一般是主CPU負責遊戲的視頻和其它主要運算,輔CPU 負責音頻和輸入處理等運算,這種劃分方式早已被業界熟悉,應用上應該不存在問題。SONY方面的情況比較複雜,PSP 有兩個1.2V MIPS 4KE CPU 內核。一個內核處理大多數系統代碼和遊戲代碼,另一個內核補充了2M字節嵌入式DRAM,負責音頻、靜止圖像、視頻等媒體的處理。這不是目前流行的雙內核結構嗎?

  其實不然,目前INTEL 和AMD 熱推的雙內核對應用程序而言是不可見的。處理器內核的調用過程是由OS負責的。但是這種方式需要龐大複雜的OS作支持,效率也不高。遊戲機這種嵌入式設計完全不同,應用程序本身負責處理器內核的調用過程,這種方式高效,但是難度很高。回顧歷史上採用對等式雙CPU設計的遊戲機,例如SEGA土星等,無不是讓程序員們發瘋的平臺。從理論上説土星的雙SH2 (20MHz )比PS的單R3000 (30MHz )是要強一些的,但是除了SEGA自己的AM2 ,AM3 的王牌小組,沒有人可以把這兩個CPU 的能力都完全發揮出來的,多數土星遊戲實際只利用了一個CPU(我承認這一點似乎無法解釋MS在XBOX360中採用了3CPU core 的設計,但是MS在XBOX360 跑了WINDOWS XP,這和這一代掌上遊戲機採用的OS根本不是一個級別的東西)同樣的我對於絕大多數日本遊戲開發企業能夠把兩個MIPS 4KE CPU內核總計666-999MIPS 的能力完全發揮出來表示懷疑。

  這裡沒有採信某些資料上説的PSP的VFPU具有2.6Gflops的説法,原因是MIPS官方沒有類似的説法,而且ARM9E同樣是有FPU的內存方面,兩者的資料都不足,NDS 的兩個 CPU共享32 k字節內存,還帶有4M字節的系統 DRAM ,而PSP 有4M字節嵌入式DRAM以及32 M字節離散 DRAM ,PSP顯然因為擁有大量的高帶寬嵌入式DRAM而佔有優勢,總內存也多得多。不過我們也要考慮到PSP 需要大量內存緩衝他的UMD 驅動器,而且3D處理這類低數據密集度的運算對於內存帶寬的敏感遠高於對內存容量的敏感。總體上PSP 在這方面的優勢沒有他在紙面上顯示的那麼大。

  兩者的加速硬體比較:

  NDS 的3D圖形引擎每秒可以傳輸高達400萬個幾何頂點或12萬個多邊形,並聲稱有3000萬像素/ 秒的填充率。還有獨立的音頻加速硬體。

  SONY官方宣稱PSP的雙內核圖像處理器運行在166 MHz,並將圖像流水線劃分為兩類任務:一個內核負責曲線表面和幾何處理,另一個則負責紋理表面和像素渲染處理。SONY在斯坦福大學2004年IEEE Hot Chips 會議上公開過PSP的全部規格,包括 6.64 億像素/ 秒的像素填充率,以及3300萬多邊形/ 秒的渲染率。PSP 的數據是NDS 的幾十倍甚至上百倍,不過個人認為這個數據看看就可以了,過於誇張了,PSP自己的像素不過130560個,6.64億/130560=5085.78 ,這個倍數太過分了(NDS 的類似數值是3000萬/98304=305.17 ,考慮到每秒30幀畫面和例如FSAA的開銷,十分合理)。

  SONY也在PSP中使用基於可重配置邏輯的VME(虛擬移動引擎)視、音頻處理內核,它運行在1.2V和166 MHz,可以實現3D 虛擬化、迴響、音調控制以及其它音頻處理功能。由於PSP 的加速硬體紙面性能過於誇張,難以讓人相信,例如3300萬個多邊形/ 秒的渲染率,已經超出了Geforce3一級桌面顯卡的水平,從目前技術來看,集成到PSP上不可能的,也無法和CPU 的處理能力配合(目前3D運算還是離不開CPU 的)。事實上MIPS宣稱他的MIPS 3D ASE 硬體加速器可以達到3700萬個多邊形/ 秒的渲染率,但是這個MIPS 3D ASE 需要和MIPS64架構的CPU配合,而不是PSP的MIPS32,這兩者的差距非常大。 那怎麼辦,這個對比如何做下去呢?個人覺得不妨參照二者CPU的能力做個比較,PSP的加速硬體強大一些,具備曲線表面和幾何處理能力(NDS 目前沒有資料證明有類似能力),獲得20% 的加成(參照T&L 加速器的加成情況)。

  前面説了,NDS與PSP的CPU 能力之比在0.34-0.51 之間,那麼個人認為他們的硬體總體能力之比在0.283-0.425 之間,前提是軟體開發商的程序水平很高,能充分利用PSP的兩個CPU ,否則這個比值還會上升。

  PS:最後對NDS 未來的多媒體播放能力做個預測,目前任天堂方面開放的CPU 能力只到67MHz ,ARM9在這個頻率上想播放全屏幕的MPEG4 完全不可能(不使用 播放君),不過參照多種203MHzARM 的PDA 播放MPEG4 的情況,具有硬體加速的NDS 如果工作在200MHz,播放全屏幕的MPEG4 應該不存在問題

責編:侯健

1/1

相關熱詞搜索:

打印本頁 轉發 收藏 關閉 網民舉報