本來期待E3能夠血洗TG,可惜現狀卻讓我非常的不滿意,因此響應TNT兄的號召COS一段時間SF……在此時間裡我是作為一名意志堅定的SF而存在~
下面正文開始:
「微軟的確是一個讓人敬佩的對手。」加拿大SONY技術研究室的蒙塔崔娜在咖啡室裡悠閒地坐著,窗外的陽光柔和地灑在這片空間中,讓這位年過40的女技術人員給人一種聖潔的美。
「因此當他們拿出XBOX360的時候我們的確吃了一驚。」隨即她很快地笑道:「不過也就吃了一驚而已,PS3還是按著久多先生的計劃逐漸被孵化出來。當時在實驗室的我們凝視著這充滿我們心血的襁褓,我們相信,即使XBOX360比PS3早出兩年,PS3也必定勝利。」
「因為PS3。」
「是超越這個世代的。」
轉眼五個月,當時的情形還歷歷在目。當時蒙塔崔娜女士那淡然而笑的模樣使我相信,這就是SONY作為業界霸主所具有的自信。在仔細分析過PS3和XBOX360的整體架構和硬件設計之後,我終於瞭解到,她那種自信到底是從何而來。
PS3強大性能的核心??CELL。作為一款革命性的CPU,它在人類歷史上的意義堪比RISC1。逆潮流而行的IN-ORDER設計是因為XLC這類強大編譯器的出現,這讓我們可以從OUT OF ORDER的桎梏中擺脫出來,將更多晶體管放在運算方面。而現在的情況看來,CELL的確是完成了IBM和SONY當初的設計目標,而IBM的全球遊戲與互動娛樂總經理Dave Laux先生也從側面證實了這個事實。
「CELL技術使PS3具有突破性的表現。這種高效率不僅體現現在可以更快地建模、渲染,更重要的是一個有效的流程設計及相輔的流程實現機制可以保障迭代的影像製作的流程更加順暢,更能迅速地反映製作人的意圖。應用CELL技術後實時渲染將是一個非常平滑的過程,它將幫助遊戲開發商得到更好的視覺效果,也同時幫助產品更快地推向市場。」公元2006年8月28日上午11:00,淮海中路的IBM上海分公司裡,Dave Laux先生如此對我說道。
有很多很多人,因為XBOX360擁有3個PPE而CELL只擁有一個而嗤之以鼻。他們認為,正是這個原因CELL只能算是一塊浮點協處理器,因為CELL的整數性能是在太差了。而事實是,被恥笑的應該是他們,因為他們不知道SPE其實是塊完整的CORE,在Theoretical Peak Operations中我們可以看到,CELL的整數性能和其浮點性能一樣強大,其Billion Ops/sec是3.2G的奔騰4的將近5倍。雖然我們知道,出於遊戲機的成本控制原因PS3用的CELL是特製版,但在同一個測試中32 bit的整數性能依然能達到3.2G奔騰4的將近4倍。而這一切,都是在CELL還未完全優化的前提下。
「可是分支預測怎麼辦?」有人如此問道。不必擔心,這是我的回答也是PS3的回答。某些由於嫉妒SONY成功的人認為SPE不具備動態分支預測因此CELL不適合作為遊戲CPU,但有一個事實他們必須明白也必須清楚,PS3的SPE具備128個寄存器還有從分支目標預取32條指令的分支預測能力,而且SPE作為一個完整DUAL-ISSUE的核心,在預測失敗的時候完全可以切換到另一條指令。況且IBM賦予SPE讀取另一個SPE SRAM的能力,在此情況下,SPE SRAM容量過小的擔憂完全是杞人憂天。而且另一個事實也是大家必須知道的,當PS3開機的時候每個SPE會分配一個獨立的ID,而CELL支持ID的數目是32bit個,因此只有配置了CELL的PS3才是真正的網絡革命性的主機!
看到這裡,可能有某些嫉妒PS3性能的人跳出來了:「RSX呢!128bit帶寬!整個閹割版7800!」
可是事實讓他們失望了,要知道作為性能最強主機設計的PS3在設計的時候當然會想到這個問題。在這裡我們不得不感謝rambus公司,他們為PS3提供的強悍的redwood總線。在redwood總線的支持下RSX的TC性能遠遠超越PC上的所謂TC,在devstation中我們可以看到,擁有TC的RSX在讀取XDR的時候其帶寬是20G(IOIF BW),而寫入的時候其帶寬也可以達到15G(IOIF BW),因此RSX的實際帶寬應該是20.8G+20G+15G=55.8G!這遠遠超越了人們對RSX的理解!
在這裡我們必須回味下CELL的實際性能,在IBM給出的數據中,PC的驕傲??Intel的Clovertown,以扣肉為核心的4核至強服務器處理器其單精度浮點性能是86.4G(2.7G),而PS3的CELL其單精度浮點性能是25G(PPE)+204G(SPE)!這麼看來一塊SPE的單精度浮點性能比一塊2.7G的扣肉核心還要高!而PS3擁有7塊SPE!(其中一塊做冗余,這是我對SONY唯一不滿的地方。)而現在一塊不到2G的6300其價格還在一千塊以上,可想而知PS3里的CELL的性能!
「CELL做遊戲的AI不行!完全不行!」我似乎預見到嫉妒PS3的人在說什麼了,可惜他們這塊最後的遮羞布也被技術強大的SONY給揭掉。其實在這裡有一個問題是??他們所謂的AI是什麼?專家系統還是圖形分析系統?如果是專家系統CELL的確不如XBOX360上的XCPU,但我們完全不必為PS3擔心!因為在圖形分析方面CELL的性能是非常強悍的!在遊戲所用的AI中,尋徑是最耗費所謂的AI資源,即使是XBOX360的XCPU,也會在這方面耗費相當大的硬件資源。
可是由於CELL強悍的性能,我們在實現遊戲AI方面完全可以用另一種算法??假設遊戲裡有NPC1和NPC2,在檢測NPC2是否在NPC1的視覺中時我們可以以NPC1的視點為中心,在NCP1和NPC2中做條直線,然後用偽色渲染一個視覺窗口,而這個窗口可以檢測到NPC2是否在NPC1的視覺中。而這種算法是圖形分析系統一類,完全可以發揮CELL強大的性能!而且IBM也曾在幾個CELL的實例文件中實現過。
如果還有人懷疑的話,那麼請允許我以H Peter Hofstee的回答作為本文的結尾:
- It is an easy misperception to think of an SPE as a SIMD(vector) only processor. IT IS NOT. Just because we have unified the register file does not mean you have to use SIMD. ( An x86 with SSE or a 970 with VMX is still perfectly ok to use for scalar code and so is the SPE). Compilers support scalar code just fine.
- This SPE implementation has only trivial hardware branch prediction (because large branch prediction structures do not provide a good return on investment in terms of area and power ... better to have more SPEs). Still we do care a lot about idle cycles due to branches, so there is a nice branch hint instruction (architecturally a no-op) that notifies the instruction fetch unit that at address x a branch will end up at address y. Also we support the select instruction that often allows one to eliminate a branch altogether.
- With respect to AI, I dont have the answers, but I have good hope. I think AI is usually not bound by computation but by memory access penalties (on high-frequency processors). I can imagine tree search algorithms for the SPEs that absolutely rock, by getting a lot of memory accesses in flight concurrently. There may be a patent out there by M. Necker and myself that describes some of this for the case of routing table accesses ( also a kind of tree search ).
最後說一句:Only the SONY stand between the Sky and the Earth!PS3難開發完全是開發商的問題~與PS3強大的性能毫無關係~
來源:TGFC
下面正文開始:
「微軟的確是一個讓人敬佩的對手。」加拿大SONY技術研究室的蒙塔崔娜在咖啡室裡悠閒地坐著,窗外的陽光柔和地灑在這片空間中,讓這位年過40的女技術人員給人一種聖潔的美。
「因此當他們拿出XBOX360的時候我們的確吃了一驚。」隨即她很快地笑道:「不過也就吃了一驚而已,PS3還是按著久多先生的計劃逐漸被孵化出來。當時在實驗室的我們凝視著這充滿我們心血的襁褓,我們相信,即使XBOX360比PS3早出兩年,PS3也必定勝利。」
「因為PS3。」
「是超越這個世代的。」
轉眼五個月,當時的情形還歷歷在目。當時蒙塔崔娜女士那淡然而笑的模樣使我相信,這就是SONY作為業界霸主所具有的自信。在仔細分析過PS3和XBOX360的整體架構和硬件設計之後,我終於瞭解到,她那種自信到底是從何而來。
PS3強大性能的核心??CELL。作為一款革命性的CPU,它在人類歷史上的意義堪比RISC1。逆潮流而行的IN-ORDER設計是因為XLC這類強大編譯器的出現,這讓我們可以從OUT OF ORDER的桎梏中擺脫出來,將更多晶體管放在運算方面。而現在的情況看來,CELL的確是完成了IBM和SONY當初的設計目標,而IBM的全球遊戲與互動娛樂總經理Dave Laux先生也從側面證實了這個事實。
「CELL技術使PS3具有突破性的表現。這種高效率不僅體現現在可以更快地建模、渲染,更重要的是一個有效的流程設計及相輔的流程實現機制可以保障迭代的影像製作的流程更加順暢,更能迅速地反映製作人的意圖。應用CELL技術後實時渲染將是一個非常平滑的過程,它將幫助遊戲開發商得到更好的視覺效果,也同時幫助產品更快地推向市場。」公元2006年8月28日上午11:00,淮海中路的IBM上海分公司裡,Dave Laux先生如此對我說道。
有很多很多人,因為XBOX360擁有3個PPE而CELL只擁有一個而嗤之以鼻。他們認為,正是這個原因CELL只能算是一塊浮點協處理器,因為CELL的整數性能是在太差了。而事實是,被恥笑的應該是他們,因為他們不知道SPE其實是塊完整的CORE,在Theoretical Peak Operations中我們可以看到,CELL的整數性能和其浮點性能一樣強大,其Billion Ops/sec是3.2G的奔騰4的將近5倍。雖然我們知道,出於遊戲機的成本控制原因PS3用的CELL是特製版,但在同一個測試中32 bit的整數性能依然能達到3.2G奔騰4的將近4倍。而這一切,都是在CELL還未完全優化的前提下。
「可是分支預測怎麼辦?」有人如此問道。不必擔心,這是我的回答也是PS3的回答。某些由於嫉妒SONY成功的人認為SPE不具備動態分支預測因此CELL不適合作為遊戲CPU,但有一個事實他們必須明白也必須清楚,PS3的SPE具備128個寄存器還有從分支目標預取32條指令的分支預測能力,而且SPE作為一個完整DUAL-ISSUE的核心,在預測失敗的時候完全可以切換到另一條指令。況且IBM賦予SPE讀取另一個SPE SRAM的能力,在此情況下,SPE SRAM容量過小的擔憂完全是杞人憂天。而且另一個事實也是大家必須知道的,當PS3開機的時候每個SPE會分配一個獨立的ID,而CELL支持ID的數目是32bit個,因此只有配置了CELL的PS3才是真正的網絡革命性的主機!
看到這裡,可能有某些嫉妒PS3性能的人跳出來了:「RSX呢!128bit帶寬!整個閹割版7800!」
可是事實讓他們失望了,要知道作為性能最強主機設計的PS3在設計的時候當然會想到這個問題。在這裡我們不得不感謝rambus公司,他們為PS3提供的強悍的redwood總線。在redwood總線的支持下RSX的TC性能遠遠超越PC上的所謂TC,在devstation中我們可以看到,擁有TC的RSX在讀取XDR的時候其帶寬是20G(IOIF BW),而寫入的時候其帶寬也可以達到15G(IOIF BW),因此RSX的實際帶寬應該是20.8G+20G+15G=55.8G!這遠遠超越了人們對RSX的理解!
在這裡我們必須回味下CELL的實際性能,在IBM給出的數據中,PC的驕傲??Intel的Clovertown,以扣肉為核心的4核至強服務器處理器其單精度浮點性能是86.4G(2.7G),而PS3的CELL其單精度浮點性能是25G(PPE)+204G(SPE)!這麼看來一塊SPE的單精度浮點性能比一塊2.7G的扣肉核心還要高!而PS3擁有7塊SPE!(其中一塊做冗余,這是我對SONY唯一不滿的地方。)而現在一塊不到2G的6300其價格還在一千塊以上,可想而知PS3里的CELL的性能!
「CELL做遊戲的AI不行!完全不行!」我似乎預見到嫉妒PS3的人在說什麼了,可惜他們這塊最後的遮羞布也被技術強大的SONY給揭掉。其實在這裡有一個問題是??他們所謂的AI是什麼?專家系統還是圖形分析系統?如果是專家系統CELL的確不如XBOX360上的XCPU,但我們完全不必為PS3擔心!因為在圖形分析方面CELL的性能是非常強悍的!在遊戲所用的AI中,尋徑是最耗費所謂的AI資源,即使是XBOX360的XCPU,也會在這方面耗費相當大的硬件資源。
可是由於CELL強悍的性能,我們在實現遊戲AI方面完全可以用另一種算法??假設遊戲裡有NPC1和NPC2,在檢測NPC2是否在NPC1的視覺中時我們可以以NPC1的視點為中心,在NCP1和NPC2中做條直線,然後用偽色渲染一個視覺窗口,而這個窗口可以檢測到NPC2是否在NPC1的視覺中。而這種算法是圖形分析系統一類,完全可以發揮CELL強大的性能!而且IBM也曾在幾個CELL的實例文件中實現過。
如果還有人懷疑的話,那麼請允許我以H Peter Hofstee的回答作為本文的結尾:
- It is an easy misperception to think of an SPE as a SIMD(vector) only processor. IT IS NOT. Just because we have unified the register file does not mean you have to use SIMD. ( An x86 with SSE or a 970 with VMX is still perfectly ok to use for scalar code and so is the SPE). Compilers support scalar code just fine.
- This SPE implementation has only trivial hardware branch prediction (because large branch prediction structures do not provide a good return on investment in terms of area and power ... better to have more SPEs). Still we do care a lot about idle cycles due to branches, so there is a nice branch hint instruction (architecturally a no-op) that notifies the instruction fetch unit that at address x a branch will end up at address y. Also we support the select instruction that often allows one to eliminate a branch altogether.
- With respect to AI, I dont have the answers, but I have good hope. I think AI is usually not bound by computation but by memory access penalties (on high-frequency processors). I can imagine tree search algorithms for the SPEs that absolutely rock, by getting a lot of memory accesses in flight concurrently. There may be a patent out there by M. Necker and myself that describes some of this for the case of routing table accesses ( also a kind of tree search ).
最後說一句:Only the SONY stand between the Sky and the Earth!PS3難開發完全是開發商的問題~與PS3強大的性能毫無關係~
來源:TGFC