Power6與安騰走上了同一條道

技術分析:Power6與安騰走上了同一條道


  爲了提高時鐘頻率,Power6這個特立獨行的架構改亂序執行爲有序執行,終於走上了迴歸路。直到大約15年前,大多數CPU一次只能處理一條指令。那時,如果採用流水線設計,譬如摩托羅拉68040或者英特爾80486,那麼可以同時在不同執行階段處理不同的指令。

 

  從安騰到Power6

  亂序執行一直髮展良好,直到後來英特爾推出了一種全新的技術。意義重大的安騰處理器擁有真正獨一無二的引擎,並使用了重要的顯式並行指令計算(EPIC)技術。先不說安騰處理器的超過100種的指令格式組合、龐大的慢速寄存器組等,它實際上重新採用了有序執行技術。所以,編譯器不得不完成所有工作,以確保執行單元始終處於忙碌狀態。除了浮點處理密集型應用外,要做到這一點並非易事,只要看看安騰系統的基準測試結果就會明白。

  在後續的發展中,安騰架構的這一做法從來沒有變過。相反,Sun一度改用了富士通公司使用無序技術的SPARC64,而不是它自己的使用有序技術的UltraSPARC IV。其他的重要架構如x86則繼續採用無序技術,使用了Core 2K10等新引擎,並進一步改進了這種方案,以便充分利用每MHz

  如果你出於某種原因需要AIX,那麼Power的重要性就不言而喻了。Power4Power5都是高速、但複雜的採用亂序技術的RISC處理器,它結合了四路超標量執行機制和非常高的系統帶寬。不過,Power6卻回到了有序技術時代。原因何在?

  一個答案就是,如果Power6的同步多線程效果好,那麼對單一線程浪費執行資源就不用太擔心:在這種情況下,只要同步運行兩個線程就行。另外,爲了進一步大幅提升性能,頻率提高一倍、二級高速緩存增加一倍、縮短算術邏輯單元(ALU)的延遲等方面恐怕更關鍵。即使那樣,浮點處理部件還會保留有一定的亂序執行功能——這是在通用處理器的浮點運算部分首次引入十進制浮點處理單元(FPU)。同步雙線程執行、負荷預測機制以及增強的數據和指令預取功能,提升了有序執行超標量核心的性能。”IBM是這麼評價其新芯片的。

  Power5+的五路無序執行被Power6的七路有序執行所取代,但即使如此,也有幾個地方需要注意:Power5+一個線程每個週期最多隻有五條指令,而Power6一個線程增加了二條指令,這對計算型線程和內存搜尋型線程組合來說更有優勢。Power5+更關注內部資源,而Power6在大部分時候等待內存,所以每個週期兩次操作完全夠了。那麼性能方面有什麼提升呢?看一下基準測試specfp2006,頻率爲2.2GHzPower5+在這方面能達到14.9,當然是在經過改動的Power5機器上實現的;而頻率爲4.7GHzPower6能達到22.3,時鐘頻率提高了一倍多,性能提升卻不到一半。

  所以,Power67.9億個晶體管分佈在尺寸比較大的341平方毫米上,超過了Barcelona/Agena283平方毫米,僅比尺寸龐大的安騰小了一點,它確實大幅提升了性能,儘管沒有了亂序技術。雖然高速緩存和內存帶寬隨着時鐘頻率的提高都水漲船高,但是仍然可以說,在時鐘頻率相同情況下,重新使用有序技術會在處理單線程任務時導致性能下降30%左右。

  爲此,我們不得不等待更新的Power6系統以及下一版本AIX在編譯器方面的進展,以減少這種性能損耗。不過對Power6來說,採用有序技術確實明顯提升了處理器的性能。安騰同樣採用了有序技術,但是至少到現在還沒有看到明顯的成效。x86恐怕再也不會出現有序技術。

  不過,處理器技術的發展一日千里,Power6設計者不會坐井觀天。再過一段時間,英特爾公司的3.6GHzHarpertown“Penryn”AMD公司3GHz Barcelona處理器就會陸續面世,都會對IBM Power6構成重大挑戰。IBM必須牢記: 對採用有序技術的這類處理器而言,隨着每一代後續CPU的問世,在編譯器方面需要做的工作更多。同時,並不是每個人都會有時間重新編譯自己的應用程序。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章